{"version":3,"file":"app-bc4e01fb285970ab0a3b.js","mappings":"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","sources":["webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@aws-crypto/sha256-js/build/module/constants.js","webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@aws-crypto/sha256-js/build/module/RawSha256.js","webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@aws-crypto/util/build/module/convertToBuffer.js","webpack://best-ai/./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@aws-crypto/sha256-js/build/module/jsSha256.js","webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@aws-crypto/util/build/module/isEmptyData.js","webpack://best-ai/./node_modules/@aws-amplify/core/node_modules/@smithy/util-hex-encoding/dist-es/index.js","webpack://best-ai/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://best-ai/./node_modules/gatsby-react-router-scroll/index.js","webpack://best-ai/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://best-ai/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://best-ai/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://best-ai/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://best-ai/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://best-ai/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://best-ai/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://best-ai/./.cache/api-runner-browser-plugins.js","webpack://best-ai/./.cache/api-runner-browser.js","webpack://best-ai/./.cache/create-content-digest-browser-shim.js","webpack://best-ai/./.cache/emitter.js","webpack://best-ai/./node_modules/mitt/dist/mitt.es.js","webpack://best-ai/./.cache/normalize-page-path.js","webpack://best-ai/./.cache/find-path.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://best-ai/./.cache/slice/server-slice-renderer.js","webpack://best-ai/./.cache/slice/server-slice.js","webpack://best-ai/./.cache/slice/inline-slice.js","webpack://best-ai/./.cache/slice.js","webpack://best-ai/./.cache/gatsby-browser-entry.js","webpack://best-ai/./.cache/prefetch.js","webpack://best-ai/./.cache/loader.js","webpack://best-ai/./.cache/head/components/fire-callback-in-effect.js","webpack://best-ai/./.cache/head/constants.js","webpack://best-ai/./.cache/head/utils.js","webpack://best-ai/./.cache/head/head-export-handler-for-browser.js","webpack://best-ai/./.cache/page-renderer.js","webpack://best-ai/./.cache/route-announcer-props.js","webpack://best-ai/./.cache/navigation.js","webpack://best-ai/./node_modules/shallow-compare/es/index.js","webpack://best-ai/./.cache/ensure-resources.js","webpack://best-ai/./.cache/production-app.js","webpack://best-ai/./.cache/public-page-renderer-prod.js","webpack://best-ai/./.cache/public-page-renderer.js","webpack://best-ai/./.cache/react-dom-utils.js","webpack://best-ai/./.cache/redirect-utils.js","webpack://best-ai/./.cache/register-service-worker.js","webpack://best-ai/./.cache/slice/context.js","webpack://best-ai/./.cache/static-query.js","webpack://best-ai/./.cache/context-utils.js","webpack://best-ai/./.cache/strip-prefix.js","webpack://best-ai/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/CookieStorage.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/errors/PlatformNotSupportedError.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/KeyValueStorage.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/InMemoryStorage.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/DefaultStorage.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/utils.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/storage/SessionStorage.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/convert/base64/base64Decoder.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/errors/createAssertionFunction.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/singleton/Auth/utils/errorHelpers.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/singleton/Auth/utils/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/errors/AuthError.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/errors/utils/assertServiceError.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/clients/CognitoIdentityProvider/base.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/clients/CognitoIdentityProvider/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/clients/CognitoIdentityProvider/utils.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/errors/constants.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/types.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/userContextData.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/deDupeAsyncFunction.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/types.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/errorHelpers.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/TokenStore.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/signInWithRedirectStore.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/oAuthStore.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/inflightPromise.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/TokenOrchestrator.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/isBrowser.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/tokenProvider.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/types.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/IdentityIdStore.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/awsClients/cognitoIdentity/base.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/awsClients/cognitoIdentity/getId.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/utils.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/IdentityIdProvider.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/credentialsProvider.mjs","webpack://best-ai/./node_modules/@aws-amplify/auth/dist/esm/providers/cognito/credentialsProvider/index.mjs","webpack://best-ai/./src/aws-exports.js","webpack://best-ai/./node_modules/aws-amplify/dist/esm/initSingleton.mjs","webpack://best-ai/./gatsby-browser.js","webpack://best-ai/./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack://best-ai/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://best-ai/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://best-ai/./node_modules/invariant/browser.js","webpack://best-ai/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://best-ai/./node_modules/react-server-dom-webpack/index.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://best-ai/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Hub/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Logger/types.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Logger/ConsoleLogger.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/helpers.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Expo.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/ReactNative.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Next.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Nuxt.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Angular.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/React.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Vue.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Svelte.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detection/Web.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/detectFramework.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/version.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/customUserAgent.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/Platform/types.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/endpoints/partitions.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/endpoints/getDnsSuffix.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/handlers/fetch.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/handlers/unauthenticated.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/internal/composeServiceApi.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/internal/composeTransferHandler.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/isClockSkewError.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/jitteredBackoff.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/middleware.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/middleware/userAgent/middleware.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/serde/json.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/serde/responseInfo.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/clients/utils/memoization.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/constants.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/errors/AmplifyError.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/deepFreeze.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/singleton/constants.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/singleton/Amplify.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/singleton/Auth/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/types/errors.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/amplifyUrl/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/globalHelpers/index.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/parseAWSExports.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/parseAmplifyOutputs.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/parseAmplifyConfig.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/retry/constants.mjs","webpack://best-ai/./node_modules/@aws-amplify/core/dist/esm/utils/retry/jitteredBackoff.mjs","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://best-ai/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://best-ai/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://best-ai/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://best-ai/./node_modules/gatsby-script/dist/index.modern.mjs","webpack://best-ai/./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["/**\n * @internal\n */\nexport var BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexport var DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexport var KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexport var INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexport var MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=constants.js.map","import { BLOCK_SIZE, DIGEST_LENGTH, INIT, KEY, MAX_HASHABLE_LENGTH } from \"./constants\";\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\n for (var i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexport { RawSha256 };\n//# sourceMappingURL=RawSha256.js.map","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : fromUtf8Browser;\nexport function convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=convertToBuffer.js.map","export const fromUtf8 = (input) => new TextEncoder().encode(input);\n","import { __awaiter, __generator } from \"tslib\";\nimport { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n Sha256.prototype.update = function (toHash) {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update(convertToBuffer(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n Sha256.prototype.reset = function () {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n var inner = bufferFromSecret(this.secret);\n var outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n };\n return Sha256;\n}());\nexport { Sha256 };\nfunction bufferFromSecret(secret) {\n var input = convertToBuffer(secret);\n if (input.byteLength > BLOCK_SIZE) {\n var bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n//# sourceMappingURL=jsSha256.js.map","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\n//# sourceMappingURL=isEmptyData.js.map","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-blog-js\": () => import(\"./../../../src/pages/blog.js\" /* webpackChunkName: \"component---src-pages-blog-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-my-tools-ai-csv-from-statement-index-js\": () => import(\"./../../../src/pages/my-tools/ai-csv-from-statement/index.js\" /* webpackChunkName: \"component---src-pages-my-tools-ai-csv-from-statement-index-js\" */),\n \"component---src-pages-my-tools-ai-react-builder-index-js\": () => import(\"./../../../src/pages/my-tools/ai-react-builder/index.js\" /* webpackChunkName: \"component---src-pages-my-tools-ai-react-builder-index-js\" */),\n \"component---src-pages-my-tools-ai-voicemail-greeting-generator-index-js\": () => import(\"./../../../src/pages/my-tools/ai-voicemail-greeting-generator/index.js\" /* webpackChunkName: \"component---src-pages-my-tools-ai-voicemail-greeting-generator-index-js\" */),\n \"component---src-pages-privacy-js\": () => import(\"./../../../src/pages/privacy.js\" /* webpackChunkName: \"component---src-pages-privacy-js\" */),\n \"component---src-pages-stop-emails-js\": () => import(\"./../../../src/pages/stop-emails.js\" /* webpackChunkName: \"component---src-pages-stop-emails-js\" */),\n \"component---src-pages-terms-and-conditions-js\": () => import(\"./../../../src/pages/terms-and-conditions.js\" /* webpackChunkName: \"component---src-pages-terms-and-conditions-js\" */),\n \"component---src-templates-blog-page-js\": () => import(\"./../../../src/templates/blog-page.js\" /* webpackChunkName: \"component---src-templates-blog-page-js\" */),\n \"component---src-templates-service-js\": () => import(\"./../../../src/templates/service.js\" /* webpackChunkName: \"component---src-templates-service-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-MV9142J4F0\"],\"gtagConfig\":{\"send_page_view\":true,\"cookie_expires\":0,\"anonymize_ip\":false},\"pluginConfig\":{\"head\":true,\"respectDNT\":false,\"exclude\":[],\"origin\":\"https://www.googletagmanager.com\",\"delayOnRouteUpdate\":0}},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"53aa06cf17e4239d0dba6ffd09854e02\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import JsCookie from 'js-cookie';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass CookieStorage {\n constructor(data = {}) {\n const { path, domain, expires, sameSite, secure } = data;\n this.domain = domain;\n this.path = path || '/';\n this.expires = Object.prototype.hasOwnProperty.call(data, 'expires')\n ? expires\n : 365;\n this.secure = Object.prototype.hasOwnProperty.call(data, 'secure')\n ? secure\n : true;\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!sameSite || !['strict', 'lax', 'none'].includes(sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = sameSite;\n }\n }\n async setItem(key, value) {\n JsCookie.set(key, value, this.getData());\n }\n async getItem(key) {\n const item = JsCookie.get(key);\n return item ?? null;\n }\n async removeItem(key) {\n JsCookie.remove(key, this.getData());\n }\n async clear() {\n const cookie = JsCookie.get();\n const promises = Object.keys(cookie).map(key => this.removeItem(key));\n await Promise.all(promises);\n }\n getData() {\n return {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure,\n ...(this.sameSite && { sameSite: this.sameSite }),\n };\n }\n}\n\nexport { CookieStorage };\n//# sourceMappingURL=CookieStorage.mjs.map\n","import { AmplifyErrorCode } from '../types/errors.mjs';\nimport { AmplifyError } from './AmplifyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass PlatformNotSupportedError extends AmplifyError {\n constructor() {\n super({\n name: AmplifyErrorCode.PlatformNotSupported,\n message: 'Function not supported on current platform',\n });\n }\n}\n\nexport { PlatformNotSupportedError };\n//# sourceMappingURL=PlatformNotSupportedError.mjs.map\n","import { PlatformNotSupportedError } from '../errors/PlatformNotSupportedError.mjs';\nimport '../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass KeyValueStorage {\n constructor(storage) {\n this.storage = storage;\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n async setItem(key, value) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.setItem(key, value);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n async getItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n return this.storage.getItem(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n async removeItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.removeItem(key);\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n async clear() {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.clear();\n }\n}\n\nexport { KeyValueStorage };\n//# sourceMappingURL=KeyValueStorage.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass InMemoryStorage {\n constructor() {\n this.storage = new Map();\n }\n get length() {\n return this.storage.size;\n }\n key(index) {\n if (index > this.length - 1) {\n return null;\n }\n return Array.from(this.storage.keys())[index];\n }\n setItem(key, value) {\n this.storage.set(key, value);\n }\n getItem(key) {\n return this.storage.get(key) ?? null;\n }\n removeItem(key) {\n this.storage.delete(key);\n }\n clear() {\n this.storage.clear();\n }\n}\n\nexport { InMemoryStorage };\n//# sourceMappingURL=InMemoryStorage.mjs.map\n","import { DefaultStorage } from './DefaultStorage.mjs';\nimport { InMemoryStorage } from './InMemoryStorage.mjs';\nimport { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { SessionStorage } from './SessionStorage.mjs';\nexport { CookieStorage } from './CookieStorage.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst defaultStorage = new DefaultStorage();\nconst sessionStorage = new SessionStorage();\nconst sharedInMemoryStorage = new KeyValueStorage(new InMemoryStorage());\n\nexport { defaultStorage, sessionStorage, sharedInMemoryStorage };\n//# sourceMappingURL=index.mjs.map\n","import { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { getLocalStorageWithFallback } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass DefaultStorage extends KeyValueStorage {\n constructor() {\n super(getLocalStorageWithFallback());\n }\n}\n\nexport { DefaultStorage };\n//# sourceMappingURL=DefaultStorage.mjs.map\n","import { InMemoryStorage } from './InMemoryStorage.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n * @returns Either a reference to window.localStorage or an in-memory storage as fallback\n */\nconst getLocalStorageWithFallback = () => typeof window !== 'undefined' && window.localStorage\n ? window.localStorage\n : new InMemoryStorage();\n/**\n * @internal\n * @returns Either a reference to window.sessionStorage or an in-memory storage as fallback\n */\nconst getSessionStorageWithFallback = () => typeof window !== 'undefined' && window.sessionStorage\n ? window.sessionStorage\n : new InMemoryStorage();\n\nexport { getLocalStorageWithFallback, getSessionStorageWithFallback };\n//# sourceMappingURL=utils.mjs.map\n","import { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { getSessionStorageWithFallback } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass SessionStorage extends KeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n\nexport { SessionStorage };\n//# sourceMappingURL=SessionStorage.mjs.map\n","import { getAtob } from '../../globalHelpers/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst base64Decoder = {\n convert(input) {\n return getAtob()(input);\n },\n};\n\nexport { base64Decoder };\n//# sourceMappingURL=base64Decoder.mjs.map\n","import { AmplifyError } from './AmplifyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createAssertionFunction = (errorMap, AssertionError = AmplifyError) => (assertion, name, additionalContext) => {\n const { message, recoverySuggestion } = errorMap[name];\n if (!assertion) {\n throw new AssertionError({\n name,\n message: additionalContext\n ? `${message} ${additionalContext}`\n : message,\n recoverySuggestion,\n });\n }\n};\n\nexport { createAssertionFunction };\n//# sourceMappingURL=createAssertionFunction.mjs.map\n","import { createAssertionFunction } from '../../../errors/createAssertionFunction.mjs';\nimport '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar AuthConfigurationErrorCode;\n(function (AuthConfigurationErrorCode) {\n AuthConfigurationErrorCode[\"AuthTokenConfigException\"] = \"AuthTokenConfigException\";\n AuthConfigurationErrorCode[\"AuthUserPoolAndIdentityPoolException\"] = \"AuthUserPoolAndIdentityPoolException\";\n AuthConfigurationErrorCode[\"AuthUserPoolException\"] = \"AuthUserPoolException\";\n AuthConfigurationErrorCode[\"InvalidIdentityPoolIdException\"] = \"InvalidIdentityPoolIdException\";\n AuthConfigurationErrorCode[\"OAuthNotConfigureException\"] = \"OAuthNotConfigureException\";\n})(AuthConfigurationErrorCode || (AuthConfigurationErrorCode = {}));\nconst authConfigurationErrorMap = {\n [AuthConfigurationErrorCode.AuthTokenConfigException]: {\n message: 'Auth Token Provider not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolAndIdentityPoolException]: {\n message: 'Auth UserPool or IdentityPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with UserPoolId and IdentityPoolId.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolException]: {\n message: 'Auth UserPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with userPoolId and userPoolClientId.',\n },\n [AuthConfigurationErrorCode.InvalidIdentityPoolIdException]: {\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n },\n [AuthConfigurationErrorCode.OAuthNotConfigureException]: {\n message: 'oauth param not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure with oauth parameter in your app.',\n },\n};\nconst assert = createAssertionFunction(authConfigurationErrorMap);\n\nexport { AuthConfigurationErrorCode, assert };\n//# sourceMappingURL=errorHelpers.mjs.map\n","import { base64Decoder } from '../../../utils/convert/base64/base64Decoder.mjs';\nimport '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\nimport { assert, AuthConfigurationErrorCode } from './errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertTokenProviderConfig(cognitoConfig) {\n let assertionValid = true; // assume valid until otherwise proveed\n if (!cognitoConfig) {\n assertionValid = false;\n }\n else {\n assertionValid =\n !!cognitoConfig.userPoolId && !!cognitoConfig.userPoolClientId;\n }\n assert(assertionValid, AuthConfigurationErrorCode.AuthUserPoolException);\n}\nfunction assertOAuthConfig(cognitoConfig) {\n const validOAuthConfig = !!cognitoConfig?.loginWith?.oauth?.domain &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignOut &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignIn &&\n !!cognitoConfig?.loginWith?.oauth?.responseType;\n assert(validOAuthConfig, AuthConfigurationErrorCode.OAuthNotConfigureException);\n}\nfunction assertIdentityPoolIdConfig(cognitoConfig) {\n const validConfig = !!cognitoConfig?.identityPoolId;\n assert(validConfig, AuthConfigurationErrorCode.InvalidIdentityPoolIdException);\n}\nfunction decodeJWT(token) {\n const tokenParts = token.split('.');\n if (tokenParts.length !== 3) {\n throw new Error('Invalid token');\n }\n try {\n const base64WithUrlSafe = tokenParts[1];\n const base64 = base64WithUrlSafe.replace(/-/g, '+').replace(/_/g, '/');\n const jsonStr = decodeURIComponent(base64Decoder\n .convert(base64)\n .split('')\n .map(char => `%${`00${char.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''));\n const payload = JSON.parse(jsonStr);\n return {\n toString: () => token,\n payload,\n };\n }\n catch (err) {\n throw new Error('Invalid token payload');\n }\n}\n\nexport { assertIdentityPoolIdConfig, assertOAuthConfig, assertTokenProviderConfig, decodeJWT };\n//# sourceMappingURL=index.mjs.map\n","import { AmplifyError } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass AuthError extends AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AuthError;\n Object.setPrototypeOf(this, AuthError.prototype);\n }\n}\n\nexport { AuthError };\n//# sourceMappingURL=AuthError.mjs.map\n","import { AmplifyErrorCode } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertServiceError(error) {\n if (!error ||\n error.name === 'Error' ||\n error instanceof TypeError) {\n throw new AuthError({\n name: AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: error,\n });\n }\n}\n\nexport { assertServiceError };\n//# sourceMappingURL=assertServiceError.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { unauthenticatedHandler, getRetryDecider, parseJsonError, jitteredBackoff, getDnsSuffix } from '@aws-amplify/core/internals/aws-client-utils';\nimport { getAmplifyUserAgent, AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nconst SERVICE_NAME = 'cognito-idp';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region.\n */\nconst endpointResolver = ({ region }) => {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n const customURL = authConfig?.userPoolEndpoint;\n const defaultURL = new AmplifyUrl(`https://${SERVICE_NAME}.${region}.${getDnsSuffix(region)}`);\n return {\n url: customURL ? new AmplifyUrl(customURL) : defaultURL,\n };\n};\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nconst disableCacheMiddlewareFactory = () => (next, _) => async function disableCacheMiddleware(request) {\n request.headers['cache-control'] = 'no-store';\n return next(request);\n};\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nconst cognitoUserPoolTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n/**\n * @internal\n */\nconst defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n cache: 'no-store',\n};\n/**\n * @internal\n */\nconst getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityProviderService.${operation}`,\n});\n/**\n * @internal\n */\nconst buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n\nexport { buildHttpRpcRequest, cognitoUserPoolTransferHandler, defaultConfig, getSharedHeaders };\n//# sourceMappingURL=base.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { parseJsonError, parseJsonBody } from '@aws-amplify/core/internals/aws-client-utils';\nimport { assertServiceError } from '../../../../../errors/utils/assertServiceError.mjs';\nimport { AuthError } from '../../../../../errors/AuthError.mjs';\nimport { cognitoUserPoolTransferHandler, defaultConfig, buildHttpRpcRequest, getSharedHeaders } from './base.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst buildUserPoolSerializer = (operation) => (input, endpoint) => {\n const headers = getSharedHeaders(operation);\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst buildUserPoolDeserializer = () => {\n return async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n throw new AuthError({ name: error.name, message: error.message });\n }\n else {\n const body = await parseJsonBody(response);\n return body;\n }\n };\n};\nconst handleEmptyResponseDeserializer = () => {\n return async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n throw new AuthError({ name: error.name, message: error.message });\n }\n else {\n return undefined;\n }\n };\n};\nconst initiateAuth = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('InitiateAuth'), buildUserPoolDeserializer(), defaultConfig);\nconst revokeToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('RevokeToken'), buildUserPoolDeserializer(), defaultConfig);\nconst signUp = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('SignUp'), buildUserPoolDeserializer(), defaultConfig);\nconst confirmSignUp = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmSignUp'), buildUserPoolDeserializer(), defaultConfig);\nconst forgotPassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ForgotPassword'), buildUserPoolDeserializer(), defaultConfig);\nconst confirmForgotPassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmForgotPassword'), buildUserPoolDeserializer(), defaultConfig);\nconst respondToAuthChallenge = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('RespondToAuthChallenge'), buildUserPoolDeserializer(), defaultConfig);\nconst resendConfirmationCode = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ResendConfirmationCode'), buildUserPoolDeserializer(), defaultConfig);\nconst verifySoftwareToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('VerifySoftwareToken'), buildUserPoolDeserializer(), defaultConfig);\nconst associateSoftwareToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('AssociateSoftwareToken'), buildUserPoolDeserializer(), defaultConfig);\nconst setUserMFAPreference = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('SetUserMFAPreference'), buildUserPoolDeserializer(), defaultConfig);\nconst getUser = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GetUser'), buildUserPoolDeserializer(), defaultConfig);\nconst changePassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ChangePassword'), buildUserPoolDeserializer(), defaultConfig);\nconst confirmDevice = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmDevice'), buildUserPoolDeserializer(), defaultConfig);\nconst forgetDevice = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ForgetDevice'), handleEmptyResponseDeserializer(), defaultConfig);\nconst deleteUser = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('DeleteUser'), handleEmptyResponseDeserializer(), defaultConfig);\nconst getUserAttributeVerificationCode = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GetUserAttributeVerificationCode'), buildUserPoolDeserializer(), defaultConfig);\nconst globalSignOut = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GlobalSignOut'), buildUserPoolDeserializer(), defaultConfig);\nconst updateUserAttributes = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('UpdateUserAttributes'), buildUserPoolDeserializer(), defaultConfig);\nconst verifyUserAttribute = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('VerifyUserAttribute'), buildUserPoolDeserializer(), defaultConfig);\nconst updateDeviceStatus = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('UpdateDeviceStatus'), buildUserPoolDeserializer(), defaultConfig);\nconst listDevices = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ListDevices'), buildUserPoolDeserializer(), defaultConfig);\nconst deleteUserAttributes = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('DeleteUserAttributes'), buildUserPoolDeserializer(), defaultConfig);\n\nexport { associateSoftwareToken, changePassword, confirmDevice, confirmForgotPassword, confirmSignUp, deleteUser, deleteUserAttributes, forgetDevice, forgotPassword, getUser, getUserAttributeVerificationCode, globalSignOut, initiateAuth, listDevices, resendConfirmationCode, respondToAuthChallenge, revokeToken, setUserMFAPreference, signUp, updateDeviceStatus, updateUserAttributes, verifySoftwareToken, verifyUserAttribute };\n//# sourceMappingURL=index.mjs.map\n","import { AuthError } from '../../../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction getRegion(userPoolId) {\n const region = userPoolId?.split('_')[0];\n if (!userPoolId ||\n userPoolId.indexOf('_') < 0 ||\n !region ||\n typeof region !== 'string')\n throw new AuthError({\n name: 'InvalidUserPoolId',\n message: 'Invalid user pool id provided.',\n });\n return region;\n}\nfunction getRegionFromIdentityPoolId(identityPoolId) {\n if (!identityPoolId || !identityPoolId.includes(':')) {\n throw new AuthError({\n name: 'InvalidIdentityPoolIdException',\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n });\n }\n return identityPoolId.split(':')[0];\n}\n\nexport { getRegion, getRegionFromIdentityPoolId };\n//# sourceMappingURL=utils.mjs.map\n","import { AuthError } from './AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst USER_UNAUTHENTICATED_EXCEPTION = 'UserUnAuthenticatedException';\nconst USER_ALREADY_AUTHENTICATED_EXCEPTION = 'UserAlreadyAuthenticatedException';\nconst DEVICE_METADATA_NOT_FOUND_EXCEPTION = 'DeviceMetadataNotFoundException';\nconst AUTO_SIGN_IN_EXCEPTION = 'AutoSignInException';\nconst INVALID_REDIRECT_EXCEPTION = 'InvalidRedirectException';\nconst invalidRedirectException = new AuthError({\n name: INVALID_REDIRECT_EXCEPTION,\n message: 'signInRedirect or signOutRedirect had an invalid format or was not found.',\n recoverySuggestion: 'Please make sure the signIn/Out redirect in your oauth config is valid.',\n});\nconst INVALID_ORIGIN_EXCEPTION = 'InvalidOriginException';\nconst invalidOriginException = new AuthError({\n name: INVALID_ORIGIN_EXCEPTION,\n message: 'redirect is coming from a different origin. The oauth flow needs to be initiated from the same origin',\n recoverySuggestion: 'Please call signInWithRedirect from the same origin.',\n});\nconst OAUTH_SIGNOUT_EXCEPTION = 'OAuthSignOutException';\nconst TOKEN_REFRESH_EXCEPTION = 'TokenRefreshException';\nconst UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION = 'UnexpectedSignInInterruptionException';\n\nexport { AUTO_SIGN_IN_EXCEPTION, DEVICE_METADATA_NOT_FOUND_EXCEPTION, INVALID_ORIGIN_EXCEPTION, INVALID_REDIRECT_EXCEPTION, OAUTH_SIGNOUT_EXCEPTION, TOKEN_REFRESH_EXCEPTION, UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION, USER_ALREADY_AUTHENTICATED_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, invalidOriginException, invalidRedirectException };\n//# sourceMappingURL=constants.mjs.map\n","import { AuthError } from '../../../errors/AuthError.mjs';\nimport { TOKEN_REFRESH_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, DEVICE_METADATA_NOT_FOUND_EXCEPTION } from '../../../errors/constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction isTypeUserPoolConfig(authConfig) {\n if (authConfig &&\n authConfig.Cognito.userPoolId &&\n authConfig.Cognito.userPoolClientId) {\n return true;\n }\n return false;\n}\nfunction assertAuthTokens(tokens) {\n if (!tokens || !tokens.accessToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nfunction assertIdTokenInAuthTokens(tokens) {\n if (!tokens || !tokens.idToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nconst oAuthTokenRefreshException = new AuthError({\n name: TOKEN_REFRESH_EXCEPTION,\n message: `Token refresh is not supported when authenticated with the 'implicit grant' (token) oauth flow. \n\tPlease change your oauth configuration to use 'code grant' flow.`,\n recoverySuggestion: `Please logout and change your Amplify configuration to use \"code grant\" flow. \n\tE.g { responseType: 'code' }`,\n});\nconst tokenRefreshException = new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n});\nfunction assertAuthTokensWithRefreshToken(tokens) {\n if (isAuthenticatedWithImplicitOauthFlow(tokens)) {\n throw oAuthTokenRefreshException;\n }\n if (!isAuthenticatedWithRefreshToken(tokens)) {\n throw tokenRefreshException;\n }\n}\nfunction assertDeviceMetadata(deviceMetadata) {\n if (!deviceMetadata ||\n !deviceMetadata.deviceKey ||\n !deviceMetadata.deviceGroupKey ||\n !deviceMetadata.randomPassword) {\n throw new AuthError({\n name: DEVICE_METADATA_NOT_FOUND_EXCEPTION,\n message: 'Either deviceKey, deviceGroupKey or secretPassword were not found during the sign-in process.',\n recoverySuggestion: 'Make sure to not clear storage after calling the signIn API.',\n });\n }\n}\nconst OAuthStorageKeys = {\n inflightOAuth: 'inflightOAuth',\n oauthSignIn: 'oauthSignIn',\n oauthPKCE: 'oauthPKCE',\n oauthState: 'oauthState',\n};\nfunction isAuthenticated(tokens) {\n return tokens?.accessToken || tokens?.idToken;\n}\nfunction isAuthenticatedWithRefreshToken(tokens) {\n return isAuthenticated(tokens) && tokens?.refreshToken;\n}\nfunction isAuthenticatedWithImplicitOauthFlow(tokens) {\n return isAuthenticated(tokens) && !tokens?.refreshToken;\n}\n\nexport { OAuthStorageKeys, assertAuthTokens, assertAuthTokensWithRefreshToken, assertDeviceMetadata, assertIdTokenInAuthTokens, isTypeUserPoolConfig, oAuthTokenRefreshException, tokenRefreshException };\n//# sourceMappingURL=types.mjs.map\n","import { deDupeAsyncFunction, assertTokenProviderConfig, decodeJWT } from '@aws-amplify/core/internals/utils';\nimport { initiateAuth } from './clients/CognitoIdentityProvider/index.mjs';\nimport { getRegion } from './clients/CognitoIdentityProvider/utils.mjs';\nimport { assertAuthTokensWithRefreshToken } from './types.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { getUserContextData } from './userContextData.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst refreshAuthTokensFunction = async ({ tokens, authConfig, username, }) => {\n assertTokenProviderConfig(authConfig?.Cognito);\n const region = getRegion(authConfig.Cognito.userPoolId);\n assertAuthTokensWithRefreshToken(tokens);\n const refreshTokenString = tokens.refreshToken;\n const AuthParameters = {\n REFRESH_TOKEN: refreshTokenString,\n };\n if (tokens.deviceMetadata?.deviceKey) {\n AuthParameters.DEVICE_KEY = tokens.deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId: authConfig.Cognito.userPoolId,\n userPoolClientId: authConfig.Cognito.userPoolClientId,\n });\n const { AuthenticationResult } = await initiateAuth({ region }, {\n ClientId: authConfig?.Cognito?.userPoolClientId,\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters,\n UserContextData,\n });\n const accessToken = decodeJWT(AuthenticationResult?.AccessToken ?? '');\n const idToken = AuthenticationResult?.IdToken\n ? decodeJWT(AuthenticationResult.IdToken)\n : undefined;\n const { iat } = accessToken.payload;\n // This should never happen. If it does, it's a bug from the service.\n if (!iat) {\n throw new AuthError({\n name: 'iatNotFoundException',\n message: 'iat not found in access token',\n });\n }\n const clockDrift = iat * 1000 - new Date().getTime();\n return {\n accessToken,\n idToken,\n clockDrift,\n refreshToken: refreshTokenString,\n username,\n };\n};\nconst refreshAuthTokens = deDupeAsyncFunction(refreshAuthTokensFunction);\nconst refreshAuthTokensWithoutDedupe = refreshAuthTokensFunction;\n\nexport { refreshAuthTokens, refreshAuthTokensWithoutDedupe };\n//# sourceMappingURL=refreshAuthTokens.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction getUserContextData({ username, userPoolId, userPoolClientId, }) {\n if (typeof window === 'undefined') {\n return undefined;\n }\n const amazonCognitoAdvancedSecurityData = window\n .AmazonCognitoAdvancedSecurityData;\n if (typeof amazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n const advancedSecurityData = amazonCognitoAdvancedSecurityData.getData(username, userPoolId, userPoolClientId);\n if (advancedSecurityData) {\n const userContextData = {\n EncodedData: advancedSecurityData,\n };\n return userContextData;\n }\n return {};\n}\n\nexport { getUserContextData };\n//# sourceMappingURL=userContextData.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * returns in-flight promise if there is one\n *\n * @param asyncFunction - asyncFunction to be deduped.\n * @returns - the return type of the callback\n */\nconst deDupeAsyncFunction = (asyncFunction) => {\n let inflightPromise;\n return async (...args) => {\n if (inflightPromise)\n return inflightPromise;\n inflightPromise = new Promise((resolve, reject) => {\n asyncFunction(...args)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n reject(error);\n })\n .finally(() => {\n inflightPromise = undefined;\n });\n });\n return inflightPromise;\n };\n};\n\nexport { deDupeAsyncFunction };\n//# sourceMappingURL=deDupeAsyncFunction.mjs.map\n","const AuthTokenStorageKeys = {\n accessToken: 'accessToken',\n idToken: 'idToken',\n oidcProvider: 'oidcProvider',\n clockDrift: 'clockDrift',\n refreshToken: 'refreshToken',\n deviceKey: 'deviceKey',\n randomPasswordKey: 'randomPasswordKey',\n deviceGroupKey: 'deviceGroupKey',\n signInDetails: 'signInDetails',\n};\n\nexport { AuthTokenStorageKeys };\n//# sourceMappingURL=types.mjs.map\n","import { createAssertionFunction } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar TokenProviderErrorCode;\n(function (TokenProviderErrorCode) {\n TokenProviderErrorCode[\"InvalidAuthTokens\"] = \"InvalidAuthTokens\";\n})(TokenProviderErrorCode || (TokenProviderErrorCode = {}));\nconst tokenValidationErrorMap = {\n [TokenProviderErrorCode.InvalidAuthTokens]: {\n message: 'Invalid tokens.',\n recoverySuggestion: 'Make sure the tokens are valid.',\n },\n};\nconst assert = createAssertionFunction(tokenValidationErrorMap);\n\nexport { TokenProviderErrorCode, assert };\n//# sourceMappingURL=errorHelpers.mjs.map\n","import { decodeJWT, assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { AuthTokenStorageKeys } from './types.mjs';\nimport { assert, TokenProviderErrorCode } from './errorHelpers.mjs';\n\nclass DefaultTokenStore {\n constructor() {\n this.name = 'CognitoIdentityServiceProvider'; // To be backwards compatible with V5, no migration needed\n }\n getKeyValueStorage() {\n if (!this.keyValueStorage) {\n throw new AuthError({\n name: 'KeyValueStorageNotFoundException',\n message: 'KeyValueStorage was not found in TokenStore',\n });\n }\n return this.keyValueStorage;\n }\n setKeyValueStorage(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n setAuthConfig(authConfig) {\n this.authConfig = authConfig;\n }\n async loadTokens() {\n // TODO(v6): migration logic should be here\n // Reading V5 tokens old format\n try {\n const authKeys = await this.getAuthKeys();\n const accessTokenString = await this.getKeyValueStorage().getItem(authKeys.accessToken);\n if (!accessTokenString) {\n throw new AuthError({\n name: 'NoSessionFoundException',\n message: 'Auth session was not found. Make sure to call signIn.',\n });\n }\n const accessToken = decodeJWT(accessTokenString);\n const itString = await this.getKeyValueStorage().getItem(authKeys.idToken);\n const idToken = itString ? decodeJWT(itString) : undefined;\n const refreshToken = (await this.getKeyValueStorage().getItem(authKeys.refreshToken)) ??\n undefined;\n const clockDriftString = (await this.getKeyValueStorage().getItem(authKeys.clockDrift)) ?? '0';\n const clockDrift = Number.parseInt(clockDriftString);\n const signInDetails = await this.getKeyValueStorage().getItem(authKeys.signInDetails);\n const tokens = {\n accessToken,\n idToken,\n refreshToken,\n deviceMetadata: (await this.getDeviceMetadata()) ?? undefined,\n clockDrift,\n username: await this.getLastAuthUser(),\n };\n if (signInDetails) {\n tokens.signInDetails = JSON.parse(signInDetails);\n }\n return tokens;\n }\n catch (err) {\n return null;\n }\n }\n async storeTokens(tokens) {\n assert(tokens !== undefined, TokenProviderErrorCode.InvalidAuthTokens);\n await this.clearTokens();\n const lastAuthUser = tokens.username;\n await this.getKeyValueStorage().setItem(this.getLastAuthUserKey(), lastAuthUser);\n const authKeys = await this.getAuthKeys();\n await this.getKeyValueStorage().setItem(authKeys.accessToken, tokens.accessToken.toString());\n if (tokens.idToken) {\n await this.getKeyValueStorage().setItem(authKeys.idToken, tokens.idToken.toString());\n }\n if (tokens.refreshToken) {\n await this.getKeyValueStorage().setItem(authKeys.refreshToken, tokens.refreshToken);\n }\n if (tokens.deviceMetadata) {\n if (tokens.deviceMetadata.deviceKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceKey, tokens.deviceMetadata.deviceKey);\n }\n if (tokens.deviceMetadata.deviceGroupKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceGroupKey, tokens.deviceMetadata.deviceGroupKey);\n }\n await this.getKeyValueStorage().setItem(authKeys.randomPasswordKey, tokens.deviceMetadata.randomPassword);\n }\n if (tokens.signInDetails) {\n await this.getKeyValueStorage().setItem(authKeys.signInDetails, JSON.stringify(tokens.signInDetails));\n }\n await this.getKeyValueStorage().setItem(authKeys.clockDrift, `${tokens.clockDrift}`);\n }\n async clearTokens() {\n const authKeys = await this.getAuthKeys();\n // Not calling clear because it can remove data that is not managed by AuthTokenStore\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.accessToken),\n this.getKeyValueStorage().removeItem(authKeys.idToken),\n this.getKeyValueStorage().removeItem(authKeys.clockDrift),\n this.getKeyValueStorage().removeItem(authKeys.refreshToken),\n this.getKeyValueStorage().removeItem(authKeys.signInDetails),\n this.getKeyValueStorage().removeItem(this.getLastAuthUserKey()),\n ]);\n }\n async getDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n const deviceKey = await this.getKeyValueStorage().getItem(authKeys.deviceKey);\n const deviceGroupKey = await this.getKeyValueStorage().getItem(authKeys.deviceGroupKey);\n const randomPassword = await this.getKeyValueStorage().getItem(authKeys.randomPasswordKey);\n return randomPassword && deviceGroupKey && deviceKey\n ? {\n deviceKey,\n deviceGroupKey,\n randomPassword,\n }\n : null;\n }\n async clearDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.deviceKey),\n this.getKeyValueStorage().removeItem(authKeys.deviceGroupKey),\n this.getKeyValueStorage().removeItem(authKeys.randomPasswordKey),\n ]);\n }\n async getAuthKeys(username) {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const lastAuthUser = username ?? (await this.getLastAuthUser());\n return createKeysForAuthStorage(this.name, `${this.authConfig.Cognito.userPoolClientId}.${lastAuthUser}`);\n }\n getLastAuthUserKey() {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const identifier = this.authConfig.Cognito.userPoolClientId;\n return `${this.name}.${identifier}.LastAuthUser`;\n }\n async getLastAuthUser() {\n const lastAuthUser = (await this.getKeyValueStorage().getItem(this.getLastAuthUserKey())) ??\n 'username';\n return lastAuthUser;\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(AuthTokenStorageKeys)(`${provider}`, identifier);\n};\nfunction getAuthStorageKeys(authKeys) {\n const keys = Object.values({ ...authKeys });\n return (prefix, identifier) => keys.reduce((acc, authKey) => ({\n ...acc,\n [authKey]: `${prefix}.${identifier}.${authKey}`,\n }), {});\n}\n\nexport { DefaultTokenStore, createKeysForAuthStorage, getAuthStorageKeys };\n//# sourceMappingURL=TokenStore.mjs.map\n","import { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore.mjs';\nimport { OAuthStorageKeys } from './types.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nclass DefaultOAuthStore {\n constructor(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n async clearOAuthInflightData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await Promise.all([\n this.keyValueStorage.removeItem(authKeys.inflightOAuth),\n this.keyValueStorage.removeItem(authKeys.oauthPKCE),\n this.keyValueStorage.removeItem(authKeys.oauthState),\n ]);\n }\n async clearOAuthData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.clearOAuthInflightData();\n await this.keyValueStorage.removeItem(V5_HOSTED_UI_KEY); // remove in case a customer migrated an App from v5 to v6\n return this.keyValueStorage.removeItem(authKeys.oauthSignIn);\n }\n loadOAuthState() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthState);\n }\n storeOAuthState(state) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthState, state);\n }\n loadPKCE() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthPKCE);\n }\n storePKCE(pkce) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthPKCE, pkce);\n }\n setAuthConfig(authConfigParam) {\n this.cognitoConfig = authConfigParam;\n }\n async loadOAuthInFlight() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return ((await this.keyValueStorage.getItem(authKeys.inflightOAuth)) === 'true');\n }\n async storeOAuthInFlight(inflight) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.inflightOAuth, `${inflight}`);\n }\n async loadOAuthSignIn() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n const isLegacyHostedUISignIn = await this.keyValueStorage.getItem(V5_HOSTED_UI_KEY);\n const [isOAuthSignIn, preferPrivateSession] = (await this.keyValueStorage.getItem(authKeys.oauthSignIn))?.split(',') ??\n [];\n return {\n isOAuthSignIn: isOAuthSignIn === 'true' || isLegacyHostedUISignIn === 'true',\n preferPrivateSession: preferPrivateSession === 'true',\n };\n }\n async storeOAuthSignIn(oauthSignIn, preferPrivateSession = false) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.oauthSignIn, `${oauthSignIn},${preferPrivateSession}`);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(OAuthStorageKeys)(provider, identifier);\n};\n\nexport { DefaultOAuthStore };\n//# sourceMappingURL=signInWithRedirectStore.mjs.map\n","import { defaultStorage } from '@aws-amplify/core';\nimport { DefaultOAuthStore } from '../signInWithRedirectStore.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst oAuthStore = new DefaultOAuthStore(defaultStorage);\n\nexport { oAuthStore };\n//# sourceMappingURL=oAuthStore.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst inflightPromises = [];\nconst addInflightPromise = (resolver) => {\n inflightPromises.push(resolver);\n};\nconst resolveAndClearInflightPromises = () => {\n while (inflightPromises.length) {\n inflightPromises.pop()?.();\n }\n};\n\nexport { addInflightPromise, resolveAndClearInflightPromises };\n//# sourceMappingURL=inflightPromise.mjs.map\n","import { Hub } from '@aws-amplify/core';\nimport { isBrowser, assertTokenProviderConfig, isTokenExpired, AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport { assertServiceError } from '../../../errors/utils/assertServiceError.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { oAuthStore } from '../utils/oauth/oAuthStore.mjs';\nimport { addInflightPromise } from '../utils/oauth/inflightPromise.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass TokenOrchestrator {\n constructor() {\n this.waitForInflightOAuth = isBrowser()\n ? async () => {\n if (!(await oAuthStore.loadOAuthInFlight())) {\n return;\n }\n if (this.inflightPromise) {\n return this.inflightPromise;\n }\n // when there is valid oauth config and there is an inflight oauth flow, try\n // to block async calls that require fetching tokens before the oauth flow completes\n // e.g. getCurrentUser, fetchAuthSession etc.\n this.inflightPromise = new Promise((resolve, _reject) => {\n addInflightPromise(resolve);\n });\n return this.inflightPromise;\n }\n : async () => {\n // no-op for non-browser environments\n };\n }\n setAuthConfig(authConfig) {\n oAuthStore.setAuthConfig(authConfig.Cognito);\n this.authConfig = authConfig;\n }\n setTokenRefresher(tokenRefresher) {\n this.tokenRefresher = tokenRefresher;\n }\n setAuthTokenStore(tokenStore) {\n this.tokenStore = tokenStore;\n }\n getTokenStore() {\n if (!this.tokenStore) {\n throw new AuthError({\n name: 'EmptyTokenStoreException',\n message: 'TokenStore not set',\n });\n }\n return this.tokenStore;\n }\n getTokenRefresher() {\n if (!this.tokenRefresher) {\n throw new AuthError({\n name: 'EmptyTokenRefresherException',\n message: 'TokenRefresher not set',\n });\n }\n return this.tokenRefresher;\n }\n async getTokens(options) {\n let tokens;\n try {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n }\n catch (_err) {\n // Token provider not configured\n return null;\n }\n await this.waitForInflightOAuth();\n this.inflightPromise = undefined;\n tokens = await this.getTokenStore().loadTokens();\n const username = await this.getTokenStore().getLastAuthUser();\n if (tokens === null) {\n return null;\n }\n const idTokenExpired = !!tokens?.idToken &&\n isTokenExpired({\n expiresAt: (tokens.idToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n const accessTokenExpired = isTokenExpired({\n expiresAt: (tokens.accessToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n if (options?.forceRefresh || idTokenExpired || accessTokenExpired) {\n tokens = await this.refreshTokens({\n tokens,\n username,\n });\n if (tokens === null) {\n return null;\n }\n }\n return {\n accessToken: tokens?.accessToken,\n idToken: tokens?.idToken,\n signInDetails: tokens?.signInDetails,\n };\n }\n async refreshTokens({ tokens, username, }) {\n try {\n const { signInDetails } = tokens;\n const newTokens = await this.getTokenRefresher()({\n tokens,\n authConfig: this.authConfig,\n username,\n });\n newTokens.signInDetails = signInDetails;\n await this.setTokens({ tokens: newTokens });\n Hub.dispatch('auth', { event: 'tokenRefresh' }, 'Auth', AMPLIFY_SYMBOL);\n return newTokens;\n }\n catch (err) {\n return this.handleErrors(err);\n }\n }\n handleErrors(err) {\n assertServiceError(err);\n if (err.message !== 'Network error') {\n // TODO(v6): Check errors on client\n this.clearTokens();\n }\n Hub.dispatch('auth', {\n event: 'tokenRefresh_failure',\n data: { error: err },\n }, 'Auth', AMPLIFY_SYMBOL);\n if (err.name.startsWith('NotAuthorizedException')) {\n return null;\n }\n throw err;\n }\n async setTokens({ tokens }) {\n return this.getTokenStore().storeTokens(tokens);\n }\n async clearTokens() {\n return this.getTokenStore().clearTokens();\n }\n getDeviceMetadata(username) {\n return this.getTokenStore().getDeviceMetadata(username);\n }\n clearDeviceMetadata(username) {\n return this.getTokenStore().clearDeviceMetadata(username);\n }\n}\n\nexport { TokenOrchestrator };\n//# sourceMappingURL=TokenOrchestrator.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\nexport { isBrowser };\n//# sourceMappingURL=isBrowser.mjs.map\n","import { CognitoUserPoolsTokenProvider } from './CognitoUserPoolsTokenProvider.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * The default provider for the JWT access token and ID token issued from the configured Cognito user pool. It manages\n * the refresh and storage of the tokens. It stores the tokens in `window.localStorage` if available, and falls back to\n * in-memory storage if not.\n */\nconst cognitoUserPoolsTokenProvider = new CognitoUserPoolsTokenProvider();\nconst { tokenOrchestrator } = cognitoUserPoolsTokenProvider;\n\nexport { cognitoUserPoolsTokenProvider, tokenOrchestrator };\n//# sourceMappingURL=tokenProvider.mjs.map\n","import { defaultStorage } from '@aws-amplify/core';\nimport { refreshAuthTokens } from '../utils/refreshAuthTokens.mjs';\nimport { DefaultTokenStore } from './TokenStore.mjs';\nimport { TokenOrchestrator } from './TokenOrchestrator.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass CognitoUserPoolsTokenProvider {\n constructor() {\n this.authTokenStore = new DefaultTokenStore();\n this.authTokenStore.setKeyValueStorage(defaultStorage);\n this.tokenOrchestrator = new TokenOrchestrator();\n this.tokenOrchestrator.setAuthTokenStore(this.authTokenStore);\n this.tokenOrchestrator.setTokenRefresher(refreshAuthTokens);\n }\n getTokens({ forceRefresh } = { forceRefresh: false }) {\n return this.tokenOrchestrator.getTokens({ forceRefresh });\n }\n setKeyValueStorage(keyValueStorage) {\n this.authTokenStore.setKeyValueStorage(keyValueStorage);\n }\n setAuthConfig(authConfig) {\n this.authTokenStore.setAuthConfig(authConfig);\n this.tokenOrchestrator.setAuthConfig(authConfig);\n }\n}\n\nexport { CognitoUserPoolsTokenProvider };\n//# sourceMappingURL=CognitoUserPoolsTokenProvider.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst IdentityIdStorageKeys = {\n identityId: 'identityId',\n};\n\nexport { IdentityIdStorageKeys };\n//# sourceMappingURL=types.mjs.map\n","import { ConsoleLogger } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore.mjs';\nimport { IdentityIdStorageKeys } from './types.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('DefaultIdentityIdStore');\nclass DefaultIdentityIdStore {\n setAuthConfig(authConfigParam) {\n assertIdentityPoolIdConfig(authConfigParam.Cognito);\n this.authConfig = authConfigParam;\n this._authKeys = createKeysForAuthStorage('Cognito', authConfigParam.Cognito.identityPoolId);\n }\n constructor(keyValueStorage) {\n this._authKeys = {};\n this.keyValueStorage = keyValueStorage;\n }\n async loadIdentityId() {\n assertIdentityPoolIdConfig(this.authConfig?.Cognito);\n try {\n if (this._primaryIdentityId) {\n return {\n id: this._primaryIdentityId,\n type: 'primary',\n };\n }\n else {\n const storedIdentityId = await this.keyValueStorage.getItem(this._authKeys.identityId);\n if (storedIdentityId) {\n return {\n id: storedIdentityId,\n type: 'guest',\n };\n }\n return null;\n }\n }\n catch (err) {\n logger.log('Error getting stored IdentityId.', err);\n return null;\n }\n }\n async storeIdentityId(identity) {\n assertIdentityPoolIdConfig(this.authConfig?.Cognito);\n if (identity.type === 'guest') {\n this.keyValueStorage.setItem(this._authKeys.identityId, identity.id);\n // Clear in-memory storage of primary identityId\n this._primaryIdentityId = undefined;\n }\n else {\n this._primaryIdentityId = identity.id;\n // Clear locally stored guest id\n this.keyValueStorage.removeItem(this._authKeys.identityId);\n }\n }\n async clearIdentityId() {\n this._primaryIdentityId = undefined;\n await this.keyValueStorage.removeItem(this._authKeys.identityId);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(IdentityIdStorageKeys)(`com.amplify.${provider}`, identifier);\n};\n\nexport { DefaultIdentityIdStore };\n//# sourceMappingURL=IdentityIdStore.mjs.map\n","import { getDnsSuffix } from '../../clients/endpoints/getDnsSuffix.mjs';\nimport { unauthenticatedHandler } from '../../clients/handlers/unauthenticated.mjs';\nimport { jitteredBackoff } from '../../clients/middleware/retry/jitteredBackoff.mjs';\nimport { getRetryDecider } from '../../clients/middleware/retry/defaultRetryDecider.mjs';\nimport '@aws-crypto/sha256-js';\nimport '@smithy/util-hex-encoding';\nimport { AmplifyUrl } from '../../utils/amplifyUrl/index.mjs';\nimport { composeTransferHandler } from '../../clients/internal/composeTransferHandler.mjs';\nimport { parseJsonError } from '../../clients/serde/json.mjs';\nimport { getAmplifyUserAgent } from '../../Platform/index.mjs';\nimport { observeFrameworkChanges } from '../../Platform/detectFramework.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nconst SERVICE_NAME = 'cognito-identity';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region.\n */\nconst endpointResolver = ({ region }) => ({\n url: new AmplifyUrl(`https://cognito-identity.${region}.${getDnsSuffix(region)}`),\n});\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nconst disableCacheMiddlewareFactory = () => next => async function disableCacheMiddleware(request) {\n request.headers['cache-control'] = 'no-store';\n return next(request);\n};\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nconst cognitoIdentityTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n/**\n * @internal\n */\nconst defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n cache: 'no-store',\n};\nobserveFrameworkChanges(() => {\n defaultConfig.userAgentValue = getAmplifyUserAgent();\n});\n/**\n * @internal\n */\nconst getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityService.${operation}`,\n});\n/**\n * @internal\n */\nconst buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n\nexport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders };\n//# sourceMappingURL=base.mjs.map\n","import '../../utils/getClientInfo/getClientInfo.mjs';\nimport '../../utils/retry/retry.mjs';\nimport '@aws-crypto/sha256-js';\nimport '@smithy/util-hex-encoding';\nimport { parseMetadata } from '../../clients/serde/responseInfo.mjs';\nimport { parseJsonError, parseJsonBody } from '../../clients/serde/json.mjs';\nimport { composeServiceApi } from '../../clients/internal/composeServiceApi.mjs';\nimport { defaultConfig, cognitoIdentityTransferHandler, buildHttpRpcRequest, getSharedHeaders } from './base.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getCredentialsForIdentitySerializer = (input, endpoint) => {\n const headers = getSharedHeaders('GetCredentialsForIdentity');\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getCredentialsForIdentityDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n throw error;\n }\n else {\n const body = await parseJsonBody(response);\n return {\n IdentityId: body.IdentityId,\n Credentials: deserializeCredentials(body.Credentials),\n $metadata: parseMetadata(response),\n };\n }\n};\nconst deserializeCredentials = ({ AccessKeyId, SecretKey, SessionToken, Expiration, } = {}) => {\n return {\n AccessKeyId,\n SecretKey,\n SessionToken,\n Expiration: Expiration && new Date(Expiration * 1000),\n };\n};\n/**\n * @internal\n */\nconst getCredentialsForIdentity = composeServiceApi(cognitoIdentityTransferHandler, getCredentialsForIdentitySerializer, getCredentialsForIdentityDeserializer, defaultConfig);\n\nexport { getCredentialsForIdentity };\n//# sourceMappingURL=getCredentialsForIdentity.mjs.map\n","import '../../utils/getClientInfo/getClientInfo.mjs';\nimport '../../utils/retry/retry.mjs';\nimport '@aws-crypto/sha256-js';\nimport '@smithy/util-hex-encoding';\nimport { parseMetadata } from '../../clients/serde/responseInfo.mjs';\nimport { parseJsonError, parseJsonBody } from '../../clients/serde/json.mjs';\nimport { composeServiceApi } from '../../clients/internal/composeServiceApi.mjs';\nimport { defaultConfig, cognitoIdentityTransferHandler, buildHttpRpcRequest, getSharedHeaders } from './base.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getIdSerializer = (input, endpoint) => {\n const headers = getSharedHeaders('GetId');\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getIdDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n throw error;\n }\n else {\n const body = await parseJsonBody(response);\n return {\n IdentityId: body.IdentityId,\n $metadata: parseMetadata(response),\n };\n }\n};\n/**\n * @internal\n */\nconst getId = composeServiceApi(cognitoIdentityTransferHandler, getIdSerializer, getIdDeserializer, defaultConfig);\n\nexport { getId };\n//# sourceMappingURL=getId.mjs.map\n","import { decodeJWT } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction formLoginsMap(idToken) {\n const issuer = decodeJWT(idToken).payload.iss;\n const res = {};\n if (!issuer) {\n throw new AuthError({\n name: 'InvalidIdTokenException',\n message: 'Invalid Idtoken.',\n });\n }\n const domainName = issuer.replace(/(^\\w+:|^)\\/\\//, '');\n res[domainName] = idToken;\n return res;\n}\n\nexport { formLoginsMap };\n//# sourceMappingURL=utils.mjs.map\n","import { ConsoleLogger, getId } from '@aws-amplify/core';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { getRegionFromIdentityPoolId } from '../utils/clients/CognitoIdentityProvider/utils.mjs';\nimport { formLoginsMap } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('CognitoIdentityIdProvider');\n/**\n * Provides a Cognito identityId\n *\n * @param tokens - The AuthTokens received after SignIn\n * @returns string\n * @throws configuration exceptions: `InvalidIdentityPoolIdException`\n * - Auth errors that may arise from misconfiguration.\n * @throws service exceptions: {@link GetIdException }\n */\nasync function cognitoIdentityIdProvider({ tokens, authConfig, identityIdStore, }) {\n identityIdStore.setAuthConfig({ Cognito: authConfig });\n // will return null only if there is no identityId cached or if there is an error retrieving it\n let identityId = await identityIdStore.loadIdentityId();\n // Tokens are available so return primary identityId\n if (tokens) {\n // If there is existing primary identityId in-memory return that\n if (identityId && identityId.type === 'primary') {\n return identityId.id;\n }\n else {\n const logins = tokens.idToken\n ? formLoginsMap(tokens.idToken.toString())\n : {};\n const generatedIdentityId = await generateIdentityId(logins, authConfig);\n if (identityId && identityId.id === generatedIdentityId) {\n logger.debug(`The guest identity ${identityId.id} has become the primary identity.`);\n }\n identityId = {\n id: generatedIdentityId,\n type: 'primary',\n };\n }\n }\n else {\n // If there is existing guest identityId cached return that\n if (identityId && identityId.type === 'guest') {\n return identityId.id;\n }\n else {\n identityId = {\n id: await generateIdentityId({}, authConfig),\n type: 'guest',\n };\n }\n }\n // Store in-memory or local storage depending on guest or primary identityId\n identityIdStore.storeIdentityId(identityId);\n return identityId.id;\n}\nasync function generateIdentityId(logins, authConfig) {\n const identityPoolId = authConfig?.identityPoolId;\n const region = getRegionFromIdentityPoolId(identityPoolId);\n // IdentityId is absent so get it using IdentityPoolId with Cognito's GetId API\n const idResult = \n // for a first-time user, this will return a brand new identity\n // for a returning user, this will retrieve the previous identity assocaited with the logins\n (await getId({\n region,\n }, {\n IdentityPoolId: identityPoolId,\n Logins: logins,\n })).IdentityId;\n if (!idResult) {\n throw new AuthError({\n name: 'GetIdResponseException',\n message: 'Received undefined response from getId operation',\n recoverySuggestion: 'Make sure to pass a valid identityPoolId in the configuration.',\n });\n }\n return idResult;\n}\n\nexport { cognitoIdentityIdProvider };\n//# sourceMappingURL=IdentityIdProvider.mjs.map\n","import { ConsoleLogger, getCredentialsForIdentity } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { getRegionFromIdentityPoolId } from '../utils/clients/CognitoIdentityProvider/utils.mjs';\nimport { assertIdTokenInAuthTokens } from '../utils/types.mjs';\nimport { cognitoIdentityIdProvider } from './IdentityIdProvider.mjs';\nimport { formLoginsMap } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('CognitoCredentialsProvider');\nconst CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nclass CognitoAWSCredentialsAndIdentityIdProvider {\n constructor(identityIdStore) {\n this._nextCredentialsRefresh = 0;\n this._identityIdStore = identityIdStore;\n }\n async clearCredentialsAndIdentityId() {\n logger.debug('Clearing out credentials and identityId');\n this._credentialsAndIdentityId = undefined;\n await this._identityIdStore.clearIdentityId();\n }\n async clearCredentials() {\n logger.debug('Clearing out in-memory credentials');\n this._credentialsAndIdentityId = undefined;\n }\n async getCredentialsAndIdentityId(getCredentialsOptions) {\n const isAuthenticated = getCredentialsOptions.authenticated;\n const { tokens } = getCredentialsOptions;\n const { authConfig } = getCredentialsOptions;\n try {\n assertIdentityPoolIdConfig(authConfig?.Cognito);\n }\n catch {\n // No identity pool configured, skipping\n return;\n }\n if (!isAuthenticated && !authConfig.Cognito.allowGuestAccess) {\n // TODO(V6): return partial result like Native platforms\n return;\n }\n const { forceRefresh } = getCredentialsOptions;\n const tokenHasChanged = this.hasTokenChanged(tokens);\n const identityId = await cognitoIdentityIdProvider({\n tokens,\n authConfig: authConfig.Cognito,\n identityIdStore: this._identityIdStore,\n });\n // Clear cached credentials when forceRefresh is true OR the cache token has changed\n if (forceRefresh || tokenHasChanged) {\n this.clearCredentials();\n }\n if (!isAuthenticated) {\n return this.getGuestCredentials(identityId, authConfig.Cognito);\n }\n else {\n assertIdTokenInAuthTokens(tokens);\n return this.credsForOIDCTokens(authConfig.Cognito, tokens, identityId);\n }\n }\n async getGuestCredentials(identityId, authConfig) {\n // Return existing in-memory cached credentials only if it exists, is not past it's lifetime and is unauthenticated credentials\n if (this._credentialsAndIdentityId &&\n !this.isPastTTL() &&\n this._credentialsAndIdentityId.isAuthenticatedCreds === false) {\n logger.info('returning stored credentials as they neither past TTL nor expired.');\n return this._credentialsAndIdentityId;\n }\n // Clear to discard if any authenticated credentials are set and start with a clean slate\n this.clearCredentials();\n const region = getRegionFromIdentityPoolId(authConfig.identityPoolId);\n // use identityId to obtain guest credentials\n // save credentials in-memory\n // No logins params should be passed for guest creds:\n // https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html\n const clientResult = await getCredentialsForIdentity({ region }, {\n IdentityId: identityId,\n });\n if (clientResult.Credentials &&\n clientResult.Credentials.AccessKeyId &&\n clientResult.Credentials.SecretKey) {\n this._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n const res = {\n credentials: {\n accessKeyId: clientResult.Credentials.AccessKeyId,\n secretAccessKey: clientResult.Credentials.SecretKey,\n sessionToken: clientResult.Credentials.SessionToken,\n expiration: clientResult.Credentials.Expiration,\n },\n identityId,\n };\n const identityIdRes = clientResult.IdentityId;\n if (identityIdRes) {\n res.identityId = identityIdRes;\n this._identityIdStore.storeIdentityId({\n id: identityIdRes,\n type: 'guest',\n });\n }\n this._credentialsAndIdentityId = {\n ...res,\n isAuthenticatedCreds: false,\n };\n return res;\n }\n else {\n throw new AuthError({\n name: 'CredentialsNotFoundException',\n message: `Cognito did not respond with either Credentials, AccessKeyId or SecretKey.`,\n });\n }\n }\n async credsForOIDCTokens(authConfig, authTokens, identityId) {\n if (this._credentialsAndIdentityId &&\n !this.isPastTTL() &&\n this._credentialsAndIdentityId.isAuthenticatedCreds === true) {\n logger.debug('returning stored credentials as they neither past TTL nor expired.');\n return this._credentialsAndIdentityId;\n }\n // Clear to discard if any unauthenticated credentials are set and start with a clean slate\n this.clearCredentials();\n const logins = authTokens.idToken\n ? formLoginsMap(authTokens.idToken.toString())\n : {};\n const region = getRegionFromIdentityPoolId(authConfig.identityPoolId);\n const clientResult = await getCredentialsForIdentity({ region }, {\n IdentityId: identityId,\n Logins: logins,\n });\n if (clientResult.Credentials &&\n clientResult.Credentials.AccessKeyId &&\n clientResult.Credentials.SecretKey) {\n const res = {\n credentials: {\n accessKeyId: clientResult.Credentials.AccessKeyId,\n secretAccessKey: clientResult.Credentials.SecretKey,\n sessionToken: clientResult.Credentials.SessionToken,\n expiration: clientResult.Credentials.Expiration,\n },\n identityId,\n };\n // Store the credentials in-memory along with the expiration\n this._credentialsAndIdentityId = {\n ...res,\n isAuthenticatedCreds: true,\n associatedIdToken: authTokens.idToken?.toString(),\n };\n this._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n const identityIdRes = clientResult.IdentityId;\n if (identityIdRes) {\n res.identityId = identityIdRes;\n this._identityIdStore.storeIdentityId({\n id: identityIdRes,\n type: 'primary',\n });\n }\n return res;\n }\n else {\n throw new AuthError({\n name: 'CredentialsException',\n message: `Cognito did not respond with either Credentials, AccessKeyId or SecretKey.`,\n });\n }\n }\n isPastTTL() {\n return this._nextCredentialsRefresh === undefined\n ? true\n : this._nextCredentialsRefresh <= Date.now();\n }\n hasTokenChanged(tokens) {\n return (!!tokens &&\n !!this._credentialsAndIdentityId?.associatedIdToken &&\n tokens.idToken?.toString() !==\n this._credentialsAndIdentityId.associatedIdToken);\n }\n}\n\nexport { CognitoAWSCredentialsAndIdentityIdProvider };\n//# sourceMappingURL=credentialsProvider.mjs.map\n","import { defaultStorage } from '@aws-amplify/core';\nimport { DefaultIdentityIdStore } from './IdentityIdStore.mjs';\nimport { CognitoAWSCredentialsAndIdentityIdProvider } from './credentialsProvider.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Cognito specific implmentation of the CredentialsProvider interface\n * that manages setting and getting of AWS Credentials.\n *\n * @throws configuration expections: `InvalidIdentityPoolIdException`\n * - Auth errors that may arise from misconfiguration.\n * @throws service expections: {@link GetCredentialsForIdentityException}, {@link GetIdException}\n *\n */\nconst cognitoCredentialsProvider = new CognitoAWSCredentialsAndIdentityIdProvider(new DefaultIdentityIdStore(defaultStorage));\n\nexport { CognitoAWSCredentialsAndIdentityIdProvider, DefaultIdentityIdStore, cognitoCredentialsProvider };\n//# sourceMappingURL=index.mjs.map\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"us-east-2\",\n \"aws_appsync_graphqlEndpoint\": \"https://olgk4nm4sngc3inphjkk2vna3u.appsync-api.us-east-2.amazonaws.com/graphql\",\n \"aws_appsync_region\": \"us-east-2\",\n \"aws_appsync_authenticationType\": \"API_KEY\",\n \"aws_appsync_apiKey\": \"da2-p7p5iit5xrbsxawul4l4ourgay\",\n \"aws_cognito_identity_pool_id\": \"us-east-2:e57a2c91-7911-463a-b7ca-ed1d8c3efcaa\",\n \"aws_cognito_region\": \"us-east-2\",\n \"aws_user_pools_id\": \"us-east-2_yZG4FXctf\",\n \"aws_user_pools_web_client_id\": \"30amoorcsekraoujrf0fekqhbq\",\n \"oauth\": {},\n \"aws_cognito_username_attributes\": [\n \"EMAIL\"\n ],\n \"aws_cognito_social_providers\": [],\n \"aws_cognito_signup_attributes\": [\n \"EMAIL\",\n \"NAME\"\n ],\n \"aws_cognito_mfa_configuration\": \"OFF\",\n \"aws_cognito_mfa_types\": [\n \"SMS\"\n ],\n \"aws_cognito_password_protection_settings\": {\n \"passwordPolicyMinLength\": 8,\n \"passwordPolicyCharacters\": []\n },\n \"aws_cognito_verification_mechanisms\": [\n \"EMAIL\"\n ],\n \"aws_user_files_s3_bucket\": \"bestai33b4a970e9054365b8923296674950033eb8c-master\",\n \"aws_user_files_s3_bucket_region\": \"us-east-2\"\n};\n\n\nexport default awsmobile;\n","import { Amplify, CookieStorage, defaultStorage } from '@aws-amplify/core';\nimport { parseAmplifyConfig } from '@aws-amplify/core/internals/utils';\nimport { cognitoUserPoolsTokenProvider, cognitoCredentialsProvider } from '@aws-amplify/auth/cognito';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst DefaultAmplify = {\n /**\n * Configures Amplify with the {@link resourceConfig} and {@link libraryOptions}.\n *\n * @param resourceConfig The {@link ResourcesConfig} object that is typically imported from the\n * `amplifyconfiguration.json` file. It can also be an object literal created inline when calling `Amplify.configure`.\n * @param libraryOptions The {@link LibraryOptions} additional options for the library.\n *\n * @example\n * import config from './amplifyconfiguration.json';\n *\n * Amplify.configure(config);\n */\n configure(resourceConfig, libraryOptions) {\n const resolvedResourceConfig = parseAmplifyConfig(resourceConfig);\n // If no Auth config is provided, no special handling will be required, configure as is.\n // Otherwise, we can assume an Auth config is provided from here on.\n if (!resolvedResourceConfig.Auth) {\n Amplify.configure(resolvedResourceConfig, libraryOptions);\n return;\n }\n // If Auth options are provided, always just configure as is.\n // Otherwise, we can assume no Auth libraryOptions were provided from here on.\n if (libraryOptions?.Auth) {\n Amplify.configure(resolvedResourceConfig, libraryOptions);\n return;\n }\n // If no Auth libraryOptions were previously configured, then always add default providers.\n if (!Amplify.libraryOptions.Auth) {\n cognitoUserPoolsTokenProvider.setAuthConfig(resolvedResourceConfig.Auth);\n cognitoUserPoolsTokenProvider.setKeyValueStorage(\n // TODO: allow configure with a public interface\n libraryOptions?.ssr\n ? new CookieStorage({ sameSite: 'lax' })\n : defaultStorage);\n Amplify.configure(resolvedResourceConfig, {\n ...libraryOptions,\n Auth: {\n tokenProvider: cognitoUserPoolsTokenProvider,\n credentialsProvider: cognitoCredentialsProvider,\n },\n });\n return;\n }\n // At this point, Auth libraryOptions would have been previously configured and no overriding\n // Auth options were given, so we should preserve the currently configured Auth libraryOptions.\n if (libraryOptions) {\n // If ssr is provided through libraryOptions, we should respect the intentional reconfiguration.\n if (libraryOptions.ssr !== undefined) {\n cognitoUserPoolsTokenProvider.setKeyValueStorage(\n // TODO: allow configure with a public interface\n libraryOptions.ssr\n ? new CookieStorage({ sameSite: 'lax' })\n : defaultStorage);\n }\n Amplify.configure(resolvedResourceConfig, {\n Auth: Amplify.libraryOptions.Auth,\n ...libraryOptions,\n });\n return;\n }\n // Finally, if there were no libraryOptions given at all, we should simply not touch the currently\n // configured libraryOptions.\n Amplify.configure(resolvedResourceConfig);\n },\n /**\n * Returns the {@link ResourcesConfig} object passed in as the `resourceConfig` parameter when calling\n * `Amplify.configure`.\n *\n * @returns An {@link ResourcesConfig} object.\n */\n getConfig() {\n return Amplify.getConfig();\n },\n};\n\nexport { DefaultAmplify };\n//# sourceMappingURL=initSingleton.mjs.map\n","/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.com/docs/browser-apis/\n */\n\nimport React from \"react\";\n// import \"./sentry.config\"\n// import { Provider } from \"react-redux\"\n// import { persistor, store } from \"./src/app/store\"\n// import Amplify from \"aws-amplify\"\n// import awsconfig from \"./src/aws-exports\"\n// import { PersistGate } from \"redux-persist/integration/react\"\n// import oauthRedirectAwsConfig from \"./src/components/oauthRedirectsAwsConfig\"\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./src/scss/main.scss\";\nimport { Amplify } from \"aws-amplify\";\nimport config from \"./src/aws-exports\";\n// import smoothscroll from \"smoothscroll-polyfill\";\n// smoothscroll.polyfill();\nAmplify.configure(config);\n// export const onCreatePage = ({ page, actions }) => {\n// const { createPage, deletePage } = actions;\n//\n// if (page.path.match(/^\\/s\\//)) {\n// deletePage(page);\n// createPage({\n// ...page,\n// matchPath: '/s/:id/:dynamicString'\n// });\n// }\n// };\n\n//TODO: disable after\n// window.LOG_LEVEL = \"DEBUG\"\n//\n// const configWithOauthRedirect = oauthRedirectAwsConfig(awsconfig)\n// Amplify.configure(configWithOauthRedirect)\n//\n// export const wrapPageElement = ({ element, props }) => {\n// //i could send some prop when making a page to tell which\n// //store to wrap in\n// // if (props.pageContext.redux) {\n// return (\n// \n// \n// {element}\n// \n// \n// )\n// // } else {\n// // return element\n// // }\n// }\n//\n// export const onRouteUpdate = ({ location }) => {\n// window.previousPath = location.pathname\n//\n// //this is used in listing back button\n//\n// window.locations = window.locations || [document.referrer]\n// window.locations.push(window.location.href)\n// window.previousPath2 = window.locations[window.locations.length - 2]\n// }\nexport const shouldUpdateScroll = ({\n routerProps: { location },\n getSavedScrollPosition,\n}) => {\n const currentPosition = getSavedScrollPosition(location);\n\n setTimeout(() => {\n window.scrollTo(...(currentPosition || [0, 0]));\n }, 0);\n\n return false;\n};\n","\"use strict\";\n\nexports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n var pluginConfig = pluginOptions.pluginConfig || {};\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n var _pluginConfig$delayOn = pluginConfig.delayOnRouteUpdate,\n delayOnRouteUpdate = _pluginConfig$delayOn === void 0 ? 0 : _pluginConfig$delayOn;\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n return setTimeout(sendPageView, delayOnRouteUpdate);\n });\n });\n } else {\n // Delay by 32ms to simulate 2 requestOnAnimationFrame calls\n setTimeout(sendPageView, 32 + delayOnRouteUpdate);\n }\n return null;\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","/**\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","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d {\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 `