{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./node_modules/@fortawesome/fontawesome-free/js/all.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","g","this","Function","e","window","webpackPolyfill","deprecate","paths","children","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","data","dispatchEvent","stopEverything","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","ajax","options","response","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","encodeURIComponent","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","link","method","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","Turbolinks","supported","history","pushState","requestAnimationFrame","visit","controller","clearCache","setProgressBarDelay","copyObject","closest","documentElement","nodeType","Node","ELEMENT_NODE","defer","throttle","apply","dispatch","a","u","initEvent","uuid","random","toString","Location","absoluteURL","hash","requestURL","anchor","wrap","getOrigin","split","getPath","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","isEqualTo","toCacheKey","toJSON","valueOf","_t","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","timeout","sent","notifyApplicationBeforeRequestStart","setProgress","requestStarted","cancel","abort","lengthComputable","loaded","total","endRequest","requestCompletedWithResponse","failed","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","onprogress","onload","onerror","ontimeout","onabort","destroy","progress","requestFinished","ProgressBar","trickle","_t2","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","show","visible","installStylesheetElement","installProgressElement","startTrickling","hide","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","refresh","insertBefore","firstChild","width","opacity","trickleInterval","setInterval","clearInterval","textContent","className","BrowserAdapter","showProgressBar","_t3","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","clearTimeout","_t4","History","onPageLoad","onPopState","started","stop","update","shouldHandlePopState","state","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","outerHTML","tracked","fromHeadElement","childNodes","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","getMetaValue","findMetaElementByName","tagName","toLowerCase","_e","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","clone","cloneNode","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","id","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","render","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","async","attributes","__super__","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","focus","_t5","replaceChild","_t6","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","getSnapshot","snapshot","markAsPreview","renderSnapshot","renderError","removeAttribute","ScrollManager","onScroll","_t7","scrollToElement","scrollIntoView","scrollToPosition","x","y","scrollTo","updatePosition","pageXOffset","pageYOffset","position","scrollPositionChanged","SnapshotCache","size","keys","snapshots","has","read","touch","put","write","splice","unshift","trim","Visit","performScroll","_t8","identifier","adapter","timingMetrics","recordTimingMetric","request","cancelRender","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","Date","getTime","getTimingMetrics","snapshotCached","frame","cancelAnimationFrame","_t9","Controller","clickBubbled","clickCaptured","view","scrollManager","startHistory","enabled","disable","stopHistory","cache","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","which","altKey","shiftKey","nodeIsVisitable","currentScript","hasAttribute","console","warn","factory","sparkMd5","fn","createCommonjsModule","undefined","hex_chr","md5cycle","k","b","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","substring","parseInt","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","str","test","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","String","fromCharCode","concatenateArrayBuffers","first","second","byteLength","set","buffer","hexToBinaryString","bytes","substr","SparkMD5","reset","clamp","val","max","min","from","to","num","targetArray","sourceArray","begin","end","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","setState","hashBinary","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","configurable","writable","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","ceil","chunkIndex","_this","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","findElement","root","eventInit","toArray$1","isArray","BlobRecord","checksum","filename","content_type","byte_size","responseType","requestDidLoad","requestDidError","stringify","blob","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","headers","DirectUpload","notify","upload","methodName","_len","messages","_key","DirectUploadController","directUpload","hiddenInput","insertAdjacentElement","dispatchError","signed_id","alert","_this2","uploadRequestDidProgress","DirectUploadsController","files","controllers","createDirectUploadControllers","startNextController","shift","processingAttribute","submitButtonsByForm","WeakMap","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","enable","delete","submitForm","ActiveStorage","require","channels","webpackEmptyContext","req","code","resolve","_typeof2","_WINDOW","_DOCUMENT","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","PRODUCTION","_defineProperty","_objectSpread","source","ownKeys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","w","styles","hooks","shims","namespace","defineIcons","prefix","icons","_params$skipHooks","skipHooks","normalized","reduce","acc","iconName","icon","addPack","bunker","_defineProperties","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_s","_i","next","err","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","noop","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","MutationObserver","performance","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","IS_IE","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PREFIX_TO_STYLE","STYLE_TO_PREFIX","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","RESERVED_CLASSES","initial","FontAwesomeConfig","_ref","_ref2","attr","coerce","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","functions","domready","doScroll","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","global","process","emit","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","arg","invokeCallback","subscriber","owner","settled","_state","_data","promise","then","reject","handleThenable","resolved","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","index","race","picked","Promise","meaninglessTransform","rotate","flipX","flipY","insertCss","css","headChildren","beforeChild","child","nextUniqueId","array","classArray","node","classList","getIconName","cls","parts","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","height","fillBlack","abstract","force","fill","makeInlineSvgAbstract","_params$icons","main","mask","symbol","title","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","attrClass","classes","role","uploadedIconWidthStyle","tag","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","class","makeLayersCounterAbstract","noop$1","preamble","perf","subject","initialValue","thisContext","func","bindInternal4","toHex","unicode","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","ligatures","ligature","hasRegular","shim","oldName","byUnicode","styles$1","getCanonicalIcon","values","autoFetchSvg","rest","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","noop$2","isWatched","mutators","mutation","newOuterHTML","newNode","nest","forSvg","RegExp","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","mutator","enableObservation","mo","observe","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","addedNodes","_getCanonicalIcon","childList","characterData","subtree","classParser","existingPrefix","existingIconName","innerText","parseTransformString","transformString","parseFloat","isNaN","parseMeta","_classParser","extraClasses","extraStyles","prop","styleParser","transformParser","symbolParser","extraAttributes","attributesParser","maskParser","MissingIcon","stack","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","missing","cx","cy","styles$2","asFoundIcon","vectorData","findIcon","styles$3","generateMutation","nodeMeta","computedFontSize","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","generateLayersText","generateSvgReplacementMutation","onTree","htmlClassList","hclAdd","suffix","add","hclRemove","remove","prefixes","prefixesDomQuery","candidates","resolvedMutations","onNode","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","_content","hexValue","iconIdentifier","processable","operations","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","container","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","Library","_classCallCheck","additions","_pullDefinitions","definition","0","_normalized$key","dom","i2svg","_params$node","_params$callback","watch","autoReplaceSvgRoot","autoReplace","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","maybeIconDefinition","api","noAuto","disconnect","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","counter","_params$title3","_params$classes3","_params$attributes3","_params$styles3","layer","assembler","_params$classes4","_params$autoReplaceSv","FontAwesome","addShims","_namespace$shims","Timeout","clearFn","_id","_clearFn","scope","close","unref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","self","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","attachEvent","task","run","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","marker","runClearTimeout","Item","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask"],"mappings":"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","file":"js/application-fa337f1480b7f3b01cb2.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function () {\n var t = this;\n (function () {\n (function () {\n this.Turbolinks = {\n supported: function () {\n return null != window.history.pushState && null != window.requestAnimationFrame && null != window.addEventListener;\n }(),\n visit: function visit(t, r) {\n return e.controller.visit(t, r);\n },\n clearCache: function clearCache() {\n return e.controller.clearCache();\n },\n setProgressBarDelay: function setProgressBarDelay(t) {\n return e.controller.setProgressBarDelay(t);\n }\n };\n }).call(this);\n }).call(t);\n var e = t.Turbolinks;\n (function () {\n (function () {\n var t,\n r,\n n,\n o = [].slice;\n e.copyObject = function (t) {\n var e, r, n;\n r = {};\n\n for (e in t) {\n n = t[e], r[e] = n;\n }\n\n return r;\n }, e.closest = function (e, r) {\n return t.call(e, r);\n }, t = function () {\n var t, e;\n return t = document.documentElement, null != (e = t.closest) ? e : function (t) {\n var e;\n\n for (e = this; e;) {\n if (e.nodeType === Node.ELEMENT_NODE && r.call(e, t)) return e;\n e = e.parentNode;\n }\n };\n }(), e.defer = function (t) {\n return setTimeout(t, 1);\n }, e.throttle = function (t) {\n var e;\n return e = null, function () {\n var r;\n return r = 1 <= arguments.length ? o.call(arguments, 0) : [], null != e ? e : e = requestAnimationFrame(function (n) {\n return function () {\n return e = null, t.apply(n, r);\n };\n }(this));\n };\n }, e.dispatch = function (t, e) {\n var r, o, i, s, a, u;\n return a = null != e ? e : {}, u = a.target, r = a.cancelable, o = a.data, i = document.createEvent(\"Events\"), i.initEvent(t, !0, r === !0), i.data = null != o ? o : {}, i.cancelable && !n && (s = i.preventDefault, i.preventDefault = function () {\n return this.defaultPrevented || Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n }\n }), s.call(this);\n }), (null != u ? u : document).dispatchEvent(i), i;\n }, n = function () {\n var t;\n return t = document.createEvent(\"Events\"), t.initEvent(\"test\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }(), e.match = function (t, e) {\n return r.call(t, e);\n }, r = function () {\n var t, e, r, n;\n return t = document.documentElement, null != (e = null != (r = null != (n = t.matchesSelector) ? n : t.webkitMatchesSelector) ? r : t.msMatchesSelector) ? e : t.mozMatchesSelector;\n }(), e.uuid = function () {\n var t, e, r;\n\n for (r = \"\", t = e = 1; 36 >= e; t = ++e) {\n r += 9 === t || 14 === t || 19 === t || 24 === t ? \"-\" : 15 === t ? \"4\" : 20 === t ? (Math.floor(4 * Math.random()) + 8).toString(16) : Math.floor(15 * Math.random()).toString(16);\n }\n\n return r;\n };\n }).call(this), function () {\n e.Location = function () {\n function t(t) {\n var e, r;\n null == t && (t = \"\"), r = document.createElement(\"a\"), r.href = t.toString(), this.absoluteURL = r.href, e = r.hash.length, 2 > e ? this.requestURL = this.absoluteURL : (this.requestURL = this.absoluteURL.slice(0, -e), this.anchor = r.hash.slice(1));\n }\n\n var e, r, n, o;\n return t.wrap = function (t) {\n return t instanceof this ? t : new this(t);\n }, t.prototype.getOrigin = function () {\n return this.absoluteURL.split(\"/\", 3).join(\"/\");\n }, t.prototype.getPath = function () {\n var t, e;\n return null != (t = null != (e = this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/)) ? e[1] : void 0) ? t : \"/\";\n }, t.prototype.getPathComponents = function () {\n return this.getPath().split(\"/\").slice(1);\n }, t.prototype.getLastPathComponent = function () {\n return this.getPathComponents().slice(-1)[0];\n }, t.prototype.getExtension = function () {\n var t, e;\n return null != (t = null != (e = this.getLastPathComponent().match(/\\.[^.]*$/)) ? e[0] : void 0) ? t : \"\";\n }, t.prototype.isHTML = function () {\n return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/);\n }, t.prototype.isPrefixedBy = function (t) {\n var e;\n return e = r(t), this.isEqualTo(t) || o(this.absoluteURL, e);\n }, t.prototype.isEqualTo = function (t) {\n return this.absoluteURL === (null != t ? t.absoluteURL : void 0);\n }, t.prototype.toCacheKey = function () {\n return this.requestURL;\n }, t.prototype.toJSON = function () {\n return this.absoluteURL;\n }, t.prototype.toString = function () {\n return this.absoluteURL;\n }, t.prototype.valueOf = function () {\n return this.absoluteURL;\n }, r = function r(t) {\n return e(t.getOrigin() + t.getPath());\n }, e = function e(t) {\n return n(t, \"/\") ? t : t + \"/\";\n }, o = function o(t, e) {\n return t.slice(0, e.length) === e;\n }, n = function n(t, e) {\n return t.slice(-e.length) === e;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t, e) {\n return function () {\n return _t.apply(e, arguments);\n };\n };\n\n e.HttpRequest = function () {\n function r(r, n, o) {\n this.delegate = r, this.requestCanceled = t(this.requestCanceled, this), this.requestTimedOut = t(this.requestTimedOut, this), this.requestFailed = t(this.requestFailed, this), this.requestLoaded = t(this.requestLoaded, this), this.requestProgressed = t(this.requestProgressed, this), this.url = e.Location.wrap(n).requestURL, this.referrer = e.Location.wrap(o).absoluteURL, this.createXHR();\n }\n\n return r.NETWORK_FAILURE = 0, r.TIMEOUT_FAILURE = -1, r.timeout = 60, r.prototype.send = function () {\n var t;\n return this.xhr && !this.sent ? (this.notifyApplicationBeforeRequestStart(), this.setProgress(0), this.xhr.send(), this.sent = !0, \"function\" == typeof (t = this.delegate).requestStarted ? t.requestStarted() : void 0) : void 0;\n }, r.prototype.cancel = function () {\n return this.xhr && this.sent ? this.xhr.abort() : void 0;\n }, r.prototype.requestProgressed = function (t) {\n return t.lengthComputable ? this.setProgress(t.loaded / t.total) : void 0;\n }, r.prototype.requestLoaded = function () {\n return this.endRequest(function (t) {\n return function () {\n var e;\n return 200 <= (e = t.xhr.status) && 300 > e ? t.delegate.requestCompletedWithResponse(t.xhr.responseText, t.xhr.getResponseHeader(\"Turbolinks-Location\")) : (t.failed = !0, t.delegate.requestFailedWithStatusCode(t.xhr.status, t.xhr.responseText));\n };\n }(this));\n }, r.prototype.requestFailed = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE);\n };\n }(this));\n }, r.prototype.requestTimedOut = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE);\n };\n }(this));\n }, r.prototype.requestCanceled = function () {\n return this.endRequest();\n }, r.prototype.notifyApplicationBeforeRequestStart = function () {\n return e.dispatch(\"turbolinks:request-start\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.notifyApplicationAfterRequestEnd = function () {\n return e.dispatch(\"turbolinks:request-end\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.createXHR = function () {\n return this.xhr = new XMLHttpRequest(), this.xhr.open(\"GET\", this.url, !0), this.xhr.timeout = 1e3 * this.constructor.timeout, this.xhr.setRequestHeader(\"Accept\", \"text/html, application/xhtml+xml\"), this.xhr.setRequestHeader(\"Turbolinks-Referrer\", this.referrer), this.xhr.onprogress = this.requestProgressed, this.xhr.onload = this.requestLoaded, this.xhr.onerror = this.requestFailed, this.xhr.ontimeout = this.requestTimedOut, this.xhr.onabort = this.requestCanceled;\n }, r.prototype.endRequest = function (t) {\n return this.xhr ? (this.notifyApplicationAfterRequestEnd(), null != t && t.call(this), this.destroy()) : void 0;\n }, r.prototype.setProgress = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.delegate).requestProgressed ? e.requestProgressed(this.progress) : void 0;\n }, r.prototype.destroy = function () {\n var t;\n return this.setProgress(1), \"function\" == typeof (t = this.delegate).requestFinished && t.requestFinished(), this.delegate = null, this.xhr = null;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t2, e) {\n return function () {\n return _t2.apply(e, arguments);\n };\n };\n\n e.ProgressBar = function () {\n function e() {\n this.trickle = t(this.trickle, this), this.stylesheetElement = this.createStylesheetElement(), this.progressElement = this.createProgressElement();\n }\n\n var r;\n return r = 300, e.defaultCSS = \".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \" + r + \"ms ease-out, opacity \" + r / 2 + \"ms \" + r / 2 + \"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\", e.prototype.show = function () {\n return this.visible ? void 0 : (this.visible = !0, this.installStylesheetElement(), this.installProgressElement(), this.startTrickling());\n }, e.prototype.hide = function () {\n return this.visible && !this.hiding ? (this.hiding = !0, this.fadeProgressElement(function (t) {\n return function () {\n return t.uninstallProgressElement(), t.stopTrickling(), t.visible = !1, t.hiding = !1;\n };\n }(this))) : void 0;\n }, e.prototype.setValue = function (t) {\n return this.value = t, this.refresh();\n }, e.prototype.installStylesheetElement = function () {\n return document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }, e.prototype.installProgressElement = function () {\n return this.progressElement.style.width = 0, this.progressElement.style.opacity = 1, document.documentElement.insertBefore(this.progressElement, document.body), this.refresh();\n }, e.prototype.fadeProgressElement = function (t) {\n return this.progressElement.style.opacity = 0, setTimeout(t, 1.5 * r);\n }, e.prototype.uninstallProgressElement = function () {\n return this.progressElement.parentNode ? document.documentElement.removeChild(this.progressElement) : void 0;\n }, e.prototype.startTrickling = function () {\n return null != this.trickleInterval ? this.trickleInterval : this.trickleInterval = setInterval(this.trickle, r);\n }, e.prototype.stopTrickling = function () {\n return clearInterval(this.trickleInterval), this.trickleInterval = null;\n }, e.prototype.trickle = function () {\n return this.setValue(this.value + Math.random() / 100);\n }, e.prototype.refresh = function () {\n return requestAnimationFrame(function (t) {\n return function () {\n return t.progressElement.style.width = 10 + 90 * t.value + \"%\";\n };\n }(this));\n }, e.prototype.createStylesheetElement = function () {\n var t;\n return t = document.createElement(\"style\"), t.type = \"text/css\", t.textContent = this.constructor.defaultCSS, t;\n }, e.prototype.createProgressElement = function () {\n var t;\n return t = document.createElement(\"div\"), t.className = \"turbolinks-progress-bar\", t;\n }, e;\n }();\n }.call(this), function () {\n var t = function t(_t3, e) {\n return function () {\n return _t3.apply(e, arguments);\n };\n };\n\n e.BrowserAdapter = function () {\n function r(r) {\n this.controller = r, this.showProgressBar = t(this.showProgressBar, this), this.progressBar = new e.ProgressBar();\n }\n\n var n, o, i;\n return i = e.HttpRequest, n = i.NETWORK_FAILURE, o = i.TIMEOUT_FAILURE, r.prototype.visitProposedToLocationWithAction = function (t, e) {\n return this.controller.startVisitToLocationWithAction(t, e);\n }, r.prototype.visitStarted = function (t) {\n return t.issueRequest(), t.changeHistory(), t.loadCachedSnapshot();\n }, r.prototype.visitRequestStarted = function (t) {\n return this.progressBar.setValue(0), t.hasCachedSnapshot() || \"restore\" !== t.action ? this.showProgressBarAfterDelay() : this.showProgressBar();\n }, r.prototype.visitRequestProgressed = function (t) {\n return this.progressBar.setValue(t.progress);\n }, r.prototype.visitRequestCompleted = function (t) {\n return t.loadResponse();\n }, r.prototype.visitRequestFailedWithStatusCode = function (t, e) {\n switch (e) {\n case n:\n case o:\n return this.reload();\n\n default:\n return t.loadResponse();\n }\n }, r.prototype.visitRequestFinished = function (t) {\n return this.hideProgressBar();\n }, r.prototype.visitCompleted = function (t) {\n return t.followRedirect();\n }, r.prototype.pageInvalidated = function () {\n return this.reload();\n }, r.prototype.showProgressBarAfterDelay = function () {\n return this.progressBarTimeout = setTimeout(this.showProgressBar, this.controller.progressBarDelay);\n }, r.prototype.showProgressBar = function () {\n return this.progressBar.show();\n }, r.prototype.hideProgressBar = function () {\n return this.progressBar.hide(), clearTimeout(this.progressBarTimeout);\n }, r.prototype.reload = function () {\n return window.location.reload();\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t4, e) {\n return function () {\n return _t4.apply(e, arguments);\n };\n };\n\n e.History = function () {\n function r(e) {\n this.delegate = e, this.onPageLoad = t(this.onPageLoad, this), this.onPopState = t(this.onPopState, this);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"popstate\", this.onPopState, !1), addEventListener(\"load\", this.onPageLoad, !1), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"popstate\", this.onPopState, !1), removeEventListener(\"load\", this.onPageLoad, !1), this.started = !1) : void 0;\n }, r.prototype.push = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"push\", t, r);\n }, r.prototype.replace = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"replace\", t, r);\n }, r.prototype.onPopState = function (t) {\n var r, n, o, i;\n return this.shouldHandlePopState() && (i = null != (n = t.state) ? n.turbolinks : void 0) ? (r = e.Location.wrap(window.location), o = i.restorationIdentifier, this.delegate.historyPoppedToLocationWithRestorationIdentifier(r, o)) : void 0;\n }, r.prototype.onPageLoad = function (t) {\n return e.defer(function (t) {\n return function () {\n return t.pageLoaded = !0;\n };\n }(this));\n }, r.prototype.shouldHandlePopState = function () {\n return this.pageIsLoaded();\n }, r.prototype.pageIsLoaded = function () {\n return this.pageLoaded || \"complete\" === document.readyState;\n }, r.prototype.update = function (t, e, r) {\n var n;\n return n = {\n turbolinks: {\n restorationIdentifier: r\n }\n }, history[t + \"State\"](n, null, e);\n }, r;\n }();\n }.call(this), function () {\n e.HeadDetails = function () {\n function t(t) {\n var e, r, n, s, a, u;\n\n for (this.elements = {}, n = 0, a = t.length; a > n; n++) {\n u = t[n], u.nodeType === Node.ELEMENT_NODE && (s = u.outerHTML, r = null != (e = this.elements)[s] ? e[s] : e[s] = {\n type: i(u),\n tracked: o(u),\n elements: []\n }, r.elements.push(u));\n }\n }\n\n var e, r, n, o, i;\n return t.fromHeadElement = function (t) {\n var e;\n return new this(null != (e = null != t ? t.childNodes : void 0) ? e : []);\n }, t.prototype.hasElementWithKey = function (t) {\n return t in this.elements;\n }, t.prototype.getTrackedElementSignature = function () {\n var t, e;\n return function () {\n var r, n;\n r = this.elements, n = [];\n\n for (t in r) {\n e = r[t].tracked, e && n.push(t);\n }\n\n return n;\n }.call(this).join(\"\");\n }, t.prototype.getScriptElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"script\", t);\n }, t.prototype.getStylesheetElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"stylesheet\", t);\n }, t.prototype.getElementsMatchingTypeNotInDetails = function (t, e) {\n var r, n, o, i, s, a;\n o = this.elements, s = [];\n\n for (n in o) {\n i = o[n], a = i.type, r = i.elements, a !== t || e.hasElementWithKey(n) || s.push(r[0]);\n }\n\n return s;\n }, t.prototype.getProvisionalElements = function () {\n var t, e, r, n, o, i, s;\n r = [], n = this.elements;\n\n for (e in n) {\n o = n[e], s = o.type, i = o.tracked, t = o.elements, null != s || i ? t.length > 1 && r.push.apply(r, t.slice(1)) : r.push.apply(r, t);\n }\n\n return r;\n }, t.prototype.getMetaValue = function (t) {\n var e;\n return null != (e = this.findMetaElementByName(t)) ? e.getAttribute(\"content\") : void 0;\n }, t.prototype.findMetaElementByName = function (t) {\n var r, n, o, i;\n r = void 0, i = this.elements;\n\n for (o in i) {\n n = i[o].elements, e(n[0], t) && (r = n[0]);\n }\n\n return r;\n }, i = function i(t) {\n return r(t) ? \"script\" : n(t) ? \"stylesheet\" : void 0;\n }, o = function o(t) {\n return \"reload\" === t.getAttribute(\"data-turbolinks-track\");\n }, r = function r(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"script\" === e;\n }, n = function n(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"style\" === e || \"link\" === e && \"stylesheet\" === t.getAttribute(\"rel\");\n }, e = function e(t, _e) {\n var r;\n return r = t.tagName.toLowerCase(), \"meta\" === r && t.getAttribute(\"name\") === _e;\n }, t;\n }();\n }.call(this), function () {\n e.Snapshot = function () {\n function t(t, e) {\n this.headDetails = t, this.bodyElement = e;\n }\n\n return t.wrap = function (t) {\n return t instanceof this ? t : \"string\" == typeof t ? this.fromHTMLString(t) : this.fromHTMLElement(t);\n }, t.fromHTMLString = function (t) {\n var e;\n return e = document.createElement(\"html\"), e.innerHTML = t, this.fromHTMLElement(e);\n }, t.fromHTMLElement = function (t) {\n var r, n, o, i;\n return o = t.querySelector(\"head\"), r = null != (i = t.querySelector(\"body\")) ? i : document.createElement(\"body\"), n = e.HeadDetails.fromHeadElement(o), new this(n, r);\n }, t.prototype.clone = function () {\n return new this.constructor(this.headDetails, this.bodyElement.cloneNode(!0));\n }, t.prototype.getRootLocation = function () {\n var t, r;\n return r = null != (t = this.getSetting(\"root\")) ? t : \"/\", new e.Location(r);\n }, t.prototype.getCacheControlValue = function () {\n return this.getSetting(\"cache-control\");\n }, t.prototype.getElementForAnchor = function (t) {\n try {\n return this.bodyElement.querySelector(\"[id='\" + t + \"'], a[name='\" + t + \"']\");\n } catch (e) {}\n }, t.prototype.getPermanentElements = function () {\n return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementById = function (t) {\n return this.bodyElement.querySelector(\"#\" + t + \"[data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementsPresentInSnapshot = function (t) {\n var e, r, n, o, i;\n\n for (o = this.getPermanentElements(), i = [], r = 0, n = o.length; n > r; r++) {\n e = o[r], t.getPermanentElementById(e.id) && i.push(e);\n }\n\n return i;\n }, t.prototype.findFirstAutofocusableElement = function () {\n return this.bodyElement.querySelector(\"[autofocus]\");\n }, t.prototype.hasAnchor = function (t) {\n return null != this.getElementForAnchor(t);\n }, t.prototype.isPreviewable = function () {\n return \"no-preview\" !== this.getCacheControlValue();\n }, t.prototype.isCacheable = function () {\n return \"no-cache\" !== this.getCacheControlValue();\n }, t.prototype.isVisitable = function () {\n return \"reload\" !== this.getSetting(\"visit-control\");\n }, t.prototype.getSetting = function (t) {\n return this.headDetails.getMetaValue(\"turbolinks-\" + t);\n }, t;\n }();\n }.call(this), function () {\n var t = [].slice;\n\n e.Renderer = function () {\n function e() {}\n\n var r;\n return e.render = function () {\n var e, r, n, o;\n return n = arguments[0], r = arguments[1], e = 3 <= arguments.length ? t.call(arguments, 2) : [], o = function (t, e, r) {\n r.prototype = t.prototype;\n var n = new r(),\n o = t.apply(n, e);\n return Object(o) === o ? o : n;\n }(this, e, function () {}), o.delegate = n, o.render(r), o;\n }, e.prototype.renderView = function (t) {\n return this.delegate.viewWillRender(this.newBody), t(), this.delegate.viewRendered(this.newBody);\n }, e.prototype.invalidateView = function () {\n return this.delegate.viewInvalidated();\n }, e.prototype.createScriptElement = function (t) {\n var e;\n return \"false\" === t.getAttribute(\"data-turbolinks-eval\") ? t : (e = document.createElement(\"script\"), e.textContent = t.textContent, e.async = !1, r(e, t), e);\n }, r = function r(t, e) {\n var r, n, o, i, s, a, u;\n\n for (i = e.attributes, a = [], r = 0, n = i.length; n > r; r++) {\n s = i[r], o = s.name, u = s.value, a.push(t.setAttribute(o, u));\n }\n\n return a;\n }, e;\n }();\n }.call(this), function () {\n var t,\n r,\n n = function n(t, e) {\n function r() {\n this.constructor = t;\n }\n\n for (var n in e) {\n o.call(e, n) && (t[n] = e[n]);\n }\n\n return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n e.SnapshotRenderer = function (e) {\n function o(t, e, r) {\n this.currentSnapshot = t, this.newSnapshot = e, this.isPreview = r, this.currentHeadDetails = this.currentSnapshot.headDetails, this.newHeadDetails = this.newSnapshot.headDetails, this.currentBody = this.currentSnapshot.bodyElement, this.newBody = this.newSnapshot.bodyElement;\n }\n\n return n(o, e), o.prototype.render = function (t) {\n return this.shouldRender() ? (this.mergeHead(), this.renderView(function (e) {\n return function () {\n return e.replaceBody(), e.isPreview || e.focusFirstAutofocusableElement(), t();\n };\n }(this))) : this.invalidateView();\n }, o.prototype.mergeHead = function () {\n return this.copyNewHeadStylesheetElements(), this.copyNewHeadScriptElements(), this.removeCurrentHeadProvisionalElements(), this.copyNewHeadProvisionalElements();\n }, o.prototype.replaceBody = function () {\n var t;\n return t = this.relocateCurrentBodyPermanentElements(), this.activateNewBodyScriptElements(), this.assignNewBody(), this.replacePlaceholderElementsWithClonedPermanentElements(t);\n }, o.prototype.shouldRender = function () {\n return this.newSnapshot.isVisitable() && this.trackedElementsAreIdentical();\n }, o.prototype.trackedElementsAreIdentical = function () {\n return this.currentHeadDetails.getTrackedElementSignature() === this.newHeadDetails.getTrackedElementSignature();\n }, o.prototype.copyNewHeadStylesheetElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadStylesheetElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadScriptElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadScriptElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(this.createScriptElement(t)));\n }\n\n return o;\n }, o.prototype.removeCurrentHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getCurrentHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.removeChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.relocateCurrentBodyPermanentElements = function () {\n var e, n, o, i, s, a, u;\n\n for (a = this.getCurrentBodyPermanentElements(), u = [], e = 0, n = a.length; n > e; e++) {\n i = a[e], s = t(i), o = this.newSnapshot.getPermanentElementById(i.id), r(i, s.element), r(o, i), u.push(s);\n }\n\n return u;\n }, o.prototype.replacePlaceholderElementsWithClonedPermanentElements = function (t) {\n var e, n, o, i, s, a, u;\n\n for (u = [], o = 0, i = t.length; i > o; o++) {\n a = t[o], n = a.element, s = a.permanentElement, e = s.cloneNode(!0), u.push(r(n, e));\n }\n\n return u;\n }, o.prototype.activateNewBodyScriptElements = function () {\n var t, e, n, o, i, s;\n\n for (i = this.getNewBodyScriptElements(), s = [], e = 0, o = i.length; o > e; e++) {\n n = i[e], t = this.createScriptElement(n), s.push(r(n, t));\n }\n\n return s;\n }, o.prototype.assignNewBody = function () {\n return document.body = this.newBody;\n }, o.prototype.focusFirstAutofocusableElement = function () {\n var t;\n return null != (t = this.newSnapshot.findFirstAutofocusableElement()) ? t.focus() : void 0;\n }, o.prototype.getNewHeadStylesheetElements = function () {\n return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getNewHeadScriptElements = function () {\n return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getCurrentHeadProvisionalElements = function () {\n return this.currentHeadDetails.getProvisionalElements();\n }, o.prototype.getNewHeadProvisionalElements = function () {\n return this.newHeadDetails.getProvisionalElements();\n }, o.prototype.getCurrentBodyPermanentElements = function () {\n return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot);\n }, o.prototype.getNewBodyScriptElements = function () {\n return this.newBody.querySelectorAll(\"script\");\n }, o;\n }(e.Renderer), t = function t(_t5) {\n var e;\n return e = document.createElement(\"meta\"), e.setAttribute(\"name\", \"turbolinks-permanent-placeholder\"), e.setAttribute(\"content\", _t5.id), {\n element: e,\n permanentElement: _t5\n };\n }, r = function r(t, e) {\n var r;\n return (r = t.parentNode) ? r.replaceChild(e, t) : void 0;\n };\n }.call(this), function () {\n var t = function t(_t6, e) {\n function n() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n r.call(e, o) && (_t6[o] = e[o]);\n }\n\n return n.prototype = e.prototype, _t6.prototype = new n(), _t6.__super__ = e.prototype, _t6;\n },\n r = {}.hasOwnProperty;\n\n e.ErrorRenderer = function (e) {\n function r(t) {\n var e;\n e = document.createElement(\"html\"), e.innerHTML = t, this.newHead = e.querySelector(\"head\"), this.newBody = e.querySelector(\"body\");\n }\n\n return t(r, e), r.prototype.render = function (t) {\n return this.renderView(function (e) {\n return function () {\n return e.replaceHeadAndBody(), e.activateBodyScriptElements(), t();\n };\n }(this));\n }, r.prototype.replaceHeadAndBody = function () {\n var t, e;\n return e = document.head, t = document.body, e.parentNode.replaceChild(this.newHead, e), t.parentNode.replaceChild(this.newBody, t);\n }, r.prototype.activateBodyScriptElements = function () {\n var t, e, r, n, o, i;\n\n for (n = this.getScriptElements(), i = [], e = 0, r = n.length; r > e; e++) {\n o = n[e], t = this.createScriptElement(o), i.push(o.parentNode.replaceChild(t, o));\n }\n\n return i;\n }, r.prototype.getScriptElements = function () {\n return document.documentElement.querySelectorAll(\"script\");\n }, r;\n }(e.Renderer);\n }.call(this), function () {\n e.View = function () {\n function t(t) {\n this.delegate = t, this.htmlElement = document.documentElement;\n }\n\n return t.prototype.getRootLocation = function () {\n return this.getSnapshot().getRootLocation();\n }, t.prototype.getElementForAnchor = function (t) {\n return this.getSnapshot().getElementForAnchor(t);\n }, t.prototype.getSnapshot = function () {\n return e.Snapshot.fromHTMLElement(this.htmlElement);\n }, t.prototype.render = function (t, e) {\n var r, n, o;\n return o = t.snapshot, r = t.error, n = t.isPreview, this.markAsPreview(n), null != o ? this.renderSnapshot(o, n, e) : this.renderError(r, e);\n }, t.prototype.markAsPreview = function (t) {\n return t ? this.htmlElement.setAttribute(\"data-turbolinks-preview\", \"\") : this.htmlElement.removeAttribute(\"data-turbolinks-preview\");\n }, t.prototype.renderSnapshot = function (t, r, n) {\n return e.SnapshotRenderer.render(this.delegate, n, this.getSnapshot(), e.Snapshot.wrap(t), r);\n }, t.prototype.renderError = function (t, r) {\n return e.ErrorRenderer.render(this.delegate, r, t);\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t7, e) {\n return function () {\n return _t7.apply(e, arguments);\n };\n };\n\n e.ScrollManager = function () {\n function r(r) {\n this.delegate = r, this.onScroll = t(this.onScroll, this), this.onScroll = e.throttle(this.onScroll);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"scroll\", this.onScroll, !1), this.onScroll(), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"scroll\", this.onScroll, !1), this.started = !1) : void 0;\n }, r.prototype.scrollToElement = function (t) {\n return t.scrollIntoView();\n }, r.prototype.scrollToPosition = function (t) {\n var e, r;\n return e = t.x, r = t.y, window.scrollTo(e, r);\n }, r.prototype.onScroll = function (t) {\n return this.updatePosition({\n x: window.pageXOffset,\n y: window.pageYOffset\n });\n }, r.prototype.updatePosition = function (t) {\n var e;\n return this.position = t, null != (e = this.delegate) ? e.scrollPositionChanged(this.position) : void 0;\n }, r;\n }();\n }.call(this), function () {\n e.SnapshotCache = function () {\n function t(t) {\n this.size = t, this.keys = [], this.snapshots = {};\n }\n\n var r;\n return t.prototype.has = function (t) {\n var e;\n return e = r(t), e in this.snapshots;\n }, t.prototype.get = function (t) {\n var e;\n if (this.has(t)) return e = this.read(t), this.touch(t), e;\n }, t.prototype.put = function (t, e) {\n return this.write(t, e), this.touch(t), e;\n }, t.prototype.read = function (t) {\n var e;\n return e = r(t), this.snapshots[e];\n }, t.prototype.write = function (t, e) {\n var n;\n return n = r(t), this.snapshots[n] = e;\n }, t.prototype.touch = function (t) {\n var e, n;\n return n = r(t), e = this.keys.indexOf(n), e > -1 && this.keys.splice(e, 1), this.keys.unshift(n), this.trim();\n }, t.prototype.trim = function () {\n var t, e, r, n, o;\n\n for (n = this.keys.splice(this.size), o = [], t = 0, r = n.length; r > t; t++) {\n e = n[t], o.push(delete this.snapshots[e]);\n }\n\n return o;\n }, r = function r(t) {\n return e.Location.wrap(t).toCacheKey();\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t8, e) {\n return function () {\n return _t8.apply(e, arguments);\n };\n };\n\n e.Visit = function () {\n function r(r, n, o) {\n this.controller = r, this.action = o, this.performScroll = t(this.performScroll, this), this.identifier = e.uuid(), this.location = e.Location.wrap(n), this.adapter = this.controller.adapter, this.state = \"initialized\", this.timingMetrics = {};\n }\n\n var n;\n return r.prototype.start = function () {\n return \"initialized\" === this.state ? (this.recordTimingMetric(\"visitStart\"), this.state = \"started\", this.adapter.visitStarted(this)) : void 0;\n }, r.prototype.cancel = function () {\n var t;\n return \"started\" === this.state ? (null != (t = this.request) && t.cancel(), this.cancelRender(), this.state = \"canceled\") : void 0;\n }, r.prototype.complete = function () {\n var t;\n return \"started\" === this.state ? (this.recordTimingMetric(\"visitEnd\"), this.state = \"completed\", \"function\" == typeof (t = this.adapter).visitCompleted && t.visitCompleted(this), this.controller.visitCompleted(this)) : void 0;\n }, r.prototype.fail = function () {\n var t;\n return \"started\" === this.state ? (this.state = \"failed\", \"function\" == typeof (t = this.adapter).visitFailed ? t.visitFailed(this) : void 0) : void 0;\n }, r.prototype.changeHistory = function () {\n var t, e;\n return this.historyChanged ? void 0 : (t = this.location.isEqualTo(this.referrer) ? \"replace\" : this.action, e = n(t), this.controller[e](this.location, this.restorationIdentifier), this.historyChanged = !0);\n }, r.prototype.issueRequest = function () {\n return this.shouldIssueRequest() && null == this.request ? (this.progress = 0, this.request = new e.HttpRequest(this, this.location, this.referrer), this.request.send()) : void 0;\n }, r.prototype.getCachedSnapshot = function () {\n var t;\n return !(t = this.controller.getCachedSnapshotForLocation(this.location)) || null != this.location.anchor && !t.hasAnchor(this.location.anchor) || \"restore\" !== this.action && !t.isPreviewable() ? void 0 : t;\n }, r.prototype.hasCachedSnapshot = function () {\n return null != this.getCachedSnapshot();\n }, r.prototype.loadCachedSnapshot = function () {\n var t, e;\n return (e = this.getCachedSnapshot()) ? (t = this.shouldIssueRequest(), this.render(function () {\n var r;\n return this.cacheSnapshot(), this.controller.render({\n snapshot: e,\n isPreview: t\n }, this.performScroll), \"function\" == typeof (r = this.adapter).visitRendered && r.visitRendered(this), t ? void 0 : this.complete();\n })) : void 0;\n }, r.prototype.loadResponse = function () {\n return null != this.response ? this.render(function () {\n var t, e;\n return this.cacheSnapshot(), this.request.failed ? (this.controller.render({\n error: this.response\n }, this.performScroll), \"function\" == typeof (t = this.adapter).visitRendered && t.visitRendered(this), this.fail()) : (this.controller.render({\n snapshot: this.response\n }, this.performScroll), \"function\" == typeof (e = this.adapter).visitRendered && e.visitRendered(this), this.complete());\n }) : void 0;\n }, r.prototype.followRedirect = function () {\n return this.redirectedToLocation && !this.followedRedirect ? (this.location = this.redirectedToLocation, this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation, this.restorationIdentifier), this.followedRedirect = !0) : void 0;\n }, r.prototype.requestStarted = function () {\n var t;\n return this.recordTimingMetric(\"requestStart\"), \"function\" == typeof (t = this.adapter).visitRequestStarted ? t.visitRequestStarted(this) : void 0;\n }, r.prototype.requestProgressed = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.adapter).visitRequestProgressed ? e.visitRequestProgressed(this) : void 0;\n }, r.prototype.requestCompletedWithResponse = function (t, r) {\n return this.response = t, null != r && (this.redirectedToLocation = e.Location.wrap(r)), this.adapter.visitRequestCompleted(this);\n }, r.prototype.requestFailedWithStatusCode = function (t, e) {\n return this.response = e, this.adapter.visitRequestFailedWithStatusCode(this, t);\n }, r.prototype.requestFinished = function () {\n var t;\n return this.recordTimingMetric(\"requestEnd\"), \"function\" == typeof (t = this.adapter).visitRequestFinished ? t.visitRequestFinished(this) : void 0;\n }, r.prototype.performScroll = function () {\n return this.scrolled ? void 0 : (\"restore\" === this.action ? this.scrollToRestoredPosition() || this.scrollToTop() : this.scrollToAnchor() || this.scrollToTop(), this.scrolled = !0);\n }, r.prototype.scrollToRestoredPosition = function () {\n var t, e;\n return t = null != (e = this.restorationData) ? e.scrollPosition : void 0, null != t ? (this.controller.scrollToPosition(t), !0) : void 0;\n }, r.prototype.scrollToAnchor = function () {\n return null != this.location.anchor ? (this.controller.scrollToAnchor(this.location.anchor), !0) : void 0;\n }, r.prototype.scrollToTop = function () {\n return this.controller.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.recordTimingMetric = function (t) {\n var e;\n return null != (e = this.timingMetrics)[t] ? e[t] : e[t] = new Date().getTime();\n }, r.prototype.getTimingMetrics = function () {\n return e.copyObject(this.timingMetrics);\n }, n = function n(t) {\n switch (t) {\n case \"replace\":\n return \"replaceHistoryWithLocationAndRestorationIdentifier\";\n\n case \"advance\":\n case \"restore\":\n return \"pushHistoryWithLocationAndRestorationIdentifier\";\n }\n }, r.prototype.shouldIssueRequest = function () {\n return \"restore\" === this.action ? !this.hasCachedSnapshot() : !0;\n }, r.prototype.cacheSnapshot = function () {\n return this.snapshotCached ? void 0 : (this.controller.cacheSnapshot(), this.snapshotCached = !0);\n }, r.prototype.render = function (t) {\n return this.cancelRender(), this.frame = requestAnimationFrame(function (e) {\n return function () {\n return e.frame = null, t.call(e);\n };\n }(this));\n }, r.prototype.cancelRender = function () {\n return this.frame ? cancelAnimationFrame(this.frame) : void 0;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t9, e) {\n return function () {\n return _t9.apply(e, arguments);\n };\n };\n\n e.Controller = function () {\n function r() {\n this.clickBubbled = t(this.clickBubbled, this), this.clickCaptured = t(this.clickCaptured, this), this.pageLoaded = t(this.pageLoaded, this), this.history = new e.History(this), this.view = new e.View(this), this.scrollManager = new e.ScrollManager(this), this.restorationData = {}, this.clearCache(), this.setProgressBarDelay(500);\n }\n\n return r.prototype.start = function () {\n return e.supported && !this.started ? (addEventListener(\"click\", this.clickCaptured, !0), addEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.start(), this.startHistory(), this.started = !0, this.enabled = !0) : void 0;\n }, r.prototype.disable = function () {\n return this.enabled = !1;\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"click\", this.clickCaptured, !0), removeEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.stop(), this.stopHistory(), this.started = !1) : void 0;\n }, r.prototype.clearCache = function () {\n return this.cache = new e.SnapshotCache(10);\n }, r.prototype.visit = function (t, r) {\n var n, o;\n return null == r && (r = {}), t = e.Location.wrap(t), this.applicationAllowsVisitingLocation(t) ? this.locationIsVisitable(t) ? (n = null != (o = r.action) ? o : \"advance\", this.adapter.visitProposedToLocationWithAction(t, n)) : window.location = t : void 0;\n }, r.prototype.startVisitToLocationWithAction = function (t, r, n) {\n var o;\n return e.supported ? (o = this.getRestorationDataForIdentifier(n), this.startVisit(t, r, {\n restorationData: o\n })) : window.location = t;\n }, r.prototype.setProgressBarDelay = function (t) {\n return this.progressBarDelay = t;\n }, r.prototype.startHistory = function () {\n return this.location = e.Location.wrap(window.location), this.restorationIdentifier = e.uuid(), this.history.start(), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.stopHistory = function () {\n return this.history.stop();\n }, r.prototype.pushHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.push(this.location, this.restorationIdentifier);\n }, r.prototype.replaceHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.historyPoppedToLocationWithRestorationIdentifier = function (t, r) {\n var n;\n return this.restorationIdentifier = r, this.enabled ? (n = this.getRestorationDataForIdentifier(this.restorationIdentifier), this.startVisit(t, \"restore\", {\n restorationIdentifier: this.restorationIdentifier,\n restorationData: n,\n historyChanged: !0\n }), this.location = e.Location.wrap(t)) : this.adapter.pageInvalidated();\n }, r.prototype.getCachedSnapshotForLocation = function (t) {\n var e;\n return null != (e = this.cache.get(t)) ? e.clone() : void 0;\n }, r.prototype.shouldCacheSnapshot = function () {\n return this.view.getSnapshot().isCacheable();\n }, r.prototype.cacheSnapshot = function () {\n var t, r;\n return this.shouldCacheSnapshot() ? (this.notifyApplicationBeforeCachingSnapshot(), r = this.view.getSnapshot(), t = this.lastRenderedLocation, e.defer(function (e) {\n return function () {\n return e.cache.put(t, r.clone());\n };\n }(this))) : void 0;\n }, r.prototype.scrollToAnchor = function (t) {\n var e;\n return (e = this.view.getElementForAnchor(t)) ? this.scrollToElement(e) : this.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.scrollToElement = function (t) {\n return this.scrollManager.scrollToElement(t);\n }, r.prototype.scrollToPosition = function (t) {\n return this.scrollManager.scrollToPosition(t);\n }, r.prototype.scrollPositionChanged = function (t) {\n var e;\n return e = this.getCurrentRestorationData(), e.scrollPosition = t;\n }, r.prototype.render = function (t, e) {\n return this.view.render(t, e);\n }, r.prototype.viewInvalidated = function () {\n return this.adapter.pageInvalidated();\n }, r.prototype.viewWillRender = function (t) {\n return this.notifyApplicationBeforeRender(t);\n }, r.prototype.viewRendered = function () {\n return this.lastRenderedLocation = this.currentVisit.location, this.notifyApplicationAfterRender();\n }, r.prototype.pageLoaded = function () {\n return this.lastRenderedLocation = this.location, this.notifyApplicationAfterPageLoad();\n }, r.prototype.clickCaptured = function () {\n return removeEventListener(\"click\", this.clickBubbled, !1), addEventListener(\"click\", this.clickBubbled, !1);\n }, r.prototype.clickBubbled = function (t) {\n var e, r, n;\n return this.enabled && this.clickEventIsSignificant(t) && (r = this.getVisitableLinkForNode(t.target)) && (n = this.getVisitableLocationForLink(r)) && this.applicationAllowsFollowingLinkToLocation(r, n) ? (t.preventDefault(), e = this.getActionForLink(r), this.visit(n, {\n action: e\n })) : void 0;\n }, r.prototype.applicationAllowsFollowingLinkToLocation = function (t, e) {\n var r;\n return r = this.notifyApplicationAfterClickingLinkToLocation(t, e), !r.defaultPrevented;\n }, r.prototype.applicationAllowsVisitingLocation = function (t) {\n var e;\n return e = this.notifyApplicationBeforeVisitingLocation(t), !e.defaultPrevented;\n }, r.prototype.notifyApplicationAfterClickingLinkToLocation = function (t, r) {\n return e.dispatch(\"turbolinks:click\", {\n target: t,\n data: {\n url: r.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationBeforeVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:before-visit\", {\n data: {\n url: t.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationAfterVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:visit\", {\n data: {\n url: t.absoluteURL\n }\n });\n }, r.prototype.notifyApplicationBeforeCachingSnapshot = function () {\n return e.dispatch(\"turbolinks:before-cache\");\n }, r.prototype.notifyApplicationBeforeRender = function (t) {\n return e.dispatch(\"turbolinks:before-render\", {\n data: {\n newBody: t\n }\n });\n }, r.prototype.notifyApplicationAfterRender = function () {\n return e.dispatch(\"turbolinks:render\");\n }, r.prototype.notifyApplicationAfterPageLoad = function (t) {\n return null == t && (t = {}), e.dispatch(\"turbolinks:load\", {\n data: {\n url: this.location.absoluteURL,\n timing: t\n }\n });\n }, r.prototype.startVisit = function (t, e, r) {\n var n;\n return null != (n = this.currentVisit) && n.cancel(), this.currentVisit = this.createVisit(t, e, r), this.currentVisit.start(), this.notifyApplicationAfterVisitingLocation(t);\n }, r.prototype.createVisit = function (t, r, n) {\n var o, i, s, a, u;\n return i = null != n ? n : {}, a = i.restorationIdentifier, s = i.restorationData, o = i.historyChanged, u = new e.Visit(this, t, r), u.restorationIdentifier = null != a ? a : e.uuid(), u.restorationData = e.copyObject(s), u.historyChanged = o, u.referrer = this.location, u;\n }, r.prototype.visitCompleted = function (t) {\n return this.notifyApplicationAfterPageLoad(t.getTimingMetrics());\n }, r.prototype.clickEventIsSignificant = function (t) {\n return !(t.defaultPrevented || t.target.isContentEditable || t.which > 1 || t.altKey || t.ctrlKey || t.metaKey || t.shiftKey);\n }, r.prototype.getVisitableLinkForNode = function (t) {\n return this.nodeIsVisitable(t) ? e.closest(t, \"a[href]:not([target]):not([download])\") : void 0;\n }, r.prototype.getVisitableLocationForLink = function (t) {\n var r;\n return r = new e.Location(t.getAttribute(\"href\")), this.locationIsVisitable(r) ? r : void 0;\n }, r.prototype.getActionForLink = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-turbolinks-action\")) ? e : \"advance\";\n }, r.prototype.nodeIsVisitable = function (t) {\n var r;\n return (r = e.closest(t, \"[data-turbolinks]\")) ? \"false\" !== r.getAttribute(\"data-turbolinks\") : !0;\n }, r.prototype.locationIsVisitable = function (t) {\n return t.isPrefixedBy(this.view.getRootLocation()) && t.isHTML();\n }, r.prototype.getCurrentRestorationData = function () {\n return this.getRestorationDataForIdentifier(this.restorationIdentifier);\n }, r.prototype.getRestorationDataForIdentifier = function (t) {\n var e;\n return null != (e = this.restorationData)[t] ? e[t] : e[t] = {};\n }, r;\n }();\n }.call(this), function () {\n !function () {\n var t, e;\n if ((t = e = document.currentScript) && !e.hasAttribute(\"data-turbolinks-suppress-warning\")) for (; t = t.parentNode;) {\n if (t === document.body) return console.warn(\"You are loading Turbolinks from a \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n }\n\n if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n }\n\n var _default = {\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 mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n };\n\n var _config = _objectSpread({}, _default, initial);\n\n if (!_config.autoReplaceSvg) _config.observeMutations = false;\n\n var config = _objectSpread({}, _config);\n\n WINDOW.FontAwesomeConfig = config;\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n var functions = [];\n\n var listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n };\n\n var loaded = false;\n\n if (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n }\n\n function domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n }\n\n var PENDING = 'pending';\n var SETTLED = 'settled';\n var FULFILLED = 'fulfilled';\n var REJECTED = 'rejected';\n\n var NOOP = function NOOP() {};\n\n var isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\n var asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\n var asyncQueue = [];\n var asyncTimer;\n\n function asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n }\n\n function asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n }\n\n function invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n }\n\n function invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n }\n\n function handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n }\n\n function resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n }\n\n function fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n }\n\n function reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n }\n\n function publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n }\n\n function publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n }\n\n function publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n }\n\n function notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n }\n /**\n * @class\n */\n\n\n function P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n }\n\n P.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n };\n\n P.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n };\n\n P.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n };\n\n P.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n };\n\n P.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n };\n\n var picked = typeof Promise === 'function' ? Promise : P;\n var d = UNITS_IN_GRID;\n var meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n };\n\n function isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n }\n\n function bunker(fn) {\n try {\n fn();\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n\n function 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 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\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n }\n\n var idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n function nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n }\n\n function 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\n function 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\n function 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\n function htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n }\n\n function joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n }\n\n function joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n }\n\n function 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\n function transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n }\n\n function transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n }\n\n var ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n };\n\n function fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n }\n\n function deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n }\n\n function makeIconMasking(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, 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: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n }\n\n function makeIconStandard(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\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({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, 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\n function asIcon(_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 var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n }\n\n function asSymbol(_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n }\n\n function 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 maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, 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\n function 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 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\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 val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n }\n\n function makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n }\n\n var noop$1 = function noop() {};\n\n var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n };\n var preamble = \"FA \\\"5.15.3\\\"\";\n\n var begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n };\n\n var end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n };\n\n var perf = {\n begin: begin,\n end: end\n };\n /**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\n var 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 * # 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 */\n\n\n var 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,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\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\n function 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\n function defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\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\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\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\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n }\n\n var styles = namespace.styles,\n shims = namespace.shims;\n var _byUnicode = {};\n var _byLigature = {};\n var _byOldName = {};\n\n var build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = ('far' in styles);\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] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n };\n\n build();\n\n function byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n }\n\n function byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n }\n\n function byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n }\n\n var styles$1 = namespace.styles;\n\n var emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n };\n\n function getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n }\n\n function 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\n function toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\").concat(tag, \">\");\n }\n }\n\n var noop$2 = function noop() {};\n\n function isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n }\n\n function getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n }\n\n var 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.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]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\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\n function performOperationSync(op) {\n op();\n }\n\n function perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n }\n\n var disabled = false;\n\n function disableObservation() {\n disabled = true;\n }\n\n function enableObservation() {\n disabled = false;\n }\n\n var mo = null;\n\n function observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.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 if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n }\n\n function disconnect() {\n if (!mo) return;\n mo.disconnect();\n }\n\n function styleParser(node) {\n var style = node.getAttribute('style');\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\n function classParser(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 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\n var 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\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n };\n\n function transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n }\n\n function symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n }\n\n function attributesParser(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\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n }\n\n function maskParser(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\n function blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n }\n\n function 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 return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n }\n\n function MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n }\n\n MissingIcon.prototype = Object.create(Error.prototype);\n MissingIcon.prototype.constructor = MissingIcon;\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n var RING = {\n tag: 'path',\n attributes: _objectSpread({}, 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 };\n\n var OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n });\n\n var DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n };\n var QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n };\n var EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n };\n var missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n };\n var styles$2 = namespace.styles;\n\n function asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n }\n\n function findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n }\n\n var styles$3 = namespace.styles;\n\n function generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n }\n\n function generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\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.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([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\n function 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\n function onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\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 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 return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n }\n\n function onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n }\n\n function replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n }\n\n function replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n }\n\n function processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n }\n\n function searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n }\n\n var baseStyles = \"svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}\";\n\n function css() {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n }\n\n var Library = /*#__PURE__*/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 = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\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 ? {\n 0: definition\n } : definition;\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 if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n }();\n\n function ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n }\n\n function apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\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 Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n }\n\n function findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n }\n\n function resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n }\n\n var library = new Library();\n\n var noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n };\n\n var _cssInserted = false;\n var dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n };\n var parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n };\n var 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 === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n });\n\n var 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 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n };\n\n var counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n };\n\n var layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\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 return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n };\n\n var api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n };\n\n var autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n };\n\n function bootstrap() {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api;\n }\n\n domready(function () {\n autoReplace();\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements\n });\n });\n }\n\n namespace.hooks = _objectSpread({}, namespace.hooks, {\n addPack: function addPack(prefix, icons) {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, icons);\n build();\n autoReplace();\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\n bunker(bootstrap);\n})();","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a