{"version":3,"file":"static/js/main.90e8a601.js","mappings":"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,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUnD,SAAQ,YAClBi1F,GAAOM,GAAcN,GAAOM,EAAAA,KELTC,WAAAA,SAAAA,EAOPrN,EAAgB4E,GAAAA,KACrB5E,MAAQA,EAAAA,KACR4E,YAAcA,EAAAA,KACdG,SAAWN,GAAczE,GAI9BqD,GAAWK,WAAWtsF,KAAKwtF,YAAc,uBAG3C0I,aAAAA,SACE/wE,EACA4oE,EACAC,EACAC,GAAAA,IAGMzE,EAAMyE,EADIE,GAAQnuF,KAAK4oF,MAAOmF,EAAkBC,EAAYC,GACvCx8D,KAAK,IAAK,IAC/Bjc,EAAKxV,KAAKwtF,YAAcroE,EAG9B6oE,EAAWrF,YAAYnzE,EAAIA,EAAIg0E,EAAAA,EAAAA,EAGjC2M,aAAAA,SAAahxE,EAAkB6oE,GAC7BA,EAAWnB,WAAW7sF,KAAKwtF,YAAcroE,EAAAA,EAAAA,EAG3CixE,aAAAA,SACEjxE,EACA4oE,EACAC,EACAC,GAEI9oE,EAAW,GAAG8mE,GAAWK,WAAWtsF,KAAKwtF,YAAcroE,GAAAA,KAGtDgxE,aAAahxE,EAAU6oE,GAAAA,KACvBk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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/nonce","../node_modules/@aws-amplify/core/src/Logger/types.ts","../node_modules/@aws-amplify/core/src/Logger/ConsoleLogger.ts","../node_modules/@aws-amplify/core/src/constants.ts","../node_modules/@aws-amplify/core/src/errors/AmplifyError.ts","../node_modules/@aws-amplify/core/src/Hub/index.ts","../node_modules/@aws-amplify/core/src/utils/deepFreeze.ts","../node_modules/@aws-amplify/core/src/singleton/constants.ts","../node_modules/@aws-amplify/core/src/parseAWSExports.ts","../node_modules/@aws-amplify/core/src/parseAmplifyOutputs.ts","../node_modules/@aws-amplify/core/src/utils/parseAmplifyConfig.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../node_modules/@aws-amplify/core/src/singleton/Auth/index.ts","../node_modules/@aws-amplify/core/src/singleton/Amplify.ts","../node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/@aws-amplify/core/src/types/errors.ts","../node_modules/@aws-amplify/core/src/storage/CookieStorage.ts","../node_modules/@aws-amplify/core/src/errors/PlatformNotSupportedError.ts","../node_modules/@aws-amplify/core/src/storage/KeyValueStorage.ts","../node_modules/@aws-amplify/core/src/storage/InMemoryStorage.ts","../node_modules/@aws-amplify/core/src/storage/utils.ts","../node_modules/@aws-amplify/core/src/storage/SyncKeyValueStorage.ts","../node_modules/@aws-amplify/core/src/storage/index.ts","../node_modules/@aws-amplify/core/src/storage/DefaultStorage.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/base64Decoder.ts","../node_modules/@aws-amplify/core/src/storage/SessionStorage.ts","../node_modules/@aws-amplify/core/src/storage/SyncSessionStorage.ts","../node_modules/@aws-amplify/core/src/utils/globalHelpers/index.ts","../node_modules/@aws-amplify/core/src/errors/createAssertionFunction.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/errorHelpers.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/index.ts","../node_modules/@aws-amplify/auth/src/errors/AuthError.ts","../node_modules/@aws-amplify/auth/src/foundation/parsers/regionParsers.ts","../node_modules/@aws-amplify/auth/src/errors/constants.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/types.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeServiceApi.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.ts","../node_modules/@aws-amplify/core/src/clients/serde/responseInfo.ts","../node_modules/@aws-amplify/core/src/clients/serde/json.ts","../node_modules/@aws-amplify/auth/src/errors/utils/assertServiceError.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolDeserializer.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeTransferHandler.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/middleware.ts","../node_modules/@aws-amplify/core/src/clients/middleware/userAgent/middleware.ts","../node_modules/@aws-amplify/core/src/clients/utils/memoization.ts","../node_modules/@aws-amplify/core/src/clients/handlers/fetch.ts","../node_modules/@aws-amplify/core/src/clients/handlers/unauthenticated.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/isClockSkewError.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/defaultRetryDecider.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/core/src/utils/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/core/src/utils/retry/constants.ts","../node_modules/@aws-amplify/core/src/Platform/types.ts","../node_modules/@aws-amplify/core/src/Platform/version.ts","../node_modules/@aws-amplify/core/src/Platform/detection/helpers.ts","../node_modules/@aws-amplify/core/src/Platform/detection/index.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Expo.ts","../node_modules/@aws-amplify/core/src/Platform/detection/ReactNative.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Next.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Nuxt.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Angular.ts","../node_modules/@aws-amplify/core/src/Platform/detection/React.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Vue.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Svelte.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Web.ts","../node_modules/@aws-amplify/core/src/Platform/detectFramework.ts","../node_modules/@aws-amplify/core/src/Platform/customUserAgent.ts","../node_modules/@aws-amplify/core/src/Platform/index.ts","../node_modules/@aws-amplify/auth/src/foundation/constants.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/constants.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createInitiateAuthClient.ts","../node_modules/@aws-amplify/core/src/utils/amplifyUrl/index.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/partitions.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/getDnsSuffix.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/factories/createCognitoUserPoolEndpointResolver.ts","../node_modules/@aws-amplify/auth/src/foundation/cognitoUserPoolEndpointResolver.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/refreshAuthTokens.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/userContextData.ts","../node_modules/@aws-amplify/core/src/utils/deDupeAsyncFunction.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/errorHelpers.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenStore.ts","../node_modules/@aws-amplify/core/src/utils/isTokenExpired.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/signInWithRedirectStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/oAuthStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/inflightPromise.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenOrchestrator.ts","../node_modules/@aws-amplify/core/src/utils/isBrowser.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/tokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdStore.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/base.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getCredentialsForIdentity.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getId.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/utils.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/credentialsProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/index.ts","../node_modules/aws-amplify/src/initSingleton.ts","../node_modules/jwt-decode/build/esm/index.js","../node_modules/oidc-client-ts/src/utils/Logger.ts","../node_modules/oidc-client-ts/src/utils/JwtUtils.ts","../node_modules/oidc-client-ts/src/utils/CryptoUtils.ts","../node_modules/oidc-client-ts/src/utils/Event.ts","../node_modules/oidc-client-ts/src/utils/PopupUtils.ts","../node_modules/oidc-client-ts/src/utils/Timer.ts","../node_modules/oidc-client-ts/src/utils/UrlUtils.ts","../node_modules/oidc-client-ts/src/errors/ErrorResponse.ts","../node_modules/oidc-client-ts/src/errors/ErrorTimeout.ts","../node_modules/oidc-client-ts/src/AccessTokenEvents.ts","../node_modules/oidc-client-ts/src/CheckSessionIFrame.ts","../node_modules/oidc-client-ts/src/InMemoryWebStorage.ts","../node_modules/oidc-client-ts/src/errors/ErrorDPoPNonce.ts","../node_modules/oidc-client-ts/src/JsonService.ts","../node_modules/oidc-client-ts/src/MetadataService.ts","../node_modules/oidc-client-ts/src/WebStorageStateStore.ts","../node_modules/oidc-client-ts/src/OidcClientSettings.ts","../node_modules/oidc-client-ts/src/UserInfoService.ts","../node_modules/oidc-client-ts/src/TokenClient.ts","../node_modules/oidc-client-ts/src/ResponseValidator.ts","../node_modules/oidc-client-ts/src/State.ts","../node_modules/oidc-client-ts/src/SigninState.ts","../node_modules/oidc-client-ts/src/SigninRequest.ts","../node_modules/oidc-client-ts/src/SigninResponse.ts","../node_modules/oidc-client-ts/src/SignoutRequest.ts","../node_modules/oidc-client-ts/src/SignoutResponse.ts","../node_modules/oidc-client-ts/src/ClaimsService.ts","../node_modules/oidc-client-ts/src/DPoPStore.ts","../node_modules/oidc-client-ts/src/OidcClient.ts","../node_modules/oidc-client-ts/src/SessionMonitor.ts","../node_modules/oidc-client-ts/src/User.ts","../node_modules/oidc-client-ts/src/navigators/AbstractChildWindow.ts","../node_modules/oidc-client-ts/src/UserManagerSettings.ts","../node_modules/oidc-client-ts/src/navigators/IFrameWindow.ts","../node_modules/oidc-client-ts/src/navigators/IFrameNavigator.ts","../node_modules/oidc-client-ts/src/navigators/PopupWindow.ts","../node_modules/oidc-client-ts/src/navigators/PopupNavigator.ts","../node_modules/oidc-client-ts/src/navigators/RedirectNavigator.ts","../node_modules/oidc-client-ts/src/UserManagerEvents.ts","../node_modules/oidc-client-ts/src/SilentRenewService.ts","../node_modules/oidc-client-ts/src/RefreshState.ts","../node_modules/react-oidc-context/src/AuthContext.ts","../node_modules/react-oidc-context/src/AuthState.ts","../node_modules/react-oidc-context/src/reducer.ts","../node_modules/react-oidc-context/src/utils.ts","../node_modules/react-oidc-context/src/AuthProvider.tsx","../node_modules/oidc-client-ts/src/UserManager.ts","../node_modules/react-oidc-context/src/useAuth.ts","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/styled-components/src/base.js","components/Common/Header.js","../node_modules/@aws-amplify/core/src/errors/APIError.ts","../node_modules/@aws-amplify/api-rest/src/errors/RestApiError.ts","../node_modules/@aws-amplify/api-rest/src/errors/CanceledError.ts","../node_modules/@aws-amplify/api-rest/src/errors/validation.ts","../node_modules/@aws-amplify/api-rest/src/utils/serviceError.ts","../node_modules/@aws-amplify/api-rest/src/utils/logger.ts","../node_modules/@aws-amplify/api-rest/src/utils/constants.ts","../node_modules/@aws-amplify/api-rest/src/utils/parseSigningInfo.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveApiUrl.ts","../node_modules/@aws-amplify/api-rest/src/errors/assertValidatonError.ts","../node_modules/@aws-amplify/api-rest/src/utils/isIamAuthApplicable.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/constants.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getSkewCorrectedDate.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getUpdatedSystemClockOffset.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/isClockSkewed.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/middleware.ts","../node_modules/@aws-amplify/core/src/clients/handlers/authenticated.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/signRequest.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/handler.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveHeaders.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/publicApis.ts","../node_modules/@aws-amplify/api-rest/src/utils/createCancellableOperation.ts","../node_modules/@aws-amplify/api-rest/src/apis/index.ts","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","components/Contact/Contact.js","components/HomeLinkTree/LinkList.js","components/Products/ProductContext.js","components/Products/Product.js","components/HomeLinkTree/HomeLinkTree.js","components/Products/ProductPage.js","components/NavBar/MenuItems.js","components/NavBar/Navbar.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","components/Thank/Thank.js","components/Thank/ThankContact.js","components/Contact/Error.js","components/Products/MenuProducts.js","components/Products/ProductSimple.js","components/Survey/Survey.js","components/Footer/Footer.js","components/Admin/ProtectedRoute.js","components/Admin/AdminPage.js","App.js","index.js"],"sourcesContent":["'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-dom.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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.nc = undefined;","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var LogType;\n(function (LogType) {\n LogType[\"DEBUG\"] = \"DEBUG\";\n LogType[\"ERROR\"] = \"ERROR\";\n LogType[\"INFO\"] = \"INFO\";\n LogType[\"WARN\"] = \"WARN\";\n LogType[\"VERBOSE\"] = \"VERBOSE\";\n LogType[\"NONE\"] = \"NONE\";\n})(LogType || (LogType = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AWS_CLOUDWATCH_CATEGORY } from '../constants';\nimport { LogType } from './types';\nconst LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n NONE: 6,\n};\n/**\n * Write logs\n * @class Logger\n */\nexport class ConsoleLogger {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n constructor(name, level = LogType.WARN) {\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n _padding(n) {\n return n < 10 ? '0' + n : '' + n;\n }\n _ts() {\n const dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n }\n configure(config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n }\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LogType|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n _log(type, ...msg) {\n let loggerLevelName = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n loggerLevelName = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n loggerLevelName = window.LOG_LEVEL;\n }\n const loggerLevel = LOG_LEVELS[loggerLevelName];\n const typeLevel = LOG_LEVELS[type];\n if (!(typeLevel >= loggerLevel)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n let log = console.log.bind(console);\n if (type === LogType.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LogType.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n if (ConsoleLogger.BIND_ALL_LOG_LEVELS) {\n if (type === LogType.INFO && console.info) {\n log = console.info.bind(console);\n }\n if (type === LogType.DEBUG && console.debug) {\n log = console.debug.bind(console);\n }\n }\n const prefix = `[${type}] ${this._ts()} ${this.name}`;\n let message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = `${prefix} - ${msg[0]}`;\n log(message);\n }\n else if (msg.length === 1) {\n message = `${prefix} ${msg[0]}`;\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n let obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = `${prefix} - ${msg[0]} ${obj}`;\n log(`${prefix} - ${msg[0]}`, obj);\n }\n else {\n message = `${prefix} ${msg}`;\n log(prefix, msg);\n }\n for (const plugin of this._pluggables) {\n const logEvent = { message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n log(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n info(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n warn(...msg) {\n this._log(LogType.WARN, ...msg);\n }\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n error(...msg) {\n this._log(LogType.ERROR, ...msg);\n }\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n debug(...msg) {\n this._log(LogType.DEBUG, ...msg);\n }\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n verbose(...msg) {\n this._log(LogType.VERBOSE, ...msg);\n }\n addPluggable(pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n }\n listPluggables() {\n return this._pluggables;\n }\n}\nConsoleLogger.LOG_LEVEL = null;\nConsoleLogger.BIND_ALL_LOG_LEVELS = false;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nexport const AWS_CLOUDWATCH_CATEGORY = 'Logging';\nexport const USER_AGENT_HEADER = 'x-amz-user-agent';\n// Error exception code constants\nexport const NO_HUBCALLBACK_PROVIDED_EXCEPTION = 'NoHubcallbackProvidedException';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport class AmplifyError extends Error {\n /**\n * Constructs an AmplifyError.\n *\n * @param message text that describes the main problem.\n * @param underlyingError the underlying cause of the error.\n * @param recoverySuggestion suggestion to recover from the error.\n *\n */\n constructor({ message, name, recoverySuggestion, underlyingError, }) {\n super(message);\n this.name = name;\n this.underlyingError = underlyingError;\n this.recoverySuggestion = recoverySuggestion;\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 = AmplifyError;\n Object.setPrototypeOf(this, AmplifyError.prototype);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../Logger';\nimport { NO_HUBCALLBACK_PROVIDED_EXCEPTION } from '../constants';\nimport { AmplifyError } from '../errors';\nexport const AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined'\n ? Symbol('amplify_default')\n : '@@amplify_default');\nconst logger = new ConsoleLogger('Hub');\nexport class HubClass {\n constructor(name) {\n this.listeners = new Map();\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n _remove(channel, listener) {\n const holder = this.listeners.get(channel);\n if (!holder) {\n logger.warn(`No listeners for ${channel}`);\n return;\n }\n this.listeners.set(channel, [\n ...holder.filter(({ callback }) => callback !== listener),\n ]);\n }\n dispatch(channel, payload, source, ampSymbol) {\n if (typeof channel === 'string' &&\n this.protectedChannels.indexOf(channel) > -1) {\n const hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`);\n }\n }\n const capsule = {\n channel,\n payload: { ...payload },\n source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n listen(channel, callback, listenerName = 'noname') {\n let cb;\n if (typeof callback !== 'function') {\n throw new AmplifyError({\n name: NO_HUBCALLBACK_PROVIDED_EXCEPTION,\n message: 'No callback supplied to Hub',\n });\n }\n else {\n // Needs to be casted as a more generic type\n cb = callback;\n }\n let holder = this.listeners.get(channel);\n if (!holder) {\n holder = [];\n this.listeners.set(channel, holder);\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n return () => {\n this._remove(channel, cb);\n };\n }\n _toListeners(capsule) {\n const { channel, payload } = capsule;\n const holder = this.listeners.get(channel);\n if (holder) {\n holder.forEach(listener => {\n logger.debug(`Dispatching to ${channel} with `, payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n }\n}\n/* We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events. */\nexport const Hub = new HubClass('__default__');\n/**\n * @internal\n *\n * Internal hub used for core Amplify functionality. Not intended for use outside of Amplify.\n *\n */\nexport const HubInternal = new HubClass('internal-hub');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const deepFreeze = (object) => {\n const propNames = Reflect.ownKeys(object);\n for (const name of propNames) {\n const value = object[name];\n if ((value && typeof value === 'object') || typeof value === 'function') {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const ADD_OAUTH_LISTENER = Symbol('oauth-listener');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from './Logger';\nimport { AmplifyError } from './errors';\nconst logger = new ConsoleLogger('parseAWSExports');\nconst authTypeMapping = {\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n OPENID_CONNECT: 'oidc',\n NONE: 'none',\n AWS_LAMBDA: 'lambda',\n // `LAMBDA` is an incorrect value that was added during the v6 rewrite.\n // Keeping it as a valid value until v7 to prevent breaking customers who might\n // be relying on it as a workaround.\n // ref: https://github.com/aws-amplify/amplify-js/pull/12922\n // TODO: @v7 remove next line\n LAMBDA: 'lambda',\n};\n/**\n * Converts the object imported from `aws-exports.js` or `amplifyconfiguration.json` files generated by\n * the Amplify CLI into an object that conforms to the {@link ResourcesConfig}.\n *\n * @param config A configuration object imported from `aws-exports.js` or `amplifyconfiguration.json`.\n *\n * @returns An object that conforms to the {@link ResourcesConfig} .\n */\nexport const parseAWSExports = (config = {}) => {\n if (!Object.prototype.hasOwnProperty.call(config, 'aws_project_region')) {\n throw new AmplifyError({\n name: 'InvalidParameterException',\n message: 'Invalid config parameter.',\n recoverySuggestion: 'Ensure passing the config object imported from `amplifyconfiguration.json`.',\n });\n }\n const { aws_appsync_apiKey, aws_appsync_authenticationType, aws_appsync_graphqlEndpoint, aws_appsync_region, aws_bots_config, aws_cognito_identity_pool_id, aws_cognito_sign_up_verification_method, aws_cognito_mfa_configuration, aws_cognito_mfa_types, aws_cognito_password_protection_settings, aws_cognito_verification_mechanisms, aws_cognito_signup_attributes, aws_cognito_social_providers, aws_cognito_username_attributes, aws_mandatory_sign_in, aws_mobile_analytics_app_id, aws_mobile_analytics_app_region, aws_user_files_s3_bucket, aws_user_files_s3_bucket_region, aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing, aws_user_pools_id, aws_user_pools_web_client_id, geo, oauth, predictions, aws_cloud_logic_custom, Notifications, modelIntrospection, } = config;\n const amplifyConfig = {};\n // Analytics\n if (aws_mobile_analytics_app_id) {\n amplifyConfig.Analytics = {\n Pinpoint: {\n appId: aws_mobile_analytics_app_id,\n region: aws_mobile_analytics_app_region,\n },\n };\n }\n // Notifications\n const { InAppMessaging, Push } = Notifications ?? {};\n if (InAppMessaging?.AWSPinpoint || Push?.AWSPinpoint) {\n if (InAppMessaging?.AWSPinpoint) {\n const { appId, region } = InAppMessaging.AWSPinpoint;\n amplifyConfig.Notifications = {\n InAppMessaging: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n if (Push?.AWSPinpoint) {\n const { appId, region } = Push.AWSPinpoint;\n amplifyConfig.Notifications = {\n ...amplifyConfig.Notifications,\n PushNotification: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n }\n // Interactions\n if (Array.isArray(aws_bots_config)) {\n amplifyConfig.Interactions = {\n LexV1: Object.fromEntries(aws_bots_config.map(bot => [bot.name, bot])),\n };\n }\n // API\n if (aws_appsync_graphqlEndpoint) {\n const defaultAuthMode = authTypeMapping[aws_appsync_authenticationType];\n if (!defaultAuthMode) {\n logger.debug(`Invalid authentication type ${aws_appsync_authenticationType}. Falling back to IAM.`);\n }\n amplifyConfig.API = {\n GraphQL: {\n endpoint: aws_appsync_graphqlEndpoint,\n apiKey: aws_appsync_apiKey,\n region: aws_appsync_region,\n defaultAuthMode: defaultAuthMode ?? 'iam',\n },\n };\n if (modelIntrospection) {\n amplifyConfig.API.GraphQL.modelIntrospection = modelIntrospection;\n }\n }\n // Auth\n const mfaConfig = aws_cognito_mfa_configuration\n ? {\n status: aws_cognito_mfa_configuration &&\n aws_cognito_mfa_configuration.toLowerCase(),\n totpEnabled: aws_cognito_mfa_types?.includes('TOTP') ?? false,\n smsEnabled: aws_cognito_mfa_types?.includes('SMS') ?? false,\n }\n : undefined;\n const passwordFormatConfig = aws_cognito_password_protection_settings\n ? {\n minLength: aws_cognito_password_protection_settings.passwordPolicyMinLength,\n requireLowercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_LOWERCASE') ?? false,\n requireUppercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_UPPERCASE') ?? false,\n requireNumbers: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_NUMBERS') ?? false,\n requireSpecialCharacters: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_SYMBOLS') ?? false,\n }\n : undefined;\n const mergedUserAttributes = Array.from(new Set([\n ...(aws_cognito_verification_mechanisms ?? []),\n ...(aws_cognito_signup_attributes ?? []),\n ]));\n const userAttributes = mergedUserAttributes.reduce((attributes, key) => ({\n ...attributes,\n // All user attributes generated by the CLI are required\n [key.toLowerCase()]: { required: true },\n }), {});\n const loginWithEmailEnabled = aws_cognito_username_attributes?.includes('EMAIL') ?? false;\n const loginWithPhoneEnabled = aws_cognito_username_attributes?.includes('PHONE_NUMBER') ?? false;\n if (aws_cognito_identity_pool_id || aws_user_pools_id) {\n amplifyConfig.Auth = {\n Cognito: {\n identityPoolId: aws_cognito_identity_pool_id,\n allowGuestAccess: aws_mandatory_sign_in !== 'enable',\n signUpVerificationMethod: aws_cognito_sign_up_verification_method,\n userAttributes,\n userPoolClientId: aws_user_pools_web_client_id,\n userPoolId: aws_user_pools_id,\n mfa: mfaConfig,\n passwordFormat: passwordFormatConfig,\n loginWith: {\n username: !(loginWithEmailEnabled || loginWithPhoneEnabled),\n email: loginWithEmailEnabled,\n phone: loginWithPhoneEnabled,\n },\n },\n };\n }\n const hasOAuthConfig = oauth ? Object.keys(oauth).length > 0 : false;\n const hasSocialProviderConfig = aws_cognito_social_providers\n ? aws_cognito_social_providers.length > 0\n : false;\n if (amplifyConfig.Auth && hasOAuthConfig) {\n amplifyConfig.Auth.Cognito.loginWith = {\n ...amplifyConfig.Auth.Cognito.loginWith,\n oauth: {\n ...getOAuthConfig(oauth),\n ...(hasSocialProviderConfig && {\n providers: parseSocialProviders(aws_cognito_social_providers),\n }),\n },\n };\n }\n // Storage\n if (aws_user_files_s3_bucket) {\n amplifyConfig.Storage = {\n S3: {\n bucket: aws_user_files_s3_bucket,\n region: aws_user_files_s3_bucket_region,\n dangerouslyConnectToHttpEndpointForTesting: aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing,\n },\n };\n }\n // Geo\n if (geo) {\n const { amazon_location_service } = geo;\n amplifyConfig.Geo = {\n LocationService: {\n maps: amazon_location_service.maps,\n geofenceCollections: amazon_location_service.geofenceCollections,\n searchIndices: amazon_location_service.search_indices,\n region: amazon_location_service.region,\n },\n };\n }\n // REST API\n if (aws_cloud_logic_custom) {\n amplifyConfig.API = {\n ...amplifyConfig.API,\n REST: aws_cloud_logic_custom.reduce((acc, api) => {\n const { name, endpoint, region, service } = api;\n return {\n ...acc,\n [name]: {\n endpoint,\n ...(service ? { service } : undefined),\n ...(region ? { region } : undefined),\n },\n };\n }, {}),\n };\n }\n // Predictions\n if (predictions) {\n // map VoiceId from speechGenerator defaults to voiceId\n const { VoiceId: voiceId } = predictions?.convert?.speechGenerator?.defaults ?? {};\n amplifyConfig.Predictions = voiceId\n ? {\n ...predictions,\n convert: {\n ...predictions.convert,\n speechGenerator: {\n ...predictions.convert.speechGenerator,\n defaults: { voiceId },\n },\n },\n }\n : predictions;\n }\n return amplifyConfig;\n};\nconst getRedirectUrl = (redirectStr) => redirectStr?.split(',') ?? [];\nconst getOAuthConfig = ({ domain, scope, redirectSignIn, redirectSignOut, responseType, }) => ({\n domain,\n scopes: scope,\n redirectSignIn: getRedirectUrl(redirectSignIn),\n redirectSignOut: getRedirectUrl(redirectSignOut),\n responseType,\n});\nconst parseSocialProviders = (aws_cognito_social_providers) => {\n return aws_cognito_social_providers.map((provider) => {\n const updatedProvider = provider.toLowerCase();\n return updatedProvider.charAt(0).toUpperCase() + updatedProvider.slice(1);\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isAmplifyOutputs(config) {\n // version format initially will be '1' but is expected to be something like x.y where x is major and y minor version\n const { version } = config;\n if (!version) {\n return false;\n }\n return version.startsWith('1');\n}\nfunction parseStorage(amplifyOutputsStorageProperties) {\n if (!amplifyOutputsStorageProperties) {\n return undefined;\n }\n const { bucket_name, aws_region, buckets } = amplifyOutputsStorageProperties;\n return {\n S3: {\n bucket: bucket_name,\n region: aws_region,\n buckets: buckets && createBucketInfoMap(buckets),\n },\n };\n}\nfunction parseAuth(amplifyOutputsAuthProperties) {\n if (!amplifyOutputsAuthProperties) {\n return undefined;\n }\n const { user_pool_id, user_pool_client_id, identity_pool_id, password_policy, mfa_configuration, mfa_methods, unauthenticated_identities_enabled, oauth, username_attributes, standard_required_attributes, groups, } = amplifyOutputsAuthProperties;\n const authConfig = {\n Cognito: {\n userPoolId: user_pool_id,\n userPoolClientId: user_pool_client_id,\n groups,\n },\n };\n if (identity_pool_id) {\n authConfig.Cognito = {\n ...authConfig.Cognito,\n identityPoolId: identity_pool_id,\n };\n }\n if (password_policy) {\n authConfig.Cognito.passwordFormat = {\n requireLowercase: password_policy.require_lowercase,\n requireNumbers: password_policy.require_numbers,\n requireUppercase: password_policy.require_uppercase,\n requireSpecialCharacters: password_policy.require_symbols,\n minLength: password_policy.min_length ?? 6,\n };\n }\n if (mfa_configuration) {\n authConfig.Cognito.mfa = {\n status: getMfaStatus(mfa_configuration),\n smsEnabled: mfa_methods?.includes('SMS'),\n totpEnabled: mfa_methods?.includes('TOTP'),\n };\n }\n if (unauthenticated_identities_enabled) {\n authConfig.Cognito.allowGuestAccess = unauthenticated_identities_enabled;\n }\n if (oauth) {\n authConfig.Cognito.loginWith = {\n oauth: {\n domain: oauth.domain,\n redirectSignIn: oauth.redirect_sign_in_uri,\n redirectSignOut: oauth.redirect_sign_out_uri,\n responseType: oauth.response_type === 'token' ? 'token' : 'code',\n scopes: oauth.scopes,\n providers: getOAuthProviders(oauth.identity_providers),\n },\n };\n }\n if (username_attributes) {\n authConfig.Cognito.loginWith = {\n ...authConfig.Cognito.loginWith,\n email: username_attributes.includes('email'),\n phone: username_attributes.includes('phone_number'),\n // Signing in with a username is not currently supported in Gen2, this should always evaluate to false\n username: username_attributes.includes('username'),\n };\n }\n if (standard_required_attributes) {\n authConfig.Cognito.userAttributes = standard_required_attributes.reduce((acc, curr) => ({ ...acc, [curr]: { required: true } }), {});\n }\n return authConfig;\n}\nexport function parseAnalytics(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties?.amazon_pinpoint) {\n return undefined;\n }\n const { amazon_pinpoint } = amplifyOutputsAnalyticsProperties;\n return {\n Pinpoint: {\n appId: amazon_pinpoint.app_id,\n region: amazon_pinpoint.aws_region,\n },\n };\n}\nfunction parseGeo(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties) {\n return undefined;\n }\n const { aws_region, geofence_collections, maps, search_indices } = amplifyOutputsAnalyticsProperties;\n return {\n LocationService: {\n region: aws_region,\n searchIndices: search_indices,\n geofenceCollections: geofence_collections,\n maps,\n },\n };\n}\nfunction parseData(amplifyOutputsDataProperties) {\n if (!amplifyOutputsDataProperties) {\n return undefined;\n }\n const { aws_region, default_authorization_type, url, api_key, model_introspection, } = amplifyOutputsDataProperties;\n const GraphQL = {\n endpoint: url,\n defaultAuthMode: getGraphQLAuthMode(default_authorization_type),\n region: aws_region,\n apiKey: api_key,\n modelIntrospection: model_introspection,\n };\n return {\n GraphQL,\n };\n}\nfunction parseCustom(amplifyOutputsCustomProperties) {\n if (!amplifyOutputsCustomProperties?.events) {\n return undefined;\n }\n const { url, aws_region, api_key, default_authorization_type } = amplifyOutputsCustomProperties.events;\n const Events = {\n endpoint: url,\n defaultAuthMode: getGraphQLAuthMode(default_authorization_type),\n region: aws_region,\n apiKey: api_key,\n };\n return {\n Events,\n };\n}\nfunction parseNotifications(amplifyOutputsNotificationsProperties) {\n if (!amplifyOutputsNotificationsProperties) {\n return undefined;\n }\n const { aws_region, channels, amazon_pinpoint_app_id } = amplifyOutputsNotificationsProperties;\n const hasInAppMessaging = channels.includes('IN_APP_MESSAGING');\n const hasPushNotification = channels.includes('APNS') || channels.includes('FCM');\n if (!(hasInAppMessaging || hasPushNotification)) {\n return undefined;\n }\n // At this point, we know the Amplify outputs contains at least one supported channel\n const notificationsConfig = {};\n if (hasInAppMessaging) {\n notificationsConfig.InAppMessaging = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n if (hasPushNotification) {\n notificationsConfig.PushNotification = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n return notificationsConfig;\n}\nexport function parseAmplifyOutputs(amplifyOutputs) {\n const resourcesConfig = {};\n if (amplifyOutputs.storage) {\n resourcesConfig.Storage = parseStorage(amplifyOutputs.storage);\n }\n if (amplifyOutputs.auth) {\n resourcesConfig.Auth = parseAuth(amplifyOutputs.auth);\n }\n if (amplifyOutputs.analytics) {\n resourcesConfig.Analytics = parseAnalytics(amplifyOutputs.analytics);\n }\n if (amplifyOutputs.geo) {\n resourcesConfig.Geo = parseGeo(amplifyOutputs.geo);\n }\n if (amplifyOutputs.data) {\n resourcesConfig.API = parseData(amplifyOutputs.data);\n }\n if (amplifyOutputs.custom) {\n const customConfig = parseCustom(amplifyOutputs.custom);\n if (customConfig && 'Events' in customConfig) {\n resourcesConfig.API = { ...resourcesConfig.API, ...customConfig };\n }\n }\n if (amplifyOutputs.notifications) {\n resourcesConfig.Notifications = parseNotifications(amplifyOutputs.notifications);\n }\n return resourcesConfig;\n}\nconst authModeNames = {\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AWS_LAMBDA: 'lambda',\n OPENID_CONNECT: 'oidc',\n};\nfunction getGraphQLAuthMode(authType) {\n return authModeNames[authType];\n}\nconst providerNames = {\n GOOGLE: 'Google',\n LOGIN_WITH_AMAZON: 'Amazon',\n FACEBOOK: 'Facebook',\n SIGN_IN_WITH_APPLE: 'Apple',\n};\nfunction getOAuthProviders(providers = []) {\n return providers.reduce((oAuthProviders, provider) => {\n if (providerNames[provider] !== undefined) {\n oAuthProviders.push(providerNames[provider]);\n }\n return oAuthProviders;\n }, []);\n}\nfunction getMfaStatus(mfaConfiguration) {\n if (mfaConfiguration === 'OPTIONAL')\n return 'optional';\n if (mfaConfiguration === 'REQUIRED')\n return 'on';\n return 'off';\n}\nfunction createBucketInfoMap(buckets) {\n const mappedBuckets = {};\n buckets.forEach(({ name, bucket_name: bucketName, aws_region: region, paths }) => {\n if (name in mappedBuckets) {\n throw new Error(`Duplicate friendly name found: ${name}. Name must be unique.`);\n }\n const sanitizedPaths = paths\n ? Object.entries(paths).reduce((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = value;\n }\n return acc;\n }, {})\n : undefined;\n mappedBuckets[name] = {\n bucketName,\n region,\n paths: sanitizedPaths,\n };\n });\n return mappedBuckets;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseAWSExports } from '../parseAWSExports';\nimport { isAmplifyOutputs, parseAmplifyOutputs } from '../parseAmplifyOutputs';\n/**\n * Parses the variety of configuration shapes that Amplify can accept into a ResourcesConfig.\n *\n * @param amplifyConfig An Amplify configuration object conforming to one of the supported schemas.\n * @return A ResourcesConfig for the provided configuration object.\n */\nexport const parseAmplifyConfig = (amplifyConfig) => {\n if (Object.keys(amplifyConfig).some(key => key.startsWith('aws_'))) {\n return parseAWSExports(amplifyConfig);\n }\n else if (isAmplifyOutputs(amplifyConfig)) {\n return parseAmplifyOutputs(amplifyConfig);\n }\n else {\n return amplifyConfig;\n }\n};\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const 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/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n","import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let 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\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let 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 } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((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\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\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\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}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","export const fromUtf8 = (input) => new TextEncoder().encode(input);\n","import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private hash: RawSha256;\n private outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\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 async digest(): Promise {\n return this.digestSync();\n }\n\n reset(): void {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(this.secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","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","export class AuthClass {\n /**\n * Configure Auth category\n *\n * @internal\n *\n * @param authResourcesConfig - Resources configurations required by Auth providers.\n * @param authOptions - Client options used by library\n *\n * @returns void\n */\n configure(authResourcesConfig, authOptions) {\n this.authConfig = authResourcesConfig;\n this.authOptions = authOptions;\n }\n /**\n * Fetch the auth tokens, and the temporary AWS credentials and identity if they are configured. By default it\n * does not refresh the auth tokens or credentials if they are loaded in storage already. You can force a refresh\n * with `{ forceRefresh: true }` input.\n *\n * @param options - Options configuring the fetch behavior.\n *\n * @returns Promise of current auth session {@link AuthSession}.\n */\n async fetchAuthSession(options = {}) {\n let credentialsAndIdentityId;\n let userSub;\n // Get tokens will throw if session cannot be refreshed (network or service error) or return null if not available\n const tokens = await this.getTokens(options);\n if (tokens) {\n userSub = tokens.accessToken?.payload?.sub;\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n tokens,\n authenticated: true,\n forceRefresh: options.forceRefresh,\n });\n }\n else {\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n authenticated: false,\n forceRefresh: options.forceRefresh,\n });\n }\n return {\n tokens,\n credentials: credentialsAndIdentityId?.credentials,\n identityId: credentialsAndIdentityId?.identityId,\n userSub,\n };\n }\n async clearCredentials() {\n await this.authOptions?.credentialsProvider?.clearCredentialsAndIdentityId();\n }\n async getTokens(options) {\n return ((await this.authOptions?.tokenProvider?.getTokens(options)) ?? undefined);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AMPLIFY_SYMBOL, Hub } from '../Hub';\nimport { deepFreeze } from '../utils';\nimport { parseAmplifyConfig } from '../libraryUtils';\nimport { AuthClass } from './Auth';\nimport { ADD_OAUTH_LISTENER } from './constants';\nexport class AmplifyClass {\n constructor() {\n this.oAuthListener = undefined;\n this.resourcesConfig = {};\n this.libraryOptions = {};\n this.Auth = new AuthClass();\n }\n /**\n * Configures Amplify for use with your back-end resources.\n *\n * @remarks\n * This API does not perform any merging of either `resourcesConfig` or `libraryOptions`. The most recently\n * provided values will be used after configuration.\n *\n * @remarks\n * `configure` can be used to specify additional library options where available for supported categories.\n *\n * @param resourceConfig - Back-end resource configuration. Typically provided via the `aws-exports.js` file.\n * @param libraryOptions - Additional options for customizing the behavior of the library.\n */\n configure(resourcesConfig, libraryOptions) {\n const resolvedResourceConfig = parseAmplifyConfig(resourcesConfig);\n this.resourcesConfig = resolvedResourceConfig;\n if (libraryOptions) {\n this.libraryOptions = libraryOptions;\n }\n // Make resource config immutable\n this.resourcesConfig = deepFreeze(this.resourcesConfig);\n this.Auth.configure(this.resourcesConfig.Auth, this.libraryOptions.Auth);\n Hub.dispatch('core', {\n event: 'configure',\n data: this.resourcesConfig,\n }, 'Configure', AMPLIFY_SYMBOL);\n this.notifyOAuthListener();\n }\n /**\n * Provides access to the current back-end resource configuration for the Library.\n *\n * @returns Returns the immutable back-end resource configuration.\n */\n getConfig() {\n return this.resourcesConfig;\n }\n /** @internal */\n [ADD_OAUTH_LISTENER](listener) {\n if (this.resourcesConfig.Auth?.Cognito.loginWith?.oauth) {\n // when Amplify has been configured with a valid OAuth config while adding the listener, run it directly\n listener(this.resourcesConfig.Auth?.Cognito);\n }\n else {\n // otherwise register the listener and run it later when Amplify gets configured with a valid oauth config\n this.oAuthListener = listener;\n }\n }\n notifyOAuthListener() {\n if (!this.resourcesConfig.Auth?.Cognito.loginWith?.oauth ||\n !this.oAuthListener) {\n return;\n }\n this.oAuthListener(this.resourcesConfig.Auth?.Cognito);\n // the listener should only be notified once with a valid oauth config\n this.oAuthListener = undefined;\n }\n}\n/**\n * The `Amplify` utility is used to configure the library.\n *\n * @remarks\n * `Amplify` orchestrates cross-category communication within the library.\n */\nexport const Amplify = new AmplifyClass();\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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var AmplifyErrorCode;\n(function (AmplifyErrorCode) {\n AmplifyErrorCode[\"NoEndpointId\"] = \"NoEndpointId\";\n AmplifyErrorCode[\"PlatformNotSupported\"] = \"PlatformNotSupported\";\n AmplifyErrorCode[\"Unknown\"] = \"Unknown\";\n AmplifyErrorCode[\"NetworkError\"] = \"NetworkError\";\n})(AmplifyErrorCode || (AmplifyErrorCode = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport JsCookie from 'js-cookie';\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode } from '../types';\nimport { AmplifyError } from './AmplifyError';\nexport class PlatformNotSupportedError extends AmplifyError {\n constructor() {\n super({\n name: AmplifyErrorCode.PlatformNotSupported,\n message: 'Function not supported on current platform',\n });\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PlatformNotSupportedError } from '../errors';\n/**\n * @internal\n */\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../Logger';\nimport { InMemoryStorage } from './InMemoryStorage';\n/**\n * @internal\n * @returns Either a reference to window.localStorage or an in-memory storage as fallback\n */\nconst logger = new ConsoleLogger('CoreStorageUtils');\nexport const getLocalStorageWithFallback = () => {\n try {\n // Attempt to use localStorage directly\n if (typeof window !== 'undefined' && window.localStorage) {\n return window.localStorage;\n }\n }\n catch (e) {\n // Handle any errors related to localStorage access\n logger.info('localStorage not found. InMemoryStorage is used as a fallback.');\n }\n // Return in-memory storage as a fallback if localStorage is not accessible\n return new InMemoryStorage();\n};\n/**\n * @internal\n * @returns Either a reference to window.sessionStorage or an in-memory storage as fallback\n */\nexport const getSessionStorageWithFallback = () => {\n try {\n // Attempt to use sessionStorage directly\n if (typeof window !== 'undefined' && window.sessionStorage) {\n // Verify we can actually use it by testing access\n window.sessionStorage.getItem('test');\n return window.sessionStorage;\n }\n throw new Error('sessionStorage is not defined');\n }\n catch (e) {\n // Handle any errors related to sessionStorage access\n logger.info('sessionStorage not found. InMemoryStorage is used as a fallback.');\n return new InMemoryStorage();\n }\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PlatformNotSupportedError } from '../errors';\n/**\n * @internal\n */\nexport class SyncKeyValueStorage {\n constructor(storage) {\n this._storage = storage;\n }\n get storage() {\n if (!this._storage)\n throw new PlatformNotSupportedError();\n return this._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 setItem(key, value) {\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 getItem(key) {\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 removeItem(key) {\n this.storage.removeItem(key);\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n clear() {\n this.storage.clear();\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { DefaultStorage } from './DefaultStorage';\nimport { InMemoryStorage } from './InMemoryStorage';\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { SessionStorage } from './SessionStorage';\nimport { SyncSessionStorage } from './SyncSessionStorage';\nexport { CookieStorage } from './CookieStorage';\nexport const defaultStorage = new DefaultStorage();\nexport const sessionStorage = new SessionStorage();\nexport const syncSessionStorage = new SyncSessionStorage();\nexport const sharedInMemoryStorage = new KeyValueStorage(new InMemoryStorage());\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { getLocalStorageWithFallback } from './utils';\n/**\n * @internal\n */\nexport class DefaultStorage extends KeyValueStorage {\n constructor() {\n super(getLocalStorageWithFallback());\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getAtob } from '../../globalHelpers';\nexport const base64Decoder = {\n convert(input, options) {\n let inputStr = input;\n // urlSafe character replacement options conform to the base64 url spec\n // https://datatracker.ietf.org/doc/html/rfc4648#page-7\n if (options?.urlSafe) {\n inputStr = inputStr.replace(/-/g, '+').replace(/_/g, '/');\n }\n return getAtob()(inputStr);\n },\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { getSessionStorageWithFallback } from './utils';\n/**\n * @internal\n */\nexport class SessionStorage extends KeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { SyncKeyValueStorage } from './SyncKeyValueStorage';\nimport { getSessionStorageWithFallback } from './utils';\n/**\n * @internal\n */\nexport class SyncSessionStorage extends SyncKeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError } from '../../errors';\nexport const getCrypto = () => {\n if (typeof window === 'object' && typeof window.crypto === 'object') {\n return window.crypto;\n }\n // Next.js global polyfill\n if (typeof crypto === 'object') {\n return crypto;\n }\n throw new AmplifyError({\n name: 'MissingPolyfill',\n message: 'Cannot resolve the `crypto` function from the environment.',\n });\n};\nexport const getBtoa = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n return window.btoa;\n }\n // Next.js global polyfill\n if (typeof btoa === 'function') {\n return btoa;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `btoa` function from the environment.',\n });\n};\nexport const getAtob = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.atob === 'function') {\n return window.atob;\n }\n // Next.js global polyfill\n if (typeof atob === 'function') {\n return atob;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `atob` function from the environment.',\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError } from './AmplifyError';\nexport const 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createAssertionFunction } from '../../../errors';\nexport var 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};\nexport const assert = createAssertionFunction(authConfigurationErrorMap);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { base64Decoder } from '../../../utils/convert';\nimport { AuthConfigurationErrorCode, assert } from './errorHelpers';\nexport function 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}\nexport function 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}\nexport function assertIdentityPoolIdConfig(cognitoConfig) {\n const validConfig = !!cognitoConfig?.identityPoolId;\n assert(validConfig, AuthConfigurationErrorCode.InvalidIdentityPoolIdException);\n}\n/**\n * Decodes payload of JWT token\n *\n * @param {String} token A string representing a token to be decoded\n * @throws {@link Error} - Throws error when token is invalid or payload malformed.\n */\nexport function 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError, } from '@aws-amplify/core/internals/utils';\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from '../../errors/AuthError';\nexport function getRegionFromUserPoolId(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}\nexport function 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from './AuthError';\nexport const USER_UNAUTHENTICATED_EXCEPTION = 'UserUnAuthenticatedException';\nexport const USER_ALREADY_AUTHENTICATED_EXCEPTION = 'UserAlreadyAuthenticatedException';\nexport const DEVICE_METADATA_NOT_FOUND_EXCEPTION = 'DeviceMetadataNotFoundException';\nexport const AUTO_SIGN_IN_EXCEPTION = 'AutoSignInException';\nexport const INVALID_REDIRECT_EXCEPTION = 'InvalidRedirectException';\nexport const INVALID_APP_SCHEME_EXCEPTION = 'InvalidAppSchemeException';\nexport const INVALID_PREFERRED_REDIRECT_EXCEPTION = 'InvalidPreferredRedirectUrlException';\nexport const 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});\nexport const invalidAppSchemeException = new AuthError({\n name: INVALID_APP_SCHEME_EXCEPTION,\n message: 'A valid non-http app scheme was not found in the config.',\n recoverySuggestion: 'Please make sure a valid custom app scheme is present in the config.',\n});\nexport const invalidPreferredRedirectUrlException = new AuthError({\n name: INVALID_PREFERRED_REDIRECT_EXCEPTION,\n message: 'The given preferredRedirectUrl does not match any items in the redirectSignOutUrls array from the config.',\n recoverySuggestion: 'Please make sure a matching preferredRedirectUrl is provided.',\n});\nexport const INVALID_ORIGIN_EXCEPTION = 'InvalidOriginException';\nexport const 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});\nexport const OAUTH_SIGNOUT_EXCEPTION = 'OAuthSignOutException';\nexport const TOKEN_REFRESH_EXCEPTION = 'TokenRefreshException';\nexport const UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION = 'UnexpectedSignInInterruptionException';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from '../../../errors/AuthError';\nimport { DEVICE_METADATA_NOT_FOUND_EXCEPTION, TOKEN_REFRESH_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, } from '../../../errors/constants';\nexport function isTypeUserPoolConfig(authConfig) {\n if (authConfig &&\n authConfig.Cognito.userPoolId &&\n authConfig.Cognito.userPoolClientId) {\n return true;\n }\n return false;\n}\nexport function 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}\nexport function 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}\nexport const 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});\nexport const 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});\nexport function assertAuthTokensWithRefreshToken(tokens) {\n if (isAuthenticatedWithImplicitOauthFlow(tokens)) {\n throw oAuthTokenRefreshException;\n }\n if (!isAuthenticatedWithRefreshToken(tokens)) {\n throw tokenRefreshException;\n }\n}\nexport function 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}\nexport const 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a service API handler that accepts input as defined shape and responds conforming to defined output shape.\n * A service API handler is composed with:\n * * A transfer handler\n * * A serializer function\n * * A deserializer function\n * * A default config object\n *\n * The returned service API handler, when called, will trigger the following workflow:\n * 1. When calling the service API handler function, the default config object is merged into the input config\n * object to assign the default values of some omitted configs, resulting to a resolved config object.\n * 2. The `endpointResolver` function from the default config object will be invoked with the resolved config object and\n * API input object resulting to an endpoint instance.\n * 3. The serializer function is invoked with API input object and the endpoint instance resulting to an HTTP request\n * instance.\n * 4. The HTTP request instance and the resolved config object is passed to the transfer handler function.\n * 5. The transfer handler function resolves to an HTTP response instance(can be either successful or failed status code).\n * 6. The deserializer function is invoked with the HTTP response instance resulting to the API output object, and\n * return to the caller.\n *\n *\n * @param transferHandler Async function for dispatching HTTP requests and returning HTTP response.\n * @param serializer Async function for converting object in defined input shape into HTTP request targeting a given\n * \tendpoint.\n * @param deserializer Async function for converting HTTP response into output object in defined output shape, or error\n * \tshape.\n * @param defaultConfig object containing default options to be consumed by transfer handler, serializer and\n * deserializer.\n * @returns a async service API handler function that accepts a config object and input object in defined shape, returns\n * \tan output object in defined shape. It may also throw error instance in defined shape in deserializer. The config\n * object type is composed with options type of transferHandler, endpointResolver function as well as endpointResolver\n * function's input options type, region string. The config object property will be marked as optional if it's also\n * \tdefined in defaultConfig.\n *\n * @internal\n */\nexport const composeServiceApi = (transferHandler, serializer, deserializer, defaultConfig) => {\n return async (config, input) => {\n const resolvedConfig = {\n ...defaultConfig,\n ...config,\n };\n // We need to allow different endpoints based on both given config(other than region) and input.\n // However for most of non-S3 services, region is the only input for endpoint resolver.\n const endpoint = await resolvedConfig.endpointResolver(resolvedConfig, input);\n // Unlike AWS SDK clients, a serializer should NOT populate the `host` or `content-length` headers.\n // Both of these headers are prohibited per Spec(https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name).\n // They will be populated automatically by browser, or node-fetch polyfill.\n const request = await serializer(input, endpoint);\n const response = await transferHandler(request, {\n ...resolvedConfig,\n });\n return deserializer(response);\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const createUserPoolSerializer = (operation) => (input, endpoint) => {\n const headers = getSharedHeaders(operation);\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityProviderService.${operation}`,\n});\nconst buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const parseMetadata = (response) => {\n const { headers, statusCode } = response;\n return {\n ...(isMetadataBearer(response) ? response.$metadata : {}),\n httpStatusCode: statusCode,\n requestId: headers['x-amzn-requestid'] ??\n headers['x-amzn-request-id'] ??\n headers['x-amz-request-id'],\n extendedRequestId: headers['x-amz-id-2'],\n cfId: headers['x-amz-cf-id'],\n };\n};\nconst isMetadataBearer = (response) => typeof response?.$metadata === 'object';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata } from './responseInfo';\n/**\n * Utility functions for serializing and deserializing of JSON protocol in general(including: REST-JSON, JSON-RPC, etc.)\n */\n/**\n * Error parser for AWS JSON protocol.\n */\nexport const parseJsonError = async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const body = await parseJsonBody(response);\n const sanitizeErrorCode = (rawValue) => {\n const [cleanValue] = rawValue.toString().split(/[,:]+/);\n if (cleanValue.includes('#')) {\n return cleanValue.split('#')[1];\n }\n return cleanValue;\n };\n const code = sanitizeErrorCode(response.headers['x-amzn-errortype'] ??\n body.code ??\n body.__type ??\n 'UnknownError');\n const message = body.message ?? body.Message ?? 'Unknown error';\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\n/**\n * Parse JSON response body to JavaScript object.\n */\nexport const parseJsonBody = async (response) => {\n if (!response.body) {\n throw new Error('Missing response payload');\n }\n const output = await response.body.json();\n return Object.assign(output, {\n $metadata: parseMetadata(response),\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../AuthError';\nexport function 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseJsonBody, parseJsonError, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { assertServiceError } from '../../../../../../errors/utils/assertServiceError';\nimport { AuthError } from '../../../../../../errors/AuthError';\nexport const createUserPoolDeserializer = () => 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 return parseJsonBody(response);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a transfer handler with a core transfer handler and a list of middleware.\n * @param coreHandler Core transfer handler\n * @param middleware\tList of middleware\n * @returns A transfer handler whose option type is the union of the core\n * \ttransfer handler's option type and the middleware's option type.\n * @internal\n */\nexport const composeTransferHandler = (coreHandler, middleware) => (request, options) => {\n const context = {};\n let composedHandler = (composeHandlerRequest) => coreHandler(composeHandlerRequest, options);\n for (let i = middleware.length - 1; i >= 0; i--) {\n const m = middleware[i];\n const resolvedMiddleware = m(options);\n composedHandler = resolvedMiddleware(composedHandler, context);\n }\n return composedHandler(request);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst DEFAULT_RETRY_ATTEMPTS = 3;\n/**\n * Retry middleware\n */\nexport const retryMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS, retryDecider, computeDelay, abortSignal, }) => {\n if (maxAttempts < 1) {\n throw new Error('maxAttempts must be greater than 0');\n }\n return (next, context) => async function retryMiddleware(request) {\n let error;\n let attemptsCount = context.attemptsCount ?? 0;\n let response;\n // When retry is not needed or max attempts is reached, either error or response will be set. This function handles either cases.\n const handleTerminalErrorOrResponse = () => {\n if (response) {\n addOrIncrementMetadataAttempts(response, attemptsCount);\n return response;\n }\n else {\n addOrIncrementMetadataAttempts(error, attemptsCount);\n throw error;\n }\n };\n while (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n try {\n response = await next(request);\n error = undefined;\n }\n catch (e) {\n error = e;\n response = undefined;\n }\n // context.attemptsCount may be updated after calling next handler which may retry the request by itself.\n attemptsCount =\n (context.attemptsCount ?? 0) > attemptsCount\n ? (context.attemptsCount ?? 0)\n : attemptsCount + 1;\n context.attemptsCount = attemptsCount;\n const { isCredentialsExpiredError, retryable } = await retryDecider(response, error, context);\n if (retryable) {\n // Setting isCredentialsInvalid flag to notify signing middleware to forceRefresh credentials provider.\n context.isCredentialsExpired = !!isCredentialsExpiredError;\n if (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n // prevent sleep for last attempt or cancelled request;\n const delay = computeDelay(attemptsCount);\n await cancellableSleep(delay, abortSignal);\n }\n continue;\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n }\n if (abortSignal?.aborted) {\n throw new Error('Request aborted.');\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n };\n};\nconst cancellableSleep = (timeoutMs, abortSignal) => {\n if (abortSignal?.aborted) {\n return Promise.resolve();\n }\n let timeoutId;\n let sleepPromiseResolveFn;\n const sleepPromise = new Promise(resolve => {\n sleepPromiseResolveFn = resolve;\n timeoutId = setTimeout(resolve, timeoutMs);\n });\n abortSignal?.addEventListener('abort', function cancelSleep(_) {\n clearTimeout(timeoutId);\n abortSignal?.removeEventListener('abort', cancelSleep);\n sleepPromiseResolveFn();\n });\n return sleepPromise;\n};\nconst addOrIncrementMetadataAttempts = (nextHandlerOutput, attempts) => {\n if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {\n return;\n }\n nextHandlerOutput.$metadata = {\n ...(nextHandlerOutput.$metadata ?? {}),\n attempts,\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Middleware injects user agent string to specified header(default to 'x-amz-user-agent'),\n * if the header is not set already.\n *\n * TODO: incorporate new user agent design\n */\nexport const userAgentMiddlewareFactory = ({ userAgentHeader = 'x-amz-user-agent', userAgentValue = '', }) => next => {\n return async function userAgentMiddleware(request) {\n if (userAgentValue.trim().length === 0) {\n const result = await next(request);\n return result;\n }\n else {\n const headerName = userAgentHeader.toLowerCase();\n request.headers[headerName] = request.headers[headerName]\n ? `${request.headers[headerName]} ${userAgentValue}`\n : userAgentValue;\n const response = await next(request);\n return response;\n }\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Cache the payload of a response body. It allows multiple calls to the body,\n * for example, when reading the body in both retry decider and error deserializer.\n * Caching body is allowed here because we call the body accessor(blob(), json(),\n * etc.) when body is small or streaming implementation is not available(RN).\n *\n * @internal\n */\nexport const withMemoization = (payloadAccessor) => {\n let cached;\n return () => {\n if (!cached) {\n // Explicitly not awaiting. Intermediate await would add overhead and\n // introduce a possible race in the event that this wrapper is called\n // again before the first `payloadAccessor` call resolves.\n cached = payloadAccessor();\n }\n return cached;\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError } from '../../errors';\nimport { withMemoization } from '../utils/memoization';\nimport { AmplifyErrorCode } from '../../types';\nconst shouldSendBody = (method) => !['HEAD', 'GET', 'DELETE'].includes(method.toUpperCase());\n// TODO[AllanZhengYP]: we need to provide isCanceledError utility\nexport const fetchTransferHandler = async ({ url, method, headers, body }, { abortSignal, cache, withCrossDomainCredentials }) => {\n let resp;\n try {\n resp = await fetch(url, {\n method,\n headers,\n body: shouldSendBody(method) ? body : undefined,\n signal: abortSignal,\n cache,\n credentials: withCrossDomainCredentials ? 'include' : 'same-origin',\n });\n }\n catch (e) {\n if (e instanceof TypeError) {\n throw new AmplifyError({\n name: AmplifyErrorCode.NetworkError,\n message: 'A network error has occurred.',\n underlyingError: e,\n });\n }\n throw e;\n }\n const responseHeaders = {};\n resp.headers?.forEach((value, key) => {\n responseHeaders[key.toLowerCase()] = value;\n });\n const httpResponse = {\n statusCode: resp.status,\n headers: responseHeaders,\n body: null,\n };\n // resp.body is a ReadableStream according to Fetch API spec, but React Native\n // does not implement it.\n const bodyWithMixin = Object.assign(resp.body ?? {}, {\n text: withMemoization(() => resp.text()),\n blob: withMemoization(() => resp.blob()),\n json: withMemoization(() => resp.json()),\n });\n return {\n ...httpResponse,\n body: bodyWithMixin,\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { retryMiddlewareFactory } from '../middleware/retry';\nimport { userAgentMiddlewareFactory, } from '../middleware/userAgent';\nimport { composeTransferHandler } from '../internal/composeTransferHandler';\nimport { fetchTransferHandler } from './fetch';\nexport const unauthenticatedHandler = composeTransferHandler(fetchTransferHandler, [userAgentMiddlewareFactory, retryMiddlewareFactory]);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { unauthenticatedHandler, } from '@aws-amplify/core/internals/aws-client-utils';\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 */\nexport const cognitoUserPoolTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// via https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L8\nconst CLOCK_SKEW_ERROR_CODES = [\n 'AuthFailure',\n 'InvalidSignatureException',\n 'RequestExpired',\n 'RequestInTheFuture',\n 'RequestTimeTooSkewed',\n 'SignatureDoesNotMatch',\n 'BadRequestException', // API Gateway\n];\n/**\n * Given an error code, returns true if it is related to a clock skew error.\n *\n * @param errorCode String representation of some error.\n * @returns True if given error is present in `CLOCK_SKEW_ERROR_CODES`, false otherwise.\n *\n * @internal\n */\nexport const isClockSkewError = (errorCode) => !!errorCode && CLOCK_SKEW_ERROR_CODES.includes(errorCode);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode } from '../../../types';\nimport { isClockSkewError } from './isClockSkewError';\n/**\n * Get retry decider function\n * @param errorParser Function to load JavaScript error from HTTP response\n */\nexport const getRetryDecider = (errorParser) => async (response, error) => {\n const parsedError = error ??\n (await errorParser(response)) ??\n undefined;\n const errorCode = parsedError?.code || parsedError?.name;\n const statusCode = response?.statusCode;\n const isRetryable = isConnectionError(error) ||\n isThrottlingError(statusCode, errorCode) ||\n isClockSkewError(errorCode) ||\n isServerSideError(statusCode, errorCode);\n return {\n retryable: isRetryable,\n };\n};\n// reference: https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L22-L37\nconst THROTTLING_ERROR_CODES = [\n 'BandwidthLimitExceeded',\n 'EC2ThrottledException',\n 'LimitExceededException',\n 'PriorRequestNotComplete',\n 'ProvisionedThroughputExceededException',\n 'RequestLimitExceeded',\n 'RequestThrottled',\n 'RequestThrottledException',\n 'SlowDown',\n 'ThrottledException',\n 'Throttling',\n 'ThrottlingException',\n 'TooManyRequestsException',\n];\nconst TIMEOUT_ERROR_CODES = [\n 'TimeoutError',\n 'RequestTimeout',\n 'RequestTimeoutException',\n];\nconst isThrottlingError = (statusCode, errorCode) => statusCode === 429 ||\n (!!errorCode && THROTTLING_ERROR_CODES.includes(errorCode));\nconst isConnectionError = (error) => [\n AmplifyErrorCode.NetworkError,\n // TODO(vNext): unify the error code `ERR_NETWORK` used by the Storage XHR handler\n 'ERR_NETWORK',\n].includes(error?.name);\nconst isServerSideError = (statusCode, errorCode) => (!!statusCode && [500, 502, 503, 504].includes(statusCode)) ||\n (!!errorCode && TIMEOUT_ERROR_CODES.includes(errorCode));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\nconst DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;\nexport const jitteredBackoff = attempt => {\n const delayFunction = jitteredBackoffUtil(DEFAULT_MAX_DELAY_MS);\n const delay = delayFunction(attempt);\n // The delayFunction returns false when the delay is greater than the max delay(5 mins).\n // In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.\n return delay === false ? DEFAULT_MAX_DELAY_MS : delay;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { MAX_DELAY_MS } from './constants';\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs = MAX_DELAY_MS) {\n const BASE_TIME_MS = 100;\n const JITTER_FACTOR = 100;\n return attempt => {\n const delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const MAX_DELAY_MS = 5 * 60 * 1000;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var Framework;\n(function (Framework) {\n // < 100 - Web frameworks\n Framework[\"WebUnknown\"] = \"0\";\n Framework[\"React\"] = \"1\";\n Framework[\"NextJs\"] = \"2\";\n Framework[\"Angular\"] = \"3\";\n Framework[\"VueJs\"] = \"4\";\n Framework[\"Nuxt\"] = \"5\";\n Framework[\"Svelte\"] = \"6\";\n // 100s - Server side frameworks\n Framework[\"ServerSideUnknown\"] = \"100\";\n Framework[\"ReactSSR\"] = \"101\";\n Framework[\"NextJsSSR\"] = \"102\";\n Framework[\"AngularSSR\"] = \"103\";\n Framework[\"VueJsSSR\"] = \"104\";\n Framework[\"NuxtSSR\"] = \"105\";\n Framework[\"SvelteSSR\"] = \"106\";\n // 200s - Mobile framework\n Framework[\"ReactNative\"] = \"201\";\n Framework[\"Expo\"] = \"202\";\n})(Framework || (Framework = {}));\nexport var Category;\n(function (Category) {\n Category[\"AI\"] = \"ai\";\n Category[\"API\"] = \"api\";\n Category[\"Auth\"] = \"auth\";\n Category[\"Analytics\"] = \"analytics\";\n Category[\"DataStore\"] = \"datastore\";\n Category[\"Geo\"] = \"geo\";\n Category[\"InAppMessaging\"] = \"inappmessaging\";\n Category[\"Interactions\"] = \"interactions\";\n Category[\"Predictions\"] = \"predictions\";\n Category[\"PubSub\"] = \"pubsub\";\n Category[\"PushNotification\"] = \"pushnotification\";\n Category[\"Storage\"] = \"storage\";\n})(Category || (Category = {}));\nexport var AiAction;\n(function (AiAction) {\n AiAction[\"CreateConversation\"] = \"1\";\n AiAction[\"GetConversation\"] = \"2\";\n AiAction[\"ListConversations\"] = \"3\";\n AiAction[\"DeleteConversation\"] = \"4\";\n AiAction[\"SendMessage\"] = \"5\";\n AiAction[\"ListMessages\"] = \"6\";\n AiAction[\"OnMessage\"] = \"7\";\n AiAction[\"Generation\"] = \"8\";\n AiAction[\"UpdateConversation\"] = \"9\";\n})(AiAction || (AiAction = {}));\nexport var AnalyticsAction;\n(function (AnalyticsAction) {\n AnalyticsAction[\"Record\"] = \"1\";\n AnalyticsAction[\"IdentifyUser\"] = \"2\";\n})(AnalyticsAction || (AnalyticsAction = {}));\nexport var ApiAction;\n(function (ApiAction) {\n ApiAction[\"GraphQl\"] = \"1\";\n ApiAction[\"Get\"] = \"2\";\n ApiAction[\"Post\"] = \"3\";\n ApiAction[\"Put\"] = \"4\";\n ApiAction[\"Patch\"] = \"5\";\n ApiAction[\"Del\"] = \"6\";\n ApiAction[\"Head\"] = \"7\";\n})(ApiAction || (ApiAction = {}));\nexport var AuthAction;\n(function (AuthAction) {\n AuthAction[\"SignUp\"] = \"1\";\n AuthAction[\"ConfirmSignUp\"] = \"2\";\n AuthAction[\"ResendSignUpCode\"] = \"3\";\n AuthAction[\"SignIn\"] = \"4\";\n AuthAction[\"FetchMFAPreference\"] = \"6\";\n AuthAction[\"UpdateMFAPreference\"] = \"7\";\n AuthAction[\"SetUpTOTP\"] = \"10\";\n AuthAction[\"VerifyTOTPSetup\"] = \"11\";\n AuthAction[\"ConfirmSignIn\"] = \"12\";\n AuthAction[\"DeleteUserAttributes\"] = \"15\";\n AuthAction[\"DeleteUser\"] = \"16\";\n AuthAction[\"UpdateUserAttributes\"] = \"17\";\n AuthAction[\"FetchUserAttributes\"] = \"18\";\n AuthAction[\"ConfirmUserAttribute\"] = \"22\";\n AuthAction[\"SignOut\"] = \"26\";\n AuthAction[\"UpdatePassword\"] = \"27\";\n AuthAction[\"ResetPassword\"] = \"28\";\n AuthAction[\"ConfirmResetPassword\"] = \"29\";\n AuthAction[\"FederatedSignIn\"] = \"30\";\n AuthAction[\"RememberDevice\"] = \"32\";\n AuthAction[\"ForgetDevice\"] = \"33\";\n AuthAction[\"FetchDevices\"] = \"34\";\n AuthAction[\"SendUserAttributeVerificationCode\"] = \"35\";\n AuthAction[\"SignInWithRedirect\"] = \"36\";\n AuthAction[\"StartWebAuthnRegistration\"] = \"37\";\n AuthAction[\"CompleteWebAuthnRegistration\"] = \"38\";\n AuthAction[\"ListWebAuthnCredentials\"] = \"39\";\n AuthAction[\"DeleteWebAuthnCredential\"] = \"40\";\n})(AuthAction || (AuthAction = {}));\nexport var DataStoreAction;\n(function (DataStoreAction) {\n DataStoreAction[\"Subscribe\"] = \"1\";\n DataStoreAction[\"GraphQl\"] = \"2\";\n})(DataStoreAction || (DataStoreAction = {}));\nexport var GeoAction;\n(function (GeoAction) {\n GeoAction[\"SearchByText\"] = \"0\";\n GeoAction[\"SearchByCoordinates\"] = \"1\";\n GeoAction[\"SearchForSuggestions\"] = \"2\";\n GeoAction[\"SearchByPlaceId\"] = \"3\";\n GeoAction[\"SaveGeofences\"] = \"4\";\n GeoAction[\"GetGeofence\"] = \"5\";\n GeoAction[\"ListGeofences\"] = \"6\";\n GeoAction[\"DeleteGeofences\"] = \"7\";\n})(GeoAction || (GeoAction = {}));\nexport var InAppMessagingAction;\n(function (InAppMessagingAction) {\n InAppMessagingAction[\"SyncMessages\"] = \"1\";\n InAppMessagingAction[\"IdentifyUser\"] = \"2\";\n InAppMessagingAction[\"NotifyMessageInteraction\"] = \"3\";\n})(InAppMessagingAction || (InAppMessagingAction = {}));\nexport var InteractionsAction;\n(function (InteractionsAction) {\n InteractionsAction[\"None\"] = \"0\";\n})(InteractionsAction || (InteractionsAction = {}));\nexport var PredictionsAction;\n(function (PredictionsAction) {\n PredictionsAction[\"Convert\"] = \"1\";\n PredictionsAction[\"Identify\"] = \"2\";\n PredictionsAction[\"Interpret\"] = \"3\";\n})(PredictionsAction || (PredictionsAction = {}));\nexport var PubSubAction;\n(function (PubSubAction) {\n PubSubAction[\"Subscribe\"] = \"1\";\n})(PubSubAction || (PubSubAction = {}));\nexport var PushNotificationAction;\n(function (PushNotificationAction) {\n PushNotificationAction[\"InitializePushNotifications\"] = \"1\";\n PushNotificationAction[\"IdentifyUser\"] = \"2\";\n})(PushNotificationAction || (PushNotificationAction = {}));\nexport var StorageAction;\n(function (StorageAction) {\n StorageAction[\"UploadData\"] = \"1\";\n StorageAction[\"DownloadData\"] = \"2\";\n StorageAction[\"List\"] = \"3\";\n StorageAction[\"Copy\"] = \"4\";\n StorageAction[\"Remove\"] = \"5\";\n StorageAction[\"GetProperties\"] = \"6\";\n StorageAction[\"GetUrl\"] = \"7\";\n StorageAction[\"GetDataAccess\"] = \"8\";\n StorageAction[\"ListCallerAccessGrants\"] = \"9\";\n})(StorageAction || (StorageAction = {}));\n","// generated by genversion\nexport const version = '6.12.0';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const globalExists = () => {\n return typeof global !== 'undefined';\n};\nexport const globalThisExists = () => {\n return typeof globalThis !== 'undefined';\n};\nexport const windowExists = () => {\n return typeof window !== 'undefined';\n};\nexport const documentExists = () => {\n return typeof document !== 'undefined';\n};\nexport const processExists = () => {\n return typeof process !== 'undefined';\n};\nexport const keyPrefixMatch = (object, prefix) => {\n return !!Object.keys(object).find(key => key.startsWith(prefix));\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from '../types';\nimport { reactSSRDetect, reactWebDetect } from './React';\nimport { vueSSRDetect, vueWebDetect } from './Vue';\nimport { svelteSSRDetect, svelteWebDetect } from './Svelte';\nimport { nextSSRDetect, nextWebDetect } from './Next';\nimport { nuxtSSRDetect, nuxtWebDetect } from './Nuxt';\nimport { angularSSRDetect, angularWebDetect } from './Angular';\nimport { reactNativeDetect } from './ReactNative';\nimport { expoDetect } from './Expo';\nimport { webDetect } from './Web';\n// These are in the order of detection where when both are detectable, the early Framework will be reported\nconst detectionMap = [\n // First, detect mobile\n { platform: Framework.Expo, detectionMethod: expoDetect },\n { platform: Framework.ReactNative, detectionMethod: reactNativeDetect },\n // Next, detect web frameworks\n { platform: Framework.NextJs, detectionMethod: nextWebDetect },\n { platform: Framework.Nuxt, detectionMethod: nuxtWebDetect },\n { platform: Framework.Angular, detectionMethod: angularWebDetect },\n { platform: Framework.React, detectionMethod: reactWebDetect },\n { platform: Framework.VueJs, detectionMethod: vueWebDetect },\n { platform: Framework.Svelte, detectionMethod: svelteWebDetect },\n { platform: Framework.WebUnknown, detectionMethod: webDetect },\n // Last, detect ssr frameworks\n { platform: Framework.NextJsSSR, detectionMethod: nextSSRDetect },\n { platform: Framework.NuxtSSR, detectionMethod: nuxtSSRDetect },\n { platform: Framework.ReactSSR, detectionMethod: reactSSRDetect },\n { platform: Framework.VueJsSSR, detectionMethod: vueSSRDetect },\n { platform: Framework.AngularSSR, detectionMethod: angularSSRDetect },\n { platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },\n];\nexport function detect() {\n return (detectionMap.find(detectionEntry => detectionEntry.detectionMethod())\n ?.platform || Framework.ServerSideUnknown);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists } from './helpers';\n// Tested with expo 48 / react-native 0.71.3\nexport function expoDetect() {\n return globalExists() && typeof global.expo !== 'undefined';\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with react-native 0.17.7\nexport function reactNativeDetect() {\n return (typeof navigator !== 'undefined' &&\n typeof navigator.product !== 'undefined' &&\n navigator.product === 'ReactNative');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with next 13.4 / react 18.2\nexport function nextWebDetect() {\n return (windowExists() &&\n window.next &&\n typeof window.next === 'object');\n}\nexport function nextSSRDetect() {\n return (globalExists() &&\n (keyPrefixMatch(global, '__next') || keyPrefixMatch(global, '__NEXT')));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, windowExists } from './helpers';\n// Tested with nuxt 2.15 / vue 2.7\nexport function nuxtWebDetect() {\n return (windowExists() &&\n (window.__NUXT__ !== undefined ||\n window.$nuxt !== undefined));\n}\nexport function nuxtSSRDetect() {\n return (globalExists() && typeof global.__NUXT_PATHS__ !== 'undefined');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists, windowExists } from './helpers';\n// Tested with @angular/core 16.0.0\nexport function angularWebDetect() {\n const angularVersionSetInDocument = Boolean(documentExists() && document.querySelector('[ng-version]'));\n const angularContentSetInWindow = Boolean(windowExists() && typeof window.ng !== 'undefined');\n return angularVersionSetInDocument || angularContentSetInWindow;\n}\nexport function angularSSRDetect() {\n return ((processExists() &&\n typeof process.env === 'object' &&\n process.env.npm_lifecycle_script?.startsWith('ng ')) ||\n false);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists } from './helpers';\n// Tested with react 18.2 - built using Vite\nexport function reactWebDetect() {\n const elementKeyPrefixedWithReact = (key) => {\n return key.startsWith('_react') || key.startsWith('__react');\n };\n const elementIsReactEnabled = (element) => {\n return Object.keys(element).find(elementKeyPrefixedWithReact);\n };\n const allElementsWithId = () => Array.from(document.querySelectorAll('[id]'));\n return documentExists() && allElementsWithId().some(elementIsReactEnabled);\n}\nexport function reactSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('react')));\n}\n// use the some\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with vue 3.3.2\nexport function vueWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__VUE');\n}\nexport function vueSSRDetect() {\n return globalExists() && keyPrefixMatch(global, '__VUE');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { keyPrefixMatch, processExists, windowExists } from './helpers';\n// Tested with svelte 3.59\nexport function svelteWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__SVELTE');\n}\nexport function svelteSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('svelte')));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { windowExists } from './helpers';\nexport function webDetect() {\n return windowExists();\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from './types';\nimport { detect } from './detection';\n// We want to cache detection since the framework won't change\nlet frameworkCache;\nexport const frameworkChangeObservers = [];\n// Setup the detection reset tracking / timeout delays\nlet resetTriggered = false;\nconst SSR_RESET_TIMEOUT = 10; // ms\nconst WEB_RESET_TIMEOUT = 10; // ms\nconst PRIME_FRAMEWORK_DELAY = 1000; // ms\nexport const detectFramework = () => {\n if (!frameworkCache) {\n frameworkCache = detect();\n if (resetTriggered) {\n // The final run of detectFramework:\n // Starting from this point, the `frameworkCache` becomes \"final\".\n // So we don't need to notify the observers again so the observer\n // can be removed after the final notice.\n while (frameworkChangeObservers.length) {\n frameworkChangeObservers.pop()?.();\n }\n }\n else {\n // The first run of detectFramework:\n // Every time we update the cache, call each observer function\n frameworkChangeObservers.forEach(fcn => {\n fcn();\n });\n }\n // Retry once for either Unknown type after a delay (explained below)\n resetTimeout(Framework.ServerSideUnknown, SSR_RESET_TIMEOUT);\n resetTimeout(Framework.WebUnknown, WEB_RESET_TIMEOUT);\n }\n return frameworkCache;\n};\n/**\n * @internal Setup observer callback that will be called everytime the framework changes\n */\nexport const observeFrameworkChanges = (fcn) => {\n // When the `frameworkCache` won't be updated again, we ignore all incoming\n // observers.\n if (resetTriggered) {\n return;\n }\n frameworkChangeObservers.push(fcn);\n};\nexport function clearCache() {\n frameworkCache = undefined;\n}\n// For a framework type and a delay amount, setup the event to re-detect\n// During the runtime boot, it is possible that framework detection will\n// be triggered before the framework has made modifications to the\n// global/window/etc needed for detection. When no framework is detected\n// we will reset and try again to ensure we don't use a cached\n// non-framework detection result for all requests.\nfunction resetTimeout(framework, delay) {\n if (frameworkCache === framework && !resetTriggered) {\n setTimeout(() => {\n clearCache();\n resetTriggered = true;\n setTimeout(detectFramework, PRIME_FRAMEWORK_DELAY);\n }, delay);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Maintains custom user-agent state set by external consumers.\nconst customUserAgentState = {};\n/**\n * Sets custom user agent state which will be appended to applicable requests. Returns a function that can be used to\n * clean up any custom state set with this API.\n *\n * @note\n * This API operates globally. Calling this API multiple times will result in the most recently set values for a\n * particular API being used.\n *\n * @note\n * This utility IS NOT compatible with SSR.\n *\n * @param input - SetCustomUserAgentInput that defines custom state to apply to the specified APIs.\n */\nexport const setCustomUserAgent = (input) => {\n // Save custom user-agent state & increment reference counter\n // TODO Remove `any` when we upgrade to TypeScript 5.2, see: https://github.com/microsoft/TypeScript/issues/44373\n customUserAgentState[input.category] = input.apis.reduce((acc, api) => ({\n ...acc,\n [api]: {\n refCount: acc[api]?.refCount ? acc[api].refCount + 1 : 1,\n additionalDetails: input.additionalDetails,\n },\n }), customUserAgentState[input.category] ?? {});\n // Callback that cleans up state for APIs recorded by this call\n let cleanUpCallbackCalled = false;\n const cleanUpCallback = () => {\n // Only allow the cleanup callback to be called once\n if (cleanUpCallbackCalled) {\n return;\n }\n cleanUpCallbackCalled = true;\n input.apis.forEach(api => {\n const apiRefCount = customUserAgentState[input.category][api].refCount;\n if (apiRefCount > 1) {\n customUserAgentState[input.category][api].refCount = apiRefCount - 1;\n }\n else {\n delete customUserAgentState[input.category][api];\n // Clean up category if no more APIs set\n if (!Object.keys(customUserAgentState[input.category]).length) {\n delete customUserAgentState[input.category];\n }\n }\n });\n };\n return cleanUpCallback;\n};\nexport const getCustomUserAgent = (category, api) => customUserAgentState[category]?.[api]?.additionalDetails;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from './types';\nimport { version } from './version';\nimport { detectFramework, observeFrameworkChanges } from './detectFramework';\nimport { getCustomUserAgent } from './customUserAgent';\nconst BASE_USER_AGENT = `aws-amplify`;\n/** Sanitize Amplify version string be removing special character + and character post the special character */\nexport const sanitizeAmplifyVersion = (amplifyVersion) => amplifyVersion.replace(/\\+.*/, '');\nclass PlatformBuilder {\n constructor() {\n this.userAgent = `${BASE_USER_AGENT}/${sanitizeAmplifyVersion(version)}`;\n }\n get framework() {\n return detectFramework();\n }\n get isReactNative() {\n return (this.framework === Framework.ReactNative ||\n this.framework === Framework.Expo);\n }\n observeFrameworkChanges(fcn) {\n observeFrameworkChanges(fcn);\n }\n}\nexport const Platform = new PlatformBuilder();\nexport const getAmplifyUserAgentObject = ({ category, action, } = {}) => {\n const userAgent = [\n [BASE_USER_AGENT, sanitizeAmplifyVersion(version)],\n ];\n if (category) {\n userAgent.push([category, action]);\n }\n userAgent.push(['framework', detectFramework()]);\n if (category && action) {\n const customState = getCustomUserAgent(category, action);\n if (customState) {\n customState.forEach(state => {\n userAgent.push(state);\n });\n }\n }\n return userAgent;\n};\nexport const getAmplifyUserAgent = (customUserAgentDetails) => {\n const userAgent = getAmplifyUserAgentObject(customUserAgentDetails);\n const userAgentString = userAgent\n .map(([agentKey, agentValue]) => agentKey && agentValue ? `${agentKey}/${agentValue}` : agentKey)\n .join(' ');\n return userAgentString;\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 */\nexport const COGNITO_IDP_SERVICE_NAME = 'cognito-idp';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getRetryDecider, jitteredBackoff, parseJsonError, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { getAmplifyUserAgent } from '@aws-amplify/core/internals/utils';\nimport { COGNITO_IDP_SERVICE_NAME } from '../../../constants';\nexport const DEFAULT_SERVICE_CLIENT_API_CONFIG = {\n service: COGNITO_IDP_SERVICE_NAME,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n cache: 'no-store',\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { createUserPoolDeserializer, createUserPoolSerializer, } from './shared/serde';\nimport { cognitoUserPoolTransferHandler } from './shared/handler';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants';\nexport const createInitiateAuthClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('InitiateAuth'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst AmplifyUrl = URL;\nconst AmplifyUrlSearchParams = URLSearchParams;\nexport { AmplifyUrl, AmplifyUrlSearchParams };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Default partition for AWS services. This is used when the region is not provided or the region is not recognized.\n *\n * @internal\n */\nexport const defaultPartition = {\n id: 'aws',\n outputs: {\n dnsSuffix: 'amazonaws.com',\n },\n regionRegex: '^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-global'],\n};\n/**\n * This data is adapted from the partition file from AWS SDK shared utilities but remove some contents for bundle size\n * concern. Information removed are `dualStackDnsSuffix`, `supportDualStack`, `supportFIPS`, restricted partitions, and\n * list of regions for each partition other than global regions.\n *\n * * Ref: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints\n * * Ref: https://github.com/aws/aws-sdk-js-v3/blob/0201baef03c2379f1f6f7150b9d401d4b230d488/packages/util-endpoints/src/lib/aws/partitions.json#L1\n *\n * @internal\n */\nexport const partitionsInfo = {\n partitions: [\n defaultPartition,\n {\n id: 'aws-cn',\n outputs: {\n dnsSuffix: 'amazonaws.com.cn',\n },\n regionRegex: '^cn\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-cn-global'],\n },\n ],\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultPartition, partitionsInfo } from './partitions';\n/**\n * Get the AWS Services endpoint URL's DNS suffix for a given region. A typical AWS regional service endpoint URL will\n * follow this pattern: {endpointPrefix}.{region}.{dnsSuffix}. For example, the endpoint URL for Cognito Identity in\n * us-east-1 will be cognito-identity.us-east-1.amazonaws.com. Here the DnsSuffix is `amazonaws.com`.\n *\n * @param region\n * @returns The DNS suffix\n *\n * @internal\n */\nexport const getDnsSuffix = (region) => {\n const { partitions } = partitionsInfo;\n for (const { regions, outputs, regionRegex } of partitions) {\n const regex = new RegExp(regionRegex);\n if (regions.includes(region) || regex.test(region)) {\n return outputs.dnsSuffix;\n }\n }\n return defaultPartition.outputs.dnsSuffix;\n};\n","import { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { cognitoUserPoolEndpointResolver } from '../../../foundation/cognitoUserPoolEndpointResolver';\nexport const createCognitoUserPoolEndpointResolver = ({ endpointOverride }) => (input) => {\n if (endpointOverride) {\n return { url: new AmplifyUrl(endpointOverride) };\n }\n return cognitoUserPoolEndpointResolver(input);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getDnsSuffix, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { COGNITO_IDP_SERVICE_NAME } from './constants';\nexport const cognitoUserPoolEndpointResolver = ({ region, }) => ({\n url: new AmplifyUrl(`https://${COGNITO_IDP_SERVICE_NAME}.${region}.${getDnsSuffix(region)}`),\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig, deDupeAsyncFunction, decodeJWT, } from '@aws-amplify/core/internals/utils';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { assertAuthTokensWithRefreshToken } from '../utils/types';\nimport { AuthError } from '../../../errors/AuthError';\nimport { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nimport { getUserContextData } from './userContextData';\nconst refreshAuthTokensFunction = async ({ tokens, authConfig, username, }) => {\n assertTokenProviderConfig(authConfig?.Cognito);\n const { userPoolId, userPoolClientId, userPoolEndpoint } = authConfig.Cognito;\n const region = getRegionFromUserPoolId(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,\n userPoolClientId,\n });\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { AuthenticationResult } = await initiateAuth({ region }, {\n ClientId: 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};\nexport const refreshAuthTokens = deDupeAsyncFunction(refreshAuthTokensFunction);\nexport const refreshAuthTokensWithoutDedupe = refreshAuthTokensFunction;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function 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","// 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 */\nexport const 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","export 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 oauthMetadata: 'oauthMetadata',\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createAssertionFunction, } from '@aws-amplify/core/internals/utils';\nexport var 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};\nexport const assert = createAssertionFunction(tokenValidationErrorMap);\n","import { assertTokenProviderConfig, decodeJWT, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { AuthTokenStorageKeys, } from './types';\nimport { TokenProviderErrorCode, assert } from './errorHelpers';\nexport class 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 this.getKeyValueStorage().removeItem(authKeys.oauthMetadata),\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 async setOAuthMetadata(metadata) {\n const { oauthMetadata: oauthMetadataKey } = await this.getAuthKeys();\n await this.getKeyValueStorage().setItem(oauthMetadataKey, JSON.stringify(metadata));\n }\n async getOAuthMetadata() {\n const { oauthMetadata: oauthMetadataKey } = await this.getAuthKeys();\n const oauthMetadata = await this.getKeyValueStorage().getItem(oauthMetadataKey);\n return oauthMetadata && JSON.parse(oauthMetadata);\n }\n}\nexport const createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(AuthTokenStorageKeys)(`${provider}`, identifier);\n};\nexport function 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isTokenExpired({ expiresAt, clockDrift, tolerance = 5000, }) {\n const currentTime = Date.now();\n return currentTime + clockDrift + tolerance > expiresAt;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { OAuthStorageKeys } from './types';\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage } from '@aws-amplify/core';\nimport { DefaultOAuthStore } from '../signInWithRedirectStore';\nexport const oAuthStore = new DefaultOAuthStore(defaultStorage);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst inflightPromises = [];\nexport const addInflightPromise = (resolver) => {\n inflightPromises.push(resolver);\n};\nexport const resolveAndClearInflightPromises = () => {\n while (inflightPromises.length) {\n inflightPromises.pop()?.();\n }\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Hub, } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL, AmplifyErrorCode, assertTokenProviderConfig, isBrowser, isTokenExpired, } from '@aws-amplify/core/internals/utils';\nimport { assertServiceError } from '../../../errors/utils/assertServiceError';\nimport { AuthError } from '../../../errors/AuthError';\nimport { oAuthStore } from '../utils/oauth/oAuthStore';\nimport { addInflightPromise } from '../utils/oauth/inflightPromise';\nexport class 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.name !== AmplifyErrorCode.NetworkError) {\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 setOAuthMetadata(metadata) {\n return this.getTokenStore().setOAuthMetadata(metadata);\n }\n getOAuthMetadata() {\n return this.getTokenStore().getOAuthMetadata();\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { CognitoUserPoolsTokenProvider } from './CognitoUserPoolsTokenProvider';\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 */\nexport const cognitoUserPoolsTokenProvider = new CognitoUserPoolsTokenProvider();\nexport const { tokenOrchestrator } = cognitoUserPoolsTokenProvider;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage, } from '@aws-amplify/core';\nimport { refreshAuthTokens } from '../utils/refreshAuthTokens';\nimport { DefaultTokenStore } from './TokenStore';\nimport { TokenOrchestrator } from './TokenOrchestrator';\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const IdentityIdStorageKeys = {\n identityId: 'identityId',\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { IdentityIdStorageKeys } from './types';\nconst logger = new ConsoleLogger('DefaultIdentityIdStore');\nexport class 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._hasGuestIdentityId = false;\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 this._hasGuestIdentityId = true;\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 this._hasGuestIdentityId = true;\n }\n else {\n this._primaryIdentityId = identity.id;\n // Clear locally stored guest id\n if (this._hasGuestIdentityId) {\n this.keyValueStorage.removeItem(this._authKeys.identityId);\n this._hasGuestIdentityId = false;\n }\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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getDnsSuffix, parseJsonError, unauthenticatedHandler, } from '../../clients';\nimport { composeTransferHandler } from '../../clients/internal/composeTransferHandler';\nimport { getRetryDecider, jitteredBackoff, } from '../../clients/middleware/retry';\nimport { getAmplifyUserAgent } from '../../Platform';\nimport { observeFrameworkChanges } from '../../Platform/detectFramework';\nimport { AmplifyUrl } from '../../utils/amplifyUrl';\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 */\nexport const cognitoIdentityTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n/**\n * @internal\n */\nexport const 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 */\nexport const getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityService.${operation}`,\n});\n/**\n * @internal\n */\nexport const buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\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 */\nexport const getCredentialsForIdentity = composeServiceApi(cognitoIdentityTransferHandler, getCredentialsForIdentitySerializer, getCredentialsForIdentityDeserializer, defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\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 */\nexport const getId = composeServiceApi(cognitoIdentityTransferHandler, getIdSerializer, getIdDeserializer, defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { decodeJWT } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nexport function 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, getId } from '@aws-amplify/core';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getRegionFromIdentityPoolId } from '../../../foundation/parsers';\nimport { formLoginsMap } from './utils';\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 */\nexport async 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, getCredentialsForIdentity, } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getRegionFromIdentityPoolId } from '../../../foundation/parsers';\nimport { assertIdTokenInAuthTokens } from '../utils/types';\nimport { cognitoIdentityIdProvider } from './IdentityIdProvider';\nimport { formLoginsMap } from './utils';\nconst logger = new ConsoleLogger('CognitoCredentialsProvider');\nconst CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nexport class 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","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage } from '@aws-amplify/core';\nimport { DefaultIdentityIdStore } from './IdentityIdStore';\nimport { CognitoAWSCredentialsAndIdentityIdProvider } from './credentialsProvider';\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 */\nexport const cognitoCredentialsProvider = new CognitoAWSCredentialsAndIdentityIdProvider(new DefaultIdentityIdStore(defaultStorage));\nexport { CognitoAWSCredentialsAndIdentityIdProvider, DefaultIdentityIdStore };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, CookieStorage, defaultStorage, } from '@aws-amplify/core';\nimport { parseAmplifyConfig, } from '@aws-amplify/core/internals/utils';\nimport { cognitoCredentialsProvider, cognitoUserPoolsTokenProvider, } from './auth/cognito';\nexport const 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","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\n/**\n * Native interface\n *\n * @public\n */\nexport interface ILogger {\n debug(...args: unknown[]): void;\n info(...args: unknown[]): void;\n warn(...args: unknown[]): void;\n error(...args: unknown[]): void;\n}\n\nconst nopLogger: ILogger = {\n debug: () => undefined,\n info: () => undefined,\n warn: () => undefined,\n error: () => undefined,\n};\n\nlet level: number;\nlet logger: ILogger;\n\n/**\n * Log levels\n *\n * @public\n */\nexport enum Log {\n NONE,\n ERROR,\n WARN,\n INFO,\n DEBUG\n}\n\n/**\n * Log manager\n *\n * @public\n */\nexport namespace Log { // eslint-disable-line @typescript-eslint/no-namespace\n export function reset(): void {\n level = Log.INFO;\n logger = nopLogger;\n }\n\n export function setLevel(value: Log): void {\n if (!(Log.NONE <= value && value <= Log.DEBUG)) {\n throw new Error(\"Invalid log level\");\n }\n level = value;\n }\n\n export function setLogger(value: ILogger): void {\n logger = value;\n }\n}\n\n/**\n * Internal logger instance\n *\n * @public\n */\nexport class Logger {\n private _method?: string;\n public constructor(private _name: string) {}\n\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n public debug(...args: unknown[]): void {\n if (level >= Log.DEBUG) {\n logger.debug(Logger._format(this._name, this._method), ...args);\n }\n }\n public info(...args: unknown[]): void {\n if (level >= Log.INFO) {\n logger.info(Logger._format(this._name, this._method), ...args);\n }\n }\n public warn(...args: unknown[]): void {\n if (level >= Log.WARN) {\n logger.warn(Logger._format(this._name, this._method), ...args);\n }\n }\n public error(...args: unknown[]): void {\n if (level >= Log.ERROR) {\n logger.error(Logger._format(this._name, this._method), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n\n public throw(err: Error): never {\n this.error(err);\n throw err;\n }\n\n public create(method: string): Logger {\n const methodLogger: Logger = Object.create(this);\n methodLogger._method = method;\n methodLogger.debug(\"begin\");\n return methodLogger;\n }\n\n public static createStatic(name: string, staticMethod: string): Logger {\n const staticLogger = new Logger(`${name}.${staticMethod}`);\n staticLogger.debug(\"begin\");\n return staticLogger;\n }\n\n private static _format(name: string, method?: string) {\n const prefix = `[${name}]`;\n return method ? `${prefix} ${method}:` : prefix;\n }\n\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n // helpers for static class methods\n public static debug(name: string, ...args: unknown[]): void {\n if (level >= Log.DEBUG) {\n logger.debug(Logger._format(name), ...args);\n }\n }\n public static info(name: string, ...args: unknown[]): void {\n if (level >= Log.INFO) {\n logger.info(Logger._format(name), ...args);\n }\n }\n public static warn(name: string, ...args: unknown[]): void {\n if (level >= Log.WARN) {\n logger.warn(Logger._format(name), ...args);\n }\n }\n public static error(name: string, ...args: unknown[]): void {\n if (level >= Log.ERROR) {\n logger.error(Logger._format(name), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n}\n\nLog.reset();\n","import { jwtDecode } from \"jwt-decode\";\n\nimport { Logger } from \"./Logger\";\nimport type { JwtClaims } from \"../Claims\";\nimport { CryptoUtils } from \"./CryptoUtils\";\n\n/**\n * @internal\n */\nexport class JwtUtils {\n // IMPORTANT: doesn't validate the token\n public static decode(token: string): JwtClaims {\n try {\n return jwtDecode(token);\n }\n catch (err) {\n Logger.error(\"JwtUtils.decode\", err);\n throw err;\n }\n }\n\n public static async generateSignedJwt(header: object, payload: object, privateKey: CryptoKey) : Promise {\n const encodedHeader = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(header)));\n const encodedPayload = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(payload)));\n const encodedToken = `${encodedHeader}.${encodedPayload}`;\n\n const signature = await window.crypto.subtle.sign(\n {\n name: \"ECDSA\",\n hash: { name: \"SHA-256\" },\n },\n privateKey,\n new TextEncoder().encode(encodedToken),\n );\n\n const encodedSignature = CryptoUtils.encodeBase64Url(new Uint8Array(signature));\n return `${encodedToken}.${encodedSignature}`;\n }\n}\n","import { Logger } from \"./Logger\";\nimport { JwtUtils } from \"./JwtUtils\";\n\nexport interface GenerateDPoPProofOpts {\n url: string;\n accessToken?: string;\n httpMethod?: string;\n keyPair: CryptoKeyPair;\n nonce?: string;\n}\n\nconst UUID_V4_TEMPLATE = \"10000000-1000-4000-8000-100000000000\";\n\nconst toBase64 = (val: ArrayBuffer): string =>\n btoa([...new Uint8Array(val)]\n .map((chr) => String.fromCharCode(chr))\n .join(\"\"));\n\n/**\n * @internal\n */\nexport class CryptoUtils {\n private static _randomWord(): number {\n const arr = new Uint32Array(1);\n crypto.getRandomValues(arr);\n return arr[0];\n }\n\n /**\n * Generates RFC4122 version 4 guid\n */\n public static generateUUIDv4(): string {\n const uuid = UUID_V4_TEMPLATE.replace(/[018]/g, c =>\n (+c ^ CryptoUtils._randomWord() & 15 >> +c / 4).toString(16),\n );\n return uuid.replace(/-/g, \"\");\n }\n\n /**\n * PKCE: Generate a code verifier\n */\n public static generateCodeVerifier(): string {\n return CryptoUtils.generateUUIDv4() + CryptoUtils.generateUUIDv4() + CryptoUtils.generateUUIDv4();\n }\n\n /**\n * PKCE: Generate a code challenge\n */\n public static async generateCodeChallenge(code_verifier: string): Promise {\n if (!crypto.subtle) {\n throw new Error(\"Crypto.subtle is available only in secure contexts (HTTPS).\");\n }\n\n try {\n const encoder = new TextEncoder();\n const data = encoder.encode(code_verifier);\n const hashed = await crypto.subtle.digest(\"SHA-256\", data);\n return toBase64(hashed).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n }\n catch (err) {\n Logger.error(\"CryptoUtils.generateCodeChallenge\", err);\n throw err;\n }\n }\n\n /**\n * Generates a base64-encoded string for a basic auth header\n */\n public static generateBasicAuth(client_id: string, client_secret: string): string {\n const encoder = new TextEncoder();\n const data = encoder.encode([client_id, client_secret].join(\":\"));\n return toBase64(data);\n }\n\n /**\n * Generates a hash of a string using a given algorithm\n * @param alg\n * @param message\n */\n public static async hash(alg: string, message: string) : Promise {\n const msgUint8 = new TextEncoder().encode(message);\n const hashBuffer = await crypto.subtle.digest(alg, msgUint8);\n return new Uint8Array(hashBuffer);\n }\n\n /**\n * Generates a base64url encoded string\n */\n public static encodeBase64Url = (input: Uint8Array) => {\n return toBase64(input).replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n };\n\n /**\n * Generates a rfc7638 compliant jwk thumbprint\n * @param jwk\n */\n public static async customCalculateJwkThumbprint(jwk: JsonWebKey): Promise {\n let jsonObject: object;\n switch (jwk.kty) {\n case \"RSA\":\n jsonObject = {\n \"e\": jwk.e,\n \"kty\": jwk.kty,\n \"n\": jwk.n,\n };\n break;\n case \"EC\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x,\n \"y\": jwk.y,\n };\n break;\n case \"OKP\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x,\n };\n break;\n case \"oct\":\n jsonObject = {\n \"crv\": jwk.k,\n \"kty\": jwk.kty,\n };\n break;\n default:\n throw new Error(\"Unknown jwk type\");\n }\n const utf8encodedAndHashed = await CryptoUtils.hash(\"SHA-256\", JSON.stringify(jsonObject));\n return CryptoUtils.encodeBase64Url(utf8encodedAndHashed);\n }\n\n public static async generateDPoPProof({\n url,\n accessToken,\n httpMethod,\n keyPair,\n nonce,\n }: GenerateDPoPProofOpts): Promise {\n let hashedToken: Uint8Array;\n let encodedHash: string;\n\n const payload: Record = {\n \"jti\": window.crypto.randomUUID(),\n \"htm\": httpMethod ?? \"GET\",\n \"htu\": url,\n \"iat\": Math.floor(Date.now() / 1000),\n };\n\n if (accessToken) {\n hashedToken = await CryptoUtils.hash(\"SHA-256\", accessToken);\n encodedHash = CryptoUtils.encodeBase64Url(hashedToken);\n payload.ath = encodedHash;\n }\n\n if (nonce) {\n payload.nonce = nonce;\n }\n\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n const header = {\n \"alg\": \"ES256\",\n \"typ\": \"dpop+jwt\",\n \"jwk\": {\n \"crv\": publicJwk.crv,\n \"kty\": publicJwk.kty,\n \"x\": publicJwk.x,\n \"y\": publicJwk.y,\n },\n };\n return await JwtUtils.generateSignedJwt(header, payload, keyPair.privateKey);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Error exporting dpop public key: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n\n public static async generateDPoPJkt(keyPair: CryptoKeyPair) : Promise {\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n return await CryptoUtils.customCalculateJwkThumbprint(publicJwk);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Could not retrieve dpop keys from storage: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n\n public static async generateDPoPKeys() : Promise {\n return await window.crypto.subtle.generateKey(\n {\n name: \"ECDSA\",\n namedCurve: \"P-256\",\n },\n false,\n [\"sign\", \"verify\"],\n );\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./Logger\";\n\n/**\n * @internal\n */\nexport type Callback = (...ev: EventType) => (Promise | void);\n\n/**\n * @internal\n */\nexport class Event {\n protected readonly _logger: Logger;\n\n private readonly _callbacks: Array> = [];\n\n public constructor(protected readonly _name: string) {\n this._logger = new Logger(`Event('${this._name}')`);\n }\n\n public addHandler(cb: Callback): () => void {\n this._callbacks.push(cb);\n return () => this.removeHandler(cb);\n }\n\n public removeHandler(cb: Callback): void {\n const idx = this._callbacks.lastIndexOf(cb);\n if (idx >= 0) {\n this._callbacks.splice(idx, 1);\n }\n }\n\n public async raise(...ev: EventType): Promise {\n this._logger.debug(\"raise:\", ...ev);\n for (const cb of this._callbacks) {\n await cb(...ev);\n }\n }\n}\n","/**\n *\n * @public\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/open#window_features\n */\nexport interface PopupWindowFeatures {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n menubar?: boolean | string;\n toolbar?: boolean | string;\n location?: boolean | string;\n status?: boolean | string;\n resizable?: boolean | string;\n scrollbars?: boolean | string;\n /** Close popup window after time in seconds, by default it is -1. To enable this feature, set value greater than 0. */\n closePopupWindowAfterInSeconds?: number;\n\n [k: string]: boolean | string | number | undefined;\n}\n\nexport class PopupUtils {\n /**\n * Populates a map of window features with a placement centered in front of\n * the current window. If no explicit width is given, a default value is\n * binned into [800, 720, 600, 480, 360] based on the current window's width.\n */\n static center({ ...features }: PopupWindowFeatures): PopupWindowFeatures {\n if (features.width == null)\n features.width = [800, 720, 600, 480].find(width => width <= window.outerWidth / 1.618) ?? 360;\n features.left ??= Math.max(0, Math.round(window.screenX + (window.outerWidth - features.width) / 2));\n if (features.height != null)\n features.top ??= Math.max(0, Math.round(window.screenY + (window.outerHeight - features.height) / 2));\n return features;\n }\n\n static serialize(features: PopupWindowFeatures): string {\n return Object.entries(features)\n .filter(([, value]) => value != null)\n .map(([key, value]) => `${key}=${typeof value !== \"boolean\" ? value as string : value ? \"yes\" : \"no\"}`)\n .join(\",\");\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Event } from \"./Event\";\nimport { Logger } from \"./Logger\";\n\n/**\n * @internal\n */\nexport class Timer extends Event<[void]> {\n protected readonly _logger = new Logger(`Timer('${this._name}')`);\n private _timerHandle: ReturnType | null = null;\n private _expiration = 0;\n\n // get the time\n public static getEpochTime(): number {\n return Math.floor(Date.now() / 1000);\n }\n\n public init(durationInSeconds: number): void {\n const logger = this._logger.create(\"init\");\n durationInSeconds = Math.max(Math.floor(durationInSeconds), 1);\n const expiration = Timer.getEpochTime() + durationInSeconds;\n if (this.expiration === expiration && this._timerHandle) {\n // no need to reinitialize to same expiration, so bail out\n logger.debug(\"skipping since already initialized for expiration at\", this.expiration);\n return;\n }\n\n this.cancel();\n\n logger.debug(\"using duration\", durationInSeconds);\n this._expiration = expiration;\n\n // we're using a fairly short timer and then checking the expiration in the\n // callback to handle scenarios where the browser device sleeps, and then\n // the timers end up getting delayed.\n const timerDurationInSeconds = Math.min(durationInSeconds, 5);\n this._timerHandle = setInterval(this._callback, timerDurationInSeconds * 1000);\n }\n\n public get expiration(): number {\n return this._expiration;\n }\n\n public cancel(): void {\n this._logger.create(\"cancel\");\n if (this._timerHandle) {\n clearInterval(this._timerHandle);\n this._timerHandle = null;\n }\n }\n\n protected _callback = (): void => {\n const diff = this._expiration - Timer.getEpochTime();\n this._logger.debug(\"timer completes in\", diff);\n\n if (this._expiration <= Timer.getEpochTime()) {\n this.cancel();\n void super.raise();\n }\n };\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\n/**\n * @internal\n */\nexport class UrlUtils {\n public static readParams(url: string, responseMode: \"query\" | \"fragment\" = \"query\"): URLSearchParams {\n if (!url) throw new TypeError(\"Invalid URL\");\n // the base URL is irrelevant, it's just here to support relative url arguments\n const parsedUrl = new URL(url, \"http://127.0.0.1\");\n const params = parsedUrl[responseMode === \"fragment\" ? \"hash\" : \"search\"];\n return new URLSearchParams(params.slice(1));\n }\n}\n\n/**\n * @internal\n */\nexport const URL_STATE_DELIMITER = \";\";","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"../utils\";\n\n/**\n * Error class thrown in case of an authentication error.\n *\n * @public\n * @see https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n */\nexport class ErrorResponse extends Error {\n /** Marker to detect class: \"ErrorResponse\" */\n public readonly name: string = \"ErrorResponse\";\n\n /** An error code string that can be used to classify the types of errors that occur and to respond to errors. */\n public readonly error: string | null;\n /** additional information that can help a developer identify the cause of the error.*/\n public readonly error_description: string | null;\n /**\n * URI identifying a human-readable web page with information about the error, used to provide the client\n developer with additional information about the error.\n */\n public readonly error_uri: string | null;\n\n /** custom state data set during the initial signin request */\n public state?: unknown;\n\n public readonly session_state: string | null;\n\n public url_state?: string;\n\n public constructor(\n args: {\n error?: string | null; error_description?: string | null; error_uri?: string | null;\n userState?: unknown; session_state?: string | null; url_state?: string;\n },\n /** The x-www-form-urlencoded request body sent to the authority server */\n public readonly form?: URLSearchParams,\n ) {\n super(args.error_description || args.error || \"\");\n\n if (!args.error) {\n Logger.error(\"ErrorResponse\", \"No error passed\");\n throw new Error(\"No error passed\");\n }\n\n this.error = args.error;\n this.error_description = args.error_description ?? null;\n this.error_uri = args.error_uri ?? null;\n\n this.state = args.userState;\n this.session_state = args.session_state ?? null;\n this.url_state = args.url_state;\n }\n}\n","// Copyright (C) 2021 AuthTS Contributors\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\n/**\n * Error class thrown in case of network timeouts (e.g IFrame time out).\n *\n * @public\n */\nexport class ErrorTimeout extends Error {\n /** Marker to detect class: \"ErrorTimeout\" */\n public readonly name: string = \"ErrorTimeout\";\n\n public constructor(message?: string) {\n super(message);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, Timer } from \"./utils\";\nimport type { User } from \"./User\";\n\n/**\n * @public\n */\nexport type AccessTokenCallback = (...ev: unknown[]) => (Promise | void);\n\n/**\n * @public\n */\nexport class AccessTokenEvents {\n protected readonly _logger = new Logger(\"AccessTokenEvents\");\n\n private readonly _expiringTimer = new Timer(\"Access token expiring\");\n private readonly _expiredTimer = new Timer(\"Access token expired\");\n private readonly _expiringNotificationTimeInSeconds: number;\n\n public constructor(args: { expiringNotificationTimeInSeconds: number }) {\n this._expiringNotificationTimeInSeconds = args.expiringNotificationTimeInSeconds;\n }\n\n public load(container: User): void {\n const logger = this._logger.create(\"load\");\n // only register events if there's an access token and it has an expiration\n if (container.access_token && container.expires_in !== undefined) {\n const duration = container.expires_in;\n logger.debug(\"access token present, remaining duration:\", duration);\n\n if (duration > 0) {\n // only register expiring if we still have time\n let expiring = duration - this._expiringNotificationTimeInSeconds;\n if (expiring <= 0) {\n expiring = 1;\n }\n\n logger.debug(\"registering expiring timer, raising in\", expiring, \"seconds\");\n this._expiringTimer.init(expiring);\n }\n else {\n logger.debug(\"canceling existing expiring timer because we're past expiration.\");\n this._expiringTimer.cancel();\n }\n\n // if it's negative, it will still fire\n const expired = duration + 1;\n logger.debug(\"registering expired timer, raising in\", expired, \"seconds\");\n this._expiredTimer.init(expired);\n }\n else {\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n }\n\n public unload(): void {\n this._logger.debug(\"unload: canceling existing access token timers\");\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n\n /**\n * Add callback: Raised prior to the access token expiring.\n */\n public addAccessTokenExpiring(cb: AccessTokenCallback): () => void {\n return this._expiringTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised prior to the access token expiring.\n */\n public removeAccessTokenExpiring(cb: AccessTokenCallback): void {\n this._expiringTimer.removeHandler(cb);\n }\n\n /**\n * Add callback: Raised after the access token has expired.\n */\n public addAccessTokenExpired(cb: AccessTokenCallback): () => void {\n return this._expiredTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised after the access token has expired.\n */\n public removeAccessTokenExpired(cb: AccessTokenCallback): void {\n this._expiredTimer.removeHandler(cb);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\n\n/**\n * @internal\n */\nexport class CheckSessionIFrame {\n private readonly _logger = new Logger(\"CheckSessionIFrame\");\n private _frame_origin: string;\n private _frame: HTMLIFrameElement;\n private _timer: ReturnType | null = null;\n private _session_state: string | null = null;\n\n public constructor(\n private _callback: () => Promise,\n private _client_id: string,\n url: string,\n private _intervalInSeconds: number,\n private _stopOnError: boolean,\n ) {\n const parsedUrl = new URL(url);\n this._frame_origin = parsedUrl.origin;\n\n this._frame = window.document.createElement(\"iframe\");\n\n // shotgun approach\n this._frame.style.visibility = \"hidden\";\n this._frame.style.position = \"fixed\";\n this._frame.style.left = \"-1000px\";\n this._frame.style.top = \"0\";\n this._frame.width = \"0\";\n this._frame.height = \"0\";\n this._frame.src = parsedUrl.href;\n }\n\n public load(): Promise {\n return new Promise((resolve) => {\n this._frame.onload = () => {\n resolve();\n };\n\n window.document.body.appendChild(this._frame);\n window.addEventListener(\"message\", this._message, false);\n });\n }\n\n private _message = (e: MessageEvent): void => {\n if (e.origin === this._frame_origin &&\n e.source === this._frame.contentWindow\n ) {\n if (e.data === \"error\") {\n this._logger.error(\"error message from check session op iframe\");\n if (this._stopOnError) {\n this.stop();\n }\n }\n else if (e.data === \"changed\") {\n this._logger.debug(\"changed message from check session op iframe\");\n this.stop();\n void this._callback();\n }\n else {\n this._logger.debug(e.data + \" message from check session op iframe\");\n }\n }\n };\n\n public start(session_state: string): void {\n if (this._session_state === session_state) {\n return;\n }\n\n this._logger.create(\"start\");\n\n this.stop();\n\n this._session_state = session_state;\n\n const send = () => {\n if (!this._frame.contentWindow || !this._session_state) {\n return;\n }\n\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\n };\n\n // trigger now\n send();\n\n // and setup timer\n this._timer = setInterval(send, this._intervalInSeconds * 1000);\n }\n\n public stop(): void {\n this._logger.create(\"stop\");\n this._session_state = null;\n\n if (this._timer) {\n\n clearInterval(this._timer);\n this._timer = null;\n }\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\n\n/**\n * @public\n */\nexport class InMemoryWebStorage implements Storage {\n private readonly _logger = new Logger(\"InMemoryWebStorage\");\n private _data: Record = {};\n\n public clear(): void {\n this._logger.create(\"clear\");\n this._data = {};\n }\n\n public getItem(key: string): string {\n this._logger.create(`getItem('${key}')`);\n return this._data[key];\n }\n\n public setItem(key: string, value: string): void {\n this._logger.create(`setItem('${key}')`);\n this._data[key] = value;\n }\n\n public removeItem(key: string): void {\n this._logger.create(`removeItem('${key}')`);\n delete this._data[key];\n }\n\n public get length(): number {\n return Object.getOwnPropertyNames(this._data).length;\n }\n\n public key(index: number): string {\n return Object.getOwnPropertyNames(this._data)[index];\n }\n}\n","export class ErrorDPoPNonce extends Error {\n /** Marker to detect class: \"ErrorDPoPNonce\" */\n public readonly name: string = \"ErrorDPoPNonce\";\n public readonly nonce: string;\n\n public constructor(nonce: string, message?: string) {\n super(message);\n this.nonce = nonce;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { ErrorResponse, ErrorTimeout } from \"./errors\";\nimport type { ExtraHeader } from \"./OidcClientSettings\";\nimport { Logger } from \"./utils\";\nimport { ErrorDPoPNonce } from \"./errors/ErrorDPoPNonce\";\n\n/**\n * @internal\n */\nexport type JwtHandler = (text: string) => Promise>;\n\n/**\n * @internal\n */\nexport interface GetJsonOpts {\n token?: string;\n credentials?: RequestCredentials;\n timeoutInSeconds?: number;\n}\n\n/**\n * @internal\n */\nexport interface PostFormOpts {\n body: URLSearchParams;\n basicAuth?: string;\n timeoutInSeconds?: number;\n initCredentials?: \"same-origin\" | \"include\" | \"omit\";\n extraHeaders?: Record;\n}\n\n/**\n * @internal\n */\nexport class JsonService {\n private readonly _logger = new Logger(\"JsonService\");\n\n private _contentTypes: string[] = [];\n\n public constructor(\n additionalContentTypes: string[] = [],\n private _jwtHandler: JwtHandler | null = null,\n private _extraHeaders: Record = {},\n ) {\n this._contentTypes.push(...additionalContentTypes, \"application/json\");\n if (_jwtHandler) {\n this._contentTypes.push(\"application/jwt\");\n }\n }\n\n protected async fetchWithTimeout(input: RequestInfo, init: RequestInit & { timeoutInSeconds?: number } = {}) {\n const { timeoutInSeconds, ...initFetch } = init;\n if (!timeoutInSeconds) {\n return await fetch(input, initFetch);\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeoutInSeconds * 1000);\n\n try {\n const response = await fetch(input, {\n ...init,\n signal: controller.signal,\n });\n return response;\n }\n catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") {\n throw new ErrorTimeout(\"Network timed out\");\n }\n throw err;\n }\n finally {\n clearTimeout(timeoutId);\n }\n }\n\n public async getJson(url: string, {\n token,\n credentials,\n timeoutInSeconds,\n }: GetJsonOpts = {}): Promise> {\n const logger = this._logger.create(\"getJson\");\n const headers: HeadersInit = {\n \"Accept\": this._contentTypes.join(\", \"),\n };\n if (token) {\n logger.debug(\"token passed, setting Authorization header\");\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n\n this.appendExtraHeaders(headers);\n\n let response: Response;\n try {\n logger.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"GET\", headers, timeoutInSeconds, credentials });\n }\n catch (err) {\n logger.error(\"Network Error\");\n throw err;\n }\n\n logger.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find(item => contentType.startsWith(item))) {\n logger.throw(new Error(`Invalid response Content-Type: ${(contentType ?? \"undefined\")}, from URL: ${url}`));\n }\n if (response.ok && this._jwtHandler && contentType?.startsWith(\"application/jwt\")) {\n return await this._jwtHandler(await response.text());\n }\n let json: Record;\n try {\n json = await response.json();\n }\n catch (err) {\n logger.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n if (!response.ok) {\n logger.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n\n public async postForm(url: string, {\n body,\n basicAuth,\n timeoutInSeconds,\n initCredentials,\n extraHeaders,\n }: PostFormOpts): Promise> {\n const logger = this._logger.create(\"postForm\");\n const headers: HeadersInit = {\n \"Accept\": this._contentTypes.join(\", \"),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n ...extraHeaders,\n };\n if (basicAuth !== undefined) {\n headers[\"Authorization\"] = \"Basic \" + basicAuth;\n }\n\n this.appendExtraHeaders(headers);\n\n let response: Response;\n try {\n logger.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"POST\", headers, body, timeoutInSeconds, credentials: initCredentials });\n }\n catch (err) {\n logger.error(\"Network error\");\n throw err;\n }\n\n logger.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find(item => contentType.startsWith(item))) {\n throw new Error(`Invalid response Content-Type: ${(contentType ?? \"undefined\")}, from URL: ${url}`);\n }\n\n const responseText = await response.text();\n\n let json: Record = {};\n if (responseText) {\n try {\n json = JSON.parse(responseText);\n }\n catch (err) {\n logger.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n }\n\n if (!response.ok) {\n logger.error(\"Error from server:\", json);\n if (response.headers.has(\"dpop-nonce\")) {\n const nonce = response.headers.get(\"dpop-nonce\") as string;\n throw new ErrorDPoPNonce(nonce, `${JSON.stringify(json)}`);\n }\n if (json.error) {\n throw new ErrorResponse(json, body);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n\n return json;\n }\n\n private appendExtraHeaders(\n headers: Record,\n ): void {\n const logger = this._logger.create(\"appendExtraHeaders\");\n const customKeys = Object.keys(this._extraHeaders);\n const protectedHeaders = [\n \"authorization\",\n \"accept\",\n \"content-type\",\n ];\n if (customKeys.length === 0) {\n return;\n }\n customKeys.forEach((headerName) => {\n if (protectedHeaders.includes(headerName.toLocaleLowerCase())) {\n logger.warn(\"Protected header could not be overridden\", headerName, protectedHeaders);\n return;\n }\n const content = (typeof this._extraHeaders[headerName] === \"function\") ?\n (this._extraHeaders[headerName] as ()=>string)() :\n this._extraHeaders[headerName];\n if (content && content !== \"\") {\n headers[headerName] = content as string;\n }\n });\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\nimport { JsonService } from \"./JsonService\";\nimport type { OidcClientSettingsStore, SigningKey } from \"./OidcClientSettings\";\nimport type { OidcMetadata } from \"./OidcMetadata\";\n\n/**\n * @public\n * @see https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata\n */\nexport class MetadataService {\n private readonly _logger = new Logger(\"MetadataService\");\n private readonly _jsonService;\n\n // cache\n private _metadataUrl: string;\n private _signingKeys: SigningKey[] | null = null;\n private _metadata: Partial | null = null;\n private _fetchRequestCredentials: RequestCredentials | undefined;\n\n public constructor(private readonly _settings: OidcClientSettingsStore) {\n this._metadataUrl = this._settings.metadataUrl;\n this._jsonService = new JsonService(\n [\"application/jwk-set+json\"],\n null,\n this._settings.extraHeaders,\n );\n if (this._settings.signingKeys) {\n this._logger.debug(\"using signingKeys from settings\");\n this._signingKeys = this._settings.signingKeys;\n }\n\n if (this._settings.metadata) {\n this._logger.debug(\"using metadata from settings\");\n this._metadata = this._settings.metadata;\n }\n\n if (this._settings.fetchRequestCredentials) {\n this._logger.debug(\"using fetchRequestCredentials from settings\");\n this._fetchRequestCredentials = this._settings.fetchRequestCredentials;\n }\n }\n\n public resetSigningKeys(): void {\n this._signingKeys = null;\n }\n\n public async getMetadata(): Promise> {\n const logger = this._logger.create(\"getMetadata\");\n if (this._metadata) {\n logger.debug(\"using cached values\");\n return this._metadata;\n }\n\n if (!this._metadataUrl) {\n logger.throw(new Error(\"No authority or metadataUrl configured on settings\"));\n throw null;\n }\n\n logger.debug(\"getting metadata from\", this._metadataUrl);\n const metadata = await this._jsonService.getJson(this._metadataUrl, { credentials: this._fetchRequestCredentials, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n\n logger.debug(\"merging remote JSON with seed metadata\");\n this._metadata = Object.assign({}, this._settings.metadataSeed, metadata);\n return this._metadata;\n }\n\n public getIssuer(): Promise {\n return this._getMetadataProperty(\"issuer\") as Promise;\n }\n\n public getAuthorizationEndpoint(): Promise {\n return this._getMetadataProperty(\"authorization_endpoint\") as Promise;\n }\n\n public getUserInfoEndpoint(): Promise {\n return this._getMetadataProperty(\"userinfo_endpoint\") as Promise;\n }\n\n public getTokenEndpoint(optional: false): Promise;\n public getTokenEndpoint(optional?: true): Promise;\n public getTokenEndpoint(optional = true): Promise {\n return this._getMetadataProperty(\"token_endpoint\", optional) as Promise;\n }\n\n public getCheckSessionIframe(): Promise {\n return this._getMetadataProperty(\"check_session_iframe\", true) as Promise;\n }\n\n public getEndSessionEndpoint(): Promise {\n return this._getMetadataProperty(\"end_session_endpoint\", true) as Promise;\n }\n\n public getRevocationEndpoint(optional: false): Promise;\n public getRevocationEndpoint(optional?: true): Promise;\n public getRevocationEndpoint(optional = true): Promise {\n return this._getMetadataProperty(\"revocation_endpoint\", optional) as Promise;\n }\n\n public getKeysEndpoint(optional: false): Promise;\n public getKeysEndpoint(optional?: true): Promise;\n public getKeysEndpoint(optional = true): Promise {\n return this._getMetadataProperty(\"jwks_uri\", optional) as Promise;\n }\n\n protected async _getMetadataProperty(name: keyof OidcMetadata, optional=false): Promise {\n const logger = this._logger.create(`_getMetadataProperty('${name}')`);\n\n const metadata = await this.getMetadata();\n logger.debug(\"resolved\");\n\n if (metadata[name] === undefined) {\n if (optional === true) {\n logger.warn(\"Metadata does not contain optional property\");\n return undefined;\n }\n\n logger.throw(new Error(\"Metadata does not contain property \" + name));\n }\n\n return metadata[name];\n }\n\n public async getSigningKeys(): Promise {\n const logger = this._logger.create(\"getSigningKeys\");\n if (this._signingKeys) {\n logger.debug(\"returning signingKeys from cache\");\n return this._signingKeys;\n }\n\n const jwks_uri = await this.getKeysEndpoint(false);\n logger.debug(\"got jwks_uri\", jwks_uri);\n\n const keySet = await this._jsonService.getJson(jwks_uri, { timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger.debug(\"got key set\", keySet);\n\n if (!Array.isArray(keySet.keys)) {\n logger.throw(new Error(\"Missing keys on keyset\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n\n this._signingKeys = keySet.keys;\n return this._signingKeys;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\nimport type { StateStore } from \"./StateStore\";\nimport type { AsyncStorage } from \"./AsyncStorage\";\n\n/**\n * @public\n */\nexport class WebStorageStateStore implements StateStore {\n private readonly _logger = new Logger(\"WebStorageStateStore\");\n\n private readonly _store: AsyncStorage | Storage;\n private readonly _prefix: string;\n\n public constructor({\n prefix = \"oidc.\",\n store = localStorage,\n }: { prefix?: string; store?: AsyncStorage | Storage } = {}) {\n this._store = store;\n this._prefix = prefix;\n }\n\n public async set(key: string, value: string): Promise {\n this._logger.create(`set('${key}')`);\n\n key = this._prefix + key;\n await this._store.setItem(key, value);\n }\n\n public async get(key: string): Promise {\n this._logger.create(`get('${key}')`);\n\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n return item;\n }\n\n public async remove(key: string): Promise {\n this._logger.create(`remove('${key}')`);\n\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n await this._store.removeItem(key);\n return item;\n }\n\n public async getAllKeys(): Promise {\n this._logger.create(\"getAllKeys\");\n const len = await this._store.length;\n\n const keys = [];\n for (let index = 0; index < len; index++) {\n const key = await this._store.key(index);\n if (key && key.indexOf(this._prefix) === 0) {\n keys.push(key.substr(this._prefix.length));\n }\n }\n return keys;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { WebStorageStateStore } from \"./WebStorageStateStore\";\nimport type { OidcMetadata } from \"./OidcMetadata\";\nimport type { StateStore } from \"./StateStore\";\nimport { InMemoryWebStorage } from \"./InMemoryWebStorage\";\nimport type { DPoPStore } from \"./DPoPStore\";\n\nconst DefaultResponseType = \"code\";\nconst DefaultScope = \"openid\";\nconst DefaultClientAuthentication = \"client_secret_post\";\nconst DefaultStaleStateAgeInSeconds = 60 * 15;\n\n/**\n * @public\n */\nexport type SigningKey = Record;\n\n/**\n * @public\n */\nexport type ExtraHeader = string | (() => string);\n\n/**\n * Optional DPoP settings\n * @public\n */\nexport interface DPoPSettings {\n bind_authorization_code?: boolean;\n store: DPoPStore;\n}\n\n/**\n * The settings used to configure the {@link OidcClient}.\n *\n * @public\n */\nexport interface OidcClientSettings {\n /** The URL of the OIDC/OAuth2 provider */\n authority: string;\n metadataUrl?: string;\n /** Provide metadata when authority server does not allow CORS on the metadata endpoint */\n metadata?: Partial;\n /** Can be used to seed or add additional values to the results of the discovery request */\n metadataSeed?: Partial;\n /** Provide signingKeys when authority server does not allow CORS on the jwks uri */\n signingKeys?: SigningKey[];\n\n /** Your client application's identifier as registered with the OIDC/OAuth2 */\n client_id: string;\n client_secret?: string;\n /** The type of response desired from the OIDC/OAuth2 provider (default: \"code\") */\n response_type?: string;\n /** The scope being requested from the OIDC/OAuth2 provider (default: \"openid\") */\n scope?: string;\n /** The redirect URI of your client application to receive a response from the OIDC/OAuth2 provider */\n redirect_uri: string;\n /** The OIDC/OAuth2 post-logout redirect URI */\n post_logout_redirect_uri?: string;\n\n /**\n * Client authentication method that is used to authenticate when using the token endpoint (default: \"client_secret_post\")\n * - \"client_secret_basic\": using the HTTP Basic authentication scheme\n * - \"client_secret_post\": including the client credentials in the request body\n *\n * See https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication\n */\n client_authentication?: \"client_secret_basic\" | \"client_secret_post\";\n\n /** optional protocol param */\n prompt?: string;\n /** optional protocol param */\n display?: string;\n /** optional protocol param */\n max_age?: number;\n /** optional protocol param */\n ui_locales?: string;\n /** optional protocol param */\n acr_values?: string;\n /** optional protocol param */\n resource?: string | string[];\n\n /**\n * Optional protocol param\n * The response mode used by the authority server is defined by the response_type unless explicitly specified:\n * - Response mode for the OAuth 2.0 response type \"code\" is the \"query\" encoding\n * - Response mode for the OAuth 2.0 response type \"token\" is the \"fragment\" encoding\n *\n * @see https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes\n */\n response_mode?: \"query\" | \"fragment\";\n\n /**\n * Should optional OIDC protocol claims be removed from profile or specify the ones to be removed (default: true)\n * When true, the following claims are removed by default: [\"nbf\", \"jti\", \"auth_time\", \"nonce\", \"acr\", \"amr\", \"azp\", \"at_hash\"]\n * When specifying claims, the following claims are not allowed: [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\"]\n */\n filterProtocolClaims?: boolean | string[];\n /** Flag to control if additional identity data is loaded from the user info endpoint in order to populate the user's profile (default: false) */\n loadUserInfo?: boolean;\n /** Number (in seconds) indicating the age of state entries in storage for authorize requests that are considered abandoned and thus can be cleaned up (default: 900) */\n staleStateAgeInSeconds?: number;\n\n /**\n * Indicates how objects returned from the user info endpoint as claims (e.g. `address`) are merged into the claims from the\n * id token as a single object. (default: `{ array: \"replace\" }`)\n * - array: \"replace\": natives (string, int, float) and arrays are replaced, objects are merged as distinct objects\n * - array: \"merge\": natives (string, int, float) are replaced, arrays and objects are merged as distinct objects\n */\n mergeClaimsStrategy?: { array: \"replace\" | \"merge\" };\n\n /**\n * Storage object used to persist interaction state (default: window.localStorage, InMemoryWebStorage iff no window).\n * E.g. `stateStore: new WebStorageStateStore({ store: window.localStorage })`\n */\n stateStore?: StateStore;\n\n /**\n * An object containing additional query string parameters to be including in the authorization request.\n * E.g, when using Azure AD to obtain an access token an additional resource parameter is required. extraQueryParams: `{resource:\"some_identifier\"}`\n */\n extraQueryParams?: Record;\n\n extraTokenParams?: Record;\n\n /**\n * An object containing additional header to be including in request.\n */\n extraHeaders?: Record;\n\n /**\n * DPoP enabled or disabled\n */\n dpop?: DPoPSettings | undefined;\n\n /**\n * Will check the content type header of the response of the revocation endpoint to match these passed values (default: [])\n */\n revokeTokenAdditionalContentTypes?: string[];\n /**\n * Will disable PKCE validation, changing to true will not append to sign in request code_challenge and code_challenge_method. (default: false)\n */\n disablePKCE?: boolean;\n /**\n * Sets the credentials for fetch requests. (default: \"same-origin\")\n * Use this if you need to send cookies to the OIDC/OAuth2 provider or if you are using a proxy that requires cookies\n */\n fetchRequestCredentials?: RequestCredentials;\n\n /**\n * Only scopes in this list will be passed in the token refresh request.\n */\n refreshTokenAllowedScope?: string | undefined;\n\n /**\n * Defines request timeouts globally across all requests made to the authorisation server\n */\n requestTimeoutInSeconds?: number | undefined;\n\n /**\n * https://datatracker.ietf.org/doc/html/rfc6749#section-3.3 describes behavior when omitting scopes from sign in requests\n * If the IDP supports default scopes, this setting will ignore the scopes property passed to the config. (Default: false)\n */\n omitScopeWhenRequesting?: boolean;\n}\n\n/**\n * The settings with defaults applied of the {@link OidcClient}.\n *\n * @public\n * @see {@link OidcClientSettings}\n */\nexport class OidcClientSettingsStore {\n // metadata\n public readonly authority: string;\n public readonly metadataUrl: string;\n public readonly metadata: Partial | undefined;\n public readonly metadataSeed: Partial | undefined;\n public readonly signingKeys: SigningKey[] | undefined;\n\n // client config\n public readonly client_id: string;\n public readonly client_secret: string | undefined;\n public readonly response_type: string;\n public readonly scope: string;\n public readonly redirect_uri: string;\n public readonly post_logout_redirect_uri: string | undefined;\n public readonly client_authentication: \"client_secret_basic\" | \"client_secret_post\";\n\n // optional protocol params\n public readonly prompt: string | undefined;\n public readonly display: string | undefined;\n public readonly max_age: number | undefined;\n public readonly ui_locales: string | undefined;\n public readonly acr_values: string | undefined;\n public readonly resource: string | string[] | undefined;\n public readonly response_mode: \"query\" | \"fragment\" | undefined;\n\n // behavior flags\n public readonly filterProtocolClaims: boolean | string[];\n public readonly loadUserInfo: boolean;\n public readonly staleStateAgeInSeconds: number;\n public readonly mergeClaimsStrategy: { array: \"replace\" | \"merge\" };\n public readonly omitScopeWhenRequesting: boolean;\n\n public readonly stateStore: StateStore;\n\n // extra\n public readonly extraQueryParams: Record;\n public readonly extraTokenParams: Record;\n public readonly dpop: DPoPSettings | undefined;\n public readonly extraHeaders: Record;\n\n public readonly revokeTokenAdditionalContentTypes?: string[];\n public readonly fetchRequestCredentials: RequestCredentials;\n public readonly refreshTokenAllowedScope: string | undefined;\n public readonly disablePKCE: boolean;\n public readonly requestTimeoutInSeconds: number | undefined;\n\n public constructor({\n // metadata related\n authority, metadataUrl, metadata, signingKeys, metadataSeed,\n // client related\n client_id, client_secret, response_type = DefaultResponseType, scope = DefaultScope,\n redirect_uri, post_logout_redirect_uri,\n client_authentication = DefaultClientAuthentication,\n // optional protocol\n prompt, display, max_age, ui_locales, acr_values, resource, response_mode,\n // behavior flags\n filterProtocolClaims = true,\n loadUserInfo = false,\n requestTimeoutInSeconds,\n staleStateAgeInSeconds = DefaultStaleStateAgeInSeconds,\n mergeClaimsStrategy = { array: \"replace\" },\n disablePKCE = false,\n // other behavior\n stateStore,\n revokeTokenAdditionalContentTypes,\n fetchRequestCredentials,\n refreshTokenAllowedScope,\n // extra\n extraQueryParams = {},\n extraTokenParams = {},\n extraHeaders = {},\n dpop,\n omitScopeWhenRequesting = false,\n }: OidcClientSettings) {\n\n this.authority = authority;\n\n if (metadataUrl) {\n this.metadataUrl = metadataUrl;\n } else {\n this.metadataUrl = authority;\n if (authority) {\n if (!this.metadataUrl.endsWith(\"/\")) {\n this.metadataUrl += \"/\";\n }\n this.metadataUrl += \".well-known/openid-configuration\";\n }\n }\n\n this.metadata = metadata;\n this.metadataSeed = metadataSeed;\n this.signingKeys = signingKeys;\n\n this.client_id = client_id;\n this.client_secret = client_secret;\n this.response_type = response_type;\n this.scope = scope;\n this.redirect_uri = redirect_uri;\n this.post_logout_redirect_uri = post_logout_redirect_uri;\n this.client_authentication = client_authentication;\n\n this.prompt = prompt;\n this.display = display;\n this.max_age = max_age;\n this.ui_locales = ui_locales;\n this.acr_values = acr_values;\n this.resource = resource;\n this.response_mode = response_mode;\n\n this.filterProtocolClaims = filterProtocolClaims ?? true;\n this.loadUserInfo = !!loadUserInfo;\n this.staleStateAgeInSeconds = staleStateAgeInSeconds;\n this.mergeClaimsStrategy = mergeClaimsStrategy;\n this.omitScopeWhenRequesting = omitScopeWhenRequesting;\n this.disablePKCE = !!disablePKCE;\n this.revokeTokenAdditionalContentTypes = revokeTokenAdditionalContentTypes;\n\n this.fetchRequestCredentials = fetchRequestCredentials ? fetchRequestCredentials : \"same-origin\";\n this.requestTimeoutInSeconds = requestTimeoutInSeconds;\n\n if (stateStore) {\n this.stateStore = stateStore;\n }\n else {\n const store = typeof window !== \"undefined\" ? window.localStorage : new InMemoryWebStorage();\n this.stateStore = new WebStorageStateStore({ store });\n }\n\n this.refreshTokenAllowedScope = refreshTokenAllowedScope;\n\n this.extraQueryParams = extraQueryParams;\n this.extraTokenParams = extraTokenParams;\n this.extraHeaders = extraHeaders;\n\n this.dpop = dpop;\n if (this.dpop && !this.dpop?.store) {\n throw new Error(\"A DPoPStore is required when dpop is enabled\");\n }\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, JwtUtils } from \"./utils\";\nimport { JsonService } from \"./JsonService\";\nimport type { MetadataService } from \"./MetadataService\";\nimport type { JwtClaims } from \"./Claims\";\nimport type { OidcClientSettingsStore } from \"./OidcClientSettings\";\n\n/**\n * @internal\n */\nexport class UserInfoService {\n protected readonly _logger = new Logger(\"UserInfoService\");\n private readonly _jsonService: JsonService;\n\n public constructor(private readonly _settings: OidcClientSettingsStore,\n private readonly _metadataService: MetadataService,\n ) {\n this._jsonService = new JsonService(\n undefined,\n this._getClaimsFromJwt,\n this._settings.extraHeaders,\n );\n }\n\n public async getClaims(token: string): Promise {\n const logger = this._logger.create(\"getClaims\");\n if (!token) {\n this._logger.throw(new Error(\"No token passed\"));\n }\n\n const url = await this._metadataService.getUserInfoEndpoint();\n logger.debug(\"got userinfo url\", url);\n\n const claims = await this._jsonService.getJson(url, {\n token,\n credentials: this._settings.fetchRequestCredentials,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds,\n });\n logger.debug(\"got claims\", claims);\n\n return claims;\n }\n\n protected _getClaimsFromJwt = async (responseText: string): Promise => {\n const logger = this._logger.create(\"_getClaimsFromJwt\");\n try {\n const payload = JwtUtils.decode(responseText);\n logger.debug(\"JWT decoding successful\");\n\n return payload;\n } catch (err) {\n logger.error(\"Error parsing JWT response\");\n throw err;\n }\n };\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { CryptoUtils, Logger } from \"./utils\";\nimport { JsonService } from \"./JsonService\";\nimport type { MetadataService } from \"./MetadataService\";\nimport type { ExtraHeader, OidcClientSettingsStore } from \"./OidcClientSettings\";\n\n/**\n * @internal\n */\nexport interface ExchangeCodeArgs {\n client_id?: string;\n client_secret?: string;\n redirect_uri?: string;\n\n grant_type?: string;\n code: string;\n code_verifier?: string;\n\n extraHeaders?: Record;\n}\n\n/**\n * @internal\n */\nexport interface ExchangeCredentialsArgs {\n client_id?: string;\n client_secret?: string;\n\n grant_type?: string;\n scope?: string;\n\n username: string;\n password: string;\n}\n\n/**\n * @internal\n */\nexport interface ExchangeRefreshTokenArgs {\n client_id?: string;\n client_secret?: string;\n redirect_uri?: string;\n\n grant_type?: string;\n refresh_token: string;\n scope?: string;\n resource?: string | string[];\n\n timeoutInSeconds?: number;\n\n extraHeaders?: Record;\n}\n\n/**\n * @internal\n */\nexport interface RevokeArgs {\n token: string;\n token_type_hint?: \"access_token\" | \"refresh_token\";\n}\n\n/**\n * @internal\n */\nexport class TokenClient {\n private readonly _logger = new Logger(\"TokenClient\");\n private readonly _jsonService;\n\n public constructor(\n private readonly _settings: OidcClientSettingsStore,\n private readonly _metadataService: MetadataService,\n ) {\n this._jsonService = new JsonService(\n this._settings.revokeTokenAdditionalContentTypes,\n null,\n this._settings.extraHeaders,\n );\n }\n\n /**\n * Exchange code.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3\n */\n public async exchangeCode({\n grant_type = \"authorization_code\",\n redirect_uri = this._settings.redirect_uri,\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n extraHeaders,\n ...args\n }: ExchangeCodeArgs): Promise> {\n const logger = this._logger.create(\"exchangeCode\");\n if (!client_id) {\n logger.throw(new Error(\"A client_id is required\"));\n }\n if (!redirect_uri) {\n logger.throw(new Error(\"A redirect_uri is required\"));\n }\n if (!args.code) {\n logger.throw(new Error(\"A code is required\"));\n }\n\n const params = new URLSearchParams({ grant_type, redirect_uri });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth: string | undefined;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger.throw(new Error(\"A client_secret is required\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n\n const url = await this._metadataService.getTokenEndpoint(false);\n logger.debug(\"got token endpoint\");\n\n const response = await this._jsonService.postForm(url, {\n body: params,\n basicAuth,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds,\n initCredentials: this._settings.fetchRequestCredentials,\n extraHeaders,\n });\n\n logger.debug(\"got response\");\n\n return response;\n }\n\n /**\n * Exchange credentials.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.3.2\n */\n public async exchangeCredentials({\n grant_type = \"password\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n scope = this._settings.scope,\n ...args\n }: ExchangeCredentialsArgs): Promise> {\n const logger = this._logger.create(\"exchangeCredentials\");\n\n if (!client_id) {\n logger.throw(new Error(\"A client_id is required\"));\n }\n\n const params = new URLSearchParams({ grant_type });\n if (!this._settings.omitScopeWhenRequesting) {\n params.set(\"scope\", scope);\n }\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n\n let basicAuth: string | undefined;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger.throw(new Error(\"A client_secret is required\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n\n const url = await this._metadataService.getTokenEndpoint(false);\n logger.debug(\"got token endpoint\");\n\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds: this._settings.requestTimeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials });\n logger.debug(\"got response\");\n\n return response;\n }\n\n /**\n * Exchange a refresh token.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-6\n */\n public async exchangeRefreshToken({\n grant_type = \"refresh_token\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n timeoutInSeconds,\n extraHeaders,\n ...args\n }: ExchangeRefreshTokenArgs): Promise> {\n const logger = this._logger.create(\"exchangeRefreshToken\");\n if (!client_id) {\n logger.throw(new Error(\"A client_id is required\"));\n }\n if (!args.refresh_token) {\n logger.throw(new Error(\"A refresh_token is required\"));\n }\n\n const params = new URLSearchParams({ grant_type });\n for (const [key, value] of Object.entries(args)) {\n if (Array.isArray(value)) {\n value.forEach(param => params.append(key, param));\n }\n else if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth: string | undefined;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger.throw(new Error(\"A client_secret is required\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n\n const url = await this._metadataService.getTokenEndpoint(false);\n logger.debug(\"got token endpoint\");\n\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials, extraHeaders });\n logger.debug(\"got response\");\n\n return response;\n }\n\n /**\n * Revoke an access or refresh token.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.1\n */\n public async revoke(args: RevokeArgs): Promise {\n const logger = this._logger.create(\"revoke\");\n if (!args.token) {\n logger.throw(new Error(\"A token is required\"));\n }\n\n const url = await this._metadataService.getRevocationEndpoint(false);\n\n logger.debug(`got revocation endpoint, revoking ${args.token_type_hint ?? \"default token type\"}`);\n\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n params.set(\"client_id\", this._settings.client_id);\n if (this._settings.client_secret) {\n params.set(\"client_secret\", this._settings.client_secret);\n }\n\n await this._jsonService.postForm(url, { body: params, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger.debug(\"got response\");\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, JwtUtils } from \"./utils\";\nimport { ErrorResponse } from \"./errors\";\nimport type { MetadataService } from \"./MetadataService\";\nimport { UserInfoService } from \"./UserInfoService\";\nimport { TokenClient } from \"./TokenClient\";\nimport type { ExtraHeader, OidcClientSettingsStore } from \"./OidcClientSettings\";\nimport type { SigninState } from \"./SigninState\";\nimport type { SigninResponse } from \"./SigninResponse\";\nimport type { State } from \"./State\";\nimport type { SignoutResponse } from \"./SignoutResponse\";\nimport type { UserProfile } from \"./User\";\nimport type { RefreshState } from \"./RefreshState\";\nimport type { IdTokenClaims } from \"./Claims\";\nimport type { ClaimsService } from \"./ClaimsService\";\n\n/**\n * @internal\n */\nexport class ResponseValidator {\n protected readonly _logger = new Logger(\"ResponseValidator\");\n protected readonly _userInfoService: UserInfoService;\n protected readonly _tokenClient: TokenClient;\n\n public constructor(\n protected readonly _settings: OidcClientSettingsStore,\n protected readonly _metadataService: MetadataService,\n protected readonly _claimsService: ClaimsService,\n ) {\n this._userInfoService = new UserInfoService(this._settings, this._metadataService);\n this._tokenClient = new TokenClient(this._settings, this._metadataService);\n }\n\n public async validateSigninResponse(response: SigninResponse, state: SigninState, extraHeaders?: Record): Promise {\n const logger = this._logger.create(\"validateSigninResponse\");\n\n this._processSigninState(response, state);\n logger.debug(\"state processed\");\n\n await this._processCode(response, state, extraHeaders);\n logger.debug(\"code processed\");\n\n if (response.isOpenId) {\n this._validateIdTokenAttributes(response);\n }\n logger.debug(\"tokens validated\");\n\n await this._processClaims(response, state?.skipUserInfo, response.isOpenId);\n logger.debug(\"claims processed\");\n }\n\n public async validateCredentialsResponse(response: SigninResponse, skipUserInfo: boolean): Promise {\n const logger = this._logger.create(\"validateCredentialsResponse\");\n\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response);\n }\n logger.debug(\"tokens validated\");\n\n await this._processClaims(response, skipUserInfo, response.isOpenId);\n logger.debug(\"claims processed\");\n }\n\n public async validateRefreshResponse(response: SigninResponse, state: RefreshState): Promise {\n const logger = this._logger.create(\"validateRefreshResponse\");\n\n response.userState = state.data;\n // if there's no session_state on the response, copy over session_state from original request\n response.session_state ??= state.session_state;\n // if there's no scope on the response, then assume all scopes granted (per-spec) and copy over scopes from original request\n response.scope ??= state.scope;\n\n // OpenID Connect Core 1.0 says that id_token is optional in refresh response:\n // https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokenResponse\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response, state.id_token);\n logger.debug(\"ID Token validated\");\n }\n\n if (!response.id_token) {\n // if there's no id_token on the response, copy over id_token from original request\n response.id_token = state.id_token;\n // and decoded part too\n response.profile = state.profile;\n }\n\n const hasIdToken = response.isOpenId && !!response.id_token;\n await this._processClaims(response, false, hasIdToken);\n logger.debug(\"claims processed\");\n }\n\n public validateSignoutResponse(response: SignoutResponse, state: State): void {\n const logger = this._logger.create(\"validateSignoutResponse\");\n if (state.id !== response.state) {\n logger.throw(new Error(\"State does not match\"));\n }\n\n // now that we know the state matches, take the stored data\n // and set it into the response so callers can get their state\n // this is important for both success & error outcomes\n logger.debug(\"state validated\");\n response.userState = state.data;\n\n if (response.error) {\n logger.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n }\n\n protected _processSigninState(response: SigninResponse, state: SigninState): void {\n const logger = this._logger.create(\"_processSigninState\");\n if (state.id !== response.state) {\n logger.throw(new Error(\"State does not match\"));\n }\n\n if (!state.client_id) {\n logger.throw(new Error(\"No client_id on state\"));\n }\n\n if (!state.authority) {\n logger.throw(new Error(\"No authority on state\"));\n }\n\n // ensure we're using the correct authority\n if (this._settings.authority !== state.authority) {\n logger.throw(new Error(\"authority mismatch on settings vs. signin state\"));\n }\n if (this._settings.client_id && this._settings.client_id !== state.client_id) {\n logger.throw(new Error(\"client_id mismatch on settings vs. signin state\"));\n }\n\n // now that we know the state matches, take the stored data\n // and set it into the response so callers can get their state\n // this is important for both success & error outcomes\n logger.debug(\"state validated\");\n response.userState = state.data;\n response.url_state = state.url_state;\n // if there's no scope on the response, then assume all scopes granted (per-spec) and copy over scopes from original request\n response.scope ??= state.scope;\n\n if (response.error) {\n logger.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n\n if (state.code_verifier && !response.code) {\n logger.throw(new Error(\"Expected code in response\"));\n }\n\n }\n\n protected async _processClaims(response: SigninResponse, skipUserInfo = false, validateSub = true): Promise {\n const logger = this._logger.create(\"_processClaims\");\n response.profile = this._claimsService.filterProtocolClaims(response.profile);\n\n if (skipUserInfo || !this._settings.loadUserInfo || !response.access_token) {\n logger.debug(\"not loading user info\");\n return;\n }\n\n logger.debug(\"loading user info\");\n const claims = await this._userInfoService.getClaims(response.access_token);\n logger.debug(\"user info claims received from user info endpoint\");\n\n if (validateSub && claims.sub !== response.profile.sub) {\n logger.throw(new Error(\"subject from UserInfo response does not match subject in ID Token\"));\n }\n\n response.profile = this._claimsService.mergeClaims(response.profile, this._claimsService.filterProtocolClaims(claims as IdTokenClaims));\n logger.debug(\"user info claims received, updated profile:\", response.profile);\n }\n\n protected async _processCode(response: SigninResponse, state: SigninState, extraHeaders?: Record): Promise {\n const logger = this._logger.create(\"_processCode\");\n if (response.code) {\n logger.debug(\"Validating code\");\n const tokenResponse = await this._tokenClient.exchangeCode({\n client_id: state.client_id,\n client_secret: state.client_secret,\n code: response.code,\n redirect_uri: state.redirect_uri,\n code_verifier: state.code_verifier,\n extraHeaders: extraHeaders,\n ...state.extraTokenParams,\n });\n Object.assign(response, tokenResponse);\n } else {\n logger.debug(\"No code to process\");\n }\n }\n\n protected _validateIdTokenAttributes(response: SigninResponse, existingToken?: string): void {\n const logger = this._logger.create(\"_validateIdTokenAttributes\");\n\n logger.debug(\"decoding ID Token JWT\");\n const incoming = JwtUtils.decode(response.id_token ?? \"\");\n\n if (!incoming.sub) {\n logger.throw(new Error(\"ID Token is missing a subject claim\"));\n }\n\n if (existingToken) {\n const existing = JwtUtils.decode(existingToken);\n if (incoming.sub !== existing.sub) {\n logger.throw(new Error(\"sub in id_token does not match current sub\"));\n }\n if (incoming.auth_time && incoming.auth_time !== existing.auth_time) {\n logger.throw(new Error(\"auth_time in id_token does not match original auth_time\"));\n }\n if (incoming.azp && incoming.azp !== existing.azp) {\n logger.throw(new Error(\"azp in id_token does not match original azp\"));\n }\n if (!incoming.azp && existing.azp) {\n logger.throw(new Error(\"azp not in id_token, but present in original id_token\"));\n }\n }\n\n response.profile = incoming as UserProfile;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, CryptoUtils, Timer } from \"./utils\";\nimport type { StateStore } from \"./StateStore\";\n\n/**\n * @public\n */\nexport class State {\n public readonly id: string;\n public readonly created: number;\n public readonly request_type: string | undefined;\n public readonly url_state: string | undefined;\n\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n public readonly data?: unknown;\n\n public constructor(args: {\n id?: string;\n data?: unknown;\n created?: number;\n request_type?: string;\n url_state?: string;\n }) {\n this.id = args.id || CryptoUtils.generateUUIDv4();\n this.data = args.data;\n\n if (args.created && args.created > 0) {\n this.created = args.created;\n }\n else {\n this.created = Timer.getEpochTime();\n }\n this.request_type = args.request_type;\n this.url_state = args.url_state;\n }\n\n public toStorageString(): string {\n new Logger(\"State\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state,\n });\n }\n\n public static fromStorageString(storageString: string): Promise {\n Logger.createStatic(\"State\", \"fromStorageString\");\n return Promise.resolve(new State(JSON.parse(storageString)));\n }\n\n public static async clearStaleState(storage: StateStore, age: number): Promise {\n const logger = Logger.createStatic(\"State\", \"clearStaleState\");\n const cutoff = Timer.getEpochTime() - age;\n\n const keys = await storage.getAllKeys();\n logger.debug(\"got keys\", keys);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const item = await storage.get(key);\n let remove = false;\n\n if (item) {\n try {\n const state = await State.fromStorageString(item);\n\n logger.debug(\"got item from key:\", key, state.created);\n if (state.created <= cutoff) {\n remove = true;\n }\n }\n catch (err) {\n logger.error(\"Error parsing state for key:\", key, err);\n remove = true;\n }\n }\n else {\n logger.debug(\"no item in storage for key:\", key);\n remove = true;\n }\n\n if (remove) {\n logger.debug(\"removed item for key:\", key);\n void storage.remove(key);\n }\n }\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, CryptoUtils } from \"./utils\";\nimport { State } from \"./State\";\n\n/** @public */\nexport interface SigninStateArgs {\n id?: string;\n data?: unknown;\n created?: number;\n request_type?: string;\n\n code_verifier?: string;\n code_challenge?: string;\n authority: string;\n client_id: string;\n redirect_uri: string;\n scope: string;\n client_secret?: string;\n extraTokenParams?: Record;\n response_mode?: \"query\" | \"fragment\";\n skipUserInfo?: boolean;\n url_state?: string;\n}\n\n/** @public */\nexport type SigninStateCreateArgs = Omit & {\n code_verifier?: string | boolean;\n};\n\n/**\n * @public\n */\nexport class SigninState extends State {\n // isCode\n /** The same code_verifier that was used to obtain the authorization_code via PKCE. */\n public readonly code_verifier: string | undefined;\n /** Used to secure authorization code grants via Proof Key for Code Exchange (PKCE). */\n public readonly code_challenge: string | undefined;\n\n // to ensure state still matches settings\n /** @see {@link OidcClientSettings.authority} */\n public readonly authority: string;\n /** @see {@link OidcClientSettings.client_id} */\n public readonly client_id: string;\n /** @see {@link OidcClientSettings.redirect_uri} */\n public readonly redirect_uri: string;\n /** @see {@link OidcClientSettings.scope} */\n public readonly scope: string;\n /** @see {@link OidcClientSettings.client_secret} */\n public readonly client_secret: string | undefined;\n /** @see {@link OidcClientSettings.extraTokenParams} */\n public readonly extraTokenParams: Record | undefined;\n /** @see {@link OidcClientSettings.response_mode} */\n public readonly response_mode: \"query\" | \"fragment\" | undefined;\n\n public readonly skipUserInfo: boolean | undefined;\n\n private constructor(args: SigninStateArgs) {\n super(args);\n\n this.code_verifier = args.code_verifier;\n this.code_challenge = args.code_challenge;\n this.authority = args.authority;\n this.client_id = args.client_id;\n this.redirect_uri = args.redirect_uri;\n this.scope = args.scope;\n this.client_secret = args.client_secret;\n this.extraTokenParams = args.extraTokenParams;\n\n this.response_mode = args.response_mode;\n this.skipUserInfo = args.skipUserInfo;\n }\n\n public static async create(args: SigninStateCreateArgs): Promise {\n const code_verifier = args.code_verifier === true ? CryptoUtils.generateCodeVerifier() : (args.code_verifier || undefined);\n const code_challenge = code_verifier ? (await CryptoUtils.generateCodeChallenge(code_verifier)) : undefined;\n\n return new SigninState({\n ...args,\n code_verifier,\n code_challenge,\n });\n }\n\n public toStorageString(): string {\n new Logger(\"SigninState\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state,\n\n code_verifier: this.code_verifier,\n authority: this.authority,\n client_id: this.client_id,\n redirect_uri: this.redirect_uri,\n scope: this.scope,\n client_secret: this.client_secret,\n extraTokenParams : this.extraTokenParams,\n response_mode: this.response_mode,\n skipUserInfo: this.skipUserInfo,\n });\n }\n\n public static fromStorageString(storageString: string): Promise {\n Logger.createStatic(\"SigninState\", \"fromStorageString\");\n const data = JSON.parse(storageString);\n return SigninState.create(data);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, URL_STATE_DELIMITER } from \"./utils\";\nimport { SigninState } from \"./SigninState\";\n\n/**\n * @public\n * @see https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest\n */\nexport interface SigninRequestCreateArgs {\n // mandatory\n url: string;\n authority: string;\n client_id: string;\n redirect_uri: string;\n response_type: string;\n scope: string;\n\n // optional\n response_mode?: \"query\" | \"fragment\";\n nonce?: string;\n display?: string;\n dpopJkt?: string;\n prompt?: string;\n max_age?: number;\n ui_locales?: string;\n id_token_hint?: string;\n login_hint?: string;\n acr_values?: string;\n\n // other\n resource?: string | string[];\n request?: string;\n request_uri?: string;\n request_type?: string;\n extraQueryParams?: Record;\n\n // special\n extraTokenParams?: Record;\n client_secret?: string;\n skipUserInfo?: boolean;\n disablePKCE?: boolean;\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n state_data?: unknown;\n url_state?: string;\n omitScopeWhenRequesting?: boolean;\n}\n\n/**\n * @public\n */\nexport class SigninRequest {\n private static readonly _logger = new Logger(\"SigninRequest\");\n\n public readonly url: string;\n public readonly state: SigninState;\n\n private constructor(args: {\n url: string;\n state: SigninState;\n }) {\n this.url = args.url;\n this.state = args.state;\n }\n\n public static async create({\n // mandatory\n url, authority, client_id, redirect_uri, response_type, scope,\n // optional\n state_data, response_mode, request_type, client_secret, nonce, url_state,\n resource,\n skipUserInfo,\n extraQueryParams,\n extraTokenParams,\n disablePKCE,\n dpopJkt,\n omitScopeWhenRequesting,\n ...optionalParams\n }: SigninRequestCreateArgs): Promise {\n if (!url) {\n this._logger.error(\"create: No url passed\");\n throw new Error(\"url\");\n }\n if (!client_id) {\n this._logger.error(\"create: No client_id passed\");\n throw new Error(\"client_id\");\n }\n if (!redirect_uri) {\n this._logger.error(\"create: No redirect_uri passed\");\n throw new Error(\"redirect_uri\");\n }\n if (!response_type) {\n this._logger.error(\"create: No response_type passed\");\n throw new Error(\"response_type\");\n }\n if (!scope) {\n this._logger.error(\"create: No scope passed\");\n throw new Error(\"scope\");\n }\n if (!authority) {\n this._logger.error(\"create: No authority passed\");\n throw new Error(\"authority\");\n }\n\n const state = await SigninState.create({\n data: state_data,\n request_type,\n url_state,\n code_verifier: !disablePKCE,\n client_id, authority, redirect_uri,\n response_mode,\n client_secret, scope, extraTokenParams,\n skipUserInfo,\n });\n\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.append(\"client_id\", client_id);\n parsedUrl.searchParams.append(\"redirect_uri\", redirect_uri);\n parsedUrl.searchParams.append(\"response_type\", response_type);\n if (!omitScopeWhenRequesting) {\n parsedUrl.searchParams.append(\"scope\", scope);\n }\n if (nonce) {\n parsedUrl.searchParams.append(\"nonce\", nonce);\n }\n\n if (dpopJkt) {\n parsedUrl.searchParams.append(\"dpop_jkt\", dpopJkt);\n }\n\n let stateParam = state.id;\n if (url_state) {\n stateParam = `${stateParam}${URL_STATE_DELIMITER}${url_state}`;\n }\n parsedUrl.searchParams.append(\"state\", stateParam);\n if (state.code_challenge) {\n parsedUrl.searchParams.append(\"code_challenge\", state.code_challenge);\n parsedUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n }\n\n if (resource) {\n // https://datatracker.ietf.org/doc/html/rfc8707\n const resources = Array.isArray(resource) ? resource : [resource];\n resources\n .forEach(r => parsedUrl.searchParams.append(\"resource\", r));\n }\n\n for (const [key, value] of Object.entries({ response_mode, ...optionalParams, ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n\n return new SigninRequest({\n url: parsedUrl.href,\n state,\n });\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Timer, URL_STATE_DELIMITER } from \"./utils\";\nimport type { UserProfile } from \"./User\";\n\nconst OidcScope = \"openid\";\n\n/**\n * @public\n * @see https://openid.net/specs/openid-connect-core-1_0.html#AuthResponse\n * @see https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n */\nexport class SigninResponse {\n // props present in the initial callback response regardless of success\n public readonly state: string | null;\n /** @see {@link User.session_state} */\n public session_state: string | null;\n\n // error props\n /** @see {@link ErrorResponse.error} */\n public readonly error: string | null;\n /** @see {@link ErrorResponse.error_description} */\n public readonly error_description: string | null;\n /** @see {@link ErrorResponse.error_uri} */\n public readonly error_uri: string | null;\n\n // success props\n public readonly code: string | null;\n\n // props set after validation\n /** @see {@link User.id_token} */\n public id_token?: string;\n /** @see {@link User.access_token} */\n public access_token = \"\";\n /** @see {@link User.token_type} */\n public token_type = \"\";\n /** @see {@link User.refresh_token} */\n public refresh_token?: string;\n /** @see {@link User.scope} */\n public scope?: string;\n /** @see {@link User.expires_at} */\n public expires_at?: number;\n\n /** custom state data set during the initial signin request */\n public userState: unknown;\n public url_state?: string;\n\n /** @see {@link User.profile} */\n public profile: UserProfile = {} as UserProfile;\n\n public constructor(params: URLSearchParams) {\n this.state = params.get(\"state\");\n this.session_state = params.get(\"session_state\");\n if (this.state) {\n const splitState = decodeURIComponent(this.state).split(URL_STATE_DELIMITER);\n this.state = splitState[0];\n if (splitState.length > 1) {\n this.url_state = splitState.slice(1).join(URL_STATE_DELIMITER);\n }\n }\n\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n\n this.code = params.get(\"code\");\n }\n\n public get expires_in(): number | undefined {\n if (this.expires_at === undefined) {\n return undefined;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n public set expires_in(value: number | undefined) {\n // spec expects a number, but normalize here just in case\n if (typeof value === \"string\") value = Number(value);\n if (value !== undefined && value >= 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n\n public get isOpenId(): boolean {\n return this.scope?.split(\" \").includes(OidcScope) || !!this.id_token;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\nimport { State } from \"./State\";\n\n/**\n * @public\n * @see https://openid.net/specs/openid-connect-rpinitiated-1_0.html#RPLogout\n */\nexport interface SignoutRequestArgs {\n // mandatory\n url: string;\n\n // optional\n id_token_hint?: string;\n client_id?: string;\n post_logout_redirect_uri?: string;\n extraQueryParams?: Record;\n\n // special\n request_type?: string;\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n state_data?: unknown;\n}\n\n/**\n * @public\n */\nexport class SignoutRequest {\n private readonly _logger = new Logger(\"SignoutRequest\");\n\n public readonly url: string;\n public readonly state?: State;\n\n public constructor({\n url,\n state_data, id_token_hint, post_logout_redirect_uri, extraQueryParams, request_type, client_id,\n }: SignoutRequestArgs) {\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n\n const parsedUrl = new URL(url);\n if (id_token_hint) {\n parsedUrl.searchParams.append(\"id_token_hint\", id_token_hint);\n }\n if (client_id) {\n parsedUrl.searchParams.append(\"client_id\", client_id);\n }\n\n if (post_logout_redirect_uri) {\n parsedUrl.searchParams.append(\"post_logout_redirect_uri\", post_logout_redirect_uri);\n\n if (state_data) {\n this.state = new State({ data: state_data, request_type });\n\n parsedUrl.searchParams.append(\"state\", this.state.id);\n }\n }\n\n for (const [key, value] of Object.entries({ ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n\n this.url = parsedUrl.href;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\n/**\n * @public\n * @see https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n */\nexport class SignoutResponse {\n public readonly state: string | null;\n\n // error props\n /** @see {@link ErrorResponse.error} */\n public error: string | null;\n /** @see {@link ErrorResponse.error_description} */\n public error_description: string | null;\n /** @see {@link ErrorResponse.error_uri} */\n public error_uri: string | null;\n\n /** custom state data set during the initial signin request */\n public userState: unknown;\n\n public constructor(params: URLSearchParams) {\n this.state = params.get(\"state\");\n\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport type { JwtClaims } from \"./Claims\";\nimport type { OidcClientSettingsStore } from \"./OidcClientSettings\";\nimport type { UserProfile } from \"./User\";\nimport { Logger } from \"./utils\";\n\n/**\n * Protocol claims that could be removed by default from profile.\n * Derived from the following sets of claims:\n * - {@link https://datatracker.ietf.org/doc/html/rfc7519.html#section-4.1}\n * - {@link https://openid.net/specs/openid-connect-core-1_0.html#IDToken}\n * - {@link https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken}\n *\n * @internal\n */\nconst DefaultProtocolClaims = [\n \"nbf\",\n \"jti\",\n \"auth_time\",\n \"nonce\",\n \"acr\",\n \"amr\",\n \"azp\",\n \"at_hash\", // https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken\n] as const;\n\n/**\n * Protocol claims that should never be removed from profile.\n * \"sub\" is needed internally and others should remain required as per the OIDC specs.\n *\n * @internal\n */\nconst InternalRequiredProtocolClaims = [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\"];\n\n/**\n * @internal\n */\nexport class ClaimsService {\n protected readonly _logger = new Logger(\"ClaimsService\");\n public constructor(\n protected readonly _settings: OidcClientSettingsStore,\n ) {}\n\n public filterProtocolClaims(claims: UserProfile): UserProfile {\n const result = { ...claims };\n\n if (this._settings.filterProtocolClaims) {\n let protocolClaims;\n if (Array.isArray(this._settings.filterProtocolClaims)) {\n protocolClaims = this._settings.filterProtocolClaims;\n } else {\n protocolClaims = DefaultProtocolClaims;\n }\n\n for (const claim of protocolClaims) {\n if (!InternalRequiredProtocolClaims.includes(claim)) {\n delete result[claim];\n }\n }\n }\n\n return result;\n }\n\n public mergeClaims(claims1: JwtClaims, claims2: JwtClaims): UserProfile;\n public mergeClaims(claims1: UserProfile, claims2: JwtClaims): UserProfile {\n const result = { ...claims1 };\n for (const [claim, values] of Object.entries(claims2)) {\n if (result[claim] !== values) {\n if (Array.isArray(result[claim]) || Array.isArray(values)) {\n if (this._settings.mergeClaimsStrategy.array == \"replace\") {\n result[claim] = values;\n } else {\n const mergedValues = Array.isArray(result[claim]) ? result[claim] as unknown[] : [result[claim]];\n for (const value of Array.isArray(values) ? values : [values]) {\n if (!mergedValues.includes(value)) {\n mergedValues.push(value);\n }\n }\n result[claim] = mergedValues;\n }\n } else if (typeof result[claim] === \"object\" && typeof values === \"object\") {\n result[claim] = this.mergeClaims(result[claim] as JwtClaims, values as JwtClaims);\n } else {\n result[claim] = values;\n }\n }\n }\n\n return result;\n }\n}\n","/**\n * @public\n */\nexport interface DPoPStore {\n set(key: string, value: DPoPState): Promise;\n get(key: string): Promise;\n remove(key: string): Promise;\n getAllKeys(): Promise;\n}\n\n/**\n * @public\n */\nexport class DPoPState {\n public constructor(\n public readonly keys: CryptoKeyPair,\n public nonce?: string,\n ) { }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { CryptoUtils, Logger, UrlUtils } from \"./utils\";\nimport { ErrorResponse } from \"./errors\";\nimport { type ExtraHeader, type OidcClientSettings, OidcClientSettingsStore } from \"./OidcClientSettings\";\nimport { ResponseValidator } from \"./ResponseValidator\";\nimport { MetadataService } from \"./MetadataService\";\nimport type { RefreshState } from \"./RefreshState\";\nimport { SigninRequest, type SigninRequestCreateArgs } from \"./SigninRequest\";\nimport { SigninResponse } from \"./SigninResponse\";\nimport { SignoutRequest, type SignoutRequestArgs } from \"./SignoutRequest\";\nimport { SignoutResponse } from \"./SignoutResponse\";\nimport { SigninState } from \"./SigninState\";\nimport { State } from \"./State\";\nimport { TokenClient } from \"./TokenClient\";\nimport { ClaimsService } from \"./ClaimsService\";\nimport { DPoPState, type DPoPStore } from \"./DPoPStore\";\nimport { ErrorDPoPNonce } from \"./errors/ErrorDPoPNonce\";\n\n/**\n * @public\n */\nexport interface CreateSigninRequestArgs\n extends Omit {\n redirect_uri?: string;\n response_type?: string;\n scope?: string;\n dpopJkt?: string;\n\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n state?: unknown;\n}\n\n/**\n * @public\n */\nexport interface UseRefreshTokenArgs {\n redirect_uri?: string;\n resource?: string | string[];\n extraTokenParams?: Record;\n timeoutInSeconds?: number;\n\n state: RefreshState;\n\n extraHeaders?: Record;\n}\n\n/**\n * @public\n */\nexport type CreateSignoutRequestArgs = Omit & {\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n state?: unknown;\n};\n\n/**\n * @public\n */\nexport type ProcessResourceOwnerPasswordCredentialsArgs = {\n username: string;\n password: string;\n skipUserInfo?: boolean;\n extraTokenParams?: Record;\n};\n\n/**\n * Provides the raw OIDC/OAuth2 protocol support for the authorization endpoint and the end session endpoint in the\n * authorization server. It provides a bare-bones protocol implementation and is used by the UserManager class.\n * Only use this class if you simply want protocol support without the additional management features of the\n * UserManager class.\n *\n * @public\n */\nexport class OidcClient {\n public readonly settings: OidcClientSettingsStore;\n protected readonly _logger = new Logger(\"OidcClient\");\n\n public readonly metadataService: MetadataService;\n protected readonly _claimsService: ClaimsService;\n protected readonly _validator: ResponseValidator;\n protected readonly _tokenClient: TokenClient;\n\n public constructor(settings: OidcClientSettings);\n public constructor(settings: OidcClientSettingsStore, metadataService: MetadataService);\n public constructor(settings: OidcClientSettings | OidcClientSettingsStore, metadataService?: MetadataService) {\n this.settings = settings instanceof OidcClientSettingsStore ? settings : new OidcClientSettingsStore(settings);\n\n this.metadataService = metadataService ?? new MetadataService(this.settings);\n this._claimsService = new ClaimsService(this.settings);\n this._validator = new ResponseValidator(this.settings, this.metadataService, this._claimsService);\n this._tokenClient = new TokenClient(this.settings, this.metadataService);\n }\n\n public async createSigninRequest({\n state,\n request,\n request_uri,\n request_type,\n id_token_hint,\n login_hint,\n skipUserInfo,\n nonce,\n url_state,\n response_type = this.settings.response_type,\n scope = this.settings.scope,\n redirect_uri = this.settings.redirect_uri,\n prompt = this.settings.prompt,\n display = this.settings.display,\n max_age = this.settings.max_age,\n ui_locales = this.settings.ui_locales,\n acr_values = this.settings.acr_values,\n resource = this.settings.resource,\n response_mode = this.settings.response_mode,\n extraQueryParams = this.settings.extraQueryParams,\n extraTokenParams = this.settings.extraTokenParams,\n dpopJkt,\n omitScopeWhenRequesting = this.settings.omitScopeWhenRequesting,\n }: CreateSigninRequestArgs): Promise {\n const logger = this._logger.create(\"createSigninRequest\");\n\n if (response_type !== \"code\") {\n throw new Error(\"Only the Authorization Code flow (with PKCE) is supported\");\n }\n\n const url = await this.metadataService.getAuthorizationEndpoint();\n logger.debug(\"Received authorization endpoint\", url);\n\n const signinRequest = await SigninRequest.create({\n url,\n authority: this.settings.authority,\n client_id: this.settings.client_id,\n redirect_uri,\n response_type,\n scope,\n state_data: state,\n url_state,\n prompt, display, max_age, ui_locales, id_token_hint, login_hint, acr_values, dpopJkt,\n resource, request, request_uri, extraQueryParams, extraTokenParams, request_type, response_mode,\n client_secret: this.settings.client_secret,\n skipUserInfo,\n nonce,\n disablePKCE: this.settings.disablePKCE,\n omitScopeWhenRequesting,\n });\n\n // house cleaning\n await this.clearStaleState();\n\n const signinState = signinRequest.state;\n await this.settings.stateStore.set(signinState.id, signinState.toStorageString());\n return signinRequest;\n }\n\n public async readSigninResponseState(url: string, removeState = false): Promise<{ state: SigninState; response: SigninResponse }> {\n const logger = this._logger.create(\"readSigninResponseState\");\n\n const response = new SigninResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger.throw(new Error(\"No state in response\"));\n // need to throw within this function's body for type narrowing to work\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger.throw(new Error(\"No matching state found in storage\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n\n const state = await SigninState.fromStorageString(storedStateString);\n return { state, response };\n }\n\n public async processSigninResponse(url: string, extraHeaders?: Record): Promise {\n const logger = this._logger.create(\"processSigninResponse\");\n\n const { state, response } = await this.readSigninResponseState(url, true);\n logger.debug(\"received state from storage; validating response\");\n\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n\n /**\n * The DPoP spec describes a method for Authorization Servers to supply a nonce value\n * in order to limit the lifetime of a given DPoP proof.\n * See https://datatracker.ietf.org/doc/html/rfc9449#name-authorization-server-provid\n * This involves the AS returning a 400 bad request with a DPoP-Nonce header containing\n * the nonce value. The client must then retry the request with a recomputed DPoP proof\n * containing the supplied nonce value.\n */\n try {\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n }\n catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n extraHeaders![\"DPoP\"] = dpopProof;\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n } else {\n throw err;\n }\n }\n\n return response;\n }\n\n async getDpopProof(dpopStore: DPoPStore, nonce?: string): Promise {\n let keyPair: CryptoKeyPair;\n let dpopState: DPoPState;\n\n if (!(await dpopStore.getAllKeys()).includes(this.settings.client_id)) {\n keyPair = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(keyPair, nonce);\n await dpopStore.set(this.settings.client_id, dpopState);\n } else {\n dpopState = await dpopStore.get(this.settings.client_id);\n\n // if the server supplied nonce has changed since the last request, update the nonce\n if (dpopState.nonce !== nonce && nonce) {\n dpopState.nonce = nonce;\n await dpopStore.set(this.settings.client_id, dpopState);\n }\n }\n\n return await CryptoUtils.generateDPoPProof({\n url: await this.metadataService.getTokenEndpoint(false),\n httpMethod: \"POST\",\n keyPair: dpopState.keys,\n nonce: dpopState.nonce,\n });\n }\n\n public async processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo = false,\n extraTokenParams = {},\n }: ProcessResourceOwnerPasswordCredentialsArgs): Promise {\n const tokenResponse: Record = await this._tokenClient.exchangeCredentials({ username, password, ...extraTokenParams });\n const signinResponse: SigninResponse = new SigninResponse(new URLSearchParams());\n Object.assign(signinResponse, tokenResponse);\n await this._validator.validateCredentialsResponse(signinResponse, skipUserInfo);\n return signinResponse;\n }\n\n public async useRefreshToken({\n state,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n extraTokenParams,\n }: UseRefreshTokenArgs): Promise {\n const logger = this._logger.create(\"useRefreshToken\");\n\n // https://github.com/authts/oidc-client-ts/issues/695\n // In some cases (e.g. AzureAD), not all granted scopes are allowed on token refresh requests.\n // Therefore, we filter all granted scopes by a list of allowable scopes.\n let scope;\n if (this.settings.refreshTokenAllowedScope === undefined) {\n scope = state.scope;\n } else {\n const allowableScopes = this.settings.refreshTokenAllowedScope.split(\" \");\n const providedScopes = state.scope?.split(\" \") || [];\n\n scope = providedScopes.filter(s => allowableScopes.includes(s)).join(\" \");\n }\n\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n\n /**\n * The DPoP spec describes a method for Authorization Servers to supply a nonce value\n * in order to limit the lifetime of a given DPoP proof.\n * See https://datatracker.ietf.org/doc/html/rfc9449#name-authorization-server-provid\n * This involves the AS returning a 400 bad request with a DPoP-Nonce header containing\n * the nonce value. The client must then retry the request with a recomputed DPoP proof\n * containing the supplied nonce value.\n */\n let result;\n try {\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams,\n });\n } catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n extraHeaders![\"DPoP\"] = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams,\n });\n } else {\n throw err;\n }\n }\n\n const response = new SigninResponse(new URLSearchParams());\n Object.assign(response, result);\n logger.debug(\"validating response\", response);\n await this._validator.validateRefreshResponse(response, {\n ...state,\n // override the scope in the state handed over to the validator\n // so it can set the granted scope to the requested scope in case none is included in the response\n scope,\n });\n return response;\n }\n\n public async createSignoutRequest({\n state,\n id_token_hint,\n client_id,\n request_type,\n post_logout_redirect_uri = this.settings.post_logout_redirect_uri,\n extraQueryParams = this.settings.extraQueryParams,\n }: CreateSignoutRequestArgs = {}): Promise {\n const logger = this._logger.create(\"createSignoutRequest\");\n\n const url = await this.metadataService.getEndSessionEndpoint();\n if (!url) {\n logger.throw(new Error(\"No end session endpoint\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n\n logger.debug(\"Received end session endpoint\", url);\n\n // specify the client identifier when post_logout_redirect_uri is used but id_token_hint is not\n if (!client_id && post_logout_redirect_uri && !id_token_hint) {\n client_id = this.settings.client_id;\n }\n\n const request = new SignoutRequest({\n url,\n id_token_hint,\n client_id,\n post_logout_redirect_uri,\n state_data: state,\n extraQueryParams,\n request_type,\n });\n\n // house cleaning\n await this.clearStaleState();\n\n const signoutState = request.state;\n if (signoutState) {\n logger.debug(\"Signout request has state to persist\");\n await this.settings.stateStore.set(signoutState.id, signoutState.toStorageString());\n }\n\n return request;\n }\n\n public async readSignoutResponseState(url: string, removeState = false): Promise<{ state: State | undefined; response: SignoutResponse }> {\n const logger = this._logger.create(\"readSignoutResponseState\");\n\n const response = new SignoutResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger.debug(\"No state in response\");\n\n if (response.error) {\n logger.warn(\"Response was error:\", response.error);\n throw new ErrorResponse(response);\n }\n\n return { state: undefined, response };\n }\n\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger.throw(new Error(\"No matching state found in storage\"));\n throw null; // https://github.com/microsoft/TypeScript/issues/46972\n }\n\n const state = await State.fromStorageString(storedStateString);\n return { state, response };\n }\n\n public async processSignoutResponse(url: string): Promise {\n const logger = this._logger.create(\"processSignoutResponse\");\n\n const { state, response } = await this.readSignoutResponseState(url, true);\n if (state) {\n logger.debug(\"Received state from storage; validating response\");\n this._validator.validateSignoutResponse(response, state);\n } else {\n logger.debug(\"No state from storage; skipping response validation\");\n }\n\n return response;\n }\n\n public clearStaleState(): Promise {\n this._logger.create(\"clearStaleState\");\n return State.clearStaleState(this.settings.stateStore, this.settings.staleStateAgeInSeconds);\n }\n\n public async revokeToken(token: string, type?: \"access_token\" | \"refresh_token\"): Promise {\n this._logger.create(\"revokeToken\");\n return await this._tokenClient.revoke({\n token,\n token_type_hint: type,\n });\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"./utils\";\nimport { CheckSessionIFrame } from \"./CheckSessionIFrame\";\nimport type { UserManager } from \"./UserManager\";\nimport type { User } from \"./User\";\n\n/**\n * @public\n */\nexport class SessionMonitor {\n private readonly _logger = new Logger(\"SessionMonitor\");\n\n private _sub: string | undefined;\n private _checkSessionIFrame?: CheckSessionIFrame;\n\n public constructor(private readonly _userManager: UserManager) {\n if (!_userManager) {\n this._logger.throw(new Error(\"No user manager passed\"));\n }\n\n this._userManager.events.addUserLoaded(this._start);\n this._userManager.events.addUserUnloaded(this._stop);\n\n this._init().catch((err: unknown) => {\n // catch to suppress errors since we're in a ctor\n this._logger.error(err);\n });\n }\n\n protected async _init(): Promise {\n this._logger.create(\"_init\");\n const user = await this._userManager.getUser();\n // doing this manually here since calling getUser\n // doesn't trigger load event.\n if (user) {\n void this._start(user);\n }\n else if (this._userManager.settings.monitorAnonymousSession) {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub,\n } : null,\n };\n void this._start(tmpUser);\n }\n }\n }\n\n protected _start = async (\n user: User | {\n session_state: string;\n profile: { sub: string } | null;\n },\n ): Promise => {\n const session_state = user.session_state;\n if (!session_state) {\n return;\n }\n const logger = this._logger.create(\"_start\");\n\n if (user.profile) {\n this._sub = user.profile.sub;\n logger.debug(\"session_state\", session_state, \", sub\", this._sub);\n }\n else {\n this._sub = undefined;\n logger.debug(\"session_state\", session_state, \", anonymous user\");\n }\n\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.start(session_state);\n return;\n }\n\n try {\n const url = await this._userManager.metadataService.getCheckSessionIframe();\n if (url) {\n logger.debug(\"initializing check session iframe\");\n\n const client_id = this._userManager.settings.client_id;\n const intervalInSeconds = this._userManager.settings.checkSessionIntervalInSeconds;\n const stopOnError = this._userManager.settings.stopCheckSessionOnError;\n\n const checkSessionIFrame = new CheckSessionIFrame(this._callback, client_id, url, intervalInSeconds, stopOnError);\n await checkSessionIFrame.load();\n this._checkSessionIFrame = checkSessionIFrame;\n checkSessionIFrame.start(session_state);\n }\n else {\n logger.warn(\"no check session iframe found in the metadata\");\n }\n }\n catch (err) {\n // catch to suppress errors since we're in non-promise callback\n logger.error(\"Error from getCheckSessionIframe:\", err instanceof Error ? err.message : err);\n }\n };\n\n protected _stop = (): void => {\n const logger = this._logger.create(\"_stop\");\n this._sub = undefined;\n\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.stop();\n }\n\n if (this._userManager.settings.monitorAnonymousSession) {\n // using a timer to delay re-initialization to avoid race conditions during signout\n // TODO rewrite to use promise correctly\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const timerHandle = setInterval(async () => {\n clearInterval(timerHandle);\n\n try {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub,\n } : null,\n };\n void this._start(tmpUser);\n }\n }\n catch (err) {\n // catch to suppress errors since we're in a callback\n logger.error(\"error from querySessionStatus\", err instanceof Error ? err.message : err);\n }\n }, 1000);\n }\n };\n\n protected _callback = async (): Promise => {\n const logger = this._logger.create(\"_callback\");\n try {\n const session = await this._userManager.querySessionStatus();\n let raiseEvent = true;\n\n if (session && this._checkSessionIFrame) {\n if (session.sub === this._sub) {\n raiseEvent = false;\n this._checkSessionIFrame.start(session.session_state);\n\n logger.debug(\"same sub still logged in at OP, session state has changed, restarting check session iframe; session_state\", session.session_state);\n await this._userManager.events._raiseUserSessionChanged();\n }\n else {\n logger.debug(\"different subject signed into OP\", session.sub);\n }\n }\n else {\n logger.debug(\"subject no longer signed into OP\");\n }\n\n if (raiseEvent) {\n if (this._sub) {\n await this._userManager.events._raiseUserSignedOut();\n }\n else {\n await this._userManager.events._raiseUserSignedIn();\n }\n } else {\n logger.debug(\"no change in session detected, no event to raise\");\n }\n }\n catch (err) {\n if (this._sub) {\n logger.debug(\"Error calling queryCurrentSigninSession; raising signed out event\", err);\n await this._userManager.events._raiseUserSignedOut();\n }\n }\n };\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, Timer } from \"./utils\";\nimport type { IdTokenClaims } from \"./Claims\";\n\n/**\n * Holds claims represented by a combination of the `id_token` and the user info endpoint.\n *\n * @public\n */\nexport type UserProfile = IdTokenClaims;\n\n/**\n * @public\n */\nexport class User {\n /**\n * A JSON Web Token (JWT). Only provided if `openid` scope was requested.\n * The application can access the data decoded by using the `profile` property.\n */\n public id_token?: string;\n\n /** The session state value returned from the OIDC provider. */\n public session_state: string | null;\n\n /**\n * The requested access token returned from the OIDC provider. The application can use this token to\n * authenticate itself to the secured resource.\n */\n public access_token: string;\n\n /**\n * An OAuth 2.0 refresh token. The app can use this token to acquire additional access tokens after the\n * current access token expires. Refresh tokens are long-lived and can be used to maintain access to resources\n * for extended periods of time.\n */\n public refresh_token?: string;\n\n /** Typically \"Bearer\" */\n public token_type: string;\n\n /** The scopes that the requested access token is valid for. */\n public scope?: string;\n\n /** The claims represented by a combination of the `id_token` and the user info endpoint. */\n public profile: UserProfile;\n\n /** The expires at returned from the OIDC provider. */\n public expires_at?: number;\n\n /** custom state data set during the initial signin request */\n public readonly state: unknown;\n public readonly url_state?: string;\n\n public constructor(args: {\n id_token?: string;\n session_state?: string | null;\n access_token: string;\n refresh_token?: string;\n token_type: string;\n scope?: string;\n profile: UserProfile;\n expires_at?: number;\n userState?: unknown;\n url_state?: string;\n }) {\n this.id_token = args.id_token;\n this.session_state = args.session_state ?? null;\n this.access_token = args.access_token;\n this.refresh_token = args.refresh_token;\n\n this.token_type = args.token_type;\n this.scope = args.scope;\n this.profile = args.profile;\n this.expires_at = args.expires_at;\n this.state = args.userState;\n this.url_state = args.url_state;\n }\n\n /** Computed number of seconds the access token has remaining. */\n public get expires_in(): number | undefined {\n if (this.expires_at === undefined) {\n return undefined;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n\n public set expires_in(value: number | undefined) {\n if (value !== undefined) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n\n /** Computed value indicating if the access token is expired. */\n public get expired(): boolean | undefined {\n const expires_in = this.expires_in;\n if (expires_in === undefined) {\n return undefined;\n }\n return expires_in <= 0;\n }\n\n /** Array representing the parsed values from the `scope`. */\n public get scopes(): string[] {\n return this.scope?.split(\" \") ?? [];\n }\n\n public toStorageString(): string {\n new Logger(\"User\").create(\"toStorageString\");\n return JSON.stringify({\n id_token: this.id_token,\n session_state: this.session_state,\n access_token: this.access_token,\n refresh_token: this.refresh_token,\n token_type: this.token_type,\n scope: this.scope,\n profile: this.profile,\n expires_at: this.expires_at,\n });\n }\n\n public static fromStorageString(storageString: string): User {\n Logger.createStatic(\"User\", \"fromStorageString\");\n return new User(JSON.parse(storageString));\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Event, Logger, UrlUtils } from \"../utils\";\nimport type { IWindow, NavigateParams, NavigateResponse } from \"./IWindow\";\n\nconst messageSource = \"oidc-client\";\n\ninterface MessageData {\n source: string;\n url: string;\n keepOpen: boolean;\n}\n\n/**\n * Window implementation which resolves via communication from a child window\n * via the `Window.postMessage()` interface.\n *\n * @internal\n */\nexport abstract class AbstractChildWindow implements IWindow {\n protected abstract readonly _logger: Logger;\n protected readonly _abort = new Event<[reason: Error]>(\"Window navigation aborted\");\n protected readonly _disposeHandlers = new Set<() => void>();\n\n protected _window: WindowProxy | null = null;\n\n public async navigate(params: NavigateParams): Promise {\n const logger = this._logger.create(\"navigate\");\n if (!this._window) {\n throw new Error(\"Attempted to navigate on a disposed window\");\n }\n\n logger.debug(\"setting URL in window\");\n this._window.location.replace(params.url);\n\n const { url, keepOpen } = await new Promise((resolve, reject) => {\n const listener = (e: MessageEvent) => {\n const data: MessageData | undefined = e.data;\n const origin = params.scriptOrigin ?? window.location.origin;\n if (e.origin !== origin || data?.source !== messageSource) {\n // silently discard events not intended for us\n return;\n }\n try {\n const state = UrlUtils.readParams(data.url, params.response_mode).get(\"state\");\n if (!state) {\n logger.warn(\"no state found in response url\");\n }\n if (e.source !== this._window && state !== params.state) {\n // MessageEvent source is a relatively modern feature, we can't rely on it\n // so we also inspect the payload for a matching state key as an alternative\n return;\n }\n }\n catch (err) {\n this._dispose();\n reject(new Error(\"Invalid response from window\"));\n }\n resolve(data);\n };\n window.addEventListener(\"message\", listener, false);\n this._disposeHandlers.add(() => window.removeEventListener(\"message\", listener, false));\n this._disposeHandlers.add(this._abort.addHandler((reason) => {\n this._dispose();\n reject(reason);\n }));\n });\n logger.debug(\"got response from window\");\n this._dispose();\n\n if (!keepOpen) {\n this.close();\n }\n\n return { url };\n }\n\n public abstract close(): void;\n\n private _dispose(): void {\n this._logger.create(\"_dispose\");\n\n for (const dispose of this._disposeHandlers) {\n dispose();\n }\n this._disposeHandlers.clear();\n }\n\n protected static _notifyParent(parent: Window, url: string, keepOpen = false, targetOrigin = window.location.origin): void {\n parent.postMessage({\n source: messageSource,\n url,\n keepOpen,\n } as MessageData, targetOrigin);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { type OidcClientSettings, OidcClientSettingsStore } from \"./OidcClientSettings\";\nimport type { PopupWindowFeatures } from \"./utils/PopupUtils\";\nimport { WebStorageStateStore } from \"./WebStorageStateStore\";\nimport { InMemoryWebStorage } from \"./InMemoryWebStorage\";\n\nexport const DefaultPopupWindowFeatures: PopupWindowFeatures = {\n location: false,\n toolbar: false,\n height: 640,\n closePopupWindowAfterInSeconds: -1,\n};\nexport const DefaultPopupTarget = \"_blank\";\nconst DefaultAccessTokenExpiringNotificationTimeInSeconds = 60;\nconst DefaultCheckSessionIntervalInSeconds = 2;\nexport const DefaultSilentRequestTimeoutInSeconds = 10;\n\n/**\n * The settings used to configure the {@link UserManager}.\n *\n * @public\n */\nexport interface UserManagerSettings extends OidcClientSettings {\n /** The URL for the page containing the call to signinPopupCallback to handle the callback from the OIDC/OAuth2 */\n popup_redirect_uri?: string;\n popup_post_logout_redirect_uri?: string;\n /**\n * The features parameter to window.open for the popup signin window. By default, the popup is\n * placed centered in front of the window opener.\n * (default: \\{ location: false, menubar: false, height: 640, closePopupWindowAfterInSeconds: -1 \\})\n */\n popupWindowFeatures?: PopupWindowFeatures;\n /** The target parameter to window.open for the popup signin window (default: \"_blank\") */\n popupWindowTarget?: string;\n /** The methods window.location method used to redirect (default: \"assign\") */\n redirectMethod?: \"replace\" | \"assign\";\n /** The methods target window being redirected (default: \"self\") */\n redirectTarget?: \"top\" | \"self\";\n\n /** The target to pass while calling postMessage inside iframe for callback (default: window.location.origin) */\n iframeNotifyParentOrigin?: string;\n\n /** The script origin to check during 'message' callback execution while performing silent auth via iframe (default: window.location.origin) */\n iframeScriptOrigin?: string;\n\n /** The URL for the page containing the code handling the silent renew */\n silent_redirect_uri?: string;\n /** Number of seconds to wait for the silent renew to return before assuming it has failed or timed out (default: 10) */\n silentRequestTimeoutInSeconds?: number;\n /** Flag to indicate if there should be an automatic attempt to renew the access token prior to its expiration. The automatic renew attempt starts 1 minute before the access token expires (default: true) */\n automaticSilentRenew?: boolean;\n /** Flag to validate user.profile.sub in silent renew calls (default: true) */\n validateSubOnSilentRenew?: boolean;\n /** Flag to control if id_token is included as id_token_hint in silent renew calls (default: false) */\n includeIdTokenInSilentRenew?: boolean;\n\n /** Will raise events for when user has performed a signout at the OP (default: false) */\n monitorSession?: boolean;\n monitorAnonymousSession?: boolean;\n /** Interval in seconds to check the user's session (default: 2) */\n checkSessionIntervalInSeconds?: number;\n query_status_response_type?: string;\n stopCheckSessionOnError?: boolean;\n\n /**\n * The `token_type_hint`s to pass to the authority server by default (default: [\"access_token\", \"refresh_token\"])\n *\n * Token types will be revoked in the same order as they are given here.\n */\n revokeTokenTypes?: (\"access_token\" | \"refresh_token\")[];\n /** Will invoke the revocation endpoint on signout if there is an access token for the user (default: false) */\n revokeTokensOnSignout?: boolean;\n /** Flag to control if id_token is included as id_token_hint in silent signout calls (default: false) */\n includeIdTokenInSilentSignout?: boolean;\n\n /** The number of seconds before an access token is to expire to raise the accessTokenExpiring event (default: 60) */\n accessTokenExpiringNotificationTimeInSeconds?: number;\n\n /**\n * Storage object used to persist User for currently authenticated user (default: window.sessionStorage, InMemoryWebStorage iff no window).\n * E.g. `userStore: new WebStorageStateStore({ store: window.localStorage })`\n */\n userStore?: WebStorageStateStore;\n}\n\n/**\n * The settings with defaults applied of the {@link UserManager}.\n * @see {@link UserManagerSettings}\n *\n * @public\n */\nexport class UserManagerSettingsStore extends OidcClientSettingsStore {\n public readonly popup_redirect_uri: string;\n public readonly popup_post_logout_redirect_uri: string | undefined;\n public readonly popupWindowFeatures: PopupWindowFeatures;\n public readonly popupWindowTarget: string;\n public readonly redirectMethod: \"replace\" | \"assign\";\n public readonly redirectTarget: \"top\" | \"self\";\n\n public readonly iframeNotifyParentOrigin: string | undefined;\n public readonly iframeScriptOrigin: string | undefined;\n\n public readonly silent_redirect_uri: string;\n public readonly silentRequestTimeoutInSeconds: number;\n public readonly automaticSilentRenew: boolean;\n public readonly validateSubOnSilentRenew: boolean;\n public readonly includeIdTokenInSilentRenew: boolean;\n\n public readonly monitorSession: boolean;\n public readonly monitorAnonymousSession: boolean;\n public readonly checkSessionIntervalInSeconds: number;\n public readonly query_status_response_type: string;\n public readonly stopCheckSessionOnError: boolean;\n\n public readonly revokeTokenTypes: (\"access_token\" | \"refresh_token\")[];\n public readonly revokeTokensOnSignout: boolean;\n public readonly includeIdTokenInSilentSignout: boolean;\n\n public readonly accessTokenExpiringNotificationTimeInSeconds: number;\n\n public readonly userStore: WebStorageStateStore;\n\n public constructor(args: UserManagerSettings) {\n const {\n popup_redirect_uri = args.redirect_uri,\n popup_post_logout_redirect_uri = args.post_logout_redirect_uri,\n popupWindowFeatures = DefaultPopupWindowFeatures,\n popupWindowTarget = DefaultPopupTarget,\n redirectMethod = \"assign\",\n redirectTarget = \"self\",\n\n iframeNotifyParentOrigin = args.iframeNotifyParentOrigin,\n iframeScriptOrigin = args.iframeScriptOrigin,\n\n requestTimeoutInSeconds,\n silent_redirect_uri = args.redirect_uri,\n silentRequestTimeoutInSeconds,\n automaticSilentRenew = true,\n validateSubOnSilentRenew = true,\n includeIdTokenInSilentRenew = false,\n\n monitorSession = false,\n monitorAnonymousSession = false,\n checkSessionIntervalInSeconds = DefaultCheckSessionIntervalInSeconds,\n query_status_response_type = \"code\",\n stopCheckSessionOnError = true,\n\n revokeTokenTypes = [\"access_token\", \"refresh_token\"],\n revokeTokensOnSignout = false,\n includeIdTokenInSilentSignout = false,\n\n accessTokenExpiringNotificationTimeInSeconds = DefaultAccessTokenExpiringNotificationTimeInSeconds,\n\n userStore,\n } = args;\n\n super(args);\n\n this.popup_redirect_uri = popup_redirect_uri;\n this.popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\n this.popupWindowFeatures = popupWindowFeatures;\n this.popupWindowTarget = popupWindowTarget;\n this.redirectMethod = redirectMethod;\n this.redirectTarget = redirectTarget;\n\n this.iframeNotifyParentOrigin = iframeNotifyParentOrigin;\n this.iframeScriptOrigin = iframeScriptOrigin;\n\n this.silent_redirect_uri = silent_redirect_uri;\n this.silentRequestTimeoutInSeconds = silentRequestTimeoutInSeconds || requestTimeoutInSeconds || DefaultSilentRequestTimeoutInSeconds;\n this.automaticSilentRenew = automaticSilentRenew;\n this.validateSubOnSilentRenew = validateSubOnSilentRenew;\n this.includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\n\n this.monitorSession = monitorSession;\n this.monitorAnonymousSession = monitorAnonymousSession;\n this.checkSessionIntervalInSeconds = checkSessionIntervalInSeconds;\n this.stopCheckSessionOnError = stopCheckSessionOnError;\n this.query_status_response_type = query_status_response_type;\n\n this.revokeTokenTypes = revokeTokenTypes;\n this.revokeTokensOnSignout = revokeTokensOnSignout;\n this.includeIdTokenInSilentSignout = includeIdTokenInSilentSignout;\n\n this.accessTokenExpiringNotificationTimeInSeconds = accessTokenExpiringNotificationTimeInSeconds;\n\n if (userStore) {\n this.userStore = userStore;\n }\n else {\n const store = typeof window !== \"undefined\" ? window.sessionStorage : new InMemoryWebStorage();\n this.userStore = new WebStorageStateStore({ store });\n }\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"../utils\";\nimport { ErrorTimeout } from \"../errors\";\nimport type { NavigateParams, NavigateResponse } from \"./IWindow\";\nimport { AbstractChildWindow } from \"./AbstractChildWindow\";\nimport { DefaultSilentRequestTimeoutInSeconds } from \"../UserManagerSettings\";\n\n/**\n * @public\n */\nexport interface IFrameWindowParams {\n silentRequestTimeoutInSeconds?: number;\n}\n\n/**\n * @internal\n */\nexport class IFrameWindow extends AbstractChildWindow {\n protected readonly _logger = new Logger(\"IFrameWindow\");\n private _frame: HTMLIFrameElement | null;\n private _timeoutInSeconds: number;\n\n public constructor({\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds,\n }: IFrameWindowParams) {\n super();\n this._timeoutInSeconds = silentRequestTimeoutInSeconds;\n\n this._frame = IFrameWindow.createHiddenIframe();\n this._window = this._frame.contentWindow;\n }\n\n private static createHiddenIframe(): HTMLIFrameElement {\n const iframe = window.document.createElement(\"iframe\");\n\n // shotgun approach\n iframe.style.visibility = \"hidden\";\n iframe.style.position = \"fixed\";\n iframe.style.left = \"-1000px\";\n iframe.style.top = \"0\";\n iframe.width = \"0\";\n iframe.height = \"0\";\n\n window.document.body.appendChild(iframe);\n return iframe;\n }\n\n public async navigate(params: NavigateParams): Promise {\n this._logger.debug(\"navigate: Using timeout of:\", this._timeoutInSeconds);\n const timer = setTimeout(() => void this._abort.raise(new ErrorTimeout(\"IFrame timed out without a response\")), this._timeoutInSeconds * 1000);\n this._disposeHandlers.add(() => clearTimeout(timer));\n\n return await super.navigate(params);\n }\n\n public close(): void {\n if (this._frame) {\n if (this._frame.parentNode) {\n this._frame.addEventListener(\"load\", (ev) => {\n const frame = ev.target as HTMLIFrameElement;\n frame.parentNode?.removeChild(frame);\n void this._abort.raise(new Error(\"IFrame removed from DOM\"));\n }, true);\n this._frame.contentWindow?.location.replace(\"about:blank\");\n }\n this._frame = null;\n }\n this._window = null;\n }\n\n public static notifyParent(url: string, targetOrigin?: string): void {\n return super._notifyParent(window.parent, url, false, targetOrigin);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"../utils\";\nimport type { UserManagerSettingsStore } from \"../UserManagerSettings\";\nimport { IFrameWindow, type IFrameWindowParams } from \"./IFrameWindow\";\nimport type { INavigator } from \"./INavigator\";\n\n/**\n * @internal\n */\nexport class IFrameNavigator implements INavigator {\n private readonly _logger = new Logger(\"IFrameNavigator\");\n\n constructor(private _settings: UserManagerSettingsStore) {}\n\n public async prepare({\n silentRequestTimeoutInSeconds = this._settings.silentRequestTimeoutInSeconds,\n }: IFrameWindowParams): Promise {\n return new IFrameWindow({ silentRequestTimeoutInSeconds });\n }\n\n public async callback(url: string): Promise {\n this._logger.create(\"callback\");\n IFrameWindow.notifyParent(url, this._settings.iframeNotifyParentOrigin);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, PopupUtils, type PopupWindowFeatures } from \"../utils\";\nimport { DefaultPopupWindowFeatures, DefaultPopupTarget } from \"../UserManagerSettings\";\nimport { AbstractChildWindow } from \"./AbstractChildWindow\";\nimport type { NavigateParams, NavigateResponse } from \"./IWindow\";\n\nconst checkForPopupClosedInterval = 500;\nconst second = 1000;\n\n/**\n * @public\n */\nexport interface PopupWindowParams {\n popupWindowFeatures?: PopupWindowFeatures;\n popupWindowTarget?: string;\n /** An AbortSignal to set request's signal. */\n popupSignal?: AbortSignal | null;\n}\n\n/**\n * @internal\n */\nexport class PopupWindow extends AbstractChildWindow {\n protected readonly _logger = new Logger(\"PopupWindow\");\n\n protected _window: WindowProxy | null;\n\n public constructor({\n popupWindowTarget = DefaultPopupTarget,\n popupWindowFeatures = {},\n popupSignal,\n }: PopupWindowParams) {\n super();\n const centeredPopup = PopupUtils.center({ ...DefaultPopupWindowFeatures, ...popupWindowFeatures });\n this._window = window.open(undefined, popupWindowTarget, PopupUtils.serialize(centeredPopup));\n\n if (popupSignal) {\n popupSignal.addEventListener(\"abort\", () => {\n void this._abort.raise(new Error(popupSignal.reason ?? \"Popup aborted\"));\n });\n }\n\n if (popupWindowFeatures.closePopupWindowAfterInSeconds && popupWindowFeatures.closePopupWindowAfterInSeconds > 0) {\n setTimeout(() => {\n if (!this._window || typeof this._window.closed !== \"boolean\" || this._window.closed) {\n void this._abort.raise(new Error(\"Popup blocked by user\"));\n return;\n }\n\n this.close();\n }, popupWindowFeatures.closePopupWindowAfterInSeconds * second);\n }\n }\n\n public async navigate(params: NavigateParams): Promise {\n this._window?.focus();\n\n const popupClosedInterval = setInterval(() => {\n if (!this._window || this._window.closed) {\n void this._abort.raise(new Error(\"Popup closed by user\"));\n }\n }, checkForPopupClosedInterval);\n this._disposeHandlers.add(() => clearInterval(popupClosedInterval));\n\n return await super.navigate(params);\n }\n\n public close(): void {\n if (this._window) {\n if (!this._window.closed) {\n this._window.close();\n void this._abort.raise(new Error(\"Popup closed\"));\n }\n }\n this._window = null;\n }\n\n public static notifyOpener(url: string, keepOpen: boolean): void {\n if (!window.opener) {\n throw new Error(\"No window.opener. Can't complete notification.\");\n }\n return super._notifyParent(window.opener, url, keepOpen);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"../utils\";\nimport { PopupWindow, type PopupWindowParams } from \"./PopupWindow\";\nimport type { INavigator } from \"./INavigator\";\nimport type { UserManagerSettingsStore } from \"../UserManagerSettings\";\n\n/**\n * @internal\n */\nexport class PopupNavigator implements INavigator {\n private readonly _logger = new Logger(\"PopupNavigator\");\n\n constructor(private _settings: UserManagerSettingsStore) { }\n\n public async prepare({\n popupWindowFeatures = this._settings.popupWindowFeatures,\n popupWindowTarget = this._settings.popupWindowTarget,\n popupSignal,\n }: PopupWindowParams): Promise {\n return new PopupWindow({ popupWindowFeatures, popupWindowTarget, popupSignal });\n }\n\n public async callback(url: string, { keepOpen = false }): Promise {\n this._logger.create(\"callback\");\n\n PopupWindow.notifyOpener(url, keepOpen);\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger } from \"../utils\";\nimport type { UserManagerSettingsStore } from \"../UserManagerSettings\";\nimport type { INavigator } from \"./INavigator\";\nimport type { IWindow } from \"./IWindow\";\n\n/**\n * @public\n */\nexport interface RedirectParams {\n redirectMethod?: \"replace\" | \"assign\";\n redirectTarget?: \"top\" | \"self\";\n}\n\n/**\n * @internal\n */\nexport class RedirectNavigator implements INavigator {\n private readonly _logger = new Logger(\"RedirectNavigator\");\n\n constructor(private _settings: UserManagerSettingsStore) {}\n\n public async prepare({\n redirectMethod = this._settings.redirectMethod,\n redirectTarget = this._settings.redirectTarget,\n }: RedirectParams): Promise {\n this._logger.create(\"prepare\");\n let targetWindow = window.self as Window;\n\n if (redirectTarget === \"top\") {\n targetWindow = window.top ?? window.self;\n }\n \n const redirect = targetWindow.location[redirectMethod].bind(targetWindow.location) as (url: string) => never;\n let abort: (reason: Error) => void;\n return {\n navigate: async (params): Promise => {\n this._logger.create(\"navigate\");\n // We use a promise that never resolves to block the caller\n const promise = new Promise((resolve, reject) => {\n abort = reject;\n });\n redirect(params.url);\n return await (promise as Promise);\n },\n close: () => {\n this._logger.create(\"close\");\n abort?.(new Error(\"Redirect aborted\"));\n targetWindow.stop();\n },\n };\n }\n\n public async callback(): Promise {\n return;\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, Event } from \"./utils\";\nimport { AccessTokenEvents } from \"./AccessTokenEvents\";\nimport type { UserManagerSettingsStore } from \"./UserManagerSettings\";\nimport type { User } from \"./User\";\n\n/**\n * @public\n */\nexport type UserLoadedCallback = (user: User) => Promise | void;\n/**\n * @public\n */\nexport type UserUnloadedCallback = () => Promise | void;\n/**\n * @public\n */\nexport type SilentRenewErrorCallback = (error: Error) => Promise | void;\n/**\n * @public\n */\nexport type UserSignedInCallback = () => Promise | void;\n/**\n * @public\n */\nexport type UserSignedOutCallback = () => Promise | void;\n/**\n * @public\n */\nexport type UserSessionChangedCallback = () => Promise | void;\n\n/**\n * @public\n */\nexport class UserManagerEvents extends AccessTokenEvents {\n protected readonly _logger = new Logger(\"UserManagerEvents\");\n\n private readonly _userLoaded = new Event<[User]>(\"User loaded\");\n private readonly _userUnloaded = new Event<[]>(\"User unloaded\");\n private readonly _silentRenewError = new Event<[Error]>(\"Silent renew error\");\n private readonly _userSignedIn = new Event<[]>(\"User signed in\");\n private readonly _userSignedOut = new Event<[]>(\"User signed out\");\n private readonly _userSessionChanged = new Event<[]>(\"User session changed\");\n\n public constructor(settings: UserManagerSettingsStore) {\n super({ expiringNotificationTimeInSeconds: settings.accessTokenExpiringNotificationTimeInSeconds });\n }\n\n public async load(user: User, raiseEvent=true): Promise {\n super.load(user);\n if (raiseEvent) {\n await this._userLoaded.raise(user);\n }\n }\n public async unload(): Promise {\n super.unload();\n await this._userUnloaded.raise();\n }\n\n /**\n * Add callback: Raised when a user session has been established (or re-established).\n */\n public addUserLoaded(cb: UserLoadedCallback): () => void {\n return this._userLoaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been established (or re-established).\n */\n public removeUserLoaded(cb: UserLoadedCallback): void {\n return this._userLoaded.removeHandler(cb);\n }\n\n /**\n * Add callback: Raised when a user session has been terminated.\n */\n public addUserUnloaded(cb: UserUnloadedCallback): () => void {\n return this._userUnloaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been terminated.\n */\n public removeUserUnloaded(cb: UserUnloadedCallback): void {\n return this._userUnloaded.removeHandler(cb);\n }\n\n /**\n * Add callback: Raised when the automatic silent renew has failed.\n */\n public addSilentRenewError(cb: SilentRenewErrorCallback): () => void {\n return this._silentRenewError.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the automatic silent renew has failed.\n */\n public removeSilentRenewError(cb: SilentRenewErrorCallback): void {\n return this._silentRenewError.removeHandler(cb);\n }\n /**\n * @internal\n */\n public async _raiseSilentRenewError(e: Error): Promise {\n await this._silentRenewError.raise(e);\n }\n\n /**\n * Add callback: Raised when the user is signed in (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n public addUserSignedIn(cb: UserSignedInCallback): () => void {\n return this._userSignedIn.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user is signed in (when `monitorSession` is set).\n */\n public removeUserSignedIn(cb: UserSignedInCallback): void {\n this._userSignedIn.removeHandler(cb);\n }\n /**\n * @internal\n */\n public async _raiseUserSignedIn(): Promise {\n await this._userSignedIn.raise();\n }\n\n /**\n * Add callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n public addUserSignedOut(cb: UserSignedOutCallback): () => void {\n return this._userSignedOut.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n */\n public removeUserSignedOut(cb: UserSignedOutCallback): void {\n this._userSignedOut.removeHandler(cb);\n }\n /**\n * @internal\n */\n public async _raiseUserSignedOut(): Promise {\n await this._userSignedOut.raise();\n }\n\n /**\n * Add callback: Raised when the user session changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n public addUserSessionChanged(cb: UserSessionChangedCallback): () => void {\n return this._userSessionChanged.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user session changed (when `monitorSession` is set).\n */\n public removeUserSessionChanged(cb: UserSessionChangedCallback): void {\n this._userSessionChanged.removeHandler(cb);\n }\n /**\n * @internal\n */\n public async _raiseUserSessionChanged(): Promise {\n await this._userSessionChanged.raise();\n }\n}\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { Logger, Timer } from \"./utils\";\nimport { ErrorTimeout } from \"./errors\";\nimport type { UserManager } from \"./UserManager\";\nimport type { AccessTokenCallback } from \"./AccessTokenEvents\";\n\n/**\n * @internal\n */\nexport class SilentRenewService {\n protected _logger = new Logger(\"SilentRenewService\");\n private _isStarted = false;\n private readonly _retryTimer = new Timer(\"Retry Silent Renew\");\n\n public constructor(private _userManager: UserManager) {}\n\n public async start(): Promise {\n const logger = this._logger.create(\"start\");\n if (!this._isStarted) {\n this._isStarted = true;\n this._userManager.events.addAccessTokenExpiring(this._tokenExpiring);\n this._retryTimer.addHandler(this._tokenExpiring);\n\n // this will trigger loading of the user so the expiring events can be initialized\n try {\n await this._userManager.getUser();\n // deliberate nop\n }\n catch (err) {\n // catch to suppress errors since we're in a ctor\n logger.error(\"getUser error\", err);\n }\n }\n }\n\n public stop(): void {\n if (this._isStarted) {\n this._retryTimer.cancel();\n this._retryTimer.removeHandler(this._tokenExpiring);\n this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring);\n this._isStarted = false;\n }\n }\n\n protected _tokenExpiring: AccessTokenCallback = async () => {\n const logger = this._logger.create(\"_tokenExpiring\");\n try {\n await this._userManager.signinSilent();\n logger.debug(\"silent token renewal successful\");\n }\n catch (err) {\n if (err instanceof ErrorTimeout) {\n // no response from authority server, e.g. IFrame timeout, ...\n logger.warn(\"ErrorTimeout from signinSilent:\", err, \"retry in 5s\");\n this._retryTimer.init(5);\n return;\n }\n\n logger.error(\"Error from signinSilent:\", err);\n await this._userManager.events._raiseSilentRenewError(err as Error);\n }\n };\n}\n","// Copyright (C) AuthTS Contributors\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport type { UserProfile } from \"./User\";\n\n/**\n * Fake state store implementation necessary for validating refresh token requests.\n *\n * @public\n */\nexport class RefreshState {\n /** custom \"state\", which can be used by a caller to have \"data\" round tripped */\n public readonly data?: unknown;\n\n public readonly refresh_token: string;\n public readonly id_token?: string;\n public readonly session_state: string | null;\n public readonly scope?: string;\n public readonly profile: UserProfile;\n\n constructor(args: {\n refresh_token: string;\n id_token?: string;\n session_state: string | null;\n scope?: string;\n profile: UserProfile;\n\n state?: unknown;\n }) {\n this.refresh_token = args.refresh_token;\n this.id_token = args.id_token;\n this.session_state = args.session_state;\n this.scope = args.scope;\n this.profile = args.profile;\n\n this.data = args.state;\n\n }\n}\n","import React from \"react\";\nimport type {\n UserManagerSettings, UserManagerEvents, User, SessionStatus,\n SigninPopupArgs, SigninSilentArgs, SigninRedirectArgs,\n SignoutRedirectArgs, SignoutPopupArgs, QuerySessionStatusArgs,\n RevokeTokensTypes, SignoutSilentArgs, SigninResourceOwnerCredentialsArgs,\n} from \"oidc-client-ts\";\n\nimport type { AuthState } from \"./AuthState\";\n\n/**\n * @public\n */\nexport interface AuthContextProps extends AuthState {\n /**\n * UserManager functions. See [UserManager](https://github.com/authts/oidc-client-ts) for more details.\n */\n readonly settings: UserManagerSettings;\n readonly events: UserManagerEvents;\n clearStaleState(): Promise;\n removeUser(): Promise;\n signinPopup(args?: SigninPopupArgs): Promise;\n signinSilent(args?: SigninSilentArgs): Promise;\n signinRedirect(args?: SigninRedirectArgs): Promise;\n signinResourceOwnerCredentials(args: SigninResourceOwnerCredentialsArgs): Promise;\n signoutRedirect(args?: SignoutRedirectArgs): Promise;\n signoutPopup(args?: SignoutPopupArgs): Promise;\n signoutSilent(args?: SignoutSilentArgs): Promise;\n querySessionStatus(args?: QuerySessionStatusArgs): Promise;\n revokeTokens(types?: RevokeTokensTypes): Promise;\n startSilentRenew(): void;\n stopSilentRenew(): void;\n}\n\n/**\n * @public\n */\nexport const AuthContext = React.createContext(undefined);\nAuthContext.displayName = \"AuthContext\";\n","import type { User } from \"oidc-client-ts\";\n\n/**\n * The auth state which, when combined with the auth methods, make up the return object of the `useAuth` hook.\n *\n * @public\n */\nexport interface AuthState {\n /**\n * See [User](https://authts.github.io/oidc-client-ts/classes/User.html) for more details.\n */\n user?: User | null;\n\n /**\n * True when the library has been initialized and no navigator request is in progress.\n */\n isLoading: boolean;\n\n /**\n * True while the user has a valid access token.\n */\n isAuthenticated: boolean;\n\n /**\n * Tracks the status of most recent signin/signout request method.\n */\n activeNavigator?: \"signinRedirect\" | \"signinResourceOwnerCredentials\" | \"signinPopup\" | \"signinSilent\" | \"signoutRedirect\" | \"signoutPopup\" | \"signoutSilent\";\n\n /**\n * Was there a signin or silent renew error?\n */\n error?: Error;\n}\n\n/**\n * The initial auth state.\n */\nexport const initialAuthState: AuthState = {\n isLoading: true,\n isAuthenticated: false,\n};\n","import type { User } from \"oidc-client-ts\";\n\nimport type { AuthState } from \"./AuthState\";\n\ntype Action =\n | { type: \"INITIALISED\" | \"USER_LOADED\"; user: User | null }\n | { type: \"USER_UNLOADED\" }\n | { type: \"USER_SIGNED_OUT\" }\n | { type: \"NAVIGATOR_INIT\"; method: NonNullable }\n | { type: \"NAVIGATOR_CLOSE\" }\n | { type: \"ERROR\"; error: Error };\n\n/**\n * Handles how that state changes in the `useAuth` hook.\n */\nexport const reducer = (state: AuthState, action: Action): AuthState => {\n switch (action.type) {\n case \"INITIALISED\":\n case \"USER_LOADED\":\n return {\n ...state,\n user: action.user,\n isLoading: false,\n isAuthenticated: action.user ? !action.user.expired : false,\n error: undefined,\n };\n case \"USER_SIGNED_OUT\":\n case \"USER_UNLOADED\":\n return {\n ...state,\n user: undefined,\n isAuthenticated: false,\n };\n case \"NAVIGATOR_INIT\":\n return {\n ...state,\n isLoading: true,\n activeNavigator: action.method,\n };\n case \"NAVIGATOR_CLOSE\":\n // we intentionally don't handle cases where multiple concurrent navigators are open\n return {\n ...state,\n isLoading: false,\n activeNavigator: undefined,\n };\n case \"ERROR\":\n return {\n ...state,\n isLoading: false,\n error: action.error,\n };\n default:\n return {\n ...state,\n isLoading: false,\n error: new Error(`unknown type ${action[\"type\"] as string}`),\n };\n }\n};\n","/**\n * @public\n */\nexport const hasAuthParams = (location = window.location): boolean => {\n // response_mode: query\n let searchParams = new URLSearchParams(location.search);\n if ((searchParams.get(\"code\") || searchParams.get(\"error\")) &&\n searchParams.get(\"state\")) {\n return true;\n }\n\n // response_mode: fragment\n searchParams = new URLSearchParams(location.hash.replace(\"#\", \"?\"));\n if ((searchParams.get(\"code\") || searchParams.get(\"error\")) &&\n searchParams.get(\"state\")) {\n return true;\n }\n\n return false;\n};\n\nconst normalizeErrorFn = (fallbackMessage: string) => (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(fallbackMessage);\n};\n\nexport const signinError = normalizeErrorFn(\"Sign-in failed\");\nexport const signoutError = normalizeErrorFn(\"Sign-out failed\");\n","import React from \"react\";\nimport { UserManager, type UserManagerSettings, User } from \"oidc-client-ts\";\nimport type {\n ProcessResourceOwnerPasswordCredentialsArgs,\n SignoutResponse,\n} from \"oidc-client-ts\";\n\nimport { AuthContext } from \"./AuthContext\";\nimport { initialAuthState } from \"./AuthState\";\nimport { reducer } from \"./reducer\";\nimport { hasAuthParams, signinError, signoutError } from \"./utils\";\n\n/**\n * @public\n */\nexport interface AuthProviderBaseProps {\n /**\n * The child nodes your Provider has wrapped\n */\n children?: React.ReactNode;\n\n /**\n * On sign in callback hook. Can be a async function.\n * Here you can remove the code and state parameters from the url when you are redirected from the authorize page.\n *\n * ```jsx\n * const onSigninCallback = (_user: User | undefined): void => {\n * window.history.replaceState(\n * {},\n * document.title,\n * window.location.pathname\n * )\n * }\n * ```\n */\n onSigninCallback?: (user: User | undefined) => Promise | void;\n\n /**\n * By default, if the page url has code/state params, this provider will call automatically the `userManager.signinCallback`.\n * In some cases the code might be for something else (another OAuth SDK perhaps). In these\n * instances you can instruct the client to ignore them.\n *\n * ```jsx\n * \n * ```\n */\n skipSigninCallback?: boolean;\n\n /**\n * Match the redirect uri used for logout (e.g. `post_logout_redirect_uri`)\n * This provider will then call automatically the `userManager.signoutCallback`.\n *\n * HINT:\n * Do not call `userManager.signoutRedirect()` within a `React.useEffect`, otherwise the\n * logout might be unsuccessful.\n *\n * ```jsx\n * {\n * window &&\n * (window.location.href === args.post_logout_redirect_uri);\n * }}\n * ```\n */\n matchSignoutCallback?: (args: UserManagerSettings) => boolean;\n\n /**\n * On sign out callback hook. Can be a async function.\n * Here you can change the url after the user is signed out.\n * When using this, specifying `matchSignoutCallback` is required.\n *\n * ```jsx\n * const onSignoutCallback = (resp: SignoutResponse | undefined): void => {\n * // go to home after logout\n * window.location.pathname = \"\"\n * }\n * ```\n */\n onSignoutCallback?: (resp: SignoutResponse | undefined) => Promise | void;\n\n /**\n * On remove user hook. Can be a async function.\n * Here you can change the url after the user is removed.\n *\n * ```jsx\n * const onRemoveUser = (): void => {\n * // go to home after logout\n * window.location.pathname = \"\"\n * }\n * ```\n */\n onRemoveUser?: () => Promise | void;\n}\n\n/**\n * This interface (default) is used to pass `UserManagerSettings` together with `AuthProvider` properties to the provider.\n *\n * @public\n */\nexport interface AuthProviderNoUserManagerProps extends AuthProviderBaseProps, UserManagerSettings {\n /**\n * Prevent this property.\n */\n userManager?: never;\n}\n\n/**\n * This interface is used to pass directly a `UserManager` instance together with `AuthProvider` properties to the provider.\n *\n * @public\n */\nexport interface AuthProviderUserManagerProps extends AuthProviderBaseProps {\n /**\n * Allow passing a custom UserManager instance.\n */\n userManager?: UserManager;\n}\n\n/**\n * @public\n */\nexport type AuthProviderProps = AuthProviderNoUserManagerProps | AuthProviderUserManagerProps;\n\nconst userManagerContextKeys = [\n \"clearStaleState\",\n \"querySessionStatus\",\n \"revokeTokens\",\n \"startSilentRenew\",\n \"stopSilentRenew\",\n] as const;\nconst navigatorKeys = [\n \"signinPopup\",\n \"signinSilent\",\n \"signinRedirect\",\n \"signinResourceOwnerCredentials\",\n \"signoutPopup\",\n \"signoutRedirect\",\n \"signoutSilent\",\n] as const;\nconst unsupportedEnvironment = (fnName: string) => () => {\n throw new Error(\n `UserManager#${fnName} was called from an unsupported context. If this is a server-rendered page, defer this call with useEffect() or pass a custom UserManager implementation.`,\n );\n};\nconst UserManagerImpl =\n typeof window === \"undefined\" ? null : UserManager;\n\n/**\n * Provides the AuthContext to its child components.\n *\n * @public\n */\nexport const AuthProvider = (props: AuthProviderProps): JSX.Element => {\n const {\n children,\n\n onSigninCallback,\n skipSigninCallback,\n\n matchSignoutCallback,\n onSignoutCallback,\n\n onRemoveUser,\n\n userManager: userManagerProp = null,\n ...userManagerSettings\n } = props;\n\n const [userManager] = React.useState(() => {\n return userManagerProp ??\n (UserManagerImpl\n ? new UserManagerImpl(userManagerSettings as UserManagerSettings)\n : ({ settings: userManagerSettings } as UserManager));\n });\n\n const [state, dispatch] = React.useReducer(reducer, initialAuthState);\n const userManagerContext = React.useMemo(\n () =>\n Object.assign(\n {\n settings: userManager.settings,\n events: userManager.events,\n },\n Object.fromEntries(\n userManagerContextKeys.map((key) => [\n key,\n userManager[key]?.bind(userManager) ??\n unsupportedEnvironment(key),\n ]),\n ) as Pick,\n Object.fromEntries(\n navigatorKeys.map((key) => [\n key,\n userManager[key]\n ? async (args: ProcessResourceOwnerPasswordCredentialsArgs & never[]) => {\n dispatch({\n type: \"NAVIGATOR_INIT\",\n method: key,\n });\n try {\n return await userManager[key](args);\n } catch (error) {\n dispatch({ type: \"ERROR\", error: error as Error });\n return null;\n } finally {\n dispatch({ type: \"NAVIGATOR_CLOSE\" });\n }\n }\n : unsupportedEnvironment(key),\n ]),\n ) as Pick,\n ),\n [userManager],\n );\n const didInitialize = React.useRef(false);\n\n React.useEffect(() => {\n if (!userManager || didInitialize.current) {\n return;\n }\n didInitialize.current = true;\n\n void (async (): Promise => {\n // sign-in\n try {\n let user: User | undefined | null = null;\n\n // check if returning back from authority server\n if (hasAuthParams() && !skipSigninCallback) {\n user = await userManager.signinCallback();\n onSigninCallback && await onSigninCallback(user);\n }\n user = !user ? await userManager.getUser() : user;\n dispatch({ type: \"INITIALISED\", user });\n } catch (error) {\n dispatch({ type: \"ERROR\", error: signinError(error) });\n }\n\n // sign-out\n try {\n if (matchSignoutCallback && matchSignoutCallback(userManager.settings)) {\n const resp = await userManager.signoutCallback();\n onSignoutCallback && await onSignoutCallback(resp);\n }\n } catch (error) {\n dispatch({ type: \"ERROR\", error: signoutError(error) });\n }\n })();\n }, [userManager, skipSigninCallback, onSigninCallback, onSignoutCallback, matchSignoutCallback]);\n\n // register to userManager events\n React.useEffect(() => {\n if (!userManager) return undefined;\n // event UserLoaded (e.g. initial load, silent renew success)\n const handleUserLoaded = (user: User) => {\n dispatch({ type: \"USER_LOADED\", user });\n };\n userManager.events.addUserLoaded(handleUserLoaded);\n\n // event UserUnloaded (e.g. userManager.removeUser)\n const handleUserUnloaded = () => {\n dispatch({ type: \"USER_UNLOADED\" });\n };\n userManager.events.addUserUnloaded(handleUserUnloaded);\n\n // event UserSignedOut (e.g. user was signed out in background (checkSessionIFrame option))\n const handleUserSignedOut = () => {\n dispatch({ type: \"USER_SIGNED_OUT\" });\n };\n userManager.events.addUserSignedOut(handleUserSignedOut);\n\n // event SilentRenewError (silent renew error)\n const handleSilentRenewError = (error: Error) => {\n dispatch({ type: \"ERROR\", error });\n };\n userManager.events.addSilentRenewError(handleSilentRenewError);\n\n return () => {\n userManager.events.removeUserLoaded(handleUserLoaded);\n userManager.events.removeUserUnloaded(handleUserUnloaded);\n userManager.events.removeUserSignedOut(handleUserSignedOut);\n userManager.events.removeSilentRenewError(handleSilentRenewError);\n };\n }, [userManager]);\n\n const removeUser = React.useCallback(async () => {\n if (!userManager) unsupportedEnvironment(\"removeUser\");\n await userManager.removeUser();\n onRemoveUser && await onRemoveUser();\n }, [userManager, onRemoveUser]);\n\n const contextValue = React.useMemo(() => {\n return {\n ...state,\n ...userManagerContext,\n removeUser,\n };\n }, [state, userManagerContext, removeUser]);\n\n return (\n \n {children}\n \n );\n};\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\n\nimport { CryptoUtils, Logger } from \"./utils\";\nimport { ErrorResponse } from \"./errors\";\nimport { type NavigateResponse, type PopupWindowParams, type IWindow, type IFrameWindowParams, type RedirectParams, RedirectNavigator, PopupNavigator, IFrameNavigator, type INavigator } from \"./navigators\";\nimport { OidcClient, type CreateSigninRequestArgs, type CreateSignoutRequestArgs, type ProcessResourceOwnerPasswordCredentialsArgs, type UseRefreshTokenArgs } from \"./OidcClient\";\nimport { type UserManagerSettings, UserManagerSettingsStore } from \"./UserManagerSettings\";\nimport { User } from \"./User\";\nimport { UserManagerEvents } from \"./UserManagerEvents\";\nimport { SilentRenewService } from \"./SilentRenewService\";\nimport { SessionMonitor } from \"./SessionMonitor\";\nimport type { SessionStatus } from \"./SessionStatus\";\nimport type { SignoutResponse } from \"./SignoutResponse\";\nimport type { MetadataService } from \"./MetadataService\";\nimport { RefreshState } from \"./RefreshState\";\nimport type { SigninResponse } from \"./SigninResponse\";\nimport type { ExtraHeader, DPoPSettings } from \"./OidcClientSettings\";\nimport { DPoPState } from \"./DPoPStore\";\n\n/**\n * @public\n */\nexport type ExtraSigninRequestArgs = Pick;\n/**\n * @public\n */\nexport type ExtraSignoutRequestArgs = Pick;\n\n/**\n * @public\n */\nexport type RevokeTokensTypes = UserManagerSettings[\"revokeTokenTypes\"];\n\n/**\n * @public\n */\nexport type SigninRedirectArgs = RedirectParams & ExtraSigninRequestArgs;\n\n/**\n * @public\n */\nexport type SigninPopupArgs = PopupWindowParams & ExtraSigninRequestArgs;\n\n/**\n * @public\n */\nexport type SigninSilentArgs = IFrameWindowParams & ExtraSigninRequestArgs;\n\n/**\n * @public\n */\nexport type SigninResourceOwnerCredentialsArgs = ProcessResourceOwnerPasswordCredentialsArgs;\n\n/**\n * @public\n */\nexport type QuerySessionStatusArgs = IFrameWindowParams & ExtraSigninRequestArgs;\n\n/**\n * @public\n */\nexport type SignoutRedirectArgs = RedirectParams & ExtraSignoutRequestArgs;\n\n/**\n * @public\n */\nexport type SignoutPopupArgs = PopupWindowParams & ExtraSignoutRequestArgs;\n\n/**\n * @public\n */\nexport type SignoutSilentArgs = IFrameWindowParams & ExtraSignoutRequestArgs;\n\n/**\n * Provides a higher level API for signing a user in, signing out, managing the user's claims returned from the identity provider,\n * and managing an access token returned from the identity provider (OAuth2/OIDC).\n *\n * @public\n */\nexport class UserManager {\n /** Get the settings used to configure the `UserManager`. */\n public readonly settings: UserManagerSettingsStore;\n protected readonly _logger = new Logger(\"UserManager\");\n\n protected readonly _client: OidcClient;\n protected readonly _redirectNavigator: INavigator;\n protected readonly _popupNavigator: INavigator;\n protected readonly _iframeNavigator: INavigator;\n protected readonly _events: UserManagerEvents;\n protected readonly _silentRenewService: SilentRenewService;\n protected readonly _sessionMonitor: SessionMonitor | null;\n\n public constructor(settings: UserManagerSettings, redirectNavigator?: INavigator, popupNavigator?: INavigator, iframeNavigator?: INavigator) {\n this.settings = new UserManagerSettingsStore(settings);\n\n this._client = new OidcClient(settings);\n\n this._redirectNavigator = redirectNavigator ?? new RedirectNavigator(this.settings);\n this._popupNavigator = popupNavigator ?? new PopupNavigator(this.settings);\n this._iframeNavigator = iframeNavigator ?? new IFrameNavigator(this.settings);\n\n this._events = new UserManagerEvents(this.settings);\n this._silentRenewService = new SilentRenewService(this);\n\n // order is important for the following properties; these services depend upon the events.\n if (this.settings.automaticSilentRenew) {\n this.startSilentRenew();\n }\n\n this._sessionMonitor = null;\n if (this.settings.monitorSession) {\n this._sessionMonitor = new SessionMonitor(this);\n }\n }\n\n /**\n * Get object used to register for events raised by the `UserManager`.\n */\n public get events(): UserManagerEvents {\n return this._events;\n }\n\n /**\n * Get object used to access the metadata configuration of the identity provider.\n */\n public get metadataService(): MetadataService {\n return this._client.metadataService;\n }\n\n /**\n * Load the `User` object for the currently authenticated user.\n *\n * @returns A promise\n */\n public async getUser(): Promise {\n const logger = this._logger.create(\"getUser\");\n const user = await this._loadUser();\n if (user) {\n logger.info(\"user loaded\");\n await this._events.load(user, false);\n return user;\n }\n\n logger.info(\"user not found in storage\");\n return null;\n }\n\n /**\n * Remove from any storage the currently authenticated user.\n *\n * @returns A promise\n */\n public async removeUser(): Promise {\n const logger = this._logger.create(\"removeUser\");\n await this.storeUser(null);\n logger.info(\"user removed from storage\");\n await this._events.unload();\n }\n\n /**\n * Trigger a redirect of the current window to the authorization endpoint.\n *\n * @returns A promise\n *\n * @throws `Error` In cases of wrong authentication.\n */\n public async signinRedirect(args: SigninRedirectArgs = {}): Promise {\n this._logger.create(\"signinRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n\n let dpopJkt: string | undefined;\n if (this.settings.dpop?.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signinStart({\n request_type: \"si:r\",\n dpopJkt,\n ...requestArgs,\n }, handle);\n }\n\n /**\n * Process the response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise containing the authenticated `User`.\n *\n * @see {@link UserManager.signinCallback}\n */\n public async signinRedirectCallback(url = window.location.href): Promise {\n const logger = this._logger.create(\"signinRedirectCallback\");\n const user = await this._signinEnd(url);\n if (user.profile && user.profile.sub) {\n logger.info(\"success, signed in subject\", user.profile.sub);\n }\n else {\n logger.info(\"no subject\");\n }\n\n return user;\n }\n\n /**\n * Trigger the signin with user/password.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws {@link ErrorResponse} In cases of wrong authentication.\n */\n public async signinResourceOwnerCredentials({\n username,\n password,\n skipUserInfo = false,\n }: SigninResourceOwnerCredentialsArgs): Promise {\n const logger = this._logger.create(\"signinResourceOwnerCredential\");\n\n const signinResponse = await this._client.processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo,\n extraTokenParams: this.settings.extraTokenParams,\n });\n logger.debug(\"got signin response\");\n\n const user = await this._buildUser(signinResponse);\n if (user.profile && user.profile.sub) {\n logger.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger.info(\"no subject\");\n }\n return user;\n }\n\n /**\n * Trigger a request (via a popup window) to the authorization endpoint.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws `Error` In cases of wrong authentication.\n */\n public async signinPopup(args: SigninPopupArgs = {}): Promise {\n const logger = this._logger.create(\"signinPopup\");\n\n let dpopJkt: string | undefined;\n if (this.settings.dpop?.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_redirect_uri;\n if (!url) {\n logger.throw(new Error(\"No popup_redirect_uri configured\"));\n }\n\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n const user = await this._signin({\n request_type: \"si:p\",\n redirect_uri: url,\n display: \"popup\",\n dpopJkt,\n ...requestArgs,\n }, handle);\n if (user) {\n if (user.profile && user.profile.sub) {\n logger.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger.info(\"no subject\");\n }\n }\n\n return user;\n }\n\n /**\n * Notify the opening window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n public async signinPopupCallback(url = window.location.href, keepOpen = false): Promise {\n const logger = this._logger.create(\"signinPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger.info(\"success\");\n }\n\n /**\n * Trigger a silent request (via refresh token or an iframe) to the authorization endpoint.\n *\n * @returns A promise that contains the authenticated `User`.\n */\n public async signinSilent(args: SigninSilentArgs = {}): Promise {\n const logger = this._logger.create(\"signinSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n // first determine if we have a refresh token, or need to use iframe\n let user = await this._loadUser();\n if (user?.refresh_token) {\n logger.debug(\"using refresh token\");\n const state = new RefreshState(user as Required);\n return await this._useRefreshToken({\n state,\n redirect_uri: requestArgs.redirect_uri,\n resource: requestArgs.resource,\n extraTokenParams: requestArgs.extraTokenParams,\n timeoutInSeconds: silentRequestTimeoutInSeconds,\n });\n }\n\n let dpopJkt: string | undefined;\n if (this.settings.dpop?.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n\n let verifySub: string | undefined;\n if (user && this.settings.validateSubOnSilentRenew) {\n logger.debug(\"subject prior to silent renew:\", user.profile.sub);\n verifySub = user.profile.sub;\n }\n\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n user = await this._signin({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user?.id_token : undefined,\n dpopJkt,\n ...requestArgs,\n }, handle, verifySub);\n if (user) {\n if (user.profile?.sub) {\n logger.info(\"success, signed in subject\", user.profile.sub);\n }\n else {\n logger.info(\"no subject\");\n }\n }\n\n return user;\n }\n\n protected async _useRefreshToken(args: UseRefreshTokenArgs): Promise {\n const response = await this._client.useRefreshToken({\n timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds,\n ...args,\n });\n const user = new User({ ...args.state, ...response });\n\n await this.storeUser(user);\n await this._events.load(user);\n return user;\n }\n\n /**\n *\n * Notify the parent window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n public async signinSilentCallback(url = window.location.href): Promise {\n const logger = this._logger.create(\"signinSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger.info(\"success\");\n }\n\n /**\n * Process any response (callback) from the authorization endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signinRedirectCallback}\n * - {@link UserManager.signinPopupCallback}\n * - {@link UserManager.signinSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signin cannot be processed.\n */\n public async signinCallback(url = window.location.href): Promise {\n const { state } = await this._client.readSigninResponseState(url);\n switch (state.request_type) {\n case \"si:r\":\n return await this.signinRedirectCallback(url);\n case \"si:p\":\n await this.signinPopupCallback(url);\n break;\n case \"si:s\":\n await this.signinSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return undefined;\n }\n\n /**\n * Process any response (callback) from the end session endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signoutRedirectCallback}\n * - {@link UserManager.signoutPopupCallback}\n * - {@link UserManager.signoutSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signout cannot be processed.\n */\n public async signoutCallback(url = window.location.href, keepOpen = false): Promise {\n const { state } = await this._client.readSignoutResponseState(url);\n if (!state) {\n return undefined;\n }\n\n switch (state.request_type) {\n case \"so:r\":\n return await this.signoutRedirectCallback(url);\n case \"so:p\":\n await this.signoutPopupCallback(url, keepOpen);\n break;\n case \"so:s\":\n await this.signoutSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return undefined;\n }\n\n /**\n * Query OP for user's current signin status.\n *\n * @returns A promise object with session_state and subject identifier.\n */\n public async querySessionStatus(args: QuerySessionStatusArgs = {}): Promise {\n const logger = this._logger.create(\"querySessionStatus\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n\n const user = await this._loadUser();\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n const navResponse = await this._signinStart({\n request_type: \"si:s\", // this acts like a signin silent\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user?.id_token : undefined,\n response_type: this.settings.query_status_response_type,\n scope: \"openid\",\n skipUserInfo: true,\n ...requestArgs,\n }, handle);\n try {\n const extraHeaders: Record = {};\n const signinResponse = await this._client.processSigninResponse(navResponse.url, extraHeaders);\n logger.debug(\"got signin response\");\n\n if (signinResponse.session_state && signinResponse.profile.sub) {\n logger.info(\"success for subject\", signinResponse.profile.sub);\n return {\n session_state: signinResponse.session_state,\n sub: signinResponse.profile.sub,\n };\n }\n\n logger.info(\"success, user not authenticated\");\n return null;\n } catch (err) {\n if (this.settings.monitorAnonymousSession && err instanceof ErrorResponse) {\n switch (err.error) {\n case \"login_required\":\n case \"consent_required\":\n case \"interaction_required\":\n case \"account_selection_required\":\n logger.info(\"success for anonymous user\");\n return {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n session_state: err.session_state!,\n };\n }\n }\n throw err;\n }\n }\n\n protected async _signin(args: CreateSigninRequestArgs, handle: IWindow, verifySub?: string): Promise {\n const navResponse = await this._signinStart(args, handle);\n return await this._signinEnd(navResponse.url, verifySub);\n }\n\n protected async _signinStart(args: CreateSigninRequestArgs, handle: IWindow): Promise {\n const logger = this._logger.create(\"_signinStart\");\n\n try {\n const signinRequest = await this._client.createSigninRequest(args);\n logger.debug(\"got signin request\");\n\n return await handle.navigate({\n url: signinRequest.url,\n state: signinRequest.state.id,\n response_mode: signinRequest.state.response_mode,\n scriptOrigin: this.settings.iframeScriptOrigin,\n });\n } catch (err) {\n logger.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n\n protected async _signinEnd(url: string, verifySub?: string): Promise {\n const logger = this._logger.create(\"_signinEnd\");\n const extraHeaders: Record = {};\n const signinResponse = await this._client.processSigninResponse(url, extraHeaders);\n logger.debug(\"got signin response\");\n\n const user = await this._buildUser(signinResponse, verifySub);\n return user;\n }\n\n protected async _buildUser(signinResponse: SigninResponse, verifySub?: string) {\n const logger = this._logger.create(\"_buildUser\");\n const user = new User(signinResponse);\n if (verifySub) {\n if (verifySub !== user.profile.sub) {\n logger.debug(\"current user does not match user returned from signin. sub from signin:\", user.profile.sub);\n throw new ErrorResponse({ ...signinResponse, error: \"login_required\" });\n }\n logger.debug(\"current user matches user returned from signin\");\n }\n\n await this.storeUser(user);\n logger.debug(\"user stored\");\n await this._events.load(user);\n\n return user;\n }\n\n /**\n * Trigger a redirect of the current window to the end session endpoint.\n *\n * @returns A promise\n */\n public async signoutRedirect(args: SignoutRedirectArgs = {}): Promise {\n const logger = this._logger.create(\"signoutRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signoutStart({\n request_type: \"so:r\",\n post_logout_redirect_uri: this.settings.post_logout_redirect_uri,\n ...requestArgs,\n }, handle);\n logger.info(\"success\");\n }\n\n /**\n * Process response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise containing signout response\n *\n * @see {@link UserManager.signoutCallback}\n */\n public async signoutRedirectCallback(url = window.location.href): Promise {\n const logger = this._logger.create(\"signoutRedirectCallback\");\n const response = await this._signoutEnd(url);\n logger.info(\"success\");\n return response;\n }\n\n /**\n * Trigger a redirect of a popup window to the end session endpoint.\n *\n * @returns A promise\n */\n public async signoutPopup(args: SignoutPopupArgs = {}): Promise {\n const logger = this._logger.create(\"signoutPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_post_logout_redirect_uri;\n\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n await this._signout({\n request_type: \"so:p\",\n post_logout_redirect_uri: url,\n // we're putting a dummy entry in here because we\n // need a unique id from the state for notification\n // to the parent window, which is necessary if we\n // plan to return back to the client after signout\n // and so we can close the popup after signout\n state: url == null ? undefined : {},\n ...requestArgs,\n }, handle);\n logger.info(\"success\");\n }\n\n /**\n * Process response (callback) from the end session endpoint from a popup window.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n public async signoutPopupCallback(url = window.location.href, keepOpen = false): Promise {\n const logger = this._logger.create(\"signoutPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger.info(\"success\");\n }\n\n protected async _signout(args: CreateSignoutRequestArgs, handle: IWindow): Promise {\n const navResponse = await this._signoutStart(args, handle);\n return await this._signoutEnd(navResponse.url);\n }\n\n protected async _signoutStart(args: CreateSignoutRequestArgs = {}, handle: IWindow): Promise {\n const logger = this._logger.create(\"_signoutStart\");\n\n try {\n const user = await this._loadUser();\n logger.debug(\"loaded current user from storage\");\n\n if (this.settings.revokeTokensOnSignout) {\n await this._revokeInternal(user);\n }\n\n const id_token = args.id_token_hint || user && user.id_token;\n if (id_token) {\n logger.debug(\"setting id_token_hint in signout request\");\n args.id_token_hint = id_token;\n }\n\n await this.removeUser();\n logger.debug(\"user removed, creating signout request\");\n\n const signoutRequest = await this._client.createSignoutRequest(args);\n logger.debug(\"got signout request\");\n\n return await handle.navigate({\n url: signoutRequest.url,\n state: signoutRequest.state?.id,\n scriptOrigin: this.settings.iframeScriptOrigin,\n });\n } catch (err) {\n logger.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n\n protected async _signoutEnd(url: string): Promise {\n const logger = this._logger.create(\"_signoutEnd\");\n const signoutResponse = await this._client.processSignoutResponse(url);\n logger.debug(\"got signout response\");\n\n return signoutResponse;\n }\n\n /**\n * Trigger a silent request (via an iframe) to the end session endpoint.\n *\n * @returns A promise\n */\n public async signoutSilent(args: SignoutSilentArgs = {}): Promise {\n const logger = this._logger.create(\"signoutSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n\n const id_token_hint = this.settings.includeIdTokenInSilentSignout\n ? (await this._loadUser())?.id_token\n : undefined;\n\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n await this._signout({\n request_type: \"so:s\",\n post_logout_redirect_uri: url,\n id_token_hint: id_token_hint,\n ...requestArgs,\n }, handle);\n\n logger.info(\"success\");\n }\n\n /**\n * Notify the parent window of response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n public async signoutSilentCallback(url = window.location.href): Promise {\n const logger = this._logger.create(\"signoutSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger.info(\"success\");\n }\n\n public async revokeTokens(types?: RevokeTokensTypes): Promise {\n const user = await this._loadUser();\n await this._revokeInternal(user, types);\n }\n\n protected async _revokeInternal(user: User | null, types = this.settings.revokeTokenTypes): Promise {\n const logger = this._logger.create(\"_revokeInternal\");\n if (!user) return;\n\n const typesPresent = types.filter(type => typeof user[type] === \"string\");\n\n if (!typesPresent.length) {\n logger.debug(\"no need to revoke due to no token(s)\");\n return;\n }\n\n // don't Promise.all, order matters\n for (const type of typesPresent) {\n await this._client.revokeToken(\n user[type]!, // eslint-disable-line @typescript-eslint/no-non-null-assertion\n type,\n );\n logger.info(`${type} revoked successfully`);\n if (type !== \"access_token\") {\n user[type] = null as never;\n }\n }\n\n await this.storeUser(user);\n logger.debug(\"user stored\");\n await this._events.load(user);\n }\n\n /**\n * Enables silent renew for the `UserManager`.\n */\n public startSilentRenew(): void {\n this._logger.create(\"startSilentRenew\");\n void this._silentRenewService.start();\n }\n\n /**\n * Disables silent renew for the `UserManager`.\n */\n public stopSilentRenew(): void {\n this._silentRenewService.stop();\n }\n\n protected get _userStoreKey(): string {\n return `user:${this.settings.authority}:${this.settings.client_id}`;\n }\n\n protected async _loadUser(): Promise {\n const logger = this._logger.create(\"_loadUser\");\n const storageString = await this.settings.userStore.get(this._userStoreKey);\n if (storageString) {\n logger.debug(\"user storageString loaded\");\n return User.fromStorageString(storageString);\n }\n\n logger.debug(\"no user storageString\");\n return null;\n }\n\n public async storeUser(user: User | null): Promise {\n const logger = this._logger.create(\"storeUser\");\n if (user) {\n logger.debug(\"storing user\");\n const storageString = user.toStorageString();\n await this.settings.userStore.set(this._userStoreKey, storageString);\n } else {\n this._logger.debug(\"removing user\");\n await this.settings.userStore.remove(this._userStoreKey);\n if (this.settings.dpop) {\n await this.settings.dpop.store.remove(this.settings.client_id);\n }\n }\n }\n\n /**\n * Removes stale state entries in storage for incomplete authorize requests.\n */\n public async clearStaleState(): Promise {\n await this._client.clearStaleState();\n }\n\n /**\n * Dynamically generates a DPoP proof for a given user, URL and optional Http method.\n * This method is useful when you need to make a request to a resource server\n * with fetch or similar, and you need to include a DPoP proof in a DPoP header.\n * @param url - The URL to generate the DPoP proof for\n * @param user - The user to generate the DPoP proof for\n * @param httpMethod - Optional, defaults to \"GET\"\n * @param nonce - Optional nonce provided by the resource server\n *\n * @returns A promise containing the DPoP proof or undefined if DPoP is not enabled/no user is found.\n */\n public async dpopProof(url: string, user: User, httpMethod?: string, nonce?: string): Promise {\n const dpopState = await this.settings.dpop?.store?.get(this.settings.client_id);\n if (dpopState) {\n return await CryptoUtils.generateDPoPProof({\n url,\n accessToken: user?.access_token,\n httpMethod: httpMethod,\n keyPair: dpopState.keys,\n nonce,\n });\n }\n return undefined;\n }\n\n async generateDPoPJkt(dpopSettings: DPoPSettings): Promise {\n let dpopState = await dpopSettings.store.get(this.settings.client_id);\n if (!dpopState) {\n const dpopKeys = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(dpopKeys);\n await dpopSettings.store.set(this.settings.client_id, dpopState);\n }\n return await CryptoUtils.generateDPoPJkt(dpopState.keys);\n }\n}\n","import React from \"react\";\n\nimport { AuthContext, type AuthContextProps } from \"./AuthContext\";\n\n/**\n * @public\n */\nexport const useAuth = (): AuthContextProps => {\n const context = React.useContext(AuthContext);\n\n if (!context) {\n console.warn(\"AuthProvider context is undefined, please verify you are calling useAuth() as child of a component.\");\n }\n\n return context as AuthContextProps;\n};\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","// @flow\nimport type { Interpolation } from '../types';\n\nexport default (\n strings: Array,\n interpolations: Array\n): Array => {\n const result = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n};\n","// @flow\nimport { typeOf } from 'react-is';\n\nexport default (x: any): boolean =>\n x !== null &&\n typeof x === 'object' &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n !typeOf(x);\n","// @flow\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});\n","// @flow\nexport default function isFunction(test: any): boolean %checks {\n return typeof test === 'function';\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function getComponentName(\n target: $PropertyType\n): string {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n // $FlowFixMe\n target.displayName ||\n // $FlowFixMe\n target.name ||\n 'Component'\n );\n}\n","// @flow\nexport default function isStyledComponent(target: any): boolean %checks {\n return target && typeof target.styledComponentId === 'string';\n}\n","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY =\n Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' && process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false' ? false : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false' ? false : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n )\n ));\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\nimport errorMap from './errors';\n\nconst ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: Array\n) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\n `An error occurred. See https://git.io/JUIaE#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n throw new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport type { GroupedTag, Tag } from './types';\nimport { SPLITTER } from '../constants';\nimport throwStyledError from '../utils/error';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag): GroupedTag => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nclass DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n\n length: number;\n\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number): number {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]): void {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throwStyledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number): void {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number): string {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n}\n","// @flow\n\nimport throwStyledError from '../utils/error';\n\nconst MAX_SMI = 1 << 31 - 1;\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return (groupIDRegister.get(id): any);\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (\n process.env.NODE_ENV !== 'production' &&\n ((group | 0) < 0 || group > MAX_SMI)\n ) {\n throwStyledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","// @flow\n\nimport { SPLITTER, SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport type { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (!names || !rules || !names.size) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent || '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = ((nodes[i]: any): HTMLStyleElement);\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","// @flow\n/* eslint-disable camelcase, no-undef */\n\ndeclare var __webpack_nonce__: string;\n\nconst getNonce = () => {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nexport default getNonce;\n","// @flow\n\nimport { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport getNonce from '../utils/nonce';\nimport throwStyledError from '../utils/error';\n\nconst ELEMENT_TYPE = 1; /* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const { childNodes } = target;\n\n for (let i = childNodes.length; i >= 0; i--) {\n const child = ((childNodes[i]: any): ?HTMLElement);\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return ((child: any): HTMLStyleElement);\n }\n }\n\n return undefined;\n};\n\n/** Create a style element inside `target` or after the last */\nexport const makeStyleTag = (target?: HTMLElement): HTMLStyleElement => {\n const head = ((document.head: any): HTMLElement);\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return ((tag.sheet: any): CSSStyleSheet);\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return ((sheet: any): CSSStyleSheet);\n }\n }\n\n throwStyledError(17);\n return (undefined: any);\n};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n server: boolean;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\n/* eslint-disable no-bitwise */\n\nconst AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number): string =>\n String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number): string {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","// @flow\n/* eslint-disable */\n\nexport const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string): number => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string): number => {\n return phash(SEED, x);\n};\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n\n baseStyle: ?ComponentStyle;\n\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n this.baseHash = phash(SEED, componentId);\n\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n generateAndInjectStyles(executionContext: Object, styleSheet: StyleSheet, stylis: Stringifier) {\n const { componentId } = this;\n\n const names = [];\n\n if (this.baseStyle) {\n names.push(this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis));\n }\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n names.push(this.staticRulesId);\n } else {\n const cssStatic = flatten(this.rules, executionContext, styleSheet, stylis).join('');\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, componentId);\n\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n names.push(name);\n this.staticRulesId = name;\n }\n } else {\n const { length } = this.rules;\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else if (partRule) {\n const partChunk = flatten(partRule, executionContext, styleSheet, stylis);\n const partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssFormatted = stylis(css, `.${name}`, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssFormatted);\n }\n\n names.push(name);\n }\n }\n\n return names.join(' ');\n }\n}\n","import Stylis from '@emotion/stylis';\nimport { type Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\nimport insertRulePlugin from './stylisPluginInsertRule';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: Object,\n plugins?: Array,\n};\n\nexport default function createStylisInstance({\n options = EMPTY_OBJECT,\n plugins = EMPTY_ARRAY,\n}: StylisInstanceConstructorArgs = EMPTY_OBJECT) {\n const stylis = new Stylis(options);\n\n // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n let parsingRules = [];\n\n // eslint-disable-next-line consistent-return\n const returnRulesPlugin = context => {\n if (context === -2) {\n const parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n const parseRulesPlugin = insertRulePlugin(rule => {\n parsingRules.push(rule);\n });\n\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer = (match, offset, string) => {\n if (\n // do not replace the first occurrence if it is complex (has a modifier)\n (offset === 0 ? COMPLEX_SELECTOR_PREFIX.indexOf(string[_selector.length]) === -1 : true) &&\n // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n !string.match(_consecutiveSelfRefRegExp)\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v3.5.4#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n const selfReferenceReplacementPlugin = (context, _, selectors) => {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([...plugins, selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\n\n function stringifyRules(css, selector, prefix, componentId = '&'): Stringifier {\n const flatCSS = css.replace(COMMENT_REGEX, '');\n const cssStr = selector && prefix ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS;\n\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n _consecutiveSelfRefRegExp = new RegExp(`(\\\\${_selector}\\\\b){2,}`);\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable */\n\nexport default function(insertRule) {\n const delimiter = '/*|*/';\n const needle = `${delimiter}}`;\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(`${block}}`);\n } catch (e) {}\n }\n }\n\n return function ruleSheet(\n context,\n content,\n selectors,\n parents,\n line,\n column,\n length,\n ns,\n depth,\n at\n ) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(`${content};`), '';\n break;\n // selector\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n default:\n return content + (at === 0 ? delimiter : '');\n }\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n","// @flow\nimport React, { type Context, type Node, useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport StyleSheet from '../sheet';\nimport type { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: Node,\n disableCSSOMInjection?: boolean,\n disableVendorPrefixes?: boolean,\n sheet?: StyleSheet,\n stylisPlugins?: Array,\n target?: HTMLElement,\n};\n\nexport const StyleSheetContext: Context = React.createContext();\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext: Context = React.createContext();\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const masterSheet: StyleSheet = new StyleSheet();\nexport const masterStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || masterSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || masterStylis;\n}\n\nexport default function StyleSheetManager(props: Props) {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const contextStyleSheet = useStyleSheet();\n\n const styleSheet = useMemo(() => {\n let sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { prefix: !props.disableVendorPrefixes },\n plugins,\n }),\n [props.disableVendorPrefixes, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n return (\n \n \n {process.env.NODE_ENV !== 'production'\n ? React.Children.only(props.children)\n : props.children}\n \n \n );\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nconst uppercaseCheck = /([A-Z])/;\nconst uppercasePattern = /([A-Z])/g;\nconst msPattern = /^ms-/;\nconst prefixAndLowerCase = (char: string): string => `-${char.toLowerCase()}`;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nexport default function hyphenateStyleName(string: string): string {\n return uppercaseCheck.test(string)\n ? string\n .replace(uppercasePattern, prefixAndLowerCase)\n .replace(msPattern, '-ms-')\n : string;\n}\n","// @flow\nimport { isElement } from 'react-is';\nimport getComponentName from './getComponentName';\nimport isFunction from './isFunction';\nimport isStatelessFunction from './isStatelessFunction';\nimport isPlainObject from './isPlainObject';\nimport isStyledComponent from './isStyledComponent';\nimport Keyframes from '../models/Keyframes';\nimport hyphenate from './hyphenateStyleName';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { type Stringifier } from '../types';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = chunk => chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Object, prevKey?: string): Array => {\n const rules = [];\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || isFalsish(obj[key])) continue;\n\n if ((Array.isArray(obj[key]) && obj[key].isCss) || isFunction(obj[key])) {\n rules.push(`${hyphenate(key)}:`, obj[key], ';');\n } else if (isPlainObject(obj[key])) {\n rules.push(...objToCssArray(obj[key], key));\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, obj[key])};`);\n }\n }\n\n return prevKey ? [`${prevKey} {`, ...rules, '}'] : rules;\n};\n\nexport default function flatten(\n chunk: any,\n executionContext: ?Object,\n styleSheet: ?Object,\n stylisInstance: ?Stringifier\n): any {\n if (Array.isArray(chunk)) {\n const ruleSet = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);\n\n if (result === '') continue;\n else if (Array.isArray(result)) ruleSet.push(...result);\n else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return `.${chunk.styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(result)) {\n // eslint-disable-next-line no-console\n console.warn(\n `${getComponentName(\n chunk\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return chunk.getName(stylisInstance);\n } else return chunk;\n }\n\n /* Handle objects */\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n","// @flow\nexport default function isStatelessFunction(test: any): boolean {\n return (\n typeof test === 'function'\n && !(\n test.prototype\n && test.prototype.isReactComponent\n )\n );\n}\n","// @flow\nimport unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any): any {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless)) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n}\n","// @flow\nimport interleave from '../utils/interleave';\nimport isPlainObject from '../utils/isPlainObject';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport isFunction from '../utils/isFunction';\nimport flatten from '../utils/flatten';\nimport type { Interpolation, RuleSet, Styles } from '../types';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = arg => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n arg.isCss = true;\n }\n return arg;\n};\n\nexport default function css(styles: Styles, ...interpolations: Array): RuleSet {\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return addTag(flatten(interleave(EMPTY_ARRAY, [styles, ...interpolations])));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === 'string') {\n // $FlowFixMe\n return styles;\n }\n\n // $FlowFixMe\n return addTag(flatten(interleave(styles, interpolations)));\n}\n","// @flow\n\nimport { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error // eslint-disable-line no-console\n try {\n let didNotCallInvalidHook = true\n /* $FlowIgnore[cannot-write] */\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => { // eslint-disable-line no-console\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n }\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(error.message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n /* $FlowIgnore[cannot-write] */\n console.error = originalConsoleError; // eslint-disable-line no-console\n }\n }\n};\n","// @flow\nimport { EMPTY_OBJECT } from './empties';\n\ntype Props = {\n theme?: any,\n};\n\nexport default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n};\n","// @flow\n\n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string): string {\n return (\n str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '')\n );\n}\n","// @flow\n/* eslint-disable */\nimport generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default (str: string): string => {\n return generateAlphabeticName(hash(str) >>> 0);\n};\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function isTag(target: $PropertyType): boolean %checks {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","/* eslint-disable */\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\n\nconst isObject = val => {\n return (\n typeof val === 'function' || (typeof val === 'object' && val !== null && !Array.isArray(val))\n );\n};\n\nconst isValidKey = key => {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n const obj = target[key];\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nexport default function mixinDeep(target, ...rest) {\n for (const obj of rest) {\n if (isObject(obj)) {\n for (const key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n}\n","// @flow\nimport React, { useContext, useMemo, type Element, type Context } from 'react';\nimport throwStyledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\nexport type Theme = { [key: string]: mixed };\n\ntype ThemeArgument = Theme | ((outerTheme?: Theme) => Theme);\n\ntype Props = {\n children?: Element,\n theme: ThemeArgument,\n};\n\nexport const ThemeContext: Context = React.createContext();\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: Theme): Theme {\n if (!theme) {\n return throwStyledError(14);\n }\n\n if (isFunction(theme)) {\n const mergedTheme = theme(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n return throwStyledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props) {\n const outerTheme = useContext(ThemeContext);\n const themeContext = useMemo(() => mergeTheme(props.theme, outerTheme), [\n props.theme,\n outerTheme,\n ]);\n\n if (!props.children) {\n return null;\n }\n\n return {props.children};\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp\n ? shouldForwardProp(key, validAttr, elementToBeCreated)\n : isTargetTag\n ? validAttr(key)\n : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn, elementToBeCreated) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn,\n elementToBeCreated\n ) &&\n ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn, elementToBeCreated);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n WrappedStyledComponent.toString = () => `.${WrappedStyledComponent.styledComponentId}`;\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType,\n { [key: $Keys]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(\n target: $PropertyType\n): string {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport default function joinStrings(a: ?String, b: ?String): ?String {\n return a && b ? `${a} ${b}` : a || b;\n}\n","// @flow\n// Thanks to ReactDOMFactories for this handy list!\n\nexport default [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'textPath',\n 'tspan',\n];\n","// @flow\nimport constructWithOptions from './constructWithOptions';\nimport StyledComponent from '../models/StyledComponent';\nimport domElements from '../utils/domElements';\n\nimport type { Target } from '../types';\n\nconst styled = (tag: Target) => constructWithOptions(StyledComponent, tag);\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n styled[domElement] = styled(domElement);\n});\n\nexport default styled;\n","// @flow\nimport { isValidElementType } from 'react-is';\nimport css from './css';\nimport throwStyledError from '../utils/error';\nimport { EMPTY_OBJECT } from '../utils/empties';\n\nimport type { Target } from '../types';\n\nexport default function constructWithOptions(\n componentConstructor: Function,\n tag: Target,\n options: Object = EMPTY_OBJECT\n) {\n if (!isValidElementType(tag)) {\n return throwStyledError(1, String(tag));\n }\n\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n const templateFunction = (...args) => componentConstructor(tag, options, css(...args));\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = config =>\n constructWithOptions(componentConstructor, tag, { ...options, ...config });\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = attrs =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n return templateFunction;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n if (!css) return '';\n\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return ``;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [