{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@fortawesome/fontawesome-free-solid/faSearch.js","webpack:///external \"jQuery\"","webpack:///./node_modules/@fortawesome/fontawesome/index.es.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@material/animation/util.js","webpack:///./node_modules/@material/base/foundation.js","webpack:///./node_modules/@material/dom/events.js","webpack:///./node_modules/@material/base/component.js","webpack:///./node_modules/@material/dom/ponyfill.js","webpack:///./node_modules/@material/ripple/constants.js","webpack:///./node_modules/@material/ripple/util.js","webpack:///./node_modules/@material/ripple/foundation.js","webpack:///./Content/src/js/modules/materials.js","webpack:///./node_modules/@material/ripple/component.js","webpack:///./node_modules/@material/checkbox/constants.js","webpack:///./node_modules/@material/checkbox/foundation.js","webpack:///./node_modules/@material/checkbox/component.js","webpack:///./Content/src/js/app.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","prefix","iconName","icon","jQuery","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER$1","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","e","_ref$userAgent","navigator","userAgent","undefined","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","PRODUCTION","oneToTen","oneToTwenty","concat","ATTRIBUTES_WATCHED_FOR_MUTATION","RESERVED_CLASSES","map","createClass","defineProperties","target","props","length","descriptor","configurable","writable","Constructor","protoProps","staticProps","_extends","assign","arguments","source","toConsumableArray","arr","Array","isArray","arr2","from","initial","FontAwesomeConfig","initialKeys","keys","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","keepOriginalSource","measurePerformance","showMissingIcons","config$1","update","newConfig","params","_params$asNewDefault","asNewDefault","validKeys","ok","k","forEach","configKey","w","styles","hooks","shims","namespace","functions","loaded","doScroll","test","readyState","listener","removeEventListener","fn","meaninglessTransform","size","x","y","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","_uniqueId","nextUniqueId","toArray","obj","array","classArray","node","classList","getAttribute","split","filter","getIconName","cls","parts","slice","join","htmlEscape","str","replace","joinStyles","reduce","acc","styleName","transformIsMeaningful","transform","transformForSvg","_ref","containerWidth","iconWidth","outer","inner","path","ALL_SPACE","width","height","makeInlineSvgAbstract","_params$icons","icons","main","mask","symbol","title","extra","_params$watchable","watchable","found","widthClass","Math","ceil","attrClass","classes","content","children","attributes","push","tag","id","args","_ref2","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","fill","maskInnerGroup","maskOuterGroup","maskId","clipId","defs","maskUnits","maskContentUnits","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","val","transformForCss","class","noop$2","preamble","end","perf","subject","initialValue","thisContext","result","iterator","func","a","b","bindInternal4","styles$2","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","ligatures","ligature","hasRegular","shim","oldName","styles$1","getCanonicalIcon","values","rest","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","noop$1","isWatched","mutators","mutation","newOuterHTML","parentNode","outerHTML","toLowerCase","newNode","replaceChild","nest","abstract","forSvg","RegExp","splitClasses","match","toSvg","toNode","newInnerHTML","perform","mutations","callback","callbackFunction","requestAnimationFrame","op","mutator","mo","classParser","existingPrefix","existingIconName","innerText","unicode","byUnicode","charCodeAt","toString","toHex","parseTransformString","transformString","first","parseFloat","isNaN","parseMeta","_classParser","extraClasses","extraStyles","prop","styleParser","transformParser","symbolParser","extraAttributes","attr","attributesParser","maskParser","MissingIcon","error","this","message","stack","Error","constructor","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","missing","cx","cy","opacity","FONT_FAMILY_PATTERN","STYLE_TO_PREFIX","findIcon","generateMutation","nodeMeta","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","generateLayersText","generateSvgReplacementMutation","remove","removeChild","root","querySelectorAll","pos","fontFamily","getPropertyValue","pseudoElement","nextSibling","textContent","substr","firstChild","appendChild","operation","onTree","htmlClassList","hclAdd","suffix","add","HTML_CLASS_I2SVG_BASE_CLASS","hclRemove","prefixes","prefixesDomQuery","candidates","console","onNode","drc","fp","rc","dPatt","rPatt","define","normalized","addPack","Library","instance","TypeError","classCallCheck","definitions","_this","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","prepIcon","_cssInserted","ensureCss","apiObject","abstractCreator","container","html","findIconDefinition","_params$prefix","library","next","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$title","_params$classes","_params$attributes","_params$styles","type","maybeIconDefinition","api$1","noAuto","disconnect","dom","i2svg","_params$node","_params$callback","parse","text","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","layer","assembler","autoReplace","set","bunker","FontAwesome","options","treeCallback","nodeCallback","pseudoElementsCallback","objects","mutationRecord","addedNodes","_getCanonicalIcon","observe","getElementsByTagName","childList","characterData","subtree","setTimeout","addShims","_namespace$shims","apply","extendStatics","setPrototypeOf","__proto__","__extends","__","__assign","__read","ar","done","__spread","jsEventTypeMap","animationend","cssProperty","prefixed","standard","animationiteration","animationstart","transitionend","isWindow","windowObj","Boolean","getCorrectEventName","eventType","el","_a","supportsPassive_","MDCFoundation","adapter","adapter_","init","destroy","MDCComponent","foundation","_i","root_","initialize","foundation_","getDefaultFoundation","initialSyncWithDOM","attachTo","_args","listen","evtType","handler","unlisten","emit","evtData","shouldBubble","evt","CustomEvent","bubbles","detail","createEvent","initCustomEvent","dispatchEvent","applyPassive","globalObj","forceRefresh","isSupported_1","passive","matches","element","selector","webkitMatchesSelector","msMatchesSelector","supportsCssVariables_","cssClasses","BG_FOCUSED","FG_ACTIVATION","FG_DEACTIVATION","ROOT","UNBOUNDED","strings","VAR_FG_SCALE","VAR_FG_SIZE","VAR_FG_TRANSLATE_END","VAR_FG_TRANSLATE_START","VAR_LEFT","VAR_TOP","numbers","DEACTIVATION_TIMEOUT_MS","FG_DEACTIVATION_MS","INITIAL_ORIGIN_SCALE","PADDING","TAP_DELAY_MS","materialListElement","ACTIVATION_EVENT_TYPES","POINTER_DEACTIVATION_EVENT_TYPES","activatedTargets","_super","MDCRippleFoundation","defaultAdapter","activationAnimationHasEnded_","activationTimer_","fgDeactivationRemovalTimer_","fgScale_","frame_","initialSize_","layoutFrame_","maxRadius_","unboundedCoords_","left","top","activationState_","defaultActivationState_","activationTimerCallback_","runDeactivationUXLogicIfReady_","activateHandler_","activate_","deactivateHandler_","deactivate_","focusHandler_","handleFocus","blurHandler_","handleBlur","resizeHandler_","layout","addClass","browserSupportsCssVars","computeBoundingRect","right","bottom","containsEventTarget","deregisterDocumentInteractionHandler","deregisterInteractionHandler","deregisterResizeHandler","getWindowPageOffset","isSurfaceActive","isSurfaceDisabled","isUnbounded","registerDocumentInteractionHandler","registerInteractionHandler","registerResizeHandler","removeClass","updateCssVariable","supportsPressRipple","supportsPressRipple_","registerRootHandlers_","ROOT_1","UNBOUNDED_1","layoutInternal_","clearTimeout","ROOT_2","UNBOUNDED_2","removeCssVars_","deregisterRootHandlers_","deregisterDeactivationHandlers_","activate","deactivate","cancelAnimationFrame","setUnbounded","unbounded","activationEvent","hasDeactivationUXRun","isActivated","isProgrammatic","wasActivatedByPointer","wasElementMadeActive","registerDeactivationHandlers_","rippleStrings","activationState","previousActivationEvent","previousActivationEvent_","some","resetActivationState_","checkElementMadeActive_","animateActivation_","keyCode","_b","translateStart","translateEnd","_c","getFgTranslationCoordinates_","startPoint","endPoint","rmBoundedActivationClasses_","pageOffset","clientRect","normalizedX","normalizedY","documentX","documentY","touchEvent","changedTouches","pageX","pageY","mouseEvent","getNormalizedEventCoords","state","animateDeactivation_","maxDim","max","sqrt","pow","initialSize","floor","updateLayoutCssVars_","round","MDCRipple","disabled","opts","ripple","createAdapter","className","CSS","supportsCssVars","supports","explicitlySupportsCssVars","weAreFeatureDetectingSafari10plus","computedStyle","hasPseudoVarBug","borderTopStyle","detectEdgePseudoVarBug","contains","pageXOffset","pageYOffset","varName","setProperty","unbounded_","setUnbounded_","dataset","ANIM_CHECKED_INDETERMINATE","ANIM_CHECKED_UNCHECKED","ANIM_INDETERMINATE_CHECKED","ANIM_INDETERMINATE_UNCHECKED","ANIM_UNCHECKED_CHECKED","ANIM_UNCHECKED_INDETERMINATE","BACKGROUND","CHECKED","CHECKMARK","CHECKMARK_PATH","DISABLED","INDETERMINATE","MIXEDMARK","NATIVE_CONTROL","SELECTED","UPGRADED","ARIA_CHECKED_ATTR","ARIA_CHECKED_INDETERMINATE_VALUE","NATIVE_CONTROL_SELECTOR","TRANSITION_STATE_CHECKED","TRANSITION_STATE_INDETERMINATE","TRANSITION_STATE_INIT","TRANSITION_STATE_UNCHECKED","ANIM_END_LATCH_MS","MDCCheckboxFoundation","currentCheckState_","currentAnimationClass_","animEndLatchTimer_","enableAnimationEndHandler_","forceLayout","hasNativeControl","isAttachedToDOM","isChecked","isIndeterminate","removeNativeControlAttr","setNativeControlAttr","setNativeControlDisabled","determineCheckState_","updateAriaChecked_","setDisabled","handleAnimationEnd","handleChange","transitionCheckState_","oldState","newState","getTransitionAnimationClass_","CB_PROTO_PROPS","MDCCheckbox","ripple_","createRipple_","nativeControl_","checked","indeterminate","handleChange_","handleAnimationEnd_","installPropertyChangeHooks_","uninstallPropertyChangeHooks_","offsetWidth","removeAttribute","nativeCb","cbProto","getPrototypeOf","controlState","desc","getOwnPropertyDescriptor","validDescriptor","nativeGetter","nativeCbDesc","querySelector","inputPropDesc","fontawesome","faSearch","$","self","log","materialsEls","index","HTMLToInsert","ready","showMaintenanceWindow","sessionStorage","getItem","HideMaintenancePopup","setItem"],"mappings":"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","file":"bundle.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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","module.exports = { prefix: 'fas', iconName: 'search', icon: [512, 512, [], \"f002\", \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"] };","module.exports = jQuery;","/*!\n * Font Awesome Free 5.0.13 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER$1 = null;\nvar _PERFORMANCE = { mark: noop, measure: noop };\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER$1 = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER$1;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\n\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\n\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\n\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter'].concat(oneToTen.map(function (n) {\n return n + 'x';\n})).concat(oneToTwenty.map(function (n) {\n return 'w-' + n;\n}));\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar initial = WINDOW.FontAwesomeConfig || {};\nvar initialKeys = Object.keys(initial);\n\nvar _default = _extends({\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}, initial);\n\nif (!_default.autoReplaceSvg) _default.observeMutations = false;\n\nvar config$1 = _extends({}, _default);\n\nWINDOW.FontAwesomeConfig = config$1;\n\nfunction update(newConfig) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$asNewDefault = params.asNewDefault,\n asNewDefault = _params$asNewDefault === undefined ? false : _params$asNewDefault;\n\n var validKeys = Object.keys(config$1);\n var ok = asNewDefault ? function (k) {\n return ~validKeys.indexOf(k) && !~initialKeys.indexOf(k);\n } : function (k) {\n return ~validKeys.indexOf(k);\n };\n\n Object.keys(newConfig).forEach(function (configKey) {\n if (ok(configKey)) config$1[configKey] = newConfig[configKey];\n });\n}\n\nfunction auto(value) {\n update({\n autoReplaceSvg: value,\n observeMutations: value\n });\n}\n\nvar w = WINDOW || {};\n\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nvar domready = function (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n};\n\nvar d = UNITS_IN_GRID;\n\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction bunker(fn) {\n try {\n fn();\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n}\n\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n\n return css;\n}\n\nvar _uniqueId = 0;\n\nfunction nextUniqueId() {\n _uniqueId++;\n\n return _uniqueId;\n}\n\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\n\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\n\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\n\nfunction htmlEscape(str) {\n return ('' + str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\n\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + (attributeName + '=\"' + htmlEscape(attributes[attributeName]) + '\" ');\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + (styleName + ': ' + styles[styleName] + ';');\n }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n\n var outer = {\n transform: 'translate(' + containerWidth / 2 + ' 256)'\n };\n var innerTranslate = 'translate(' + transform.x * 32 + ', ' + transform.y * 32 + ') ';\n var innerScale = 'scale(' + transform.size / 16 * (transform.flipX ? -1 : 1) + ', ' + transform.size / 16 * (transform.flipY ? -1 : 1) + ') ';\n var innerRotate = 'rotate(' + transform.rotate + ' 0 0)';\n var inner = {\n transform: innerTranslate + ' ' + innerScale + ' ' + innerRotate\n };\n var path = {\n transform: 'translate(' + iconWidth / 2 * -1 + ' -256)'\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\n\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === undefined ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === undefined ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === undefined ? false : _ref2$startCentered;\n\n var val = '';\n\n if (startCentered && IS_IE) {\n val += 'translate(' + (transform.x / d - width / 2) + 'em, ' + (transform.y / d - height / 2) + 'em) ';\n } else if (startCentered) {\n val += 'translate(calc(-50% + ' + transform.x / d + 'em), calc(-50% + ' + transform.y / d + 'em)) ';\n } else {\n val += 'translate(' + transform.x / d + 'em, ' + transform.y / d + 'em) ';\n }\n\n val += 'scale(' + transform.size / d * (transform.flipX ? -1 : 1) + ', ' + transform.size / d * (transform.flipY ? -1 : 1) + ') ';\n val += 'rotate(' + transform.rotate + 'deg) ';\n\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nvar makeIconMasking = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n\n\n var trans = transformForSvg({ transform: transform, containerWidth: maskWidth, iconWidth: mainWidth });\n\n var maskRect = {\n tag: 'rect',\n attributes: _extends({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroup = {\n tag: 'g',\n attributes: _extends({}, trans.inner),\n children: [{ tag: 'path', attributes: _extends({}, mainPath.attributes, trans.path, { fill: 'black' }) }]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _extends({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = 'mask-' + nextUniqueId();\n var clipId = 'clip-' + nextUniqueId();\n var maskTag = {\n tag: 'mask',\n attributes: _extends({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{ tag: 'clipPath', attributes: { id: clipId }, children: [maskPath] }, maskTag]\n };\n\n children.push(defs, { tag: 'rect', attributes: _extends({ fill: 'currentColor', 'clip-path': 'url(#' + clipId + ')', mask: 'url(#' + maskId + ')' }, ALL_SPACE) });\n\n return {\n children: children,\n attributes: attributes\n };\n};\n\nvar makeIconStandard = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({ transform: transform, containerWidth: main.width, iconWidth: main.width });\n children.push({\n tag: 'g',\n attributes: _extends({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _extends({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _extends({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n};\n\nvar asIcon = function (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_extends({}, styles, {\n 'transform-origin': offset.x + transform.x / 16 + 'em ' + (offset.y + transform.y / 16) + 'em'\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n};\n\nvar asSymbol = function (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n\n var id = symbol === true ? prefix + '-' + config$1.familyPrefix + '-' + iconName : symbol;\n\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _extends({}, attributes, { id: id }),\n children: children\n }]\n }];\n};\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === undefined ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var widthClass = 'fa-w-' + Math.ceil(width / height * 16);\n var attrClass = [config$1.replacementClass, iconName ? config$1.familyPrefix + '-' + iconName : '', widthClass].concat(extra.classes).join(' ');\n\n var content = {\n children: [],\n attributes: _extends({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 ' + width + ' ' + height\n })\n };\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({ tag: 'title', attributes: { id: content.attributes['aria-labelledby'] || 'title-' + nextUniqueId() }, children: [title] });\n\n var args = _extends({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n transform: transform,\n symbol: symbol,\n styles: extra.styles\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\n\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === undefined ? false : _params$watchable2;\n\n\n var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _extends({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({ transform: transform, startCentered: true, width: width, height: height });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });\n }\n\n return val;\n}\n\nvar noop$2 = function noop() {};\nvar p = config$1.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$2, measure: noop$2 };\nvar preamble = 'FA \"5.0.13\"';\n\nvar begin = function begin(name) {\n p.mark(preamble + ' ' + name + ' begins');\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(preamble + ' ' + name + ' ends');\n p.measure(preamble + ' ' + name, preamble + ' ' + name + ' begins', preamble + ' ' + name + ' ends');\n};\n\nvar perf = { begin: begin, end: end };\n\n'use strict';\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4 (func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n'use strict';\n\n\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject (subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i, key, result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n }\n else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nvar styles$2 = namespace.styles;\nvar shims = namespace.shims;\n\n\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles$2, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n acc[icon[3]] = iconName;\n\n return acc;\n });\n\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n\n acc[iconName] = iconName;\n\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n\n return acc;\n });\n\n var hasRegular = 'far' in styles$2;\n\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = { prefix: prefix, iconName: iconName };\n\n return acc;\n }, {});\n};\n\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n return _byUnicode[prefix][unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n return _byLigature[prefix][ligature];\n}\n\nfunction byOldName(name) {\n return _byOldName[name] || { prefix: null, iconName: null };\n}\n\nvar styles$1 = namespace.styles;\n\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return { prefix: null, iconName: null, rest: [] };\n};\n\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config$1.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config$1.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === undefined ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === undefined ? [] : _abstractNodes$childr;\n\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return '<' + tag + ' ' + joinAttributes(attributes) + '>' + children.map(toHtml).join('') + '';\n }\n}\n\nvar noop$1 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config$1.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config$1.autoReplaceSvg];\n\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config$1.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? '' : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config$1.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(config$1.familyPrefix + '-.*');\n\n delete abstract[0].attributes.style;\n\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config$1.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, { toNode: [], toSvg: [] });\n\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$1;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = WINDOW.requestAnimationFrame || function (op) {\n return op();\n };\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n\n mutations.map(mutator);\n\n mark();\n\n callbackFunction();\n });\n }\n}\n\nvar disabled = false;\n\nfunction disableObservation(operation) {\n disabled = true;\n operation();\n disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n if (!MUTATION_OBSERVER) return;\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback;\n\n\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config$1.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config$1.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n\n if (!IS_DOM) return;\n\n mo.observe(DOCUMENT.getElementsByTagName('body')[0], {\n childList: true, attributes: true, characterData: true, subtree: true\n });\n}\n\nfunction disconnect() {\n if (!mo) return;\n\n mo.disconnect();\n}\n\nvar styleParser = function (node) {\n var style = node.getAttribute('style');\n\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nvar classParser = function (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\n\nvar transformParser = function (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n};\n\nvar symbolParser = function (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n\n return symbol === null ? false : symbol === '' ? true : symbol;\n};\n\nvar attributesParser = function (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n\n var title = node.getAttribute('title');\n\n if (config$1.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();\n } else {\n extraAttributes['aria-hidden'] = 'true';\n }\n }\n\n return extraAttributes;\n};\n\nvar maskParser = function (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n};\n\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = { fill: 'currentColor' };\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _extends({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\nvar OPACITY_ANIMATE = _extends({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\nvar DOT = {\n tag: 'circle',\n attributes: _extends({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{ tag: 'animate', attributes: _extends({}, ANIMATION_BASE, { attributeName: 'r', values: '28;14;28;28;14;28;' }) }, { tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;1;1;0;1;' }) }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _extends({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;0;0;0;1;' }) }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _extends({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '0;0;1;1;0;0;' }) }]\n};\n\nvar missing = { tag: 'g', children: [RING, DOT, QUESTION, EXCLAMATION] };\n\nvar styles = namespace.styles;\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Brands)/;\nvar STYLE_TO_PREFIX = {\n 'Solid': 'fas',\n 'Regular': 'far',\n 'Light': 'fal',\n 'Brands': 'fab'\n};\n\nfunction findIcon(iconName, prefix) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles[prefix] && styles[prefix][iconName]) {\n var icon = styles[prefix][iconName];\n var width = icon[0];\n var height = icon[1];\n var vectorData = icon.slice(4);\n\n val = {\n found: true,\n width: width,\n height: height,\n icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n };\n } else if (iconName && prefix && !config$1.showMissingIcons) {\n throw new MissingIcon('Icon is missing for prefix ' + prefix + ' with icon name ' + iconName);\n }\n\n return val;\n}\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n extra = nodeMeta.extra;\n\n\n return [node, makeInlineSvgAbstract({\n icons: {\n main: findIcon(iconName, prefix),\n mask: findIcon(mask.iconName, mask.prefix)\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n title: title,\n extra: extra,\n watchable: true\n })];\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n\n\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config$1.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return [node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })];\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction remove(node) {\n if (typeof node.remove === 'function') {\n node.remove();\n } else if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n\n var end = perf.begin('searchPseudoElements');\n\n disableObservation(function () {\n toArray(root.querySelectorAll('*')).forEach(function (node) {\n [':before', ':after'].forEach(function (pos) {\n var styles = WINDOW.getComputedStyle(node, pos);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var children = toArray(node.children);\n var pseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === pos;\n })[0];\n\n if (pseudoElement) {\n if (pseudoElement.nextSibling && pseudoElement.nextSibling.textContent.indexOf(DATA_FA_PSEUDO_ELEMENT) > -1) {\n remove(pseudoElement.nextSibling);\n }\n remove(pseudoElement);\n pseudoElement = null;\n }\n\n if (fontFamily && !pseudoElement) {\n var content = styles.getPropertyValue('content');\n var i = DOCUMENT.createElement('i');\n i.setAttribute('class', '' + STYLE_TO_PREFIX[fontFamily[1]]);\n i.setAttribute(DATA_FA_PSEUDO_ELEMENT, pos);\n i.innerText = content.length === 3 ? content.substr(1, 1) : content;\n if (pos === ':before') {\n node.insertBefore(i, node.firstChild);\n } else {\n node.appendChild(i);\n }\n }\n });\n });\n });\n\n end();\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!IS_DOM) return;\n\n var htmlClassList = DOCUMENT.documentElement.classList;\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n };\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n };\n var prefixes = Object.keys(styles);\n var prefixesDomQuery = ['.' + LAYERS_TEXT_CLASSNAME + ':not([' + DATA_FA_I2SVG + '])'].concat(prefixes.map(function (p) {\n return '.' + p + ':not([' + DATA_FA_I2SVG + '])';\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n\n mark();\n\n perform(mutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n\n if (typeof callback === 'function') callback();\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var mutation = generateMutation(node);\n\n if (mutation) {\n perform([mutation], callback);\n }\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible; }\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -.125em; }\\n .svg-inline--fa.fa-lg {\\n vertical-align: -.225em; }\\n .svg-inline--fa.fa-w-1 {\\n width: 0.0625em; }\\n .svg-inline--fa.fa-w-2 {\\n width: 0.125em; }\\n .svg-inline--fa.fa-w-3 {\\n width: 0.1875em; }\\n .svg-inline--fa.fa-w-4 {\\n width: 0.25em; }\\n .svg-inline--fa.fa-w-5 {\\n width: 0.3125em; }\\n .svg-inline--fa.fa-w-6 {\\n width: 0.375em; }\\n .svg-inline--fa.fa-w-7 {\\n width: 0.4375em; }\\n .svg-inline--fa.fa-w-8 {\\n width: 0.5em; }\\n .svg-inline--fa.fa-w-9 {\\n width: 0.5625em; }\\n .svg-inline--fa.fa-w-10 {\\n width: 0.625em; }\\n .svg-inline--fa.fa-w-11 {\\n width: 0.6875em; }\\n .svg-inline--fa.fa-w-12 {\\n width: 0.75em; }\\n .svg-inline--fa.fa-w-13 {\\n width: 0.8125em; }\\n .svg-inline--fa.fa-w-14 {\\n width: 0.875em; }\\n .svg-inline--fa.fa-w-15 {\\n width: 0.9375em; }\\n .svg-inline--fa.fa-w-16 {\\n width: 1em; }\\n .svg-inline--fa.fa-w-17 {\\n width: 1.0625em; }\\n .svg-inline--fa.fa-w-18 {\\n width: 1.125em; }\\n .svg-inline--fa.fa-w-19 {\\n width: 1.1875em; }\\n .svg-inline--fa.fa-w-20 {\\n width: 1.25em; }\\n .svg-inline--fa.fa-pull-left {\\n margin-right: .3em;\\n width: auto; }\\n .svg-inline--fa.fa-pull-right {\\n margin-left: .3em;\\n width: auto; }\\n .svg-inline--fa.fa-border {\\n height: 1.5em; }\\n .svg-inline--fa.fa-li {\\n width: 2em; }\\n .svg-inline--fa.fa-fw {\\n width: 1.25em; }\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0; }\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -.125em;\\n width: 1em; }\\n .fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center; }\\n\\n.fa-layers-text, .fa-layers-counter {\\n display: inline-block;\\n position: absolute;\\n text-align: center; }\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center; }\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: .25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right; }\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right; }\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left; }\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right; }\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left; }\\n\\n.fa-lg {\\n font-size: 1.33333em;\\n line-height: 0.75em;\\n vertical-align: -.0667em; }\\n\\n.fa-xs {\\n font-size: .75em; }\\n\\n.fa-sm {\\n font-size: .875em; }\\n\\n.fa-1x {\\n font-size: 1em; }\\n\\n.fa-2x {\\n font-size: 2em; }\\n\\n.fa-3x {\\n font-size: 3em; }\\n\\n.fa-4x {\\n font-size: 4em; }\\n\\n.fa-5x {\\n font-size: 5em; }\\n\\n.fa-6x {\\n font-size: 6em; }\\n\\n.fa-7x {\\n font-size: 7em; }\\n\\n.fa-8x {\\n font-size: 8em; }\\n\\n.fa-9x {\\n font-size: 9em; }\\n\\n.fa-10x {\\n font-size: 10em; }\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em; }\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0; }\\n .fa-ul > li {\\n position: relative; }\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit; }\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: .1em;\\n padding: .2em .25em .15em; }\\n\\n.fa-pull-left {\\n float: left; }\\n\\n.fa-pull-right {\\n float: right; }\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: .3em; }\\n\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: .3em; }\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear; }\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8); }\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg); }\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg); }\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1); }\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1); }\\n\\n.fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1); }\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical {\\n -webkit-filter: none;\\n filter: none; }\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2em; }\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0; }\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1em; }\\n\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2em; }\\n\\n.fa-inverse {\\n color: #fff; }\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto; }\\n\";\n\nvar css = function () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config$1.familyPrefix;\n var rc = config$1.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp('\\\\.' + dfp + '\\\\-', 'g');\n var rPatt = new RegExp('\\\\.' + drc, 'g');\n\n s = s.replace(dPatt, '.' + fp + '-').replace(rPatt, '.' + rc);\n }\n\n return s;\n};\n\nfunction define(prefix, icons) {\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function') {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n define('fa', icons);\n }\n}\n\nvar Library = function () {\n function Library() {\n classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n createClass(Library, [{\n key: 'add',\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _extends({}, _this.definitions[key] || {}, additions[key]);\n define(key, additions[key]);\n });\n }\n }, {\n key: 'reset',\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: '_pullDefinitions',\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? { 0: definition } : definition;\n\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n\n\n if (!additions[prefix]) additions[prefix] = {};\n\n additions[prefix][iconName] = icon;\n });\n\n return additions;\n }\n }]);\n return Library;\n}();\n\nfunction prepIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n var vectorData = icon.slice(4);\n\n return {\n found: true,\n width: width,\n height: height,\n icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n };\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (!config$1.autoAddCss) {\n return;\n }\n\n if (!_cssInserted) {\n insertCss(css());\n }\n\n _cssInserted = true;\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n\n return val;\n}\n\nfunction findIconDefinition(params) {\n var _params$prefix = params.prefix,\n prefix = _params$prefix === undefined ? 'fa' : _params$prefix,\n iconName = params.iconName;\n\n\n if (!iconName) return;\n\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n\n var mask = params.mask;\n\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _extends({}, params, { mask: mask }));\n };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n auto(false);\n disconnect();\n};\n\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n\n var _params$node = params.node,\n node = _params$node === undefined ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === undefined ? function () {} : _params$callback;\n\n\n if (config$1.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n onTree(node, callback);\n }\n },\n\n css: css,\n\n insertCss: function insertCss$$1() {\n insertCss(css());\n }\n};\n\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\n\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === undefined ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === undefined ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === undefined ? null : _params$mask,\n _params$title = params.title,\n title = _params$title === undefined ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === undefined ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === undefined ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === undefined ? {} : _params$styles;\n\n\n if (!iconDefinition) return;\n\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n\n\n return apiObject(_extends({ type: 'icon' }, iconDefinition), function () {\n ensureCss();\n\n if (config$1.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();\n } else {\n attributes['aria-hidden'] = 'true';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: prepIcon(icon),\n mask: mask ? prepIcon(mask.icon) : { found: false, width: null, height: null, icon: {} }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _extends({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\n\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === undefined ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === undefined ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === undefined ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === undefined ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === undefined ? {} : _params$styles2;\n\n\n return apiObject({ type: 'text', content: content }, function () {\n ensureCss();\n\n return makeLayersTextAbstract({\n content: content,\n transform: _extends({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [config$1.familyPrefix + '-layers-text'].concat(toConsumableArray(classes))\n }\n });\n });\n};\n\nvar layer = function layer(assembler) {\n return apiObject({ type: 'layer' }, function () {\n ensureCss();\n\n var children = [];\n\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n\n return [{\n tag: 'span',\n attributes: { class: config$1.familyPrefix + '-layers' },\n children: children\n }];\n });\n};\n\nvar api$1 = {\n noAuto: noAuto,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n layer: layer\n};\n\nvar autoReplace = function autoReplace() {\n if (IS_DOM && config$1.autoReplaceSvg) api$1.dom.i2svg({ node: DOCUMENT });\n};\n\nfunction bootstrap() {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api$1;\n }\n\n domready(function () {\n if (Object.keys(namespace.styles).length > 0) {\n autoReplace();\n }\n\n if (config$1.observeMutations && typeof MutationObserver === 'function') {\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements\n });\n }\n });\n }\n\n namespace.hooks = _extends({}, namespace.hooks, {\n\n addPack: function addPack(prefix, icons) {\n namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, icons);\n\n build();\n autoReplace();\n },\n\n addShims: function addShims(shims) {\n var _namespace$shims;\n\n (_namespace$shims = namespace.shims).push.apply(_namespace$shims, toConsumableArray(shims));\n\n build();\n autoReplace();\n }\n });\n}\n\nObject.defineProperty(api$1, 'config', {\n get: function get() {\n return config$1;\n },\n\n set: function set(newConfig) {\n update(newConfig);\n }\n});\n\nif (IS_DOM) bunker(bootstrap);\n\nvar config = api$1.config;\n\nexport { config, icon, noAuto, layer, text, library, dom, parse, findIconDefinition };\nexport default api$1;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssPropertyNameMap = {\n animation: {\n prefixed: '-webkit-animation',\n standard: 'animation',\n },\n transform: {\n prefixed: '-webkit-transform',\n standard: 'transform',\n },\n transition: {\n prefixed: '-webkit-transition',\n standard: 'transition',\n },\n};\nvar jsEventTypeMap = {\n animationend: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationEnd',\n standard: 'animationend',\n },\n animationiteration: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationIteration',\n standard: 'animationiteration',\n },\n animationstart: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationStart',\n standard: 'animationstart',\n },\n transitionend: {\n cssProperty: 'transition',\n prefixed: 'webkitTransitionEnd',\n standard: 'transitionend',\n },\n};\nfunction isWindow(windowObj) {\n return Boolean(windowObj.document) && typeof windowObj.document.createElement === 'function';\n}\nexport function getCorrectPropertyName(windowObj, cssProperty) {\n if (isWindow(windowObj) && cssProperty in cssPropertyNameMap) {\n var el = windowObj.document.createElement('div');\n var _a = cssPropertyNameMap[cssProperty], standard = _a.standard, prefixed = _a.prefixed;\n var isStandard = standard in el.style;\n return isStandard ? standard : prefixed;\n }\n return cssProperty;\n}\nexport function getCorrectEventName(windowObj, eventType) {\n if (isWindow(windowObj) && eventType in jsEventTypeMap) {\n var el = windowObj.document.createElement('div');\n var _a = jsEventTypeMap[eventType], standard = _a.standard, prefixed = _a.prefixed, cssProperty = _a.cssProperty;\n var isStandard = cssProperty in el.style;\n return isStandard ? standard : prefixed;\n }\n return eventType;\n}\n//# sourceMappingURL=util.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCFoundation = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter_ = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports every\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"strings\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"numbers\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\n get: function () {\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n // validation.\n return {};\n },\n enumerable: true,\n configurable: true\n });\n MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n };\n return MDCFoundation;\n}());\nexport { MDCFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * Stores result from applyPassive to avoid redundant processing to detect\n * passive event listener support.\n */\nvar supportsPassive_;\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nexport function applyPassive(globalObj, forceRefresh) {\n if (globalObj === void 0) { globalObj = window; }\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (supportsPassive_ === undefined || forceRefresh) {\n var isSupported_1 = false;\n try {\n globalObj.document.addEventListener('test', function () { return undefined; }, {\n get passive() {\n isSupported_1 = true;\n return isSupported_1;\n },\n });\n }\n catch (e) {\n } // tslint:disable-line:no-empty cannot throw error due to tests. tslint also disables console.log.\n supportsPassive_ = isSupported_1;\n }\n return supportsPassive_ ? { passive: true } : false;\n}\n//# sourceMappingURL=events.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from './foundation';\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root_ = root;\n this.initialize.apply(this, tslib_1.__spread(args));\n // Note that we initialize foundation here and not within the constructor's default param so that\n // this.root_ is defined and can be used within the foundation class.\n this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation_.init();\n this.initialSyncWithDOM();\n }\n MDCComponent.attachTo = function (root) {\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n // returns an instantiated component with its root set to that element. Also note that in the cases of\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n // from getDefaultFoundation().\n return new MDCComponent(root, new MDCFoundation({}));\n };\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n // Subclasses can override this to do any additional setup work that would be considered part of a\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n // initialized. Any additional arguments besides root and foundation will be passed in here.\n };\n MDCComponent.prototype.getDefaultFoundation = function () {\n // Subclasses must override this method to return a properly configured foundation class for the\n // component.\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // Subclasses should override this method if they need to perform work to synchronize with a host DOM\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n };\n MDCComponent.prototype.destroy = function () {\n // Subclasses may implement this method to release any resources / deregister any listeners they have\n // attached. An example of this might be deregistering a resize event from the window object.\n this.foundation_.destroy();\n };\n MDCComponent.prototype.listen = function (evtType, handler, options) {\n this.root_.addEventListener(evtType, handler, options);\n };\n MDCComponent.prototype.unlisten = function (evtType, handler, options) {\n this.root_.removeEventListener(evtType, handler, options);\n };\n /**\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n */\n MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root_.dispatchEvent(evt);\n };\n return MDCComponent;\n}());\nexport { MDCComponent };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCComponent;\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\n */\nexport function closest(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nexport function matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n//# sourceMappingURL=ponyfill.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n // Ripple is a special case where the \"root\" component is really a \"mixin\" of sorts,\n // given that it's an 'upgrade' to an existing component. That being said it is the root\n // CSS class that all other CSS classes derive from.\n BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',\n FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation',\n ROOT: 'mdc-ripple-upgraded',\n UNBOUNDED: 'mdc-ripple-upgraded--unbounded',\n};\nexport var strings = {\n VAR_FG_SCALE: '--mdc-ripple-fg-scale',\n VAR_FG_SIZE: '--mdc-ripple-fg-size',\n VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end',\n VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',\n VAR_LEFT: '--mdc-ripple-left',\n VAR_TOP: '--mdc-ripple-top',\n};\nexport var numbers = {\n DEACTIVATION_TIMEOUT_MS: 225,\n FG_DEACTIVATION_MS: 150,\n INITIAL_ORIGIN_SCALE: 0.6,\n PADDING: 10,\n TAP_DELAY_MS: 300,\n};\n//# sourceMappingURL=constants.js.map","/**\n * Stores result from supportsCssVariables to avoid redundant processing to\n * detect CSS custom variable support.\n */\nvar supportsCssVariables_;\nfunction detectEdgePseudoVarBug(windowObj) {\n // Detect versions of Edge with buggy var() support\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/\n var document = windowObj.document;\n var node = document.createElement('div');\n node.className = 'mdc-ripple-surface--test-edge-var-bug';\n // Append to head instead of body because this script might be invoked in the\n // head, in which case the body doesn't exist yet. The probe works either way.\n document.head.appendChild(node);\n // The bug exists if ::before style ends up propagating to the parent element.\n // Additionally, getComputedStyle returns null in iframes with display: \"none\" in Firefox,\n // but Firefox is known to support CSS custom properties correctly.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = windowObj.getComputedStyle(node);\n var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n return hasPseudoVarBug;\n}\nexport function supportsCssVariables(windowObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n var CSS = windowObj.CSS;\n var supportsCssVars = supportsCssVariables_;\n if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {\n return supportsCssVariables_;\n }\n var supportsFunctionPresent = CSS && typeof CSS.supports === 'function';\n if (!supportsFunctionPresent) {\n return false;\n }\n var explicitlySupportsCssVars = CSS.supports('--css-vars', 'yes');\n // See: https://bugs.webkit.org/show_bug.cgi?id=154669\n // See: README section on Safari\n var weAreFeatureDetectingSafari10plus = (CSS.supports('(--css-vars: yes)') &&\n CSS.supports('color', '#00000000'));\n if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {\n supportsCssVars = !detectEdgePseudoVarBug(windowObj);\n }\n else {\n supportsCssVars = false;\n }\n if (!forceRefresh) {\n supportsCssVariables_ = supportsCssVars;\n }\n return supportsCssVars;\n}\nexport function getNormalizedEventCoords(evt, pageOffset, clientRect) {\n if (!evt) {\n return { x: 0, y: 0 };\n }\n var x = pageOffset.x, y = pageOffset.y;\n var documentX = x + clientRect.left;\n var documentY = y + clientRect.top;\n var normalizedX;\n var normalizedY;\n // Determine touch point relative to the ripple container.\n if (evt.type === 'touchstart') {\n var touchEvent = evt;\n normalizedX = touchEvent.changedTouches[0].pageX - documentX;\n normalizedY = touchEvent.changedTouches[0].pageY - documentY;\n }\n else {\n var mouseEvent = evt;\n normalizedX = mouseEvent.pageX - documentX;\n normalizedY = mouseEvent.pageY - documentY;\n }\n return { x: normalizedX, y: normalizedY };\n}\n//# sourceMappingURL=util.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nimport { getNormalizedEventCoords } from './util';\n// Activation events registered on the root element of each instance for activation\nvar ACTIVATION_EVENT_TYPES = [\n 'touchstart', 'pointerdown', 'mousedown', 'keydown',\n];\n// Deactivation events registered on documentElement when a pointer-related down event occurs\nvar POINTER_DEACTIVATION_EVENT_TYPES = [\n 'touchend', 'pointerup', 'mouseup', 'contextmenu',\n];\n// simultaneous nested activations\nvar activatedTargets = [];\nvar MDCRippleFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCRippleFoundation, _super);\n function MDCRippleFoundation(adapter) {\n var _this = _super.call(this, tslib_1.__assign({}, MDCRippleFoundation.defaultAdapter, adapter)) || this;\n _this.activationAnimationHasEnded_ = false;\n _this.activationTimer_ = 0;\n _this.fgDeactivationRemovalTimer_ = 0;\n _this.fgScale_ = '0';\n _this.frame_ = { width: 0, height: 0 };\n _this.initialSize_ = 0;\n _this.layoutFrame_ = 0;\n _this.maxRadius_ = 0;\n _this.unboundedCoords_ = { left: 0, top: 0 };\n _this.activationState_ = _this.defaultActivationState_();\n _this.activationTimerCallback_ = function () {\n _this.activationAnimationHasEnded_ = true;\n _this.runDeactivationUXLogicIfReady_();\n };\n _this.activateHandler_ = function (e) { return _this.activate_(e); };\n _this.deactivateHandler_ = function () { return _this.deactivate_(); };\n _this.focusHandler_ = function () { return _this.handleFocus(); };\n _this.blurHandler_ = function () { return _this.handleBlur(); };\n _this.resizeHandler_ = function () { return _this.layout(); };\n return _this;\n }\n Object.defineProperty(MDCRippleFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n browserSupportsCssVars: function () { return true; },\n computeBoundingRect: function () { return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 }); },\n containsEventTarget: function () { return true; },\n deregisterDocumentInteractionHandler: function () { return undefined; },\n deregisterInteractionHandler: function () { return undefined; },\n deregisterResizeHandler: function () { return undefined; },\n getWindowPageOffset: function () { return ({ x: 0, y: 0 }); },\n isSurfaceActive: function () { return true; },\n isSurfaceDisabled: function () { return true; },\n isUnbounded: function () { return true; },\n registerDocumentInteractionHandler: function () { return undefined; },\n registerInteractionHandler: function () { return undefined; },\n registerResizeHandler: function () { return undefined; },\n removeClass: function () { return undefined; },\n updateCssVariable: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCRippleFoundation.prototype.init = function () {\n var _this = this;\n var supportsPressRipple = this.supportsPressRipple_();\n this.registerRootHandlers_(supportsPressRipple);\n if (supportsPressRipple) {\n var _a = MDCRippleFoundation.cssClasses, ROOT_1 = _a.ROOT, UNBOUNDED_1 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.addClass(ROOT_1);\n if (_this.adapter_.isUnbounded()) {\n _this.adapter_.addClass(UNBOUNDED_1);\n // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple\n _this.layoutInternal_();\n }\n });\n }\n };\n MDCRippleFoundation.prototype.destroy = function () {\n var _this = this;\n if (this.supportsPressRipple_()) {\n if (this.activationTimer_) {\n clearTimeout(this.activationTimer_);\n this.activationTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_ACTIVATION);\n }\n if (this.fgDeactivationRemovalTimer_) {\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.fgDeactivationRemovalTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_DEACTIVATION);\n }\n var _a = MDCRippleFoundation.cssClasses, ROOT_2 = _a.ROOT, UNBOUNDED_2 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.removeClass(ROOT_2);\n _this.adapter_.removeClass(UNBOUNDED_2);\n _this.removeCssVars_();\n });\n }\n this.deregisterRootHandlers_();\n this.deregisterDeactivationHandlers_();\n };\n /**\n * @param evt Optional event containing position information.\n */\n MDCRippleFoundation.prototype.activate = function (evt) {\n this.activate_(evt);\n };\n MDCRippleFoundation.prototype.deactivate = function () {\n this.deactivate_();\n };\n MDCRippleFoundation.prototype.layout = function () {\n var _this = this;\n if (this.layoutFrame_) {\n cancelAnimationFrame(this.layoutFrame_);\n }\n this.layoutFrame_ = requestAnimationFrame(function () {\n _this.layoutInternal_();\n _this.layoutFrame_ = 0;\n });\n };\n MDCRippleFoundation.prototype.setUnbounded = function (unbounded) {\n var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;\n if (unbounded) {\n this.adapter_.addClass(UNBOUNDED);\n }\n else {\n this.adapter_.removeClass(UNBOUNDED);\n }\n };\n MDCRippleFoundation.prototype.handleFocus = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n MDCRippleFoundation.prototype.handleBlur = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n /**\n * We compute this property so that we are not querying information about the client\n * until the point in time where the foundation requests it. This prevents scenarios where\n * client-side feature-detection may happen too early, such as when components are rendered on the server\n * and then initialized at mount time on the client.\n */\n MDCRippleFoundation.prototype.supportsPressRipple_ = function () {\n return this.adapter_.browserSupportsCssVars();\n };\n MDCRippleFoundation.prototype.defaultActivationState_ = function () {\n return {\n activationEvent: undefined,\n hasDeactivationUXRun: false,\n isActivated: false,\n isProgrammatic: false,\n wasActivatedByPointer: false,\n wasElementMadeActive: false,\n };\n };\n /**\n * supportsPressRipple Passed from init to save a redundant function call\n */\n MDCRippleFoundation.prototype.registerRootHandlers_ = function (supportsPressRipple) {\n var _this = this;\n if (supportsPressRipple) {\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerInteractionHandler(evtType, _this.activateHandler_);\n });\n if (this.adapter_.isUnbounded()) {\n this.adapter_.registerResizeHandler(this.resizeHandler_);\n }\n }\n this.adapter_.registerInteractionHandler('focus', this.focusHandler_);\n this.adapter_.registerInteractionHandler('blur', this.blurHandler_);\n };\n MDCRippleFoundation.prototype.registerDeactivationHandlers_ = function (evt) {\n var _this = this;\n if (evt.type === 'keydown') {\n this.adapter_.registerInteractionHandler('keyup', this.deactivateHandler_);\n }\n else {\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n }\n };\n MDCRippleFoundation.prototype.deregisterRootHandlers_ = function () {\n var _this = this;\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterInteractionHandler(evtType, _this.activateHandler_);\n });\n this.adapter_.deregisterInteractionHandler('focus', this.focusHandler_);\n this.adapter_.deregisterInteractionHandler('blur', this.blurHandler_);\n if (this.adapter_.isUnbounded()) {\n this.adapter_.deregisterResizeHandler(this.resizeHandler_);\n }\n };\n MDCRippleFoundation.prototype.deregisterDeactivationHandlers_ = function () {\n var _this = this;\n this.adapter_.deregisterInteractionHandler('keyup', this.deactivateHandler_);\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n };\n MDCRippleFoundation.prototype.removeCssVars_ = function () {\n var _this = this;\n var rippleStrings = MDCRippleFoundation.strings;\n var keys = Object.keys(rippleStrings);\n keys.forEach(function (key) {\n if (key.indexOf('VAR_') === 0) {\n _this.adapter_.updateCssVariable(rippleStrings[key], null);\n }\n });\n };\n MDCRippleFoundation.prototype.activate_ = function (evt) {\n var _this = this;\n if (this.adapter_.isSurfaceDisabled()) {\n return;\n }\n var activationState = this.activationState_;\n if (activationState.isActivated) {\n return;\n }\n // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction\n var previousActivationEvent = this.previousActivationEvent_;\n var isSameInteraction = previousActivationEvent && evt !== undefined && previousActivationEvent.type !== evt.type;\n if (isSameInteraction) {\n return;\n }\n activationState.isActivated = true;\n activationState.isProgrammatic = evt === undefined;\n activationState.activationEvent = evt;\n activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : evt !== undefined && (evt.type === 'mousedown' || evt.type === 'touchstart' || evt.type === 'pointerdown');\n var hasActivatedChild = evt !== undefined && activatedTargets.length > 0 && activatedTargets.some(function (target) { return _this.adapter_.containsEventTarget(target); });\n if (hasActivatedChild) {\n // Immediately reset activation state, while preserving logic that prevents touch follow-on events\n this.resetActivationState_();\n return;\n }\n if (evt !== undefined) {\n activatedTargets.push(evt.target);\n this.registerDeactivationHandlers_(evt);\n }\n activationState.wasElementMadeActive = this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n this.animateActivation_();\n }\n requestAnimationFrame(function () {\n // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples\n activatedTargets = [];\n if (!activationState.wasElementMadeActive\n && evt !== undefined\n && (evt.key === ' ' || evt.keyCode === 32)) {\n // If space was pressed, try again within an rAF call to detect :active, because different UAs report\n // active states inconsistently when they're called within event handling code:\n // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971\n // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741\n // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS\n // variable is set within a rAF callback for a submit button interaction (#2241).\n activationState.wasElementMadeActive = _this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n _this.animateActivation_();\n }\n }\n if (!activationState.wasElementMadeActive) {\n // Reset activation state immediately if element was not made active.\n _this.activationState_ = _this.defaultActivationState_();\n }\n });\n };\n MDCRippleFoundation.prototype.checkElementMadeActive_ = function (evt) {\n return (evt !== undefined && evt.type === 'keydown') ? this.adapter_.isSurfaceActive() : true;\n };\n MDCRippleFoundation.prototype.animateActivation_ = function () {\n var _this = this;\n var _a = MDCRippleFoundation.strings, VAR_FG_TRANSLATE_START = _a.VAR_FG_TRANSLATE_START, VAR_FG_TRANSLATE_END = _a.VAR_FG_TRANSLATE_END;\n var _b = MDCRippleFoundation.cssClasses, FG_DEACTIVATION = _b.FG_DEACTIVATION, FG_ACTIVATION = _b.FG_ACTIVATION;\n var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;\n this.layoutInternal_();\n var translateStart = '';\n var translateEnd = '';\n if (!this.adapter_.isUnbounded()) {\n var _c = this.getFgTranslationCoordinates_(), startPoint = _c.startPoint, endPoint = _c.endPoint;\n translateStart = startPoint.x + \"px, \" + startPoint.y + \"px\";\n translateEnd = endPoint.x + \"px, \" + endPoint.y + \"px\";\n }\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);\n // Cancel any ongoing activation/deactivation animations\n clearTimeout(this.activationTimer_);\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.rmBoundedActivationClasses_();\n this.adapter_.removeClass(FG_DEACTIVATION);\n // Force layout in order to re-trigger the animation.\n this.adapter_.computeBoundingRect();\n this.adapter_.addClass(FG_ACTIVATION);\n this.activationTimer_ = setTimeout(function () { return _this.activationTimerCallback_(); }, DEACTIVATION_TIMEOUT_MS);\n };\n MDCRippleFoundation.prototype.getFgTranslationCoordinates_ = function () {\n var _a = this.activationState_, activationEvent = _a.activationEvent, wasActivatedByPointer = _a.wasActivatedByPointer;\n var startPoint;\n if (wasActivatedByPointer) {\n startPoint = getNormalizedEventCoords(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());\n }\n else {\n startPoint = {\n x: this.frame_.width / 2,\n y: this.frame_.height / 2,\n };\n }\n // Center the element around the start point.\n startPoint = {\n x: startPoint.x - (this.initialSize_ / 2),\n y: startPoint.y - (this.initialSize_ / 2),\n };\n var endPoint = {\n x: (this.frame_.width / 2) - (this.initialSize_ / 2),\n y: (this.frame_.height / 2) - (this.initialSize_ / 2),\n };\n return { startPoint: startPoint, endPoint: endPoint };\n };\n MDCRippleFoundation.prototype.runDeactivationUXLogicIfReady_ = function () {\n var _this = this;\n // This method is called both when a pointing device is released, and when the activation animation ends.\n // The deactivation animation should only run after both of those occur.\n var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;\n var _a = this.activationState_, hasDeactivationUXRun = _a.hasDeactivationUXRun, isActivated = _a.isActivated;\n var activationHasEnded = hasDeactivationUXRun || !isActivated;\n if (activationHasEnded && this.activationAnimationHasEnded_) {\n this.rmBoundedActivationClasses_();\n this.adapter_.addClass(FG_DEACTIVATION);\n this.fgDeactivationRemovalTimer_ = setTimeout(function () {\n _this.adapter_.removeClass(FG_DEACTIVATION);\n }, numbers.FG_DEACTIVATION_MS);\n }\n };\n MDCRippleFoundation.prototype.rmBoundedActivationClasses_ = function () {\n var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;\n this.adapter_.removeClass(FG_ACTIVATION);\n this.activationAnimationHasEnded_ = false;\n this.adapter_.computeBoundingRect();\n };\n MDCRippleFoundation.prototype.resetActivationState_ = function () {\n var _this = this;\n this.previousActivationEvent_ = this.activationState_.activationEvent;\n this.activationState_ = this.defaultActivationState_();\n // Touch devices may fire additional events for the same interaction within a short time.\n // Store the previous event until it's safe to assume that subsequent events are for new interactions.\n setTimeout(function () { return _this.previousActivationEvent_ = undefined; }, MDCRippleFoundation.numbers.TAP_DELAY_MS);\n };\n MDCRippleFoundation.prototype.deactivate_ = function () {\n var _this = this;\n var activationState = this.activationState_;\n // This can happen in scenarios such as when you have a keyup event that blurs the element.\n if (!activationState.isActivated) {\n return;\n }\n var state = tslib_1.__assign({}, activationState);\n if (activationState.isProgrammatic) {\n requestAnimationFrame(function () { return _this.animateDeactivation_(state); });\n this.resetActivationState_();\n }\n else {\n this.deregisterDeactivationHandlers_();\n requestAnimationFrame(function () {\n _this.activationState_.hasDeactivationUXRun = true;\n _this.animateDeactivation_(state);\n _this.resetActivationState_();\n });\n }\n };\n MDCRippleFoundation.prototype.animateDeactivation_ = function (_a) {\n var wasActivatedByPointer = _a.wasActivatedByPointer, wasElementMadeActive = _a.wasElementMadeActive;\n if (wasActivatedByPointer || wasElementMadeActive) {\n this.runDeactivationUXLogicIfReady_();\n }\n };\n MDCRippleFoundation.prototype.layoutInternal_ = function () {\n var _this = this;\n this.frame_ = this.adapter_.computeBoundingRect();\n var maxDim = Math.max(this.frame_.height, this.frame_.width);\n // Surface diameter is treated differently for unbounded vs. bounded ripples.\n // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n // `overflow: hidden`.\n var getBoundedRadius = function () {\n var hypotenuse = Math.sqrt(Math.pow(_this.frame_.width, 2) + Math.pow(_this.frame_.height, 2));\n return hypotenuse + MDCRippleFoundation.numbers.PADDING;\n };\n this.maxRadius_ = this.adapter_.isUnbounded() ? maxDim : getBoundedRadius();\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n var initialSize = Math.floor(maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE);\n // Unbounded ripple size should always be even number to equally center align.\n if (this.adapter_.isUnbounded() && initialSize % 2 !== 0) {\n this.initialSize_ = initialSize - 1;\n }\n else {\n this.initialSize_ = initialSize;\n }\n this.fgScale_ = \"\" + this.maxRadius_ / this.initialSize_;\n this.updateLayoutCssVars_();\n };\n MDCRippleFoundation.prototype.updateLayoutCssVars_ = function () {\n var _a = MDCRippleFoundation.strings, VAR_FG_SIZE = _a.VAR_FG_SIZE, VAR_LEFT = _a.VAR_LEFT, VAR_TOP = _a.VAR_TOP, VAR_FG_SCALE = _a.VAR_FG_SCALE;\n this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + \"px\");\n this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);\n if (this.adapter_.isUnbounded()) {\n this.unboundedCoords_ = {\n left: Math.round((this.frame_.width / 2) - (this.initialSize_ / 2)),\n top: Math.round((this.frame_.height / 2) - (this.initialSize_ / 2)),\n };\n this.adapter_.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + \"px\");\n this.adapter_.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + \"px\");\n }\n };\n return MDCRippleFoundation;\n}(MDCFoundation));\nexport { MDCRippleFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCRippleFoundation;\n//# sourceMappingURL=foundation.js.map","// create an array object with the information from DOM\r\n\r\n/**\r\n * \r\n * @param {element} materialListElement \r\n * takes a DOM element and creates an array from it\r\n * \r\n */\r\nfunction createMaterialsArray(materialListElement) {\r\n let materialList = [];\r\n // pull text from
  • children\r\n // note: make sure content editors don't nest lists\r\n\r\n // turn node list into array object\r\n let liArray = Array.prototype.slice.call(materialListElement);\r\n // create and return an array of materials\r\n return liArray;\r\n}\r\n\r\nfunction insertListClasses(listItemArray) {\r\n let alteredArr = listItemArray.map(el =>\r\n el.classList.add('material__list-item'),\r\n );\r\n return alteredArr;\r\n}\r\n\r\nfunction insertCheckbox(listItemArray) {\r\n let alteredArr = listItemArray.map((el, index) => {\r\n let val = el.textContent;\r\n let HTMLToInsert = `
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    `;\r\n el.innerHTML = HTMLToInsert;\r\n // let checkboxToInsert = ``;\r\n // el.insertAdjacentHTML('beforeend', checkboxToInsert);\r\n return el;\r\n });\r\n return alteredArr;\r\n}\r\n\r\nexport default function createInteractiveMaterialsList(materialsLiElements) {\r\n return insertListClasses(\r\n insertCheckbox(createMaterialsArray(materialsLiElements)),\r\n );\r\n}\r\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { applyPassive } from '@material/dom/events';\nimport { matches } from '@material/dom/ponyfill';\nimport { MDCRippleFoundation } from './foundation';\nimport * as util from './util';\nvar MDCRipple = /** @class */ (function (_super) {\n tslib_1.__extends(MDCRipple, _super);\n function MDCRipple() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.disabled = false;\n return _this;\n }\n MDCRipple.attachTo = function (root, opts) {\n if (opts === void 0) { opts = { isUnbounded: undefined }; }\n var ripple = new MDCRipple(root);\n // Only override unbounded behavior if option is explicitly specified\n if (opts.isUnbounded !== undefined) {\n ripple.unbounded = opts.isUnbounded;\n }\n return ripple;\n };\n MDCRipple.createAdapter = function (instance) {\n return {\n addClass: function (className) { return instance.root_.classList.add(className); },\n browserSupportsCssVars: function () { return util.supportsCssVariables(window); },\n computeBoundingRect: function () { return instance.root_.getBoundingClientRect(); },\n containsEventTarget: function (target) { return instance.root_.contains(target); },\n deregisterDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.removeEventListener(evtType, handler, applyPassive());\n },\n deregisterInteractionHandler: function (evtType, handler) {\n return instance.root_.removeEventListener(evtType, handler, applyPassive());\n },\n deregisterResizeHandler: function (handler) { return window.removeEventListener('resize', handler); },\n getWindowPageOffset: function () { return ({ x: window.pageXOffset, y: window.pageYOffset }); },\n isSurfaceActive: function () { return matches(instance.root_, ':active'); },\n isSurfaceDisabled: function () { return Boolean(instance.disabled); },\n isUnbounded: function () { return Boolean(instance.unbounded); },\n registerDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.addEventListener(evtType, handler, applyPassive());\n },\n registerInteractionHandler: function (evtType, handler) {\n return instance.root_.addEventListener(evtType, handler, applyPassive());\n },\n registerResizeHandler: function (handler) { return window.addEventListener('resize', handler); },\n removeClass: function (className) { return instance.root_.classList.remove(className); },\n updateCssVariable: function (varName, value) { return instance.root_.style.setProperty(varName, value); },\n };\n };\n Object.defineProperty(MDCRipple.prototype, \"unbounded\", {\n get: function () {\n return Boolean(this.unbounded_);\n },\n set: function (unbounded) {\n this.unbounded_ = Boolean(unbounded);\n this.setUnbounded_();\n },\n enumerable: true,\n configurable: true\n });\n MDCRipple.prototype.activate = function () {\n this.foundation_.activate();\n };\n MDCRipple.prototype.deactivate = function () {\n this.foundation_.deactivate();\n };\n MDCRipple.prototype.layout = function () {\n this.foundation_.layout();\n };\n MDCRipple.prototype.getDefaultFoundation = function () {\n return new MDCRippleFoundation(MDCRipple.createAdapter(this));\n };\n MDCRipple.prototype.initialSyncWithDOM = function () {\n var root = this.root_;\n this.unbounded = 'mdcRippleIsUnbounded' in root.dataset;\n };\n /**\n * Closure Compiler throws an access control error when directly accessing a\n * protected or private property inside a getter/setter, like unbounded above.\n * By accessing the protected property inside a method, we solve that problem.\n * That's why this function exists.\n */\n MDCRipple.prototype.setUnbounded_ = function () {\n this.foundation_.setUnbounded(Boolean(this.unbounded_));\n };\n return MDCRipple;\n}(MDCComponent));\nexport { MDCRipple };\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',\n ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',\n ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',\n ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked',\n ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',\n ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',\n BACKGROUND: 'mdc-checkbox__background',\n CHECKED: 'mdc-checkbox--checked',\n CHECKMARK: 'mdc-checkbox__checkmark',\n CHECKMARK_PATH: 'mdc-checkbox__checkmark-path',\n DISABLED: 'mdc-checkbox--disabled',\n INDETERMINATE: 'mdc-checkbox--indeterminate',\n MIXEDMARK: 'mdc-checkbox__mixedmark',\n NATIVE_CONTROL: 'mdc-checkbox__native-control',\n ROOT: 'mdc-checkbox',\n SELECTED: 'mdc-checkbox--selected',\n UPGRADED: 'mdc-checkbox--upgraded',\n};\nexport var strings = {\n ARIA_CHECKED_ATTR: 'aria-checked',\n ARIA_CHECKED_INDETERMINATE_VALUE: 'mixed',\n NATIVE_CONTROL_SELECTOR: '.mdc-checkbox__native-control',\n TRANSITION_STATE_CHECKED: 'checked',\n TRANSITION_STATE_INDETERMINATE: 'indeterminate',\n TRANSITION_STATE_INIT: 'init',\n TRANSITION_STATE_UNCHECKED: 'unchecked',\n};\nexport var numbers = {\n ANIM_END_LATCH_MS: 250,\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nvar MDCCheckboxFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCCheckboxFoundation, _super);\n function MDCCheckboxFoundation(adapter) {\n var _this = _super.call(this, tslib_1.__assign({}, MDCCheckboxFoundation.defaultAdapter, adapter)) || this;\n _this.currentCheckState_ = strings.TRANSITION_STATE_INIT;\n _this.currentAnimationClass_ = '';\n _this.animEndLatchTimer_ = 0;\n _this.enableAnimationEndHandler_ = false;\n return _this;\n }\n Object.defineProperty(MDCCheckboxFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n forceLayout: function () { return undefined; },\n hasNativeControl: function () { return false; },\n isAttachedToDOM: function () { return false; },\n isChecked: function () { return false; },\n isIndeterminate: function () { return false; },\n removeClass: function () { return undefined; },\n removeNativeControlAttr: function () { return undefined; },\n setNativeControlAttr: function () { return undefined; },\n setNativeControlDisabled: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCCheckboxFoundation.prototype.init = function () {\n this.currentCheckState_ = this.determineCheckState_();\n this.updateAriaChecked_();\n this.adapter_.addClass(cssClasses.UPGRADED);\n };\n MDCCheckboxFoundation.prototype.destroy = function () {\n clearTimeout(this.animEndLatchTimer_);\n };\n MDCCheckboxFoundation.prototype.setDisabled = function (disabled) {\n this.adapter_.setNativeControlDisabled(disabled);\n if (disabled) {\n this.adapter_.addClass(cssClasses.DISABLED);\n }\n else {\n this.adapter_.removeClass(cssClasses.DISABLED);\n }\n };\n /**\n * Handles the animationend event for the checkbox\n */\n MDCCheckboxFoundation.prototype.handleAnimationEnd = function () {\n var _this = this;\n if (!this.enableAnimationEndHandler_) {\n return;\n }\n clearTimeout(this.animEndLatchTimer_);\n this.animEndLatchTimer_ = setTimeout(function () {\n _this.adapter_.removeClass(_this.currentAnimationClass_);\n _this.enableAnimationEndHandler_ = false;\n }, numbers.ANIM_END_LATCH_MS);\n };\n /**\n * Handles the change event for the checkbox\n */\n MDCCheckboxFoundation.prototype.handleChange = function () {\n this.transitionCheckState_();\n };\n MDCCheckboxFoundation.prototype.transitionCheckState_ = function () {\n if (!this.adapter_.hasNativeControl()) {\n return;\n }\n var oldState = this.currentCheckState_;\n var newState = this.determineCheckState_();\n if (oldState === newState) {\n return;\n }\n this.updateAriaChecked_();\n var TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n var SELECTED = cssClasses.SELECTED;\n if (newState === TRANSITION_STATE_UNCHECKED) {\n this.adapter_.removeClass(SELECTED);\n }\n else {\n this.adapter_.addClass(SELECTED);\n }\n // Check to ensure that there isn't a previously existing animation class, in case for example\n // the user interacted with the checkbox before the animation was finished.\n if (this.currentAnimationClass_.length > 0) {\n clearTimeout(this.animEndLatchTimer_);\n this.adapter_.forceLayout();\n this.adapter_.removeClass(this.currentAnimationClass_);\n }\n this.currentAnimationClass_ = this.getTransitionAnimationClass_(oldState, newState);\n this.currentCheckState_ = newState;\n // Check for parentNode so that animations are only run when the element is attached\n // to the DOM.\n if (this.adapter_.isAttachedToDOM() && this.currentAnimationClass_.length > 0) {\n this.adapter_.addClass(this.currentAnimationClass_);\n this.enableAnimationEndHandler_ = true;\n }\n };\n MDCCheckboxFoundation.prototype.determineCheckState_ = function () {\n var TRANSITION_STATE_INDETERMINATE = strings.TRANSITION_STATE_INDETERMINATE, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n if (this.adapter_.isIndeterminate()) {\n return TRANSITION_STATE_INDETERMINATE;\n }\n return this.adapter_.isChecked() ? TRANSITION_STATE_CHECKED : TRANSITION_STATE_UNCHECKED;\n };\n MDCCheckboxFoundation.prototype.getTransitionAnimationClass_ = function (oldState, newState) {\n var TRANSITION_STATE_INIT = strings.TRANSITION_STATE_INIT, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n var _a = MDCCheckboxFoundation.cssClasses, ANIM_UNCHECKED_CHECKED = _a.ANIM_UNCHECKED_CHECKED, ANIM_UNCHECKED_INDETERMINATE = _a.ANIM_UNCHECKED_INDETERMINATE, ANIM_CHECKED_UNCHECKED = _a.ANIM_CHECKED_UNCHECKED, ANIM_CHECKED_INDETERMINATE = _a.ANIM_CHECKED_INDETERMINATE, ANIM_INDETERMINATE_CHECKED = _a.ANIM_INDETERMINATE_CHECKED, ANIM_INDETERMINATE_UNCHECKED = _a.ANIM_INDETERMINATE_UNCHECKED;\n switch (oldState) {\n case TRANSITION_STATE_INIT:\n if (newState === TRANSITION_STATE_UNCHECKED) {\n return '';\n }\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\n case TRANSITION_STATE_UNCHECKED:\n return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;\n case TRANSITION_STATE_CHECKED:\n return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;\n default: // TRANSITION_STATE_INDETERMINATE\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\n }\n };\n MDCCheckboxFoundation.prototype.updateAriaChecked_ = function () {\n // Ensure aria-checked is set to mixed if checkbox is in indeterminate state.\n if (this.adapter_.isIndeterminate()) {\n this.adapter_.setNativeControlAttr(strings.ARIA_CHECKED_ATTR, strings.ARIA_CHECKED_INDETERMINATE_VALUE);\n }\n else {\n // The on/off state does not need to keep track of aria-checked, since\n // the screenreader uses the checked property on the checkbox element.\n this.adapter_.removeNativeControlAttr(strings.ARIA_CHECKED_ATTR);\n }\n };\n return MDCCheckboxFoundation;\n}(MDCFoundation));\nexport { MDCCheckboxFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCCheckboxFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { getCorrectEventName } from '@material/animation/util';\nimport { MDCComponent } from '@material/base/component';\nimport { applyPassive } from '@material/dom/events';\nimport { matches } from '@material/dom/ponyfill';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { MDCCheckboxFoundation } from './foundation';\nvar CB_PROTO_PROPS = ['checked', 'indeterminate'];\nvar MDCCheckbox = /** @class */ (function (_super) {\n tslib_1.__extends(MDCCheckbox, _super);\n function MDCCheckbox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ripple_ = _this.createRipple_();\n return _this;\n }\n MDCCheckbox.attachTo = function (root) {\n return new MDCCheckbox(root);\n };\n Object.defineProperty(MDCCheckbox.prototype, \"ripple\", {\n get: function () {\n return this.ripple_;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"checked\", {\n get: function () {\n return this.nativeControl_.checked;\n },\n set: function (checked) {\n this.nativeControl_.checked = checked;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"indeterminate\", {\n get: function () {\n return this.nativeControl_.indeterminate;\n },\n set: function (indeterminate) {\n this.nativeControl_.indeterminate = indeterminate;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"disabled\", {\n get: function () {\n return this.nativeControl_.disabled;\n },\n set: function (disabled) {\n this.foundation_.setDisabled(disabled);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"value\", {\n get: function () {\n return this.nativeControl_.value;\n },\n set: function (value) {\n this.nativeControl_.value = value;\n },\n enumerable: true,\n configurable: true\n });\n MDCCheckbox.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.handleChange_ = function () { return _this.foundation_.handleChange(); };\n this.handleAnimationEnd_ = function () { return _this.foundation_.handleAnimationEnd(); };\n this.nativeControl_.addEventListener('change', this.handleChange_);\n this.listen(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);\n this.installPropertyChangeHooks_();\n };\n MDCCheckbox.prototype.destroy = function () {\n this.ripple_.destroy();\n this.nativeControl_.removeEventListener('change', this.handleChange_);\n this.unlisten(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);\n this.uninstallPropertyChangeHooks_();\n _super.prototype.destroy.call(this);\n };\n MDCCheckbox.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClass: function (className) { return _this.root_.classList.add(className); },\n forceLayout: function () { return _this.root_.offsetWidth; },\n hasNativeControl: function () { return !!_this.nativeControl_; },\n isAttachedToDOM: function () { return Boolean(_this.root_.parentNode); },\n isChecked: function () { return _this.checked; },\n isIndeterminate: function () { return _this.indeterminate; },\n removeClass: function (className) { return _this.root_.classList.remove(className); },\n removeNativeControlAttr: function (attr) { return _this.nativeControl_.removeAttribute(attr); },\n setNativeControlAttr: function (attr, value) { return _this.nativeControl_.setAttribute(attr, value); },\n setNativeControlDisabled: function (disabled) { return _this.nativeControl_.disabled = disabled; },\n };\n return new MDCCheckboxFoundation(adapter);\n };\n MDCCheckbox.prototype.createRipple_ = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = tslib_1.__assign({}, MDCRipple.createAdapter(this), { deregisterInteractionHandler: function (evtType, handler) { return _this.nativeControl_.removeEventListener(evtType, handler, applyPassive()); }, isSurfaceActive: function () { return matches(_this.nativeControl_, ':active'); }, isUnbounded: function () { return true; }, registerInteractionHandler: function (evtType, handler) { return _this.nativeControl_.addEventListener(evtType, handler, applyPassive()); } });\n return new MDCRipple(this.root_, new MDCRippleFoundation(adapter));\n };\n MDCCheckbox.prototype.installPropertyChangeHooks_ = function () {\n var _this = this;\n var nativeCb = this.nativeControl_;\n var cbProto = Object.getPrototypeOf(nativeCb);\n CB_PROTO_PROPS.forEach(function (controlState) {\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\n // We have to check for this descriptor, since some browsers (Safari) don't support its return.\n // See: https://bugs.webkit.org/show_bug.cgi?id=49739\n if (!validDescriptor(desc)) {\n return;\n }\n // Type cast is needed for compatibility with Closure Compiler.\n var nativeGetter = desc.get;\n var nativeCbDesc = {\n configurable: desc.configurable,\n enumerable: desc.enumerable,\n get: nativeGetter,\n set: function (state) {\n desc.set.call(nativeCb, state);\n _this.foundation_.handleChange();\n },\n };\n Object.defineProperty(nativeCb, controlState, nativeCbDesc);\n });\n };\n MDCCheckbox.prototype.uninstallPropertyChangeHooks_ = function () {\n var nativeCb = this.nativeControl_;\n var cbProto = Object.getPrototypeOf(nativeCb);\n CB_PROTO_PROPS.forEach(function (controlState) {\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\n if (!validDescriptor(desc)) {\n return;\n }\n Object.defineProperty(nativeCb, controlState, desc);\n });\n };\n Object.defineProperty(MDCCheckbox.prototype, \"nativeControl_\", {\n get: function () {\n var NATIVE_CONTROL_SELECTOR = MDCCheckboxFoundation.strings.NATIVE_CONTROL_SELECTOR;\n var el = this.root_.querySelector(NATIVE_CONTROL_SELECTOR);\n if (!el) {\n throw new Error(\"Checkbox component requires a \" + NATIVE_CONTROL_SELECTOR + \" element\");\n }\n return el;\n },\n enumerable: true,\n configurable: true\n });\n return MDCCheckbox;\n}(MDCComponent));\nexport { MDCCheckbox };\nfunction validDescriptor(inputPropDesc) {\n return !!inputPropDesc && typeof inputPropDesc.set === 'function';\n}\n//# sourceMappingURL=component.js.map","// init libraries\r\nimport 'jquery';\r\nimport fontawesome from '@fortawesome/fontawesome';\r\nimport faSearch from '@fortawesome/fontawesome-free-solid/faSearch';\r\nimport {MDCCheckbox, MDCCheckboxFoundation} from '@material/checkbox';\r\n\r\n// init modules\r\nimport createInteractiveMaterialsList from './modules/materials.js';\r\n//import './modules/timeliner.min.js';\r\n\r\n// init font-awesome\r\nfontawesome.library.add(faSearch);\r\n\r\n// instantiate checkboxes\r\ndocument.querySelectorAll('.mdc-checkbox').forEach(el => {\r\n MDCCheckbox.attachTo(el);\r\n});\r\n\r\n\r\n// function to check if its in an iframe (in CMSAdmin)\r\nfunction isPageInFrame() {\r\n if (window.top != window.self) {\r\n console.log('window is in iframe');\r\n return true;\r\n }\r\n console.log('window is not in iframe');\r\n return false;\r\n}\r\n\r\n// if the page is in an iframe, add modifier class to body\r\n// this makes helper labels that have to show in the Admin visible\r\n$(() => {\r\n if (isPageInFrame()) {\r\n console.log('adding class to body tag')\r\n $('body').addClass('is-in-admin');\r\n\t}\r\n});\r\n\r\n// if .js-materials exists, create list\r\nif (document.querySelector('.js-materials')) {\r\n // maybe add this to module?\r\n document.querySelector('.js-materials > ul').classList.add('list-unstyled');\r\n let materialsEls = document.querySelectorAll('.js-materials > ul > li');\r\n createInteractiveMaterialsList(materialsEls);\r\n}\r\n\r\n// show maintenance window message unless flag in sessionStorage is set\r\n$(document).ready(function() {\r\n var showMaintenanceWindow =\r\n sessionStorage.getItem('showMaintenanceWindow') || 'true';\r\n if (\r\n document.querySelector('.maintenance-popup') &&\r\n showMaintenanceWindow === 'true'\r\n ) {\r\n document.querySelector('.maintenance-popup').classList.remove('invisible');\r\n }\r\n});\r\n\r\n// click listener called by button's OnClientClick method\r\nwindow.HideMaintenancePopup = function() {\r\n sessionStorage.setItem('showMaintenanceWindow', 'false');\r\n document.querySelector('.maintenance-popup').classList.add('invisible');\r\n return false; // prevent postback\r\n};\r\n"],"sourceRoot":""}