{"version":3,"file":"app-29b4293234a8dcded886.js","mappings":"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","sources":["webpack://sar-website/./node_modules/browser-lang/dist/index.js","webpack://sar-website/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/index.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://sar-website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://sar-website/./.cache/api-runner-browser-plugins.js","webpack://sar-website/./.cache/api-runner-browser.js","webpack://sar-website/./.cache/create-content-digest-browser-shim.js","webpack://sar-website/./.cache/emitter.js","webpack://sar-website/./node_modules/mitt/dist/mitt.es.js","webpack://sar-website/./.cache/normalize-page-path.js","webpack://sar-website/./.cache/find-path.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://sar-website/./.cache/slice/server-slice-renderer.js","webpack://sar-website/./.cache/slice/server-slice.js","webpack://sar-website/./.cache/slice/inline-slice.js","webpack://sar-website/./.cache/slice.js","webpack://sar-website/./.cache/gatsby-browser-entry.js","webpack://sar-website/./.cache/prefetch.js","webpack://sar-website/./.cache/loader.js","webpack://sar-website/./.cache/head/components/fire-callback-in-effect.js","webpack://sar-website/./.cache/head/constants.js","webpack://sar-website/./.cache/head/utils.js","webpack://sar-website/./.cache/head/head-export-handler-for-browser.js","webpack://sar-website/./.cache/page-renderer.js","webpack://sar-website/./.cache/route-announcer-props.js","webpack://sar-website/./.cache/navigation.js","webpack://sar-website/./node_modules/shallow-compare/es/index.js","webpack://sar-website/./.cache/ensure-resources.js","webpack://sar-website/./.cache/production-app.js","webpack://sar-website/./.cache/public-page-renderer-prod.js","webpack://sar-website/./.cache/public-page-renderer.js","webpack://sar-website/./.cache/react-dom-utils.js","webpack://sar-website/./.cache/redirect-utils.js","webpack://sar-website/./.cache/register-service-worker.js","webpack://sar-website/./.cache/slice/context.js","webpack://sar-website/./.cache/static-query.js","webpack://sar-website/./.cache/context-utils.js","webpack://sar-website/./.cache/strip-prefix.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/BreakpointProvider.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/constants.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-google-analytics/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://sar-website/./node_modules/i18next/dist/cjs/i18next.js","webpack://sar-website/./node_modules/invariant/browser.js","webpack://sar-website/./node_modules/outdent/lib-module/index.js","webpack://sar-website/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Trans.js","webpack://sar-website/./node_modules/react-i18next/dist/es/unescape.js","webpack://sar-website/./node_modules/react-i18next/dist/es/context.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Translation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/index.js","webpack://sar-website/./node_modules/react-i18next/dist/es/utils.js","webpack://sar-website/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://sar-website/./node_modules/react-server-dom-webpack/index.js","webpack://sar-website/./node_modules/void-elements/index.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/createClass.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/extends.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inherits.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/typeof.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-script/dist/index.modern.mjs"],"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-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-sar-components-history-gallery-js\": () => import(\"./../../../src/pages/about-sar/components/HistoryGallery.js\" /* webpackChunkName: \"component---src-pages-about-sar-components-history-gallery-js\" */),\n \"component---src-pages-about-sar-components-sar-features-js\": () => import(\"./../../../src/pages/about-sar/components/SarFeatures.js\" /* webpackChunkName: \"component---src-pages-about-sar-components-sar-features-js\" */),\n \"component---src-pages-about-sar-disclaimer-js\": () => import(\"./../../../src/pages/about-sar/disclaimer.js\" /* webpackChunkName: \"component---src-pages-about-sar-disclaimer-js\" */),\n \"component---src-pages-about-sar-index-js\": () => import(\"./../../../src/pages/about-sar/index.js\" /* webpackChunkName: \"component---src-pages-about-sar-index-js\" */),\n \"component---src-pages-about-sar-ourstory-js\": () => import(\"./../../../src/pages/about-sar/ourstory.js\" /* webpackChunkName: \"component---src-pages-about-sar-ourstory-js\" */),\n \"component---src-pages-about-sar-privacypolicy-js\": () => import(\"./../../../src/pages/about-sar/privacypolicy.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicy-js\" */),\n \"component---src-pages-about-sar-railnetwork-js\": () => import(\"./../../../src/pages/about-sar/railnetwork.js\" /* webpackChunkName: \"component---src-pages-about-sar-railnetwork-js\" */),\n \"component---src-pages-featured-almashaertrain-js\": () => import(\"./../../../src/pages/featured/almashaertrain.js\" /* webpackChunkName: \"component---src-pages-featured-almashaertrain-js\" */),\n \"component---src-pages-featured-hajjseason-js\": () => import(\"./../../../src/pages/featured/hajjseason.js\" /* webpackChunkName: \"component---src-pages-featured-hajjseason-js\" */),\n \"component---src-pages-featured-namingrightsprogram-js\": () => import(\"./../../../src/pages/featured/namingrightsprogram.js\" /* webpackChunkName: \"component---src-pages-featured-namingrightsprogram-js\" */),\n \"component---src-pages-featured-realestatedevelopment-js\": () => import(\"./../../../src/pages/featured/realestatedevelopment.js\" /* webpackChunkName: \"component---src-pages-featured-realestatedevelopment-js\" */),\n \"component---src-pages-featured-supplierportal-js\": () => import(\"./../../../src/pages/featured/supplierportal.js\" /* webpackChunkName: \"component---src-pages-featured-supplierportal-js\" */),\n \"component---src-pages-featured-talkanimore-js\": () => import(\"./../../../src/pages/featured/talkanimore.js\" /* webpackChunkName: \"component---src-pages-featured-talkanimore-js\" */),\n \"component---src-pages-featured-tenders-js\": () => import(\"./../../../src/pages/featured/tenders.js\" /* webpackChunkName: \"component---src-pages-featured-tenders-js\" */),\n \"component---src-pages-featured-ubersar-js\": () => import(\"./../../../src/pages/featured/ubersar.js\" /* webpackChunkName: \"component---src-pages-featured-ubersar-js\" */),\n \"component---src-pages-freight-carshipping-js\": () => import(\"./../../../src/pages/freight/carshipping.js\" /* webpackChunkName: \"component---src-pages-freight-carshipping-js\" */),\n \"component---src-pages-freight-carshippingconditions-js\": () => import(\"./../../../src/pages/freight/carshippingconditions.js\" /* webpackChunkName: \"component---src-pages-freight-carshippingconditions-js\" */),\n \"component---src-pages-freight-parcelshipping-js\": () => import(\"./../../../src/pages/freight/parcelshipping.js\" /* webpackChunkName: \"component---src-pages-freight-parcelshipping-js\" */),\n \"component---src-pages-freight-parcelshippingconditions-js\": () => import(\"./../../../src/pages/freight/parcelshippingconditions.js\" /* webpackChunkName: \"component---src-pages-freight-parcelshippingconditions-js\" */),\n \"component---src-pages-help-complaintshandlingpolicy-js\": () => import(\"./../../../src/pages/help/complaintshandlingpolicy.js\" /* webpackChunkName: \"component---src-pages-help-complaintshandlingpolicy-js\" */),\n \"component---src-pages-help-contactus-js\": () => import(\"./../../../src/pages/help/contactus.js\" /* webpackChunkName: \"component---src-pages-help-contactus-js\" */),\n \"component---src-pages-help-disabledpassengerprotectionpolicy-js\": () => import(\"./../../../src/pages/help/disabledpassengerprotectionpolicy.js\" /* webpackChunkName: \"component---src-pages-help-disabledpassengerprotectionpolicy-js\" */),\n \"component---src-pages-help-specialhelp-js\": () => import(\"./../../../src/pages/help/specialhelp.js\" /* webpackChunkName: \"component---src-pages-help-specialhelp-js\" */),\n \"component---src-pages-help-travelerscharter-js\": () => import(\"./../../../src/pages/help/travelerscharter.js\" /* webpackChunkName: \"component---src-pages-help-travelerscharter-js\" */),\n \"component---src-pages-help-whistleblowerprogram-js\": () => import(\"./../../../src/pages/help/whistleblowerprogram.js\" /* webpackChunkName: \"component---src-pages-help-whistleblowerprogram-js\" */),\n \"component---src-pages-home-page-components-sar-features-js\": () => import(\"./../../../src/pages/home-page/components/SarFeatures.js\" /* webpackChunkName: \"component---src-pages-home-page-components-sar-features-js\" */),\n \"component---src-pages-home-page-components-sar-services-js\": () => import(\"./../../../src/pages/home-page/components/SarServices.js\" /* webpackChunkName: \"component---src-pages-home-page-components-sar-services-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-media-center-index-js\": () => import(\"./../../../src/pages/media-center/index.js\" /* webpackChunkName: \"component---src-pages-media-center-index-js\" */),\n \"component---src-pages-northern-train-baggageguide-js\": () => import(\"./../../../src/pages/northern-train/baggageguide.js\" /* webpackChunkName: \"component---src-pages-northern-train-baggageguide-js\" */),\n \"component---src-pages-northern-train-buyingtickets-js\": () => import(\"./../../../src/pages/northern-train/buyingtickets.js\" /* webpackChunkName: \"component---src-pages-northern-train-buyingtickets-js\" */),\n \"component---src-pages-northern-train-cancellationmodification-js\": () => import(\"./../../../src/pages/northern-train/cancellationmodification.js\" /* webpackChunkName: \"component---src-pages-northern-train-cancellationmodification-js\" */),\n \"component---src-pages-northern-train-carparking-js\": () => import(\"./../../../src/pages/northern-train/carparking.js\" /* webpackChunkName: \"component---src-pages-northern-train-carparking-js\" */),\n \"component---src-pages-northern-train-components-nordic-train-tickets-js\": () => import(\"./../../../src/pages/northern-train/components/NordicTrainTickets.js\" /* webpackChunkName: \"component---src-pages-northern-train-components-nordic-train-tickets-js\" */),\n \"component---src-pages-northern-train-flightschedule-js\": () => import(\"./../../../src/pages/northern-train/flightschedule.js\" /* webpackChunkName: \"component---src-pages-northern-train-flightschedule-js\" */),\n \"component---src-pages-northern-train-foodanddrinks-js\": () => import(\"./../../../src/pages/northern-train/foodanddrinks.js\" /* webpackChunkName: \"component---src-pages-northern-train-foodanddrinks-js\" */),\n \"component---src-pages-northern-train-seatselection-js\": () => import(\"./../../../src/pages/northern-train/seatselection.js\" /* webpackChunkName: \"component---src-pages-northern-train-seatselection-js\" */),\n \"component---src-pages-northern-train-stationlounges-js\": () => import(\"./../../../src/pages/northern-train/stationlounges.js\" /* webpackChunkName: \"component---src-pages-northern-train-stationlounges-js\" */),\n \"component---src-pages-northern-train-stations-js\": () => import(\"./../../../src/pages/northern-train/stations.js\" /* webpackChunkName: \"component---src-pages-northern-train-stations-js\" */),\n \"component---src-pages-northern-train-ticketcategories-js\": () => import(\"./../../../src/pages/northern-train/ticketcategories.js\" /* webpackChunkName: \"component---src-pages-northern-train-ticketcategories-js\" */),\n \"component---src-pages-northern-train-ticketconditions-js\": () => import(\"./../../../src/pages/northern-train/ticketconditions.js\" /* webpackChunkName: \"component---src-pages-northern-train-ticketconditions-js\" */),\n \"component---src-pages-northern-train-travelclasses-js\": () => import(\"./../../../src/pages/northern-train/travelclasses.js\" /* webpackChunkName: \"component---src-pages-northern-train-travelclasses-js\" */),\n \"component---src-pages-old-featured-applepay-js\": () => import(\"./../../../src/pages/old_featured/applepay.js\" /* webpackChunkName: \"component---src-pages-old-featured-applepay-js\" */),\n \"component---src-pages-old-featured-eid-3-js\": () => import(\"./../../../src/pages/old_featured/eid3.js\" /* webpackChunkName: \"component---src-pages-old-featured-eid-3-js\" */),\n \"component---src-pages-old-featured-eidaladha-js\": () => import(\"./../../../src/pages/old_featured/eidaladha.js\" /* webpackChunkName: \"component---src-pages-old-featured-eidaladha-js\" */),\n \"component---src-pages-old-featured-eidalfitr-1-js\": () => import(\"./../../../src/pages/old_featured/eidalfitr1.js\" /* webpackChunkName: \"component---src-pages-old-featured-eidalfitr-1-js\" */),\n \"component---src-pages-old-featured-foundingday-1-js\": () => import(\"./../../../src/pages/old_featured/foundingday1.js\" /* webpackChunkName: \"component---src-pages-old-featured-foundingday-1-js\" */),\n \"component---src-pages-old-featured-foundingdayoffer-1-js\": () => import(\"./../../../src/pages/old_featured/foundingdayoffer1.js\" /* webpackChunkName: \"component---src-pages-old-featured-foundingdayoffer-1-js\" */),\n \"component---src-pages-old-featured-foundingdayphotgraphy-1-js\": () => import(\"./../../../src/pages/old_featured/foundingdayphotgraphy1.js\" /* webpackChunkName: \"component---src-pages-old-featured-foundingdayphotgraphy-1-js\" */),\n \"component---src-pages-old-featured-future-projects-forumoffer-1-js\": () => import(\"./../../../src/pages/old_featured/futureProjectsForumoffer1.js\" /* webpackChunkName: \"component---src-pages-old-featured-future-projects-forumoffer-1-js\" */),\n \"component---src-pages-old-featured-nationalday-2-js\": () => import(\"./../../../src/pages/old_featured/nationalday2.js\" /* webpackChunkName: \"component---src-pages-old-featured-nationalday-2-js\" */),\n \"component---src-pages-old-featured-nationalday-23-js\": () => import(\"./../../../src/pages/old_featured/nationalday23.js\" /* webpackChunkName: \"component---src-pages-old-featured-nationalday-23-js\" */),\n \"component---src-pages-old-featured-nationalday-js\": () => import(\"./../../../src/pages/old_featured/nationalday.js\" /* webpackChunkName: \"component---src-pages-old-featured-nationalday-js\" */),\n \"component---src-pages-old-featured-parcelramadanoffer-js\": () => import(\"./../../../src/pages/old_featured/parcelramadanoffer.js\" /* webpackChunkName: \"component---src-pages-old-featured-parcelramadanoffer-js\" */),\n \"component---src-pages-old-featured-parcelshipmentqassim-js\": () => import(\"./../../../src/pages/old_featured/parcelshipmentqassim.js\" /* webpackChunkName: \"component---src-pages-old-featured-parcelshipmentqassim-js\" */),\n \"component---src-pages-old-featured-parcelshipments-js\": () => import(\"./../../../src/pages/old_featured/parcelshipments.js\" /* webpackChunkName: \"component---src-pages-old-featured-parcelshipments-js\" */),\n \"component---src-pages-old-featured-ramadan-offer-js\": () => import(\"./../../../src/pages/old_featured/ramadanOffer.js\" /* webpackChunkName: \"component---src-pages-old-featured-ramadan-offer-js\" */),\n \"component---src-pages-old-featured-ramadanbusinessclass-1-js\": () => import(\"./../../../src/pages/old_featured/ramadanbusinessclass1.js\" /* webpackChunkName: \"component---src-pages-old-featured-ramadanbusinessclass-1-js\" */),\n \"component---src-pages-old-featured-ramadanccoffer-1-js\": () => import(\"./../../../src/pages/old_featured/ramadanccoffer1.js\" /* webpackChunkName: \"component---src-pages-old-featured-ramadanccoffer-1-js\" */),\n \"component---src-pages-old-featured-ramadantimeline-js\": () => import(\"./../../../src/pages/old_featured/ramadantimeline.js\" /* webpackChunkName: \"component---src-pages-old-featured-ramadantimeline-js\" */),\n \"component---src-pages-old-featured-roadtoqatar-js\": () => import(\"./../../../src/pages/old_featured/roadtoqatar.js\" /* webpackChunkName: \"component---src-pages-old-featured-roadtoqatar-js\" */),\n \"component---src-pages-old-featured-sleepday-js\": () => import(\"./../../../src/pages/old_featured/sleepday.js\" /* webpackChunkName: \"component---src-pages-old-featured-sleepday-js\" */),\n \"component---src-pages-old-featured-walaone-js\": () => import(\"./../../../src/pages/old_featured/walaone.js\" /* webpackChunkName: \"component---src-pages-old-featured-walaone-js\" */),\n \"component---src-pages-speak-up-js\": () => import(\"./../../../src/pages/Speak-Up.js\" /* webpackChunkName: \"component---src-pages-speak-up-js\" */),\n \"component---src-pages-tis-app-js\": () => import(\"./../../../src/pages/TISApp.js\" /* webpackChunkName: \"component---src-pages-tis-app-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-analytics/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingId\":\"UA-100773692-2\",\"head\":false,\"anonymize\":false,\"respectDNT\":false,\"exclude\":[],\"pageTransitionDelay\":0,\"enableWebVitalsTracking\":false},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"fc61b41d854468c008c69471855d49f3\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"sourceInstanceName\":\"locale\",\"languages\":[\"ar\",\"en\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://sar.com.sa/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?/blog/:uid\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/sample/\",\"getLanguageFromPath\":true},{\"matchPath\":\"/preview\",\"languages\":[\"ar\"]}]},\n },{\n plugin: require('../node_modules/gatsby-plugin-breakpoints/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../gatsby-browser.js'),\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.BreakpointProvider = exports.BreakpointContext = void 0;\nexports.useBreakpoint = useBreakpoint;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst defaultValue = {};\nconst BreakpointContext = exports.BreakpointContext = /*#__PURE__*/(0, _react.createContext)(defaultValue);\nconst BreakpointProvider = ({\n children,\n queries\n}) => {\n const [queryMatch, setQueryMatch] = (0, _react.useState)({});\n (0, _react.useEffect)(() => {\n const mediaQueryLists = {};\n const keys = Object.keys(queries);\n let isAttached = false;\n const handleQueryListener = () => {\n const updatedMatches = keys.reduce((acc, media) => {\n acc[media] = !!(mediaQueryLists[media] && mediaQueryLists[media].matches);\n return acc;\n }, {});\n setQueryMatch(updatedMatches);\n };\n if (window && window.matchMedia) {\n const matches = {};\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media] = window.matchMedia(queries[media]);\n matches[media] = mediaQueryLists[media].matches;\n } else {\n matches[media] = false;\n }\n });\n setQueryMatch(matches);\n isAttached = true;\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].addListener(handleQueryListener);\n }\n });\n }\n return () => {\n if (isAttached) {\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].removeListener(handleQueryListener);\n }\n });\n }\n };\n }, [queries]);\n return /*#__PURE__*/_react.default.createElement(BreakpointContext.Provider, {\n value: queryMatch\n }, children);\n};\nexports.BreakpointProvider = BreakpointProvider;\nBreakpointProvider.propTypes = {\n children: _propTypes.default.element.isRequired,\n queries: _propTypes.default.object.isRequired\n};\nfunction useBreakpoint() {\n const context = (0, _react.useContext)(BreakpointContext);\n if (context === defaultValue) {\n throw new Error('useBreakpoint must be used within BreakpointProvider');\n }\n return context;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.defaultQueries = void 0;\nconst defaultQueries = exports.defaultQueries = {\n xs: '(max-width: 320px)',\n sm: '(max-width: 720px)',\n md: '(max-width: 1024px)',\n l: '(max-width: 1536px)'\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapRootElement = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _constants = require(\"./constants\");\nvar _BreakpointProvider = require(\"./BreakpointProvider\");\n// eslint-disable-next-line no-unused-vars\n\nconst wrapRootElement = ({\n element\n}, {\n queries = null\n}) => {\n return /*#__PURE__*/_react.default.createElement(_BreakpointProvider.BreakpointProvider, {\n queries: queries !== null ? queries : _constants.defaultQueries\n }, element);\n};\nexports.wrapRootElement = wrapRootElement;","const listOfMetricsSend = new Set();\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(fn, timeout, ...args);\n };\n}\nfunction sendWebVitals() {\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n listOfMetricsSend.add(data.name);\n sendToGoogleAnalytics(data);\n }\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000);\n // we don't need to debounce FID - we send it when it happens\n const debouncedFID = sendData;\n // LCP can occur multiple times so we debounce it\n const debouncedLCP = debounce(sendData, 3000);\n\n // With the true flag, we measure all previous occurences too, in case we start listening to late.\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\nfunction sendToGoogleAnalytics({\n name,\n value,\n id\n}) {\n window.ga(`send`, `event`, {\n eventCategory: `Web Vitals`,\n eventAction: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n eventLabel: id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n eventValue: Math.round(name === `CLS` ? value * 1000 : value),\n // Use a non-interaction event to avoid affecting bounce rate.\n nonInteraction: true,\n // Use `sendBeacon()` if the browser supports it.\n transport: `beacon`\n });\n}\nexport const onRouteUpdate = ({\n location\n}, pluginOptions = {}) => {\n const ga = window.ga;\n if (process.env.NODE_ENV !== `production` || typeof ga !== `function`) {\n return null;\n }\n const pathIsExcluded = location && typeof window.excludeGAPaths !== `undefined` && window.excludeGAPaths.some(rx => rx.test(location.pathname));\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n const sendPageView = () => {\n const pagePath = location ? location.pathname + location.search + location.hash : undefined;\n ga(`set`, `page`, pagePath);\n ga(`send`, `pageview`);\n };\n\n // Minimum delay for reactHelmet's requestAnimationFrame\n const delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\nexport function onInitialClientRender(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` && typeof ga === `function` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals();\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","'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(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\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\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\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\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\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(_objectSpread({}, {\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\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\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\n if (!listener) {\n delete this.observers[event];\n return;\n }\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\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\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\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}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\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\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\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\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\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\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\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\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\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\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\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\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\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\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\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\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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\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 = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\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\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\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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\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\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$1(_objectSpread$1({}, {}), 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\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\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$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\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\n if (key === undefined || key === null) {\n return false;\n }\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\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\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\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\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\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\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\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\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\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\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$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\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\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\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\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, 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\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\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\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\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\n _this2.emit('missingKey', l, namespace, k, res);\n };\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\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\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\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, 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$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, 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\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\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\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\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\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\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$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\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\n var extracted = _this4.extractFromKey(k, options);\n\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\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\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\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\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\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\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\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\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\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\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\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\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\n return p.join('-');\n }\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\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\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\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\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\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\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\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\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};\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}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\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\n this.rules = createRules();\n }\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\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\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\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\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\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\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\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\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\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\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\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\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\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\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\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\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\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\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(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\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\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\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 && options.hasOwnProperty(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\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\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\n replaces++;\n\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\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\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\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\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\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\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\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\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\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\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\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\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\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\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\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\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\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\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, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\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$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\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\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\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\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\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\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\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\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\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\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\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\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\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\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\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\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\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\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\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\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\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\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\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\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\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\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\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\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\n\nfunction noop() {}\n\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}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\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\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\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\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\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\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\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\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\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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\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\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\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\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\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\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\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\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\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\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\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\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\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\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\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\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\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\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\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\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\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\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\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 this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\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\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\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 = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\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\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\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\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\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\n var 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\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\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\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\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\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\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 return rtlLngs.indexOf(this.services.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\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, 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\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\n return I18n;\n}(EventEmitter);\n\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});\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","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/**\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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.6 - 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.6\\\":\\\"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 `