{"version":3,"file":"app-70fc5306c3ea0f222e68.js","mappings":"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","sources":["webpack://manager/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://manager/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://manager/./node_modules/browser-lang/dist/index.js","webpack://manager/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://manager/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://manager/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://manager/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://manager/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://manager/./node_modules/i18next-http-backend/node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://manager/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://manager/./node_modules/i18next/dist/esm/i18next.js","webpack://manager/./node_modules/outdent/lib-module/index.js","webpack://manager/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://manager/./node_modules/react-i18next/dist/es/unescape.js","webpack://manager/./node_modules/react-i18next/dist/es/context.js","webpack://manager/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://manager/./node_modules/react-i18next/dist/es/utils.js","webpack://manager/./node_modules/react-i18next/dist/es/Trans.js","webpack://manager/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://manager/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://manager/./node_modules/react-i18next/dist/es/Translation.js","webpack://manager/./node_modules/react-i18next/dist/es/useSSR.js","webpack://manager/./node_modules/react-i18next/dist/es/withSSR.js","webpack://manager/./node_modules/react-i18next/dist/es/index.js","webpack://manager/./node_modules/void-elements/index.js","webpack://manager/./node_modules/gatsby-react-router-scroll/index.js","webpack://manager/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://manager/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://manager/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://manager/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://manager/./.cache/api-runner-browser-plugins.js","webpack://manager/./.cache/api-runner-browser.js","webpack://manager/./node_modules/mitt/dist/mitt.es.js","webpack://manager/./.cache/emitter.js","webpack://manager/./.cache/normalize-page-path.js","webpack://manager/./.cache/find-path.js","webpack://manager/./.cache/static-query.js","webpack://manager/./.cache/gatsby-browser-entry.js","webpack://manager/./.cache/prefetch.js","webpack://manager/./.cache/loader.js","webpack://manager/./.cache/head/components/fire-callback-in-effect.js","webpack://manager/./.cache/head/constants.js","webpack://manager/./.cache/head/utils.js","webpack://manager/./.cache/head/head-export-handler-for-browser.js","webpack://manager/./.cache/page-renderer.js","webpack://manager/./.cache/route-announcer-props.js","webpack://manager/./.cache/navigation.js","webpack://manager/./node_modules/shallow-compare/es/index.js","webpack://manager/./.cache/ensure-resources.js","webpack://manager/./.cache/production-app.js","webpack://manager/./.cache/public-page-renderer-prod.js","webpack://manager/./.cache/public-page-renderer.js","webpack://manager/./.cache/react-dom-utils.js","webpack://manager/./.cache/react-lifecycles-compat.js","webpack://manager/./.cache/redirect-utils.js","webpack://manager/./.cache/register-service-worker.js","webpack://manager/./.cache/strip-prefix.js","webpack://manager/./node_modules/i18next-http-backend/esm/utils.js","webpack://manager/./node_modules/i18next-http-backend/esm/request.js","webpack://manager/./node_modules/i18next-http-backend/esm/index.js","webpack://manager/./src/components/i18n.js","webpack://manager/./gatsby-browser.js","webpack://manager/./gatsby-wrapper.js","webpack://manager/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://manager/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://manager/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://manager/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://manager/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://manager/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://manager/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/a-callable.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/add-to-unscopables.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/an-object.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/array-includes.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/classof-raw.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/define-global-property.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/descriptors.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/document-all.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/document-create-element.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/engine-user-agent.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/engine-v8-version.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/enum-bug-keys.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/fails.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/function-bind-native.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/function-call.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/function-uncurry-this.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/get-built-in.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/get-method.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/global.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/has-own-property.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/hidden-keys.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/html.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/ie8-dom-define.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/indexed-object.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/is-callable.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/is-null-or-undefined.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/is-object.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/is-pure.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/is-symbol.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/length-of-array-like.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/math-trunc.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-create.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-define-properties.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-define-property.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-is-prototype-of.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-keys-internal.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/object-keys.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/require-object-coercible.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/shared-key.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/shared-store.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/shared.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-absolute-index.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-indexed-object.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-length.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-object.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-primitive.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/to-property-key.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/try-to-string.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/uid.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/internals/well-known-symbol.js","webpack://manager/./node_modules/gatsby/node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://manager/./node_modules/invariant/browser.js","webpack://manager/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://manager/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://manager/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://manager/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://manager/./node_modules/@babel/runtime/helpers/createClass.js","webpack://manager/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://manager/./node_modules/@babel/runtime/helpers/extends.js","webpack://manager/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://manager/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://manager/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://manager/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://manager/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://manager/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://manager/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://manager/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://manager/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://manager/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://manager/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://manager/./node_modules/@babel/runtime/helpers/typeof.js","webpack://manager/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://manager/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://manager/./node_modules/i18next-http-backend/esm/getFetch.cjs","webpack://manager/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://manager/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://manager/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\nvar _extends = Object.assign || 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};\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\nvar _invariant = require(\"invariant\");\nvar _invariant2 = _interopRequireDefault(_invariant);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n var dynamicMatch = paramRe.exec(routeSegment);\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\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}\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n var languages = options.languages,\n fallback = options.fallback;\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n var browserLanguage = normalizeCode(getBrowserLang());\n if (!browserLanguage) {\n return fallback;\n }\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang);\n });\n return matchCodeOnly[0] || fallback;\n}\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\n\n// TODO(v5): Remove legacy setting and default to \"always\"\nconst applyTrailingSlashOption = function (input) {\n let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n const hasHtmlSuffix = input.endsWith(\".html\");\n const hasXmlSuffix = input.endsWith(\".xml\");\n const hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nmodule.exports = Object.assign;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n\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)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\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.\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\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}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n\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}","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = function () {\n function F() {\n this.fetch = false;\n this.DOMException = global.DOMException;\n }\n F.prototype = global;\n return new F();\n}();\n(function (self) {\n var irrelevant = function (exports) {\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && function () {\n try {\n new Blob();\n return true;\n } catch (e) {\n return false;\n }\n }(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj);\n }\n if (support.arrayBuffer) {\n var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]'];\n var isArrayBufferView = ArrayBuffer.isView || function (obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;\n };\n }\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name');\n }\n return name.toLowerCase();\n }\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value;\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function () {\n var value = items.shift();\n return {\n done: value === undefined,\n value: value\n };\n }\n };\n if (support.iterable) {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n return iterator;\n }\n function Headers(headers) {\n this.map = {};\n if (headers instanceof Headers) {\n headers.forEach(function (value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function (header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function (name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n Headers.prototype.append = function (name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n Headers.prototype['delete'] = function (name) {\n delete this.map[normalizeName(name)];\n };\n Headers.prototype.get = function (name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null;\n };\n Headers.prototype.has = function (name) {\n return this.map.hasOwnProperty(normalizeName(name));\n };\n Headers.prototype.set = function (name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n Headers.prototype.forEach = function (callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n Headers.prototype.keys = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push(name);\n });\n return iteratorFor(items);\n };\n Headers.prototype.values = function () {\n var items = [];\n this.forEach(function (value) {\n items.push(value);\n });\n return iteratorFor(items);\n };\n Headers.prototype.entries = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items);\n };\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'));\n }\n body.bodyUsed = true;\n }\n function fileReaderReady(reader) {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result);\n };\n reader.onerror = function () {\n reject(reader.error);\n };\n });\n }\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise;\n }\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise;\n }\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('');\n }\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0);\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer;\n }\n }\n function Body() {\n this.bodyUsed = false;\n this._initBody = function (body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n if (support.blob) {\n this.blob = function () {\n var rejected = consumed(this);\n if (rejected) {\n return rejected;\n }\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob);\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]));\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob');\n } else {\n return Promise.resolve(new Blob([this._bodyText]));\n }\n };\n this.arrayBuffer = function () {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer);\n } else {\n return this.blob().then(readBlobAsArrayBuffer);\n }\n };\n }\n this.text = function () {\n var rejected = consumed(this);\n if (rejected) {\n return rejected;\n }\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob);\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text');\n } else {\n return Promise.resolve(this._bodyText);\n }\n };\n if (support.formData) {\n this.formData = function () {\n return this.text().then(decode);\n };\n }\n this.json = function () {\n return this.text().then(JSON.parse);\n };\n return this;\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method;\n }\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read');\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests');\n }\n this._initBody(body);\n }\n Request.prototype.clone = function () {\n return new Request(this, {\n body: this._bodyInit\n });\n };\n function decode(body) {\n var form = new FormData();\n body.trim().split('&').forEach(function (bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form;\n }\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function (line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers;\n }\n Body.call(Request.prototype);\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n Body.call(Response.prototype);\n Response.prototype.clone = function () {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n });\n };\n Response.error = function () {\n var response = new Response(null, {\n status: 0,\n statusText: ''\n });\n response.type = 'error';\n return response;\n };\n var redirectStatuses = [301, 302, 303, 307, 308];\n Response.redirect = function (url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code');\n }\n return new Response(null, {\n status: status,\n headers: {\n location: url\n }\n });\n };\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function (message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n function fetch(input, init) {\n return new Promise(function (resolve, reject) {\n var request = new Request(input, init);\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'));\n }\n var xhr = new XMLHttpRequest();\n function abortXhr() {\n xhr.abort();\n }\n xhr.onload = function () {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n xhr.onerror = function () {\n reject(new TypeError('Network request failed'));\n };\n xhr.ontimeout = function () {\n reject(new TypeError('Network request failed'));\n };\n xhr.onabort = function () {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n xhr.open(request.method, request.url, true);\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n request.headers.forEach(function (value, name) {\n xhr.setRequestHeader(name, value);\n });\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n xhr.onreadystatechange = function () {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n });\n }\n fetch.polyfill = true;\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n return exports;\n }({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch; // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch; // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch; // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers;\nexports.Request = ctx.Request;\nexports.Response = ctx.Response;\nmodule.exports = exports;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _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}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _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}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./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}\nexport default function _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}","export default 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}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _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}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _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}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, 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: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\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);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\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};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n _createClass(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 return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var rule = this.getRule(code);\n if (!rule) {\n return [];\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n var rule = this.getRule(code);\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n return PluralResolver;\n}();\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\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 (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions = _objectSpread({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\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 optionsString = optionsString.replace(/'/g, '\"');\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: 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(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n options.supportedLngs = options.whitelist;\n }\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\nfunction noop() {}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var 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 s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.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'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\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 }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\nvar i18next = new I18n();\nexport default i18next;","// 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 } 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,\n trimLeadingNewline = options.trimLeadingNewline,\n 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 (_) {\n return newline;\n });\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) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : 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 } 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\", {\n value: true\n });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n } catch (e) {}\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}","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};\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\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\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n 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 this.usedNamespaces = {};\n }\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\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 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 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 e from \"void-elements\";\nvar t = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;\nfunction n(n) {\n var r = {\n type: \"tag\",\n name: \"\",\n voidElement: !1,\n attrs: {},\n children: []\n },\n i = n.match(/<\\/?([^\\s]+?)[/\\s>]/);\n if (i && (r.name = i[1], (e[i[1]] || \"/\" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith(\"!--\"))) {\n var s = n.indexOf(\"--\\x3e\");\n return {\n type: \"comment\",\n comment: -1 !== s ? n.slice(4, s) : \"\"\n };\n }\n for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) if (c[0].trim()) if (c[1]) {\n var o = c[1].trim(),\n l = [o, \"\"];\n o.indexOf(\"=\") > -1 && (l = o.split(\"=\")), r.attrs[l[0]] = l[1], a.lastIndex--;\n } else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));\n return r;\n}\nvar r = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,\n i = /^\\s*$/,\n s = Object.create(null);\nfunction a(e, t) {\n switch (t.type) {\n case \"text\":\n return e + t.content;\n case \"tag\":\n return e += \"<\" + t.name + (t.attrs ? function (e) {\n var t = [];\n for (var n in e) t.push(n + '=\"' + e[n] + '\"');\n return t.length ? \" \" + t.join(\" \") : \"\";\n }(t.attrs) : \"\") + (t.voidElement ? \"/>\" : \">\"), t.voidElement ? e : e + t.children.reduce(a, \"\") + \"\";\n case \"comment\":\n return e + \"\\x3c!--\" + t.comment + \"--\\x3e\";\n }\n}\nvar c = {\n parse: function (e, t) {\n t || (t = {}), t.components || (t.components = s);\n var a,\n c = [],\n o = [],\n l = -1,\n m = !1;\n if (0 !== e.indexOf(\"<\")) {\n var u = e.indexOf(\"<\");\n c.push({\n type: \"text\",\n content: -1 === u ? e : e.substring(0, u)\n });\n }\n return e.replace(r, function (r, s) {\n if (m) {\n if (r !== \"\") return;\n m = !1;\n }\n var u,\n f = \"/\" !== r.charAt(1),\n h = r.startsWith(\"\\x3c!--\"),\n p = s + r.length,\n d = e.charAt(p);\n if (h) {\n var v = n(r);\n return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);\n }\n 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({\n type: \"text\",\n content: e.slice(p, e.indexOf(\"<\", p))\n }), 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)) {\n u = -1 === l ? c : o[l].children;\n var x = e.indexOf(\"<\", p),\n g = e.slice(p, -1 === x ? void 0 : x);\n i.test(g) && (g = \" \"), (x > -1 && l + u.length >= 0 || \" \" !== g) && u.push({\n type: \"text\",\n content: g\n });\n }\n }), c;\n },\n stringify: function (e) {\n return e.reduce(function (e, t) {\n return e + a(\"\", t);\n }, \"\");\n }\n};\nexport default c;","export function warn() {\n if (console && console.warn) {\n var _console;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\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 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 i18n.on('initialized', initialized);\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 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 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}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\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}","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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n 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';\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}\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\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}\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\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 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 var keys = Object.keys(clone);\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}\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 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 getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\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 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 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 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 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 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 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 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 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 var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\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 return mem;\n }, []);\n }\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\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 var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n if (context) tOptions.context = context;\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\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 var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\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}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\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};\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\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 var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\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 function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\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 if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n function boundReset() {\n if (isMounted.current) setT(getT);\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 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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n 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 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 var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\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 var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\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 var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\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 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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n 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 useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\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};","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\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); }\n\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; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\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}","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-easydiag-index-js\": () => import(\"./../../../src/pages/easydiag/index.js\" /* webpackChunkName: \"component---src-pages-easydiag-index-js\" */),\n \"component---src-pages-easydiagdpf-index-js\": () => import(\"./../../../src/pages/easydiagdpf/index.js\" /* webpackChunkName: \"component---src-pages-easydiagdpf-index-js\" */),\n \"component---src-pages-ecodiag-index-js\": () => import(\"./../../../src/pages/ecodiag/index.js\" /* webpackChunkName: \"component---src-pages-ecodiag-index-js\" */),\n \"component---src-pages-ecomaintenance-index-js\": () => import(\"./../../../src/pages/ecomaintenance/index.js\" /* webpackChunkName: \"component---src-pages-ecomaintenance-index-js\" */),\n \"component---src-pages-ecoreparation-index-js\": () => import(\"./../../../src/pages/ecoreparation/index.js\" /* webpackChunkName: \"component---src-pages-ecoreparation-index-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-introductionplus-index-js\": () => import(\"./../../../src/pages/introductionplus/index.js\" /* webpackChunkName: \"component---src-pages-introductionplus-index-js\" */),\n \"component---src-templates-project-details-js\": () => import(\"./../../../src/templates/project-details.js\" /* webpackChunkName: \"component---src-templates-project-details-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"fr\",\"en\",\"nl\",\"de\",\"it\",\"es\"],\"defaultLanguage\":\"fr\",\"siteUrl\":\"https://ecomaintenance.eu\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":\".\",\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?/blog/:uid\",\"getLanguageFromPath\":true,\"excludeLanguages\":[\"es\"]},{\"matchPath\":\"/preview\",\"languages\":[\"fr\"]}]},\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","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","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/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst StaticQueryContext = React.createContext({})\nlet StaticQueryServerContext = null\nif (React.createServerContext) {\n StaticQueryServerContext = React.createServerContext(`StaticQuery`, {})\n}\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\n// TODO(v5): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\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 let context\n\n // Can we get a better check here?\n if (\n StaticQueryServerContext &&\n Object.keys(StaticQueryServerContext._currentValue).length\n ) {\n context = React.useContext(StaticQueryServerContext)\n } else {\n context = React.useContext(StaticQueryContext)\n }\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 {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\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 default as Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n} from \"./static-query\"\n\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 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\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 }\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.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 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 {\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 let inFlightPromise\n if (global.hasPartialHydration) {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n this.loadPartialHydrationJson(pagePath),\n ]).then(([appData, { payload: pageData }, result]) => {\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n const finalResult = {}\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 const componentChunkPromise = this.loadComponent(\n pageData.componentChunkName,\n `head`\n ).then(head => {\n finalResult.createdAt = new Date()\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appData\n ? appData.webpackCompilationHash\n : ``,\n })\n\n const pageResources = toPageResources(pageData, null, head)\n\n if (result.payload && typeof result.payload === `string`) {\n pageResources.partialHydration = result.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(result.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 }\n\n // undefined if final result is an error\n return pageResources\n })\n\n // Necessary for head component\n const staticQueryBatchPromise = Promise.all(\n (pageData.staticQueryHashes || []).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([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = {\n ...pageResources,\n staticQueryResults: staticQueryResults,\n }\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 } else {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\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 const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.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([componentChunkPromise, 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 // 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 // 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","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]\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 pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\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.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\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","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 { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\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[indexOfPreviouslyInsertedNode].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\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 // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\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 Head = pageComponent.Head\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 \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\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 { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\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_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n 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(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, 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 \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\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 class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n if (pageResources.partialHydration) {\n return (\n \n {children}\n \n )\n } else {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\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","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n 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 hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\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","/**\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","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n return Promise.resolve(maybePromise);\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nimport { defaults, hasXMLHttpRequest } from './utils.js';\nimport * as fetchNode from './getFetch.cjs';\nvar fetchApi;\nif (typeof fetch === 'function') {\n if (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n } else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n } else {\n fetchApi = fetch;\n }\n}\nvar XmlHttpRequestApi;\nif (hasXMLHttpRequest()) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\nvar ActiveXObjectApi;\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\nif (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode;\nif (typeof fetchApi !== 'function') fetchApi = undefined;\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n return url;\n};\nvar fetchIt = function fetchIt(url, fetchOptions, callback) {\n fetchApi(url, fetchOptions).then(function (response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n }).catch(callback);\n};\nvar omitFetchOptions = false;\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n var headers = defaults({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (payload) headers['Content-Type'] = 'application/json';\n var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions;\n var fetchOptions = defaults({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, omitFetchOptions ? {} : reqOptions);\n try {\n fetchIt(url, fetchOptions, callback);\n } catch (e) {\n if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) {\n return callback(e);\n }\n try {\n Object.keys(reqOptions).forEach(function (opt) {\n delete fetchOptions[opt];\n });\n fetchIt(url, fetchOptions, callback);\n omitFetchOptions = true;\n } catch (err) {\n callback(err);\n }\n }\n};\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n try {\n var x;\n if (XmlHttpRequestApi) {\n x = new XmlHttpRequestApi();\n } else {\n x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n }\n x.open(payload ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n callback = callback || function () {};\n if (fetchApi) {\n return requestWithFetch(options, url, payload, callback);\n }\n if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n callback(new Error('No fetch and no xhr implementation found!'));\n};\nexport default request;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\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}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { defaults, makePromise } from './utils.js';\nimport request from './request.js';\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Backend);\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n this.allOptions = allOptions;\n if (this.services && this.options.reloadInterval) {\n setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n var url = _this2.services.interpolator.interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n this.options.request(this.options, url, undefined, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message && err.message.indexOf('Failed to fetch') > -1) return callback('failed loading ' + url + ': ' + err.message, true);\n if (err) return callback(err, false);\n var ret, parseErr;\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n var url = _this4.services.interpolator.interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n if (finished === languages.length) {\n if (callback) callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n return Backend;\n}();\nBackend.type = 'backend';\nexport default Backend;","import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\nimport Backend from 'i18next-http-backend'\r\n\r\ni18n\r\n .use(Backend)\r\n .use(initReactI18next)\r\n .init({\r\n resources: { // Import translations you made from certain path.\r\n en: {\r\n translation: require('../locales/en/translation.json')\r\n },\r\n de: {\r\n translation: require('../locales/de/translation.json')\r\n },\r\n fr: {\r\n translation: require('../locales/fr/translation.json')\r\n },\r\n nl: {\r\n translation: require('../locales/nl/translation.json')\r\n },\r\n it: {\r\n translation: require('../locales/it/translation.json')\r\n },\r\n es: {\r\n translation: require('../locales/es/translation.json')\r\n }\r\n },\r\n debug: process.env.NODE_ENV === \"development\",\r\n fallbackLng: 'fr', // Set default language\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n})\r\n\r\nexport default i18n","// gatsby-browser.js\r\n\r\nimport { rootWrapper } from './gatsby-wrapper'\r\n\r\nexport const wrapRootElement = rootWrapper","// gatsby-wrapper.js\r\n\r\nimport React from 'react'\r\nimport { I18nextProvider } from 'react-i18next'\r\nimport i18n from './src/components/i18n'\r\n\r\nexport const rootWrapper = ({ element }) => (\r\n <>\r\n \r\n {element}\r\n \r\n \r\n)","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.I18nextContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\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});\n\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\n\nvar _types = require(\"../types\");\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _reactI18next = require(\"react-i18next\");\n\nvar _i18nextContext = require(\"../i18nextContext\");\n\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\n\nvar _templateObject;\n\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};\n\nvar removePathPrefix = function removePathPrefix(pathname) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n\n if (pathname.startsWith(pathPrefix)) {\n return pathname.replace(pathPrefix, '/');\n }\n\n return pathname;\n};\n\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN;\n\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 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\n if (isRedirect) {\n var search = location.search; // Skip build, Browsers only\n\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\n if (!languages.includes(detected)) {\n detected = language;\n }\n\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname) + queryParams + location.hash); // @ts-ignore\n\n window.___replace(newUrl);\n\n return null;\n }\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\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\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\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\n var defaultNS = i18nextOptions.defaultNS || '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 = JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns] = parsedData;\n return res;\n }, {});\n\n var i18n = _i18next.default.createInstance();\n\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: {\n useSuspense: false\n }\n }));\n\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\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};\n\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n var dynamicMatch = paramRe.exec(routeSegment);\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || 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};\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || 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};\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n function LocationProvider() {\n var _temp, _this, _ret;\n _classCallCheck(this, LocationProvider);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n var refs = this.state.refs,\n history = this.props.history;\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n});\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n return RouterImpl;\n}(React.PureComponent);\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n _classCallCheck(this, FocusHandlerImpl);\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n var requestFocus = this.props.requestFocus;\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n return FocusHandlerImpl;\n}(React.Component);\npolyfill(FocusHandlerImpl);\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n return RedirectImpl;\n}(React.Component);\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n return context.location;\n};\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n return context.navigate;\n};\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.31.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > 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;","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 _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - 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(w,1e4),e.addEventListener(\\\"pt0\\\",f),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):w())))}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.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\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 `