{"version":3,"file":"app-dfaef7af302b249a6774.js","mappings":"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","sources":["webpack://base-gatsby/./node_modules/browser-lang/dist/index.js","webpack://base-gatsby/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://base-gatsby/./node_modules/gatsby-react-router-scroll/index.js","webpack://base-gatsby/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://base-gatsby/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://base-gatsby/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://base-gatsby/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://base-gatsby/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://base-gatsby/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://base-gatsby/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://base-gatsby/./.cache/api-runner-browser-plugins.js","webpack://base-gatsby/./.cache/api-runner-browser.js","webpack://base-gatsby/./.cache/create-content-digest-browser-shim.js","webpack://base-gatsby/./.cache/emitter.js","webpack://base-gatsby/./node_modules/mitt/dist/mitt.es.js","webpack://base-gatsby/./.cache/normalize-page-path.js","webpack://base-gatsby/./.cache/find-path.js","webpack://base-gatsby/./.cache/slice/server-slice-renderer.js","webpack://base-gatsby/./.cache/slice/server-slice.js","webpack://base-gatsby/./.cache/slice/inline-slice.js","webpack://base-gatsby/./.cache/slice.js","webpack://base-gatsby/./.cache/gatsby-browser-entry.js","webpack://base-gatsby/./.cache/prefetch.js","webpack://base-gatsby/./.cache/loader.js","webpack://base-gatsby/./.cache/head/components/fire-callback-in-effect.js","webpack://base-gatsby/./.cache/head/constants.js","webpack://base-gatsby/./.cache/head/utils.js","webpack://base-gatsby/./.cache/head/head-export-handler-for-browser.js","webpack://base-gatsby/./.cache/page-renderer.js","webpack://base-gatsby/./.cache/route-announcer-props.js","webpack://base-gatsby/./.cache/navigation.js","webpack://base-gatsby/./node_modules/shallow-compare/es/index.js","webpack://base-gatsby/./.cache/ensure-resources.js","webpack://base-gatsby/./.cache/production-app.js","webpack://base-gatsby/./.cache/public-page-renderer-prod.js","webpack://base-gatsby/./.cache/public-page-renderer.js","webpack://base-gatsby/./.cache/react-dom-utils.js","webpack://base-gatsby/./.cache/redirect-utils.js","webpack://base-gatsby/./.cache/register-service-worker.js","webpack://base-gatsby/./.cache/slice/context.js","webpack://base-gatsby/./.cache/static-query.js","webpack://base-gatsby/./.cache/context-utils.js","webpack://base-gatsby/./.cache/strip-prefix.js","webpack://base-gatsby/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://base-gatsby/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://base-gatsby/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://base-gatsby/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://base-gatsby/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://base-gatsby/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://base-gatsby/./src/app/layout/Layout.tsx","webpack://base-gatsby/./gatsby-browser.tsx","webpack://base-gatsby/./node_modules/i18next/dist/cjs/i18next.js","webpack://base-gatsby/./node_modules/invariant/browser.js","webpack://base-gatsby/./node_modules/outdent/lib-module/index.js","webpack://base-gatsby/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://base-gatsby/./node_modules/react-server-dom-webpack/index.js","webpack://base-gatsby/./node_modules/void-elements/index.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/createClass.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/extends.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/inherits.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/toArray.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/typeof.js","webpack://base-gatsby/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://base-gatsby/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://base-gatsby/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://base-gatsby/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://base-gatsby/./node_modules/gatsby-script/dist/index.modern.mjs","webpack://base-gatsby/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/utils.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/unescape.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/defaults.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/context.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/Trans.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/Translation.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/useSSR.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/withSSR.js","webpack://base-gatsby/./node_modules/react-i18next/dist/es/index.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\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 if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\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\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\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 if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\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 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 _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 return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\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 }, [location.key]);\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}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-about-index-tsx\": () => import(\"./../../../src/pages/about/index.tsx\" /* webpackChunkName: \"component---src-pages-about-index-tsx\" */),\n \"component---src-pages-aml-policies-index-tsx\": () => import(\"./../../../src/pages/aml-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-aml-policies-index-tsx\" */),\n \"component---src-pages-bonus-policies-index-tsx\": () => import(\"./../../../src/pages/bonus-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-bonus-policies-index-tsx\" */),\n \"component---src-pages-cookies-policies-index-tsx\": () => import(\"./../../../src/pages/cookies-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-cookies-policies-index-tsx\" */),\n \"component---src-pages-gold-account-index-tsx\": () => import(\"./../../../src/pages/gold-account/index.tsx\" /* webpackChunkName: \"component---src-pages-gold-account-index-tsx\" */),\n \"component---src-pages-home-index-tsx\": () => import(\"./../../../src/pages/home/index.tsx\" /* webpackChunkName: \"component---src-pages-home-index-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */),\n \"component---src-pages-markets-index-tsx\": () => import(\"./../../../src/pages/markets/index.tsx\" /* webpackChunkName: \"component---src-pages-markets-index-tsx\" */),\n \"component---src-pages-platinum-account-index-tsx\": () => import(\"./../../../src/pages/platinum-account/index.tsx\" /* webpackChunkName: \"component---src-pages-platinum-account-index-tsx\" */),\n \"component---src-pages-policy-kyc-index-tsx\": () => import(\"./../../../src/pages/policy-kyc/index.tsx\" /* webpackChunkName: \"component---src-pages-policy-kyc-index-tsx\" */),\n \"component---src-pages-privacy-policies-index-tsx\": () => import(\"./../../../src/pages/privacy-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-privacy-policies-index-tsx\" */),\n \"component---src-pages-risk-disclosure-policies-index-tsx\": () => import(\"./../../../src/pages/risk-disclosure-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-risk-disclosure-policies-index-tsx\" */),\n \"component---src-pages-silver-account-index-tsx\": () => import(\"./../../../src/pages/silver-account/index.tsx\" /* webpackChunkName: \"component---src-pages-silver-account-index-tsx\" */),\n \"component---src-pages-terms-and-conditions-index-tsx\": () => import(\"./../../../src/pages/terms-and-conditions/index.tsx\" /* webpackChunkName: \"component---src-pages-terms-and-conditions-index-tsx\" */),\n \"component---src-pages-webtrader-index-tsx\": () => import(\"./../../../src/pages/webtrader/index.tsx\" /* webpackChunkName: \"component---src-pages-webtrader-index-tsx\" */),\n \"component---src-pages-withdrawal-policies-index-tsx\": () => import(\"./../../../src/pages/withdrawal-policies/index.tsx\" /* webpackChunkName: \"component---src-pages-withdrawal-policies-index-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/assets/images/favicon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"57b2f4b95cced2e58ba03ea6d354c39a\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"en\",\"es\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://example.com\",\"trailingSlash\":\"always\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false}},\n },{\n plugin: require('../gatsby-browser.tsx'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\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","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\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 const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\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","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\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 { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\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","// 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 { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = 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_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 const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\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 + search + hash\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 + search + hash\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 + search).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 + search + hash\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 // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\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\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(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.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, maybeGetBrowserRedirect }\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:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\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(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\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 (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `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 if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\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 { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\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 getSliceResults,\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\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).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 const slicesContext = {\n renderEnvironment: `browser`,\n }\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 const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \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). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But 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 !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== 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 // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\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\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\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","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\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\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\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\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\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\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\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\n }\n }\n }\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\n // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","import React from 'react'\n\nimport '@styleGlobals/globals.css'\n\nimport { LayoutProps } from './LayoutProps'\n\nconst Layout = ({ children }: LayoutProps) => {\n return (\n
\n {children}\n
\n )\n}\n\nexport default Layout;\n","/* eslint-disable import/prefer-default-export */\nimport React, { StrictMode } from \"react\";\nimport ReactDOM from 'react-dom/client';\nimport Layout from \"./src/app/layout/Layout\";\n\nexport const wrapPageElement = ({ element, props, ...others }) => {\n return (\n \n {element}\n \n );\n}\n\nexport const replaceHydrateFunction = () => {\n return (element, container) => {\n const root = ReactDOM.createRoot(container)\n root.render(element)\n }\n}","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass__default[\"default\"](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass__default[\"default\"](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass__default[\"default\"](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof__default[\"default\"](options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass__default[\"default\"](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__default[\"default\"](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default[\"default\"](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof__default[\"default\"](args[2]) === 'object' || _typeof__default[\"default\"](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default[\"default\"](_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__default[\"default\"](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__default[\"default\"](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\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","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n }\n else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\n}\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) { return newline; });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n }\n else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n var fullOutdent = extend(outdent, {\n string: function (str) {\n return _outdentArray([str], false, options)[0];\n },\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.5 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.5\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `