{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray/_index.mjs","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized/index.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray/_index.mjs","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles/_index.mjs","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray/_index.mjs","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread/_index.mjs","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/@babel/runtime/helpers/typeof/index.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose/index.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/@babel/runtime/helpers/extends/index.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray/_index.mjs","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf/_index.mjs","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose/_index.mjs","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard/index.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault/index.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf/index.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose/index.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./.cache/api-runner-browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/gatsby-plugin-fontawesome-css/gatsby-browser.js","webpack:///./node_modules/core-js/internals/set-global.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","this","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","IndexedObject","requireObjectCoercible","module","it","NATIVE_SYMBOL","Symbol","sham","iterator","_arrayLikeToArray","arr","len","length","i","arr2","Array","SessionStorage","read","key","stateKey","getStateKey","value","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","exec","error","global","aFunction","variable","undefined","namespace","method","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","Object","NASHORN_BUG","1","f","V","descriptor","enumerable","toObject","toLength","createMethod","IS_RIGHT","that","callbackfn","argumentsLength","memo","O","self","index","TypeError","left","right","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","Math","check","globalThis","Function","charAt","pathCache","Map","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","split","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","map","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","has","get","foundPath","set","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","emitter","all","create","on","type","handler","off","splice","indexOf","emit","evt","mitt","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","keys","defineProperty","_typeof","obj","constructor","_defineProperties","configurable","writable","_defineProperty","_objectSpread","getOwnPropertySymbols","concat","sym","_slicedToArray","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","err","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","iter","toString","from","_iterableToArray","_nonIterableSpread","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","document","MutationObserver","performance","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","IS_IE","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","PREFIX_TO_STYLE","STYLE_TO_PREFIX","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","RESERVED_CLASSES","n","initial","FontAwesomeConfig","querySelector","attr","val","coerce","element","getAttribute","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","w","styles","hooks","shims","functions","loaded","domready","fn","setTimeout","doScroll","test","readyState","listener","removeEventListener","asyncTimer","NOOP","isNode","process","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","callback","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","promises","results","remaining","race","picked","Promise","d","meaninglessTransform","size","x","y","rotate","flipX","flipY","insertCss","css","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","nextUniqueId","id","random","toArray","array","classArray","node","classList","getIconName","cls","name","parts","iconName","htmlEscape","str","joinStyles","reduce","acc","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","ALL_SPACE","width","height","fillBlack","abstract","force","attributes","fill","makeInlineSvgAbstract","_params$icons","icons","main","mask","symbol","title","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","ceil","attrClass","c","classes","content","children","role","uploadedIconWidthStyle","tag","args","explicitMaskId","mainWidth","mainPath","icon","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","p","preamble","end","perf","subject","initialValue","thisContext","result","a","b","bindInternal4","toHex","unicode","charCodeAt","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","byUnicode","styles$1","getCanonicalIcon","values","autoFetchSvg","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","noop$2","isWatched","mutators","mutation","newOuterHTML","parentNode","outerHTML","toLowerCase","newNode","replaceChild","nest","forSvg","RegExp","splitClasses","match","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","requestAnimationFrame","mutator","disabled","enableObservation","mo","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","addedNodes","_getCanonicalIcon","childList","characterData","subtree","classParser","existingPrefix","existingIconName","innerText","parseTransformString","transformString","first","parseFloat","isNaN","parseMeta","_classParser","extraClasses","extraStyles","prop","styleParser","transformParser","symbolParser","extraAttributes","attributesParser","maskParser","MissingIcon","message","stack","Error","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","missing","cx","cy","r","opacity","styles$2","asFoundIcon","vectorData","findIcon","styles$3","generateMutation","nodeMeta","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","generateLayersText","generateSvgReplacementMutation","onTree","root","htmlClassList","hclAdd","suffix","add","hclRemove","remove","prefixes","prefixesDomQuery","candidates","querySelectorAll","resolvedMutations","onNode","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","hexValue","substr","iconIdentifier","meta","firstChild","appendChild","removeAttribute","processable","operations","drc","fp","rc","s","dPatt","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","Library","Constructor","_classCallCheck","protoProps","staticProps","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","noAuto","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","text","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","counter","_params$title3","_params$classes3","_params$attributes3","_params$styles3","layer","assembler","_params$classes4","api","_params$autoReplaceSv","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","apply","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","shared","uid","polyfill","_extends","assign","getLocation","_source$location","search","hash","origin","protocol","host","hostname","port","canUseDOM","decodeURI","history","createHistory","transitioning","resolveTransition","_onTransitionComplete","listen","popstateListener","action","_ref$replace","go","Date","now","replaceState","pushState","transition","res","createMemorySource","initialPath","searchIndex","initialLocation","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","globalHistory","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","fails","$","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","proto","forced","_interopRequireWildcard","React","_sessionStorage","createContext","displayName","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","Provider","ReferenceError","String","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","toInteger","max","min","integer","PageRenderer","pageResources","json","pageContext","__params","pathContext","pageElement","apiRunner","loader","publicLoader","component","page","pop","internalObjectKeys","hiddenKeys","getOwnPropertyNames","Deno","v8","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","isDynamic","sort","rankRoute","score","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","every","plugin","require","ie10","appVersion","fns","doc","hack","shift","serviceWorker","register","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","components","condition","format","argIndex","framesToPop","classof","setPrototypeOf","subClass","superClass","isObject","input","pref","valueOf","V8_VERSION","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","includes","argument","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","hasOwn","RouteAnnouncerProps","top","padding","overflow","clip","whiteSpace","border","redirectMap","redirectIgnoreCaseMap","maybeRedirect","redirect","toPath","redirects","ignoreCase","fromPath","onPreRouteUpdate","prevLocation","onRouteUpdate","timeoutId","loadPage","status","PageResourceStatus","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","nextProps","pageName","pageHeadings","textContent","newAnnouncement","compareLocationProps","nextLocation","RouteUpdates","shouldComponentUpdate","Fragment","shallowDiffers","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","LocationHandler","Consumer","pagePath","browserLoc","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","IS_PURE","store","mode","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","StaticQueryContext","bitmap","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","getPrototypeOf","handle","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","data","port2","script","onreadystatechange","attachEvent","task","_objectWithoutProperties","_possibleConstructorReturn","_inherits","__proto__","createNamedContext","defaultValue","Ctx","LocationContext","context","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","unmounted","defaultProps","ServerLocation","url","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","Children","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","k","C","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","_unsupportedIterableToArray","minLen","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","hashIndex","_setPrototypeOf","_inheritsLoose","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","link","onload","onerror","getElementsByTagName","getElementsByName","req","XMLHttpRequest","open","send","preFetched","prefetch","Success","preferDefault","m","createPageDataUrl","doFetch","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","memoizedGet","inFlightPromise","response","delete","prefetchDisabled","some","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","payload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","connection","effectiveType","saveData","doesConnectionSupportPrefetch","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","_getRequireWildcardCache","cache","newObj","hasPropertyDescriptor","desc","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","functionToString","postfix","replacement","detection","normalize","POLYFILL","NATIVE","$defineProperty","Attributes","toPrimitive","isSymbol","METHOD_NAME","floor","ProdPageRenderer","InternalPageRenderer","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","excluded","sourceKeys","ordinaryToPrimitive","TO_PRIMITIVE","wellKnownSymbol","exoticToPrim","plugins","defaultReturn","argTransform","previous","g","names","EXISTS","onClientEntry"],"mappings":"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","file":"app-c2cc63f41f74244620c7.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","import \"core-js/modules/es.array.reduce.js\";\n\n/*!\n * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\n\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (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\nvar _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\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction 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\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction 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\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction 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\nP.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\nP.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\nP.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\nP.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\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction 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\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nfunction 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\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\n\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\n\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\n\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\n\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n 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\nfunction 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\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction 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\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n 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\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === 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\nfunction 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\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.2\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar 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\nvar 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\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n/**\n * # 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\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\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\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction 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\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar 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\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\n\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\n\nfunction 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\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === 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\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction 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\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.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\nfunction performOperationSync(op) {\n op();\n}\n\nfunction 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\nvar disabled = false;\n\nfunction disableObservation() {\n disabled = true;\n}\n\nfunction enableObservation() {\n disabled = false;\n}\n\nvar mo = null;\n\nfunction 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\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction 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\nfunction 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\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\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\nfunction transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n 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\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar 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\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar 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};\nvar 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};\nvar 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};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\nvar styles$2 = namespace.styles;\n\nfunction 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\nfunction 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\nvar styles$3 = namespace.styles;\n\nfunction 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\nfunction 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\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction 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\nfunction 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\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction 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\nvar 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\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\n\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n 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};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === 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\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === 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\nvar 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\nvar 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\nvar 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\nvar 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\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","exports.polyfill = Component => Component\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","import arrayWithoutHoles from \"../arrayWithoutHoles/_index.mjs\";\nimport iterableToArray from \"../iterableToArray/_index.mjs\";\nimport unsupportedIterableToArray from \"../unsupportedIterableToArray/_index.mjs\";\nimport nonIterableSpread from \"../nonIterableSpread/_index.mjs\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"../arrayLikeToArray/_index.mjs\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-fontawesome-css/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-application-js\": () => import(\"./../../../src/pages/application.js\" /* webpackChunkName: \"component---src-pages-application-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */)\n}\n\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var setPrototypeOf = require(\"@babel/runtime/helpers/setPrototypeOf\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\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;","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nfunction maybeRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot} \n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.16.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData && Loading (StaticQuery)
}\n \n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","(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