{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@threespot/expand-toggle/dist/expand-toggle.m.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./app/javascript/modules/a11y-menu.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/@threespot/fluid-iframe/dist/fluid-iframe.m.js","webpack:///(webpack)/buildin/module.js","webpack:///./app/javascript/modules/carousel.js","webpack:///./app/javascript/modules/fluid-iframes.js","webpack:///./app/javascript/modules/font-face.js","webpack:///./app/javascript/modules/jump-link-nav.js","webpack:///./app/javascript/modules/nav.js","webpack:///./app/javascript/lib/tooltips.js","webpack:///./app/javascript/modules/tooltips.js","webpack:///./node_modules/fontfaceobserver/fontfaceobserver.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","indexJs","__webpack_exports__","eval","node_modulesEvEmitterEvEmitterJs","node_modulesLodash_SymbolJs","node_modulesLodash_baseGetTagJs","node_modulesLodash_freeGlobalJs","node_modulesLodash_getRawTagJs","node_modulesLodash_objectToStringJs","node_modulesLodash_rootJs","node_modulesLodashDebounceJs","node_modulesLodashIsObjectJs","node_modulesLodashIsObjectLikeJs","node_modulesLodashIsSymbolJs","node_modulesLodashNowJs","node_modulesLodashToNumberJs","node_modulesWebpackBuildinGlobalJs","g","this","Function","e","window","type","freeGlobal","freeSelf","self","root","_Symbol","el","htmlEl","document","documentElement","textSizeEl","getElementById","themeInputs","querySelectorAll","expandToggle","ExpandToggle","querySelector","updateForm","localStorage","a11yMenu","expand","on","addEventListener","evt","val","target","isNaN","parseInt","updateTheme","updateTextSize","closest","collapse","size","style","fontSize","textSize","dispatchEvent","Event","themeColor","htmlClasses","className","replace","theme","len","length","input","checked","selected","Date","now","global","isObject","isSymbol","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","test","slice","baseGetTag","isObjectLike","getRawTag","objectToString","symToStringTag","undefined","objectProto","nativeObjectToString","toString","isOwn","tag","unmasked","result","toNumber","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","arguments","clearTimeout","cancel","flush","configurable","webpackPolyfill","deprecate","paths","children","Carousel","carouselList","slides","captions","counter","buttons","prevButton","nextButton","currentSlideIndex","classList","add","updateContainerHeight","updateButtonState","updateCounter","prevSlide","advanceSlide","keyboardNav","debounce","event","maxHeight","captionHeight","getBoundingClientRect","height","paddingBottom","disabled","innerHTML","remove","keyCode","nodes","forEach","FluidIframe","contains","sessionStorage","fontsLoaded","roboto","FontFaceObserver","weight","robotoItalic","roboto700","robotoItalic700","robotoCond","robotoCondItalic","robotoCond700","robotoCondItalic700","wisdomScript","Promise","all","load","then","catch","console","warn","JumpLinkNav","mediaQueryList","matchMedia","contentEl","getAttribute","addListener","matches","init","destroy","toggleExpand","navToggles","navExpandToggles","navDropdownMenus","cutoffClass","initSearchToggle","initDropdownMenus","globalEvents","push","closeOtherNavToggles","requestAnimationFrame","checkDropdownWidths","searchToggle","searchField","searchExpandToggle","closeAllNavToggles","focus","destroyMobileNav","initMobileNav","mobileNavToggle","which","activeMenu","activeMenuIndex","map","item","indexOf","bounds","width","left","innerWidth","toggle","currentToggle","Tooltip","opts","tooltipContent","textContent","trim","assign","classes","gutter","prepend","append","wrapText","markdownRegex","regex","setup","events","updatePosition","expandMarkdown","string","isOpen","uniqueID","random","substr","parentEl","parentNode","linkEl","createElement","href","setAttribute","replaceChild","tooltipEl","appendChild","isSameNode","preventDefault","hideTooltip","transition","calculatePosition","bodyRightCutoff","toggleBoundingRect","toggleLeftOffset","right","toggleRightOffset","tooltipBoundingRect","tooltipLeftOffset","tooltipRightOffset","tooltipWidth","cutoffRight","cutoffLeft","removeProperty","showTooltip","title","f","shift","a","b","q","v","u","h","resolve","reject","race","k","attachEvent","createTextNode","cssText","z","offsetWidth","scrollLeft","scrollWidth","A","B","family","stretch","C","D","E","F","J","fonts","K","font","L","join","H","getTime","navigator","vendor","exec","userAgent","G","M","Error","N","body","removeEventListener","readyState","detachEvent","w","x","y","removeChild","dir","I","hidden"],"mappings":"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","file":"js/cssom-ready-317abd1c07d9e6ff76b8.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 77);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports =\n/******/\nfunction (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __webpack_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __webpack_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __webpack_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __webpack_require__.d = function (exports, name, getter) {\n /******/\n if (!__webpack_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __webpack_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __webpack_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __webpack_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __webpack_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __webpack_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __webpack_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __webpack_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __webpack_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __webpack_require__(__webpack_require__.s = \"./index.js\");\n /******/\n}(\n/************************************************************************/\n\n/******/\n{\n /***/\n \"./index.js\":\n /*!******************!*\\\n !*** ./index.js ***!\n \\******************/\n\n /*! exports provided: default */\n\n /***/\n function indexJs(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n eval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return ExpandToggle; });\\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \\\"./node_modules/lodash/debounce.js\\\");\\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var ev_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ev-emitter */ \\\"./node_modules/ev-emitter/ev-emitter.js\\\");\\n/* harmony import */ var ev_emitter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ev_emitter__WEBPACK_IMPORTED_MODULE_1__);\\n\\n\\nfunction _typeof(obj) { if (typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; }; } return _typeof(obj); }\\n\\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\\n\\nfunction _nonIterableSpread() { throw new TypeError(\\\"Invalid attempt to spread non-iterable instance\\\"); }\\n\\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \\\"[object Arguments]\\\") return Array.from(iter); }\\n\\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \\\"object\\\" || typeof call === \\\"function\\\")) { return call; } return _assertThisInitialized(self); }\\n\\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return self; }\\n\\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function\\\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\\n\\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\\n\\n\\n\\n/**\\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\\n * @param {HTMLElement} el - Toggle button DOM node\\n * @param {Object} opts - Options\\n * @param {string} [opts.expandedClasses=\\\"\\\"] - Class(es) to apply when expanded\\n * @param {boolean} [opts.shouldToggleHeight=false] - Whether or not to animate height\\n * @param {string} [opts.activeToggleText=\\\"\\\"] - Expanded state toggle button text\\n * @param {boolean} [opts.shouldStartExpanded=false] - Whether menu should start expanded\\n * @param {function} [opts.onReady=\\\"\\\"] - Ready callback function\\n */\\n\\nvar ExpandToggle =\\n/*#__PURE__*/\\nfunction (_EventEmitter) {\\n _inherits(ExpandToggle, _EventEmitter);\\n\\n function ExpandToggle(el, opts) {\\n var _this;\\n\\n _classCallCheck(this, ExpandToggle);\\n\\n // Have to call super() first before referencing \\u201Cthis\\u201D since we\\u2019re extending EventEmitter\\n // https://stackoverflow.com/a/43591507/673457\\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpandToggle).call(this));\\n _this.el = el;\\n _this.targetId = _this.el.getAttribute(\\\"data-expands\\\");\\n _this.targetEl = document.getElementById(_this.targetId); // Ensure target element exist before initializing\\n\\n if (!_this.targetEl) {\\n console.warn(\\\"Can\\\\u2019t find expandable target with id \\\\u201C\\\".concat(_this.targetId, \\\"\\\\u201D\\\"));\\n return _possibleConstructorReturn(_this, false);\\n } // Use Object.assign() to merge \\u201Copts\\u201D object with default values in this.options\\n\\n\\n _this.options = Object.assign({}, {\\n expandedClasses: \\\"\\\",\\n // string, accepts multiple space-separated classes\\n shouldToggleHeight: false,\\n // should target element\\u2019s height be animated using max-height\\n activeToggleText: \\\"\\\",\\n // expanded state toggle button text\\n shouldStartExpanded: false,\\n // component starts expanded on init\\n onReady: null // ready callback function\\n\\n }, opts); // Check for custom expanded class(es)\\n\\n _this.expandedClasses = _this.el.getAttribute(\\\"data-expands-class\\\") || _this.options.expandedClasses;\\n\\n if (_this.expandedClasses.length) {\\n // Check if active class string contains multiple classes\\n if (_this.expandedClasses.indexOf(\\\" \\\") > -1) {\\n // Convert to array and remove any empty string values\\n // caused by having multiple spaces in a row.\\n _this.expandedClasses = _this.expandedClasses.split(\\\" \\\").filter(function (n) {\\n return n.length;\\n });\\n } else {\\n // We still need to convert a single active class to an array\\n // so we can use the spread syntax later in classList.add()\\n _this.expandedClasses = [_this.expandedClasses];\\n }\\n } // Check if height should be animated\\n\\n\\n _this.shouldToggleHeight = _this.el.hasAttribute(\\\"data-expands-height\\\") || _this.options.shouldToggleHeight; // Check if component should start expanded\\n\\n _this.shouldStartExpanded = _this.el.hasAttribute(\\\"data-expanded\\\") || _this.options.shouldStartExpanded; // Check for custom toggle button text to use when expanded\\n\\n _this.hasActiveText = false;\\n _this.textEl = _this.el.querySelector(\\\"[data-expands-text]\\\");\\n\\n if (_this.textEl) {\\n _this.defaultToggleText = _this.textEl.textContent;\\n _this.activeToggleText = _this.textEl.getAttribute(\\\"data-expands-text\\\") || _this.options.activeToggleText;\\n _this.hasActiveText = !!_this.activeToggleText.length;\\n }\\n\\n _this.init();\\n\\n return _this;\\n }\\n\\n _createClass(ExpandToggle, [{\\n key: \\\"init\\\",\\n value: function init() {\\n // Store state to avoid calling resize handler after component has been destroyed\\n this.hasInitialized = true; // Accessibility setup\\n\\n this.el.setAttribute(\\\"aria-haspopup\\\", true);\\n this.el.setAttribute(\\\"aria-expanded\\\", this.shouldStartExpanded); // Omit \\u201Caria-controls\\u201D for now\\n // See https://inclusive-components.design/menus-menu-buttons/#ariacontrols\\n // this.el.setAttribute(\\\"aria-controls\\\", this.targetId);\\n\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", !this.shouldStartExpanded);\\n\\n if (this.el.tagName.toLowerCase() === \\\"a\\\") {\\n this.el.setAttribute(\\\"role\\\", \\\"button\\\");\\n }\\n\\n if (this.shouldToggleHeight) {\\n this.heightToggleSetup();\\n } // Click event listener on toggle button\\n // Note: Callback needs to be assigned to a let so we can remove it since we\\u2019re using bind()\\n // https://stackoverflow.com/a/22870717/673457\\n\\n\\n this.clickHandler = this.toggle.bind(this);\\n this.el.addEventListener(\\\"click\\\", this.clickHandler); // Keyboard listeners on toggle button\\n\\n this.keydownHandler = this.keyboardEvents.bind(this);\\n this.el.addEventListener(\\\"keydown\\\", this.keydownHandler); // Check for onReady callback\\n\\n if (typeof this.options.onReady === \\\"function\\\") {\\n this.options.onReady();\\n }\\n }\\n }, {\\n key: \\\"destroy\\\",\\n value: function destroy() {\\n this.hasInitialized = false; // Remove event listeners\\n\\n this.el.removeEventListener(\\\"click\\\", this.clickHandler);\\n this.el.removeEventListener(\\\"keydown\\\", this.keydownHandler);\\n window.removeEventListener(\\\"resize\\\", this.resizeHandler); // Remove aria attributes\\n\\n this.el.removeAttribute(\\\"aria-haspopup\\\");\\n this.el.removeAttribute(\\\"aria-expanded\\\");\\n this.targetEl.removeAttribute(\\\"aria-hidden\\\");\\n this.targetEl.style.removeProperty(\\\"max-height\\\");\\n\\n if (this.el.tagName.toLowerCase() === \\\"a\\\") {\\n this.el.removeAttribute(\\\"role\\\");\\n } // Reset toggle text\\n\\n\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.defaultToggleText;\\n } // Remove custom classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList, _this$targetEl$classL;\\n\\n (_this$el$classList = this.el.classList).remove.apply(_this$el$classList, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL = this.targetEl.classList).remove.apply(_this$targetEl$classL, _toConsumableArray(this.expandedClasses));\\n }\\n\\n this.emitEvent(\\\"destroy\\\");\\n }\\n }, {\\n key: \\\"keyboardEvents\\\",\\n value: function keyboardEvents(event) {\\n // Expand with down arrow\\n if (event.keyCode == 40) {\\n this.expand();\\n } else if (event.keyCode == 38 || event.keyCode == 27) {\\n // Close with up arrow or escape key\\n this.collapse();\\n }\\n }\\n }, {\\n key: \\\"heightToggleSetup\\\",\\n value: function heightToggleSetup() {\\n var _this2 = this;\\n\\n this.targetParentEl = this.targetEl.parentNode; // Set max-height to the expanded height so we can animate it.\\n\\n window.requestAnimationFrame(this.updateExpandedHeight.bind(this));\\n this.resizeHandler = lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(function (event) {\\n // Due to debounce() it\\u2019s possible for this to run after destroy() has been called.\\n // To avoid this edge case, check \\u201Cthis.hasInitialized\\u201D first.\\n if (_this2.hasInitialized) {\\n window.requestAnimationFrame(_this2.updateExpandedHeight.bind(_this2));\\n }\\n }, 100).bind(this); // Update target element\\u2019s max-height on resize\\n\\n window.addEventListener(\\\"resize\\\", this.resizeHandler);\\n } // Set max-height of target element to its expanded height without triggering relayout.\\n //\\n // This technique works by creating an absolutely-positioned invisible clone of the target\\n // element and calculating its height. This avoids any relayout that would otherwise occur\\n // if the element was briefly expanded so we could measure it.\\n //\\n // Note: We\\u2019re using CSS to transition max-height instead jQuery\\u2019s slideToggle(),\\n // or another 3rd-party lib like Velocity.js, to avoid loading a large lib.\\n\\n }, {\\n key: \\\"updateExpandedHeight\\\",\\n value: function updateExpandedHeight() {\\n // Get width of original element so we can apply it to the clone\\n var nodeWidth = Math.round(parseFloat(this.targetEl.offsetWidth)); // Create clone of node\\n\\n var cloneEl = this.targetEl.cloneNode(true); // 'true' includes child nodes\\n // Inline styles added to prevent reflow, ensure clone is same size as expanded element\\n\\n cloneEl.style.cssText = \\\"max-height: none !important; position: absolute !important; right: 100% !important; visibility: hidden !important; width: \\\".concat(nodeWidth, \\\"px !important; -webkit-transition: none !important; -moz-transition: none !important; transition: none !important\\\"); // Update \\u201Caria-hidden\\u201D attribute\\n\\n cloneEl.setAttribute(\\\"aria-hidden\\\", false); // Remove id just to be safe\\n\\n cloneEl.removeAttribute(\\\"id\\\"); // Remove \\u201Cname\\u201D attributes to prevent resetting checkbox or radio elements\\n\\n var childElsWithId = cloneEl.querySelectorAll(\\\"[name]\\\"); // IE-friendly way of iterating over a NodeList\\n\\n Array.prototype.forEach.call(childElsWithId, function (el) {\\n el.removeAttribute(\\\"name\\\");\\n }); // Append clone to document, save as new let so we can remove it later\\n\\n var newEl = this.targetParentEl.insertBefore(cloneEl, this.targetEl); // Calculate height\\n\\n var expandedHeight = Math.round(parseFloat(newEl.offsetHeight)); // Remove cloned node to clean up after ourselves\\n\\n this.targetParentEl.removeChild(newEl); // Apply inline max-height to collapsed element\\n // Note: CSS is overriding this when aria-hidden=\\\"true\\\"\\n\\n this.targetEl.style.maxHeight = expandedHeight + \\\"px\\\";\\n }\\n }, {\\n key: \\\"expand\\\",\\n value: function expand(event) {\\n // Update toggle text\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.activeToggleText;\\n } // Add classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList2, _this$targetEl$classL2;\\n\\n (_this$el$classList2 = this.el.classList).add.apply(_this$el$classList2, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL2 = this.targetEl.classList).add.apply(_this$targetEl$classL2, _toConsumableArray(this.expandedClasses));\\n } // Update aria attributes\\n\\n\\n this.el.setAttribute(\\\"aria-expanded\\\", true);\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", false); // Emit event and include original event as an argument\\n\\n this.emitEvent(\\\"expand\\\", event);\\n }\\n }, {\\n key: \\\"collapse\\\",\\n value: function collapse(event) {\\n // Update toggle text\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.defaultToggleText;\\n } // Remove classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList3, _this$targetEl$classL3;\\n\\n (_this$el$classList3 = this.el.classList).remove.apply(_this$el$classList3, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL3 = this.targetEl.classList).remove.apply(_this$targetEl$classL3, _toConsumableArray(this.expandedClasses));\\n } // Update aria attributes\\n\\n\\n this.el.setAttribute(\\\"aria-expanded\\\", false);\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", true); // Emit event and include original event as an argument\\n\\n this.emitEvent(\\\"collapse\\\", event);\\n }\\n }, {\\n key: \\\"toggle\\\",\\n value: function toggle(event) {\\n // Prevent default in case toggle element is a link instead of a button\\n event.preventDefault();\\n\\n if (this.el.getAttribute(\\\"aria-expanded\\\") === \\\"true\\\") {\\n this.collapse(event);\\n } else {\\n this.expand(event);\\n }\\n }\\n }]);\\n\\n return ExpandToggle;\\n}(ev_emitter__WEBPACK_IMPORTED_MODULE_1___default.a);\\n\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./index.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/ev-emitter/ev-emitter.js\":\n /*!***********************************************!*\\\n !*** ./node_modules/ev-emitter/ev-emitter.js ***!\n \\***********************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesEvEmitterEvEmitterJs(module, exports, __webpack_require__) {\n eval(\"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\\n * EvEmitter v1.1.0\\n * Lil' event emitter\\n * MIT License\\n */\\n\\n/* jshint unused: true, undef: true, strict: true */\\n\\n( function( global, factory ) {\\n // universal module definition\\n /* jshint strict: false */ /* globals define, module, window */\\n if ( true ) {\\n // AMD - RequireJS\\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\\n\\t\\t\\t\\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_FACTORY__),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\\n } else {}\\n\\n}( typeof window != 'undefined' ? window : this, function() {\\n\\n\\\"use strict\\\";\\n\\nfunction EvEmitter() {}\\n\\nvar proto = EvEmitter.prototype;\\n\\nproto.on = function( eventName, listener ) {\\n if ( !eventName || !listener ) {\\n return;\\n }\\n // set events hash\\n var events = this._events = this._events || {};\\n // set listeners array\\n var listeners = events[ eventName ] = events[ eventName ] || [];\\n // only add once\\n if ( listeners.indexOf( listener ) == -1 ) {\\n listeners.push( listener );\\n }\\n\\n return this;\\n};\\n\\nproto.once = function( eventName, listener ) {\\n if ( !eventName || !listener ) {\\n return;\\n }\\n // add event\\n this.on( eventName, listener );\\n // set once flag\\n // set onceEvents hash\\n var onceEvents = this._onceEvents = this._onceEvents || {};\\n // set onceListeners object\\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\\n // set flag\\n onceListeners[ listener ] = true;\\n\\n return this;\\n};\\n\\nproto.off = function( eventName, listener ) {\\n var listeners = this._events && this._events[ eventName ];\\n if ( !listeners || !listeners.length ) {\\n return;\\n }\\n var index = listeners.indexOf( listener );\\n if ( index != -1 ) {\\n listeners.splice( index, 1 );\\n }\\n\\n return this;\\n};\\n\\nproto.emitEvent = function( eventName, args ) {\\n var listeners = this._events && this._events[ eventName ];\\n if ( !listeners || !listeners.length ) {\\n return;\\n }\\n // copy over to avoid interference if .off() in listener\\n listeners = listeners.slice(0);\\n args = args || [];\\n // once stuff\\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\\n\\n for ( var i=0; i < listeners.length; i++ ) {\\n var listener = listeners[i]\\n var isOnce = onceListeners && onceListeners[ listener ];\\n if ( isOnce ) {\\n // remove listener\\n // remove before trigger to prevent recursion\\n this.off( eventName, listener );\\n // unset once flag\\n delete onceListeners[ listener ];\\n }\\n // trigger listener\\n listener.apply( this, args );\\n }\\n\\n return this;\\n};\\n\\nproto.allOff = function() {\\n delete this._events;\\n delete this._onceEvents;\\n};\\n\\nreturn EvEmitter;\\n\\n}));\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/ev-emitter/ev-emitter.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_Symbol.js\":\n /*!****************************************!*\\\n !*** ./node_modules/lodash/_Symbol.js ***!\n \\****************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_SymbolJs(module, exports, __webpack_require__) {\n eval(\"var root = __webpack_require__(/*! ./_root */ \\\"./node_modules/lodash/_root.js\\\");\\n\\n/** Built-in value references. */\\nvar Symbol = root.Symbol;\\n\\nmodule.exports = Symbol;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_Symbol.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_baseGetTag.js\":\n /*!********************************************!*\\\n !*** ./node_modules/lodash/_baseGetTag.js ***!\n \\********************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_baseGetTagJs(module, exports, __webpack_require__) {\n eval(\"var Symbol = __webpack_require__(/*! ./_Symbol */ \\\"./node_modules/lodash/_Symbol.js\\\"),\\n getRawTag = __webpack_require__(/*! ./_getRawTag */ \\\"./node_modules/lodash/_getRawTag.js\\\"),\\n objectToString = __webpack_require__(/*! ./_objectToString */ \\\"./node_modules/lodash/_objectToString.js\\\");\\n\\n/** `Object#toString` result references. */\\nvar nullTag = '[object Null]',\\n undefinedTag = '[object Undefined]';\\n\\n/** Built-in value references. */\\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\\n\\n/**\\n * The base implementation of `getTag` without fallbacks for buggy environments.\\n *\\n * @private\\n * @param {*} value The value to query.\\n * @returns {string} Returns the `toStringTag`.\\n */\\nfunction baseGetTag(value) {\\n if (value == null) {\\n return value === undefined ? undefinedTag : nullTag;\\n }\\n return (symToStringTag && symToStringTag in Object(value))\\n ? getRawTag(value)\\n : objectToString(value);\\n}\\n\\nmodule.exports = baseGetTag;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_baseGetTag.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_freeGlobal.js\":\n /*!********************************************!*\\\n !*** ./node_modules/lodash/_freeGlobal.js ***!\n \\********************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_freeGlobalJs(module, exports, __webpack_require__) {\n eval(\"/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\\n\\nmodule.exports = freeGlobal;\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_freeGlobal.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_getRawTag.js\":\n /*!*******************************************!*\\\n !*** ./node_modules/lodash/_getRawTag.js ***!\n \\*******************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_getRawTagJs(module, exports, __webpack_require__) {\n eval(\"var Symbol = __webpack_require__(/*! ./_Symbol */ \\\"./node_modules/lodash/_Symbol.js\\\");\\n\\n/** Used for built-in method references. */\\nvar objectProto = Object.prototype;\\n\\n/** Used to check objects for own properties. */\\nvar hasOwnProperty = objectProto.hasOwnProperty;\\n\\n/**\\n * Used to resolve the\\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\\n * of values.\\n */\\nvar nativeObjectToString = objectProto.toString;\\n\\n/** Built-in value references. */\\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\\n\\n/**\\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\\n *\\n * @private\\n * @param {*} value The value to query.\\n * @returns {string} Returns the raw `toStringTag`.\\n */\\nfunction getRawTag(value) {\\n var isOwn = hasOwnProperty.call(value, symToStringTag),\\n tag = value[symToStringTag];\\n\\n try {\\n value[symToStringTag] = undefined;\\n var unmasked = true;\\n } catch (e) {}\\n\\n var result = nativeObjectToString.call(value);\\n if (unmasked) {\\n if (isOwn) {\\n value[symToStringTag] = tag;\\n } else {\\n delete value[symToStringTag];\\n }\\n }\\n return result;\\n}\\n\\nmodule.exports = getRawTag;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_getRawTag.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_objectToString.js\":\n /*!************************************************!*\\\n !*** ./node_modules/lodash/_objectToString.js ***!\n \\************************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_objectToStringJs(module, exports) {\n eval(\"/** Used for built-in method references. */\\nvar objectProto = Object.prototype;\\n\\n/**\\n * Used to resolve the\\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\\n * of values.\\n */\\nvar nativeObjectToString = objectProto.toString;\\n\\n/**\\n * Converts `value` to a string using `Object.prototype.toString`.\\n *\\n * @private\\n * @param {*} value The value to convert.\\n * @returns {string} Returns the converted string.\\n */\\nfunction objectToString(value) {\\n return nativeObjectToString.call(value);\\n}\\n\\nmodule.exports = objectToString;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_objectToString.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/_root.js\":\n /*!**************************************!*\\\n !*** ./node_modules/lodash/_root.js ***!\n \\**************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodash_rootJs(module, exports, __webpack_require__) {\n eval(\"var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ \\\"./node_modules/lodash/_freeGlobal.js\\\");\\n\\n/** Detect free variable `self`. */\\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\\n\\n/** Used as a reference to the global object. */\\nvar root = freeGlobal || freeSelf || Function('return this')();\\n\\nmodule.exports = root;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_root.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/debounce.js\":\n /*!*****************************************!*\\\n !*** ./node_modules/lodash/debounce.js ***!\n \\*****************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashDebounceJs(module, exports, __webpack_require__) {\n eval(\"var isObject = __webpack_require__(/*! ./isObject */ \\\"./node_modules/lodash/isObject.js\\\"),\\n now = __webpack_require__(/*! ./now */ \\\"./node_modules/lodash/now.js\\\"),\\n toNumber = __webpack_require__(/*! ./toNumber */ \\\"./node_modules/lodash/toNumber.js\\\");\\n\\n/** Error message constants. */\\nvar FUNC_ERROR_TEXT = 'Expected a function';\\n\\n/* Built-in method references for those with the same name as other `lodash` methods. */\\nvar nativeMax = Math.max,\\n nativeMin = Math.min;\\n\\n/**\\n * Creates a debounced function that delays invoking `func` until after `wait`\\n * milliseconds have elapsed since the last time the debounced function was\\n * invoked. The debounced function comes with a `cancel` method to cancel\\n * delayed `func` invocations and a `flush` method to immediately invoke them.\\n * Provide `options` to indicate whether `func` should be invoked on the\\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\\n * with the last arguments provided to the debounced function. Subsequent\\n * calls to the debounced function return the result of the last `func`\\n * invocation.\\n *\\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\\n * invoked on the trailing edge of the timeout only if the debounced function\\n * is invoked more than once during the `wait` timeout.\\n *\\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\\n *\\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\\n * for details over the differences between `_.debounce` and `_.throttle`.\\n *\\n * @static\\n * @memberOf _\\n * @since 0.1.0\\n * @category Function\\n * @param {Function} func The function to debounce.\\n * @param {number} [wait=0] The number of milliseconds to delay.\\n * @param {Object} [options={}] The options object.\\n * @param {boolean} [options.leading=false]\\n * Specify invoking on the leading edge of the timeout.\\n * @param {number} [options.maxWait]\\n * The maximum time `func` is allowed to be delayed before it's invoked.\\n * @param {boolean} [options.trailing=true]\\n * Specify invoking on the trailing edge of the timeout.\\n * @returns {Function} Returns the new debounced function.\\n * @example\\n *\\n * // Avoid costly calculations while the window size is in flux.\\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\\n *\\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\\n * 'leading': true,\\n * 'trailing': false\\n * }));\\n *\\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\\n * var source = new EventSource('/stream');\\n * jQuery(source).on('message', debounced);\\n *\\n * // Cancel the trailing debounced invocation.\\n * jQuery(window).on('popstate', debounced.cancel);\\n */\\nfunction debounce(func, wait, options) {\\n var lastArgs,\\n lastThis,\\n maxWait,\\n result,\\n timerId,\\n lastCallTime,\\n lastInvokeTime = 0,\\n leading = false,\\n maxing = false,\\n trailing = true;\\n\\n if (typeof func != 'function') {\\n throw new TypeError(FUNC_ERROR_TEXT);\\n }\\n wait = toNumber(wait) || 0;\\n if (isObject(options)) {\\n leading = !!options.leading;\\n maxing = 'maxWait' in options;\\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\\n trailing = 'trailing' in options ? !!options.trailing : trailing;\\n }\\n\\n function invokeFunc(time) {\\n var args = lastArgs,\\n thisArg = lastThis;\\n\\n lastArgs = lastThis = undefined;\\n lastInvokeTime = time;\\n result = func.apply(thisArg, args);\\n return result;\\n }\\n\\n function leadingEdge(time) {\\n // Reset any `maxWait` timer.\\n lastInvokeTime = time;\\n // Start the timer for the trailing edge.\\n timerId = setTimeout(timerExpired, wait);\\n // Invoke the leading edge.\\n return leading ? invokeFunc(time) : result;\\n }\\n\\n function remainingWait(time) {\\n var timeSinceLastCall = time - lastCallTime,\\n timeSinceLastInvoke = time - lastInvokeTime,\\n timeWaiting = wait - timeSinceLastCall;\\n\\n return maxing\\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\\n : timeWaiting;\\n }\\n\\n function shouldInvoke(time) {\\n var timeSinceLastCall = time - lastCallTime,\\n timeSinceLastInvoke = time - lastInvokeTime;\\n\\n // Either this is the first call, activity has stopped and we're at the\\n // trailing edge, the system time has gone backwards and we're treating\\n // it as the trailing edge, or we've hit the `maxWait` limit.\\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\\n }\\n\\n function timerExpired() {\\n var time = now();\\n if (shouldInvoke(time)) {\\n return trailingEdge(time);\\n }\\n // Restart the timer.\\n timerId = setTimeout(timerExpired, remainingWait(time));\\n }\\n\\n function trailingEdge(time) {\\n timerId = undefined;\\n\\n // Only invoke if we have `lastArgs` which means `func` has been\\n // debounced at least once.\\n if (trailing && lastArgs) {\\n return invokeFunc(time);\\n }\\n lastArgs = lastThis = undefined;\\n return result;\\n }\\n\\n function cancel() {\\n if (timerId !== undefined) {\\n clearTimeout(timerId);\\n }\\n lastInvokeTime = 0;\\n lastArgs = lastCallTime = lastThis = timerId = undefined;\\n }\\n\\n function flush() {\\n return timerId === undefined ? result : trailingEdge(now());\\n }\\n\\n function debounced() {\\n var time = now(),\\n isInvoking = shouldInvoke(time);\\n\\n lastArgs = arguments;\\n lastThis = this;\\n lastCallTime = time;\\n\\n if (isInvoking) {\\n if (timerId === undefined) {\\n return leadingEdge(lastCallTime);\\n }\\n if (maxing) {\\n // Handle invocations in a tight loop.\\n clearTimeout(timerId);\\n timerId = setTimeout(timerExpired, wait);\\n return invokeFunc(lastCallTime);\\n }\\n }\\n if (timerId === undefined) {\\n timerId = setTimeout(timerExpired, wait);\\n }\\n return result;\\n }\\n debounced.cancel = cancel;\\n debounced.flush = flush;\\n return debounced;\\n}\\n\\nmodule.exports = debounce;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/debounce.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/isObject.js\":\n /*!*****************************************!*\\\n !*** ./node_modules/lodash/isObject.js ***!\n \\*****************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashIsObjectJs(module, exports) {\n eval(\"/**\\n * Checks if `value` is the\\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\\n *\\n * @static\\n * @memberOf _\\n * @since 0.1.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\\n * @example\\n *\\n * _.isObject({});\\n * // => true\\n *\\n * _.isObject([1, 2, 3]);\\n * // => true\\n *\\n * _.isObject(_.noop);\\n * // => true\\n *\\n * _.isObject(null);\\n * // => false\\n */\\nfunction isObject(value) {\\n var type = typeof value;\\n return value != null && (type == 'object' || type == 'function');\\n}\\n\\nmodule.exports = isObject;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isObject.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/isObjectLike.js\":\n /*!*********************************************!*\\\n !*** ./node_modules/lodash/isObjectLike.js ***!\n \\*********************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashIsObjectLikeJs(module, exports) {\n eval(\"/**\\n * Checks if `value` is object-like. A value is object-like if it's not `null`\\n * and has a `typeof` result of \\\"object\\\".\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\\n * @example\\n *\\n * _.isObjectLike({});\\n * // => true\\n *\\n * _.isObjectLike([1, 2, 3]);\\n * // => true\\n *\\n * _.isObjectLike(_.noop);\\n * // => false\\n *\\n * _.isObjectLike(null);\\n * // => false\\n */\\nfunction isObjectLike(value) {\\n return value != null && typeof value == 'object';\\n}\\n\\nmodule.exports = isObjectLike;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isObjectLike.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/isSymbol.js\":\n /*!*****************************************!*\\\n !*** ./node_modules/lodash/isSymbol.js ***!\n \\*****************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashIsSymbolJs(module, exports, __webpack_require__) {\n eval(\"var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \\\"./node_modules/lodash/_baseGetTag.js\\\"),\\n isObjectLike = __webpack_require__(/*! ./isObjectLike */ \\\"./node_modules/lodash/isObjectLike.js\\\");\\n\\n/** `Object#toString` result references. */\\nvar symbolTag = '[object Symbol]';\\n\\n/**\\n * Checks if `value` is classified as a `Symbol` primitive or object.\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\\n * @example\\n *\\n * _.isSymbol(Symbol.iterator);\\n * // => true\\n *\\n * _.isSymbol('abc');\\n * // => false\\n */\\nfunction isSymbol(value) {\\n return typeof value == 'symbol' ||\\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\\n}\\n\\nmodule.exports = isSymbol;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isSymbol.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/now.js\":\n /*!************************************!*\\\n !*** ./node_modules/lodash/now.js ***!\n \\************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashNowJs(module, exports, __webpack_require__) {\n eval(\"var root = __webpack_require__(/*! ./_root */ \\\"./node_modules/lodash/_root.js\\\");\\n\\n/**\\n * Gets the timestamp of the number of milliseconds that have elapsed since\\n * the Unix epoch (1 January 1970 00:00:00 UTC).\\n *\\n * @static\\n * @memberOf _\\n * @since 2.4.0\\n * @category Date\\n * @returns {number} Returns the timestamp.\\n * @example\\n *\\n * _.defer(function(stamp) {\\n * console.log(_.now() - stamp);\\n * }, _.now());\\n * // => Logs the number of milliseconds it took for the deferred invocation.\\n */\\nvar now = function() {\\n return root.Date.now();\\n};\\n\\nmodule.exports = now;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/now.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/lodash/toNumber.js\":\n /*!*****************************************!*\\\n !*** ./node_modules/lodash/toNumber.js ***!\n \\*****************************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesLodashToNumberJs(module, exports, __webpack_require__) {\n eval(\"var isObject = __webpack_require__(/*! ./isObject */ \\\"./node_modules/lodash/isObject.js\\\"),\\n isSymbol = __webpack_require__(/*! ./isSymbol */ \\\"./node_modules/lodash/isSymbol.js\\\");\\n\\n/** Used as references for various `Number` constants. */\\nvar NAN = 0 / 0;\\n\\n/** Used to match leading and trailing whitespace. */\\nvar reTrim = /^\\\\s+|\\\\s+$/g;\\n\\n/** Used to detect bad signed hexadecimal string values. */\\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\\n\\n/** Used to detect binary string values. */\\nvar reIsBinary = /^0b[01]+$/i;\\n\\n/** Used to detect octal string values. */\\nvar reIsOctal = /^0o[0-7]+$/i;\\n\\n/** Built-in method references without a dependency on `root`. */\\nvar freeParseInt = parseInt;\\n\\n/**\\n * Converts `value` to a number.\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to process.\\n * @returns {number} Returns the number.\\n * @example\\n *\\n * _.toNumber(3.2);\\n * // => 3.2\\n *\\n * _.toNumber(Number.MIN_VALUE);\\n * // => 5e-324\\n *\\n * _.toNumber(Infinity);\\n * // => Infinity\\n *\\n * _.toNumber('3.2');\\n * // => 3.2\\n */\\nfunction toNumber(value) {\\n if (typeof value == 'number') {\\n return value;\\n }\\n if (isSymbol(value)) {\\n return NAN;\\n }\\n if (isObject(value)) {\\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\\n value = isObject(other) ? (other + '') : other;\\n }\\n if (typeof value != 'string') {\\n return value === 0 ? value : +value;\\n }\\n value = value.replace(reTrim, '');\\n var isBinary = reIsBinary.test(value);\\n return (isBinary || reIsOctal.test(value))\\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\\n : (reIsBadHex.test(value) ? NAN : +value);\\n}\\n\\nmodule.exports = toNumber;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/toNumber.js?\");\n /***/\n },\n\n /***/\n \"./node_modules/webpack/buildin/global.js\":\n /*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n\n /*! no static exports found */\n\n /***/\n function node_modulesWebpackBuildinGlobalJs(module, exports) {\n eval(\"var g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/(webpack)/buildin/global.js?\");\n /***/\n }\n /******/\n\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","//------------------------------------------------------------------------\n// Accessiblity menu functionality (font size and color theme chooser)\n//\n// NOTE: Saved theme preference is applied on load in critical.js to prevent a FOUC\n//------------------------------------------------------------------------\n\"use strict\";\n\nimport ExpandToggle from '@threespot/expand-toggle';\n\nclass A11yMenu {\n constructor(el) {\n var self = this;\n this.htmlEl = document.documentElement;\n this.el = el;\n this.textSizeEl = document.getElementById(\"text-size\");\n this.themeInputs = this.el.querySelectorAll(\".A11yMenu-theme input\");\n\n // Init toggle\n this.expandToggle = new ExpandToggle(\n document.querySelector(\".A11yMenu-toggle\")\n );\n\n // Update form fields on load to reflect currently selected theme and font size\n this.updateForm();\n\n // Expand the menu on load if the user has never collapsed it before\n if (typeof localStorage !== \"undefined\" && !localStorage.a11yMenu) {\n this.expandToggle.expand()\n }\n\n // Set cookie once menu is collapsed\n this.expandToggle.on(\"collapse\", () => {\n if (typeof localStorage !== \"undefined\" && !localStorage.a11yMenu) {\n localStorage.a11yMenu = true;\n }\n });\n\n // Listen for any changes within the form\n this.el.addEventListener(\"change\", function(evt) {\n var val = evt.target.value;\n\n // If the value of the element that changed is not a number, assume it’s a theme class\n if (isNaN(parseInt(val, 10))) {\n self.updateTheme(val);\n } else {\n self.updateTextSize(val);\n }\n });\n\n // Close when click off of it\n window.addEventListener(\"click\", evt => {\n if (!evt.target.closest(\".A11yMenu\")) {\n this.expandToggle.collapse();\n }\n });\n }\n\n updateTextSize(size) {\n // Apply inline font-size to html element\n this.htmlEl.style.fontSize = size + \"%\";\n\n // Save value to localStorage\n if (typeof localStorage !== \"undefined\") {\n localStorage.textSize = size;\n }\n\n // Trigger window resize event to force all expandable components to recalc their height\n window.dispatchEvent(new Event('resize'));\n }\n\n updateTheme(themeColor) {\n // Find any class names starting with “t-” and remove them\n var htmlClasses = this.htmlEl.className.replace(/\\b(\\s*?t-.+?)\\b/g, \"\");\n\n // Add new theme class\n this.htmlEl.className = htmlClasses + \" t-\" + themeColor;\n\n // Save to localStorage\n if (typeof localStorage !== \"undefined\") {\n localStorage.theme = themeColor;\n }\n }\n\n // Get current theme and font size values from localStorage and update form fields\n updateForm() {\n if (typeof localStorage !== \"undefined\") {\n if (localStorage.theme) {\n // Select the current theme radio button\n for (var i = 0, len = this.themeInputs.length; i < len; i++) {\n var input = this.themeInputs[i];\n\n if (input.value == localStorage.theme) {\n input.checked = true;\n }\n }\n }\n\n if (localStorage.textSize) {\n // Add “selected” attribute to current font size\n this.textSizeEl.querySelector(\n '[value=\"' + localStorage.textSize + '\"]'\n ).selected = true;\n }\n }\n }\n}\n\n// Init\nvar a11Menu = new A11yMenu(document.querySelector(\".A11yMenu-form\"));\n","var root = require('./_root');\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\n\nvar now = function now() {\n return root.Date.now();\n};\n\nmodule.exports = now;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar NAN = 0 / 0;\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = toNumber;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar symbolTag = '[object Symbol]';\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","var _Symbol = require('./_Symbol');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nmodule.exports = getRawTag;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && _typeof(value) == 'object';\n}\n\nmodule.exports = isObjectLike;","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n/** Error message constants. */\n\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;","module.exports =\n/******/\nfunction (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __webpack_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __webpack_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __webpack_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __webpack_require__.d = function (exports, name, getter) {\n /******/\n if (!__webpack_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n /******/\n configurable: false,\n\n /******/\n enumerable: true,\n\n /******/\n get: getter\n /******/\n\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __webpack_require__.r = function (exports) {\n /******/\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __webpack_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __webpack_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __webpack_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __webpack_require__(__webpack_require__.s = \"./index.js\");\n /******/\n}(\n/************************************************************************/\n\n/******/\n{\n /***/\n \"./index.js\":\n /*!******************!*\\\n !*** ./index.js ***!\n \\******************/\n\n /*! no static exports found */\n\n /***/\n function indexJs(module, exports, __webpack_require__) {\n \"use strict\";\n\n eval(\"\\n\\n/**\\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\\n * @param {HTMLElement} el - iframe element\\n * @param {Object} opts - Options\\n * @param {number} [opts.defaultAspectRatio=9/16] - Fallback aspect ratio if height and width are undefined\\n * @param {number|boolean} [opts.forceRatio=false] - Aspect ratio override (ignores iframe’s actual dimensions)\\n * @param {boolean} [opts.inlineStyles=true] - Apply inline styles (set to “false” if using CSS)\\n * @param {boolean} [opts.wrap=true] - Whether or not to add a wrapper div to the iframe. Setting to “false” means the video can’t be displayed wider than its original width.\\n * @param {string} [opts.classes=\\\"\\\"] - Class(es) to add to the wrapper or iframe (depends on wrap option)\\n */\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\n\\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar FluidFrame = function FluidFrame(el, opts) {\\n _classCallCheck(this, FluidFrame);\\n\\n var self = this;\\n this.el = el;\\n\\n // Check if target element is an iframe\\n if (this.el.tagName.toLowerCase() !== \\\"iframe\\\") {\\n console.warn(\\\"FluidFrame only works on iframes, not <\\\" + this.el.tagName.toLowerCase() + \\\"> tags\\\");\\n return false;\\n }\\n\\n // Use Object.assign() to merge “opts” object with default values in this.options\\n this.options = Object.assign({}, {\\n defaultAspectRatio: 9 / 16,\\n forceRatio: false, // set aspect ratio to use regardless of actual dimensions of iframe\\n inlineStyles: true, // apply inline styles to wrapper or iframe (depends on wrap option)\\n wrap: true, // adds a div wrapper around the iframe\\n classes: \\\"\\\" // custom class(es) to add to the wrapper or iframe (depends on wrap option)\\n }, opts);\\n\\n // If inline styles are disabled, “classes” and “forceRatio” must be defined.\\n if (!this.options.inlineStyles && !this.options.classes && !this.options.forceRatio) {\\n console.warn(\\\"FluidFrame: If inline styles are disabled, a fixed aspect ratio must be defined along with custom classes.\\\");\\n return false;\\n }\\n\\n // Get intrinsic dimensions\\n this.width = this.el.width ? parseInt(this.el.width) : this.el.offsetWidth;\\n this.height = this.el.height ? parseInt(this.el.height) : this.el.offsetHeight;\\n\\n // Determine the aspect ratio\\n if (parseFloat(this.options.forceRatio)) {\\n this.aspectRatio = parseFloat(this.options.forceRatio);\\n } else {\\n this.aspectRatio = !this.width && !this.height ? this.options.defaultAspectRatio : this.height / this.width;\\n }\\n\\n // Wrap iframe in div with padding-top equal to aspect ratio as a percentage\\n if (this.options.wrap) {\\n this.wrapper = document.createElement(\\\"div\\\");\\n this.el.parentNode.insertBefore(this.wrapper, this.el);\\n this.wrapper.appendChild(this.el);\\n }\\n\\n // Check for custom classes\\n if (this.options.classes.length) {\\n // Check if string contains multiple classes\\n if (this.options.classes.indexOf(\\\" \\\") > -1) {\\n // Convert to array and remove empty items (caused by extra whitespace)\\n this.options.classes = this.options.classes.split(\\\" \\\").filter(function (n) {\\n return n.length;\\n });\\n } else {\\n // We still need to convert a single class to an array\\n // in order to use the spread syntax below.\\n this.options.classes = [this.options.classes];\\n }\\n\\n // Add classes\\n if (this.options.wrap) {\\n var _wrapper$classList;\\n\\n (_wrapper$classList = this.wrapper.classList).add.apply(_wrapper$classList, _toConsumableArray(this.options.classes));\\n } else {\\n var _el$classList;\\n\\n (_el$classList = this.el.classList).add.apply(_el$classList, _toConsumableArray(this.options.classes));\\n }\\n }\\n\\n // Add inline styles\\n if (this.options.inlineStyles) {\\n if (this.options.wrap) {\\n this.wrapper.setAttribute(\\\"style\\\", \\\"padding-top: \\\" + 100 * this.aspectRatio + \\\"%; position: relative;\\\");\\n\\n // Set iframe to absolutely fill the parent div\\n this.el.setAttribute(\\\"style\\\", \\\"height: 100%; left: 0; position: absolute; top: 0; width: 100%;\\\");\\n } else {\\n // Inspired by https://github.com/dollarshaveclub/reframe.js#-noframejs\\n this.el.setAttribute(\\\"style\\\", \\\"display: block; height: \\\" + 100 * this.aspectRatio + \\\"vw; margin-left: auto; margin-right: auto; max-height: \\\" + this.height + \\\"px; max-width: 100%; width: \\\" + this.width + \\\"px;\\\");\\n }\\n }\\n};\\n\\nexports.default = FluidFrame;\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./index.js?\");\n /***/\n }\n /******/\n\n});","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","\"use strict\";\n\nimport debounce from \"lodash/debounce\";\n\nclass Carousel {\n constructor(el) {\n var self = this;\n this.el = el;\n this.carouselList = this.el.querySelector(\".Carousel-list\");\n this.slides = this.el.querySelectorAll(\".Carousel-item\");\n this.captions = this.el.querySelectorAll(\".Carousel-caption\");\n this.counter = this.el.querySelector(\".Carousel-counter\");\n this.buttons = this.el.querySelector(\".Carousel-buttons\")\n this.prevButton = this.el.querySelector(\".Carousel-button--prev\");\n this.nextButton = this.el.querySelector(\".Carousel-button--next\");\n\n this.currentSlideIndex = 0;\n\n this.carouselList.classList.add(\"js-init\");\n\n // to prevent content below slideshow from shifting, set caption height equal to tallest caption\n this.updateContainerHeight();\n\n this.updateButtonState();\n\n this.updateCounter();\n\n //display the first slide\n this.slides[0].classList.add('is-active');\n\n //listen for clicks on prev slide button\n this.prevButton.addEventListener(\"click\", function(evt){\n self.prevSlide();\n });\n\n //listen for clicks on next slide button\n this.nextButton.addEventListener(\"click\", function(evt){\n self.advanceSlide();\n })\n\n //listen for keypress to use left/right arrows to navigate\n window.addEventListener(\"keydown\", function(evt) {\n self.keyboardNav(evt);\n })\n\n // Update maxCaptionHeight on window resize\n window.addEventListener(\n \"resize\",\n debounce(function(event) {\n // console.log('fired debounce');\n self.updateContainerHeight();\n }, 50)\n );\n }\n\n // find the longest caption so the height of the captions can be as tall as the longest\n updateContainerHeight() {\n var maxHeight = 0;\n // find the tallest caption and set that value as the maxCaptionHeight\n for (var i = 0; i < this.captions.length; i++) {\n var caption = this.captions[i];\n var captionHeight = caption.getBoundingClientRect().height;\n\n if (captionHeight > maxHeight) {\n maxHeight = captionHeight;\n }\n }\n\n //add padding to the bottom of the list equivalent to the tallest caption\n this.carouselList.style.paddingBottom = (maxHeight + 36) + \"px\";//magic number\n }\n\n // disable or enable buttons at start and end of list\n updateButtonState() {\n // Disable previous button if at first slide\n if (this.currentSlideIndex === 0) {\n this.prevButton.disabled = true;\n this.nextButton.disabled = false;\n }\n\n else if (this.currentSlideIndex === this.slides.length - 1) {\n this.prevButton.disabled = false;\n this.nextButton.disabled = true;\n }\n\n else {\n this.prevButton.disabled = false;\n this.nextButton.disabled = false;\n }\n }\n\n updateCounter() {\n this.counter.innerHTML = `${this.currentSlideIndex + 1} / ${this.slides.length}`;\n }\n\n // de-increment slides minus 1\n prevSlide() {\n this.currentSlideIndex -= 1;\n this.slides[this.currentSlideIndex + 1].classList.remove('is-active');\n this.slides[this.currentSlideIndex].classList.add('is-active');\n this.updateButtonState();\n this.updateCounter();\n }\n\n // increment slide plus 1\n advanceSlide() {\n this.currentSlideIndex += 1;\n this.slides[this.currentSlideIndex - 1].classList.remove('is-active');\n this.slides[this.currentSlideIndex].classList.add('is-active');\n this.updateButtonState();\n this.updateCounter();\n }\n\n // make carousel navigable with keyboard left/right arrows\n keyboardNav(evt) {\n if (evt.keyCode == 37 && this.currentSlideIndex > 0) {\n // left arrow\n this.prevSlide(this.currentSlideIndex);\n }\n else if (evt.keyCode == 39 && this.currentSlideIndex < (this.slides.length - 1)) {\n // right arrow\n this.advanceSlide(this.currentSlideIndex);\n }\n }\n\n}\n\n// Init\nconst nodes = document.querySelectorAll(\".Carousel\");\nfor (var i = 0, len = nodes.length; i < len; i++) {\n new Carousel(nodes[i]);\n}\n\nexport default Carousel;\n","//------------------------------------------------------------------------\n// Make iframes responsive, preserving their aspect ratio (like FitVid.js)\n//------------------------------------------------------------------------\n\"use strict\";\n\nimport FluidIframe from \"@threespot/fluid-iframe\";\n\nconst iframes = document.querySelectorAll(\".u-richtext > iframe:not([data-youtube])\");\n\niframes.forEach(el => new FluidIframe(el));\n","//------------------------------------------------------------------------\n// Setup Font Face Observer to check when fonts have loaded\n// https://fontfaceobserver.com\n// https://www.filamentgroup.com/lab/font-events.html\n// https://jonsuh.com/blog/font-loading-with-font-events/\n// Note: Now that `font-display` is supported in some browsers, check for support first.\n// Once all modern browsers support it, consider loading fontfaceobserver asynchronously,\n// and possibly adding the Promise polyfill via Bable instead of bundling it in fontfaceobserver.\n// http://caniuse.com/#feat=css-font-rendering-controls\n// https://css-tricks.com/font-display-masses/#article-header-id-3\n//------------------------------------------------------------------------\n\n// TODO: Use Font Loading API when supported, dynamically load Font Face Observer when not supported\n\n// Font face observer script allows us to detect when web fonts have been downloaded\n// NOTE: The main file in “fontfaceobserver” doesn’t include the Promise polyfill so we’re linking to the one that does\nimport FontFaceObserver from 'fontfaceobserver/fontfaceobserver';\n\nconst htmlEl = document.documentElement;\n\n// Only run if fonts have not been previously loaded\nif (\n !htmlEl.classList.contains(\"fonts-loaded\") &&\n (\"sessionStorage\" in window && !sessionStorage.fontsLoaded)\n) {\n var roboto = new FontFaceObserver('Roboto', { weight: 400 });\n var robotoItalic = new FontFaceObserver('Roboto', {\n weight: 400,\n style: 'italic'\n });\n\n var roboto700 = new FontFaceObserver('Roboto', { weight: 700 });\n var robotoItalic700 = new FontFaceObserver('Roboto', {\n weight: 700,\n style: 'italic'\n });\n\n var roboto900 = new FontFaceObserver('Roboto', { weight: 900 });\n\n var robotoCond = new FontFaceObserver('Roboto Condensed', { weight: 400 });\n var robotoCondItalic = new FontFaceObserver('Roboto Condensed', {\n weight: 400,\n style: 'italic'\n });\n\n var robotoCond700 = new FontFaceObserver('Roboto Condensed', { weight: 700 });\n var robotoCondItalic700 = new FontFaceObserver('Roboto Condensed', {\n weight: 700,\n style: 'italic'\n });\n\n var wisdomScript = new FontFaceObserver('Wisdom Script', { weight: 400 });\n\n // Promise polyfill provided by fontfaceobserver.js\n Promise.all([\n roboto.load(),\n robotoItalic.load(),\n roboto700.load(),\n robotoItalic700.load(),\n robotoCond.load(),\n robotoCondItalic.load(),\n robotoCond700.load(),\n robotoCondItalic700.load(),\n wisdomScript.load()\n ]).then(function() {\n // Append loaded class to html element\n htmlEl.className += ' fonts-loaded';\n\n // Set session var so we can skip this code next time\n // Note: Use sessionStorage instead of localStorage because we can't be\n // sure the fonts will still be cached in the future, so start\n // fresh each time a user visits the site.\n if ('sessionStorage' in window) {\n sessionStorage.fontsLoaded = \"true\";\n }\n\n // Trigger window resize event to force expandable components to recalc their height\n window.dispatchEvent(new Event('resize'));\n })\n .catch(function() {\n console.warn('Could not resolve Promise that webfonts loaded');\n });\n}\n","//------------------------------------------------------------------------\n// Jump link navigation (used on disease pages and news landing)\n//------------------------------------------------------------------------\n\"use strict\";\n\nimport ExpandToggle from \"@threespot/expand-toggle\";\n\nclass JumpLinkNav {\n constructor(el) {\n // NOTE: Breakpoint must match $layout-sidebar-bp\n this.mediaQueryList = window.matchMedia(\"(max-width: 859px)\");// subtract 1px for max-width media queries\n this.el = el;\n this.contentEl = document.getElementById(this.el.getAttribute(\"data-expands\"));\n\n // Listen for breakpoint change\n this.mediaQueryList.addListener(evt => {\n if (evt.matches) {\n this.init();\n } else {\n this.destroy();\n }\n });\n\n // Init on load\n if (this.mediaQueryList.matches) {\n this.init();\n }\n }\n\n init() {\n this.toggleExpand = new ExpandToggle(this.el);\n }\n\n destroy() {\n this.toggleExpand.destroy();\n }\n}\n\n// Init\ndocument.querySelectorAll('.JumpLinkNav-toggle[data-expands]').forEach(el => new JumpLinkNav(el));\n","//------------------------------------------------------------------------\n// Main nav\n//\n// Note: Requires support for window.matchMedia (IE 10+)\n//------------------------------------------------------------------------\n\"use strict\";\n\nimport ExpandToggle from \"@threespot/expand-toggle\";\nimport debounce from \"lodash/debounce\";\n\nclass MainNav {\n constructor() {\n // NOTE: Breakpoint must match $layout-nav-bp in _layout-vars.scss\n this.mediaQueryList = window.matchMedia(\"(min-width: 1100px)\");\n this.navToggles = document.querySelectorAll(\".Nav [data-expands]\");\n this.navExpandToggles = []; // placeholder to store ExpandToggle instances\n this.navDropdownMenus = document.querySelectorAll(\".Nav-sublist\");\n this.cutoffClass = \"is-cutoff\"; // for dropdown menus that are cutoff on the right\n\n // Init search toggle\n this.initSearchToggle();\n\n // Init nav drop-down menus\n this.initDropdownMenus();\n\n // Setup global event listeners\n this.globalEvents();\n }\n\n initDropdownMenus() {\n // Init dropdown menus (primary and secondary navs)\n this.navToggles.forEach((el) => {\n let expandToggle = new ExpandToggle(el);\n\n // Push to placeholder array so we can control them later\n // e.g. in closeOtherNavToggles() and closeAllNavToggles()\n this.navExpandToggles.push(expandToggle);\n\n // Close other dropdown menus when opening a new one\n expandToggle.on(\"expand\", () => {\n this.closeOtherNavToggles(expandToggle);\n });\n });\n\n // Check if dropdowns are cutoff on the right side.\n window.requestAnimationFrame(this.checkDropdownWidths.bind(this));\n\n // Re-check if dropdowns are cutoff on resize\n window.addEventListener(\n \"resize\",\n debounce(() => {\n window.requestAnimationFrame(this.checkDropdownWidths.bind(this));\n }, 150)\n );\n }\n\n initSearchToggle() {\n this.searchToggle = document.querySelector(\".Header-searchToggle\");\n this.searchField = document.querySelector(\".SearchNav-input\");\n\n // Init search toggle\n this.searchExpandToggle = new ExpandToggle(this.searchToggle);\n\n // Close nav menus when search toggle is expanded\n this.searchExpandToggle.on(\"expand\", () => {\n this.closeAllNavToggles();\n // Focus search input\n this.searchField.focus();\n });\n }\n\n globalEvents() {\n // Close menus when switching from mobile to desktop layout\n this.mediaQueryList.addListener((evt) => {\n this.closeAllNavToggles();\n this.searchExpandToggle.collapse();\n });\n\n // Listen for breakpoint change to determine if mobile\n // nav toggle should be initialized or destroyed.\n this.mediaQueryList.addListener((evt) => {\n if (evt.matches) {\n this.destroyMobileNav();\n } else {\n this.initMobileNav();\n }\n });\n\n // Check if mobile nav toggle should be initialized on load\n if (!this.mediaQueryList.matches) {\n this.initMobileNav();\n }\n\n // Close expanded elements when clicking off of them\n window.addEventListener(\"click\", (evt) => {\n if (\n !evt.target.closest(\".Nav-toggle\") &&\n !evt.target.closest(\".Nav-sublist\") &&\n !evt.target.closest(\".Header-navToggle\") &&\n !evt.target.closest(\"#menu\") &&\n !evt.target.closest(\".Header-searchToggle\") &&\n !evt.target.closest(\"#search-nav\")\n ) {\n this.closeAllNavToggles();\n this.searchExpandToggle.collapse();\n\n // Close mobile menu if initialized\n if (this.mobileNavToggle) {\n this.mobileNavToggle.collapse();\n }\n }\n });\n\n window.addEventListener(\"keydown\", (evt) => {\n // Close menus with escape key\n if (evt.which === 27) {\n // Collapse search menu\n if (this.searchToggle.getAttribute(\"aria-expanded\") == \"true\") {\n this.searchExpandToggle.collapse(evt);\n this.searchToggle.focus();\n } else {\n // Collapse nav menus\n this.closeAllNavToggles();\n }\n }\n\n // Navigate menus using left/right arrow keys\n if (evt.which === 37 || evt.which === 39) {\n let activeMenu = document.querySelector(\n '.Nav-toggle[aria-expanded=\"true\"]'\n );\n\n if (!activeMenu) {\n return false;\n }\n\n // Index of the currently expanded menu\n let activeMenuIndex = this.navExpandToggles\n .map((item) => item.el)\n .indexOf(activeMenu);\n\n // Left arrow\n if (evt.which === 37 && activeMenuIndex > 0) {\n this.navExpandToggles[activeMenuIndex].collapse();\n this.navExpandToggles[activeMenuIndex - 1].expand();\n this.navExpandToggles[activeMenuIndex - 1].el.focus();\n } else if (\n evt.which === 39 &&\n activeMenuIndex < this.navExpandToggles.length - 1\n ) {\n // Right arrow\n this.navExpandToggles[activeMenuIndex].collapse();\n this.navExpandToggles[activeMenuIndex + 1].expand();\n this.navExpandToggles[activeMenuIndex + 1].el.focus();\n }\n }\n });\n }\n\n initMobileNav() {\n this.mobileNavToggle = new ExpandToggle(\n document.querySelector(\".Header-navToggle\")\n );\n }\n\n destroyMobileNav() {\n this.mobileNavToggle.destroy();\n this.mobileNavToggle = null;\n }\n\n // Check if any dropdown menus are cut off on the right side.\n // If so, add a class to right align them.\n checkDropdownWidths() {\n for (var i = 0, len = this.navDropdownMenus.length; i < len; i++) {\n var el = this.navDropdownMenus[i];\n\n // Remove the cutoff class first before measuring\n el.classList.remove(this.cutoffClass);\n\n var bounds = el.getBoundingClientRect();\n\n if (bounds.width + bounds.left > window.innerWidth) {\n el.classList.add(this.cutoffClass);\n } else {\n el.classList.remove(this.cutoffClass);\n }\n }\n }\n\n // Close all nav dropdwn menus\n closeAllNavToggles() {\n this.navExpandToggles.forEach((toggle) => {\n toggle.collapse();\n });\n }\n\n // Close all nav dropdwn menus except the current one\n closeOtherNavToggles(currentToggle) {\n this.navExpandToggles.forEach((toggle) => {\n if (currentToggle !== toggle) {\n toggle.collapse();\n }\n });\n }\n}\n\n// Init\nnew MainNav();\n","//------------------------------------------------------------------------\n// Tooltips\n//\n// Based on https://inclusive-components.design/tooltips-toggletips/\n//------------------------------------------------------------------------\n\"use strict\";\nimport debounce from \"lodash/debounce\";\n\n/**\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\n * @param {HTMLElement} el - Tooltip DOM node\n * @param {Object} opts - Options\n * @param {string} [opts.classes=\"\"] - Class(es) to apply to tooltip\n * @param {number} [opts.gutter=0] - Gutter space around main content well\n */\nexport default class Tooltip {\n constructor(el, opts) {\n this.el = el;\n this.tooltipContent = this.el.getAttribute(\"title\");\n\n if (!this.tooltipContent) {\n console.warn(\n `“${this.el.textContent.trim()}” tooltip has no “title” content`\n );\n return false;\n }\n\n // Use Object.assign() to merge “opts” object with default values in this.options\n this.options = Object.assign(\n {},\n {\n classes: \"\", // string, accepts multiple space-separated classes\n gutter: 0, // gutter space around main content well\n // Prepend a colon for better screenreader output\n prepend: ': ', // HTML to prepend to tooltip\n append: \"\", // HTML to append to tooltip\n wrapText: true // wrapper inner text in a span\n },\n opts\n );\n\n // Markdown regex for converting “title” content to HTML (supports bold, italic, and links)\n // TODO: Split out into separate module\n this.markdownRegex = [\n {\n regex: /\\*\\*(.+?)\\*\\*/g,\n replace: \"$1\"\n },\n {\n regex: /\\*(.+?)\\*/g,\n replace: \"$1\"\n // NOTE: Use this more complex regex if bold test isn’t executed first\n // regex: /([^\\*])\\*([^\\*]+?[^\\*])\\*([^\\*])/g,\n // replace: \"$1$2$3\"\n },\n {\n regex: /\\[(.+?)\\]\\((.+?)\\)/g,\n replace: '$1'\n }\n ];\n\n // Build tooltip, add attributes\n this.setup();\n\n // Event listeners\n this.events();\n\n // Determine tooltip position on load\n window.requestAnimationFrame(this.updatePosition.bind(this));\n }\n\n expandMarkdown(string) {\n this.markdownRegex.forEach(test => {\n string = string.replace(test.regex, test.replace);\n });\n\n return string;\n }\n\n setup() {\n this.isOpen = false;\n this.tooltipContent = this.expandMarkdown(this.tooltipContent);\n\n // Generate a unique ID for each tooltip so we can use “aria-describedby” on the toggle\n // https://gist.github.com/gordonbrander/2230317\n this.uniqueID = Math.random().toString(36).substr(2, 4);\n this.parentEl = this.el.parentNode;\n\n // Convert tag to a link and add aria attributes\n // (button text can only wrap like an inline-block element)\n // Note: Don’t copy the “title” attribute since we don’t need it\n // anymore and it could be announced by a screen reader.\n let linkEl = document.createElement(\"a\");\n linkEl.href = \"#\"; // enables us to style the hover/focus/active states\n linkEl.className = this.el.className;\n linkEl.setAttribute(\"data-tooltip\", \"\");\n linkEl.setAttribute(\"aria-describedby\", \"tooltip-\" + this.uniqueID);\n linkEl.setAttribute(\"aria-expanded\", \"false\");\n linkEl.setAttribute(\"role\", \"button\");\n linkEl.innerHTML = this.el.innerHTML;\n this.el.parentNode.replaceChild(linkEl, this.el);\n this.el = linkEl;\n\n // Build tooltip\n this.tooltipEl = document.createElement(\"span\");\n this.tooltipEl.setAttribute(\"aria-hidden\", \"true\");\n this.tooltipEl.setAttribute(\"data-tooltip-menu\", \"\"); // for styling purposes\n this.tooltipEl.setAttribute(\"id\", `tooltip-${this.uniqueID}`);\n this.tooltipEl.setAttribute(\"role\", \"tooltip\");\n\n if (this.options.classes) {\n this.tooltipEl.setAttribute(\"class\", this.options.classes);\n }\n\n this.tooltipEl.innerHTML =\n this.options.prepend + this.tooltipContent + this.options.append;\n // We also could have built the markup using DOMParser() and template literals but I think it’s harder to read:\n // https://davidwalsh.name/convert-html-stings-dom-nodes\n // this.tooltipEl = new DOMParser().parseFromString(`\n // \n // `, 'text/html').body.firstChild;\n\n // Add tooltip menu element\n this.el.appendChild(this.tooltipEl);\n }\n\n events() {\n // Update tooltip position after web fonts have loaded\n document.documentElement.addEventListener(\"fonts-loaded\", () => {\n window.requestAnimationFrame(this.updatePosition.bind(this));\n });\n\n // Toggle on click\n this.el.addEventListener(\"click\", evt => {\n // Prevent default on clicks inside of tooltip menu\n if (this.tooltipEl.isSameNode(evt.target)) {\n evt.preventDefault();\n } else {\n this.toggle(evt);\n }\n });\n\n // Close tooltip if click off of it\n window.addEventListener(\"click\", evt => {\n if (this.isOpen && !this.el.contains(evt.target)) {\n this.hideTooltip();\n }\n });\n\n // Close tooltip with escape key\n window.addEventListener(\"keydown\", evt => {\n if (this.isOpen && evt.which === 27) {\n this.hideTooltip();\n }\n });\n\n // Hide on resize, recalc position\n window.addEventListener(\n \"resize\",\n debounce(event => {\n if (this.isOpen) {\n this.hideTooltip();\n }\n window.requestAnimationFrame(this.updatePosition.bind(this));\n }, 150)\n );\n }\n\n updatePosition() {\n // Reset alignment classes/attributes, centers tooltip over toggle\n this.el.classList.remove(\"is-fullwidth\");\n this.tooltipEl.setAttribute(\"data-align\", \"\");\n // Disable CSS transitions so we don’t have to wait for them to complete before measuring the tooltip\n this.tooltipEl.style.transition = \"none\";\n // Use setTimeout to force browser to recalc styles first\n window.setTimeout(this.calculatePosition.bind(this), 0);\n }\n\n calculatePosition() {\n let bodyWidth = window.innerWidth - this.options.gutter * 2;\n let bodyRightCutoff = window.innerWidth - this.options.gutter;\n\n // Toggle dimensions\n let toggleBoundingRect = this.el.getBoundingClientRect();\n let toggleLeftOffset = toggleBoundingRect.right;\n let toggleRightOffset = toggleBoundingRect.right;\n\n // Tooltip dimensions\n let tooltipBoundingRect = this.tooltipEl.getBoundingClientRect();\n let tooltipLeftOffset = tooltipBoundingRect.left;\n let tooltipRightOffset = tooltipBoundingRect.right;\n let tooltipWidth = tooltipBoundingRect.width;\n\n let cutoffRight = tooltipRightOffset > bodyRightCutoff;\n let cutoffLeft = tooltipLeftOffset < this.options.gutter;\n\n // Re-enable transitions\n this.tooltipEl.style.removeProperty(\"transition\");\n\n // If tooltip fits, do nothing to keep it centered\n if (!cutoffLeft && !cutoffRight) {\n return false;\n }\n\n // If right side is cutoff…\n if (cutoffRight) {\n // …check if left side would fit before right aligning to toggle\n if (tooltipWidth + this.options.gutter <= toggleRightOffset) {\n this.tooltipEl.setAttribute(\"data-align\", \"right\");\n return false;\n }\n }\n\n // If left side is cutoff…\n if (cutoffLeft) {\n // …check if right side would fit before left aligning to toggle\n if (\n toggleLeftOffset + tooltipWidth <=\n window.innerWidth - this.options.gutter\n ) {\n this.tooltipEl.setAttribute(\"data-align\", \"left\");\n return false;\n }\n }\n\n // Tooltip can’t be aligned to toggle so make it fullwidth\n this.el.classList.add(\"is-fullwidth\");\n this.tooltipEl.setAttribute(\"data-align\", \"full\");\n }\n\n showTooltip(evt) {\n this.isOpen = true;\n this.el.setAttribute(\"aria-expanded\", \"true\");\n this.tooltipEl.setAttribute(\"aria-hidden\", \"false\");\n }\n\n hideTooltip(evt) {\n this.isOpen = false;\n this.el.setAttribute(\"aria-expanded\", \"false\");\n this.tooltipEl.setAttribute(\"aria-hidden\", \"true\");\n }\n\n // Toggle expandable\n toggle(evt) {\n evt.preventDefault();\n\n if (this.isOpen) {\n this.hideTooltip();\n } else {\n this.showTooltip();\n }\n }\n}\n","// Tooltips\n\"use strict\";\n\nimport Tooltip from \"../lib/tooltips\";\n\nconst init = () => {\n document.querySelectorAll(\"[data-tooltip][title]\").forEach(el => new Tooltip(el, {\n // min space between tooltip and edge of screen\n gutter: 10,\n // prepend: \"\",\n // Append a period if there isn't one for better screen reader experience\n append: el.title.trim().slice(-1) !== \".\" ? `.` : \"\"\n }));\n};\n\n// Init on initial page load\ninit();\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* Font Face Observer v2.1.0 - © Bram Stein. License: BSD-3-Clause */\n(function () {\n 'use strict';\n\n var f,\n g = [];\n\n function l(a) {\n g.push(a);\n 1 == g.length && f();\n }\n\n function m() {\n for (; g.length;) {\n g[0](), g.shift();\n }\n }\n\n f = function f() {\n setTimeout(m);\n };\n\n function n(a) {\n this.a = p;\n this.b = void 0;\n this.f = [];\n var b = this;\n\n try {\n a(function (a) {\n q(b, a);\n }, function (a) {\n r(b, a);\n });\n } catch (c) {\n r(b, c);\n }\n }\n\n var p = 2;\n\n function t(a) {\n return new n(function (b, c) {\n c(a);\n });\n }\n\n function u(a) {\n return new n(function (b) {\n b(a);\n });\n }\n\n function q(a, b) {\n if (a.a == p) {\n if (b == a) throw new TypeError();\n var c = !1;\n\n try {\n var d = b && b.then;\n\n if (null != b && \"object\" == _typeof(b) && \"function\" == typeof d) {\n d.call(b, function (b) {\n c || q(a, b);\n c = !0;\n }, function (b) {\n c || r(a, b);\n c = !0;\n });\n return;\n }\n } catch (e) {\n c || r(a, e);\n return;\n }\n\n a.a = 0;\n a.b = b;\n v(a);\n }\n }\n\n function r(a, b) {\n if (a.a == p) {\n if (b == a) throw new TypeError();\n a.a = 1;\n a.b = b;\n v(a);\n }\n }\n\n function v(a) {\n l(function () {\n if (a.a != p) for (; a.f.length;) {\n var b = a.f.shift(),\n c = b[0],\n d = b[1],\n e = b[2],\n b = b[3];\n\n try {\n 0 == a.a ? \"function\" == typeof c ? e(c.call(void 0, a.b)) : e(a.b) : 1 == a.a && (\"function\" == typeof d ? e(d.call(void 0, a.b)) : b(a.b));\n } catch (h) {\n b(h);\n }\n }\n });\n }\n\n n.prototype.g = function (a) {\n return this.c(void 0, a);\n };\n\n n.prototype.c = function (a, b) {\n var c = this;\n return new n(function (d, e) {\n c.f.push([a, b, d, e]);\n v(c);\n });\n };\n\n function w(a) {\n return new n(function (b, c) {\n function d(c) {\n return function (d) {\n h[c] = d;\n e += 1;\n e == a.length && b(h);\n };\n }\n\n var e = 0,\n h = [];\n 0 == a.length && b(h);\n\n for (var k = 0; k < a.length; k += 1) {\n u(a[k]).c(d(k), c);\n }\n });\n }\n\n function x(a) {\n return new n(function (b, c) {\n for (var d = 0; d < a.length; d += 1) {\n u(a[d]).c(b, c);\n }\n });\n }\n\n ;\n window.Promise || (window.Promise = n, window.Promise.resolve = u, window.Promise.reject = t, window.Promise.race = x, window.Promise.all = w, window.Promise.prototype.then = n.prototype.c, window.Promise.prototype[\"catch\"] = n.prototype.g);\n})();\n\n(function () {\n function l(a, b) {\n document.addEventListener ? a.addEventListener(\"scroll\", b, !1) : a.attachEvent(\"scroll\", b);\n }\n\n function m(a) {\n document.body ? a() : document.addEventListener ? document.addEventListener(\"DOMContentLoaded\", function c() {\n document.removeEventListener(\"DOMContentLoaded\", c);\n a();\n }) : document.attachEvent(\"onreadystatechange\", function k() {\n if (\"interactive\" == document.readyState || \"complete\" == document.readyState) document.detachEvent(\"onreadystatechange\", k), a();\n });\n }\n\n ;\n\n function t(a) {\n this.a = document.createElement(\"div\");\n this.a.setAttribute(\"aria-hidden\", \"true\");\n this.a.appendChild(document.createTextNode(a));\n this.b = document.createElement(\"span\");\n this.c = document.createElement(\"span\");\n this.h = document.createElement(\"span\");\n this.f = document.createElement(\"span\");\n this.g = -1;\n this.b.style.cssText = \"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";\n this.c.style.cssText = \"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";\n this.f.style.cssText = \"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";\n this.h.style.cssText = \"display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;\";\n this.b.appendChild(this.h);\n this.c.appendChild(this.f);\n this.a.appendChild(this.b);\n this.a.appendChild(this.c);\n }\n\n function u(a, b) {\n a.a.style.cssText = \"max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:\" + b + \";\";\n }\n\n function z(a) {\n var b = a.a.offsetWidth,\n c = b + 100;\n a.f.style.width = c + \"px\";\n a.c.scrollLeft = c;\n a.b.scrollLeft = a.b.scrollWidth + 100;\n return a.g !== b ? (a.g = b, !0) : !1;\n }\n\n function A(a, b) {\n function c() {\n var a = k;\n z(a) && a.a.parentNode && b(a.g);\n }\n\n var k = a;\n l(a.b, c);\n l(a.c, c);\n z(a);\n }\n\n ;\n\n function B(a, b) {\n var c = b || {};\n this.family = a;\n this.style = c.style || \"normal\";\n this.weight = c.weight || \"normal\";\n this.stretch = c.stretch || \"normal\";\n }\n\n var C = null,\n D = null,\n E = null,\n F = null;\n\n function G() {\n if (null === D) if (J() && /Apple/.test(window.navigator.vendor)) {\n var a = /AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))(?:\\.([0-9]+))/.exec(window.navigator.userAgent);\n D = !!a && 603 > parseInt(a[1], 10);\n } else D = !1;\n return D;\n }\n\n function J() {\n null === F && (F = !!document.fonts);\n return F;\n }\n\n function K() {\n if (null === E) {\n var a = document.createElement(\"div\");\n\n try {\n a.style.font = \"condensed 100px sans-serif\";\n } catch (b) {}\n\n E = \"\" !== a.style.font;\n }\n\n return E;\n }\n\n function L(a, b) {\n return [a.style, a.weight, K() ? a.stretch : \"\", \"100px\", b].join(\" \");\n }\n\n B.prototype.load = function (a, b) {\n var c = this,\n k = a || \"BESbswy\",\n r = 0,\n n = b || 3E3,\n H = new Date().getTime();\n return new Promise(function (a, b) {\n if (J() && !G()) {\n var M = new Promise(function (a, b) {\n function e() {\n new Date().getTime() - H >= n ? b(Error(\"\" + n + \"ms timeout exceeded\")) : document.fonts.load(L(c, '\"' + c.family + '\"'), k).then(function (c) {\n 1 <= c.length ? a() : setTimeout(e, 25);\n }, b);\n }\n\n e();\n }),\n N = new Promise(function (a, c) {\n r = setTimeout(function () {\n c(Error(\"\" + n + \"ms timeout exceeded\"));\n }, n);\n });\n Promise.race([N, M]).then(function () {\n clearTimeout(r);\n a(c);\n }, b);\n } else m(function () {\n function v() {\n var b;\n if (b = -1 != f && -1 != g || -1 != f && -1 != h || -1 != g && -1 != h) (b = f != g && f != h && g != h) || (null === C && (b = /AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent), C = !!b && (536 > parseInt(b[1], 10) || 536 === parseInt(b[1], 10) && 11 >= parseInt(b[2], 10))), b = C && (f == w && g == w && h == w || f == x && g == x && h == x || f == y && g == y && h == y)), b = !b;\n b && (d.parentNode && d.parentNode.removeChild(d), clearTimeout(r), a(c));\n }\n\n function I() {\n if (new Date().getTime() - H >= n) d.parentNode && d.parentNode.removeChild(d), b(Error(\"\" + n + \"ms timeout exceeded\"));else {\n var a = document.hidden;\n if (!0 === a || void 0 === a) f = e.a.offsetWidth, g = p.a.offsetWidth, h = q.a.offsetWidth, v();\n r = setTimeout(I, 50);\n }\n }\n\n var e = new t(k),\n p = new t(k),\n q = new t(k),\n f = -1,\n g = -1,\n h = -1,\n w = -1,\n x = -1,\n y = -1,\n d = document.createElement(\"div\");\n d.dir = \"ltr\";\n u(e, L(c, \"sans-serif\"));\n u(p, L(c, \"serif\"));\n u(q, L(c, \"monospace\"));\n d.appendChild(e.a);\n d.appendChild(p.a);\n d.appendChild(q.a);\n document.body.appendChild(d);\n w = e.a.offsetWidth;\n x = p.a.offsetWidth;\n y = q.a.offsetWidth;\n I();\n A(e, function (a) {\n f = a;\n v();\n });\n u(e, L(c, '\"' + c.family + '\",sans-serif'));\n A(p, function (a) {\n g = a;\n v();\n });\n u(p, L(c, '\"' + c.family + '\",serif'));\n A(q, function (a) {\n h = a;\n v();\n });\n u(q, L(c, '\"' + c.family + '\",monospace'));\n });\n });\n };\n\n \"object\" === (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) ? module.exports = B : (window.FontFaceObserver = B, window.FontFaceObserver.prototype.load = B.prototype.load);\n})();"],"sourceRoot":""}