@stytch/vanilla-js 5.44.1 → 5.44.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/b2b/index.esm.js +1 -1
- package/dist/b2b/index.headless.esm.js +1 -1
- package/dist/b2b/index.headless.js +1 -1
- package/dist/b2b/index.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/{index.headless-C6ee9hzF.js → index.headless-DionBe_-.js} +9 -3
- package/dist/index.headless-DionBe_-.js.map +1 -0
- package/dist/{index.headless-BcfMVE5h.js → index.headless-Dj4KRdHg.js} +9 -3
- package/dist/index.headless-Dj4KRdHg.js.map +1 -0
- package/dist/index.headless.esm.js +8 -2
- package/dist/index.headless.esm.js.map +1 -1
- package/dist/index.headless.js +8 -2
- package/dist/index.headless.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/index.headless-BcfMVE5h.js.map +0 -1
- package/dist/index.headless-C6ee9hzF.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.headless.js","sources":["../../core/dist/tslib.es6-f6374340.js","../../core/dist/ui-cccea861.js","../../core/dist/index.esm.js","../src/BootstrapDataManager.ts","../node_modules/tslib/tslib.es6.js","../src/CaptchaProvider.ts","../src/ClientsideServicesProvider.ts","../src/HeadlessOAuthClient.ts","../src/NetworkClient.ts","../src/oneTap/navigatorSupportsFedCM.ts","../src/oneTap/positionModes.ts","../src/oneTap/GoogleOneTapClient.ts","../src/oneTap/OneTapProvider.ts","../src/PKCEManager.ts","../node_modules/js-cookie/dist/js.cookie.mjs","../../js-utils/src/createDeepEqual.ts","../src/utils/index.ts","../src/utils/storage.ts","../src/SubscriptionService.ts","../src/utils/internal.ts","../src/utils/config.ts","../src/utils/createAuthUrlHandler.ts","../src/StytchHeadlessClient.ts"],"sourcesContent":["/******************************************************************************\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***************************************************************************** */\nfunction __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\ntypeof 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};\nexport { __awaiter as _, __rest as a };\n//# sourceMappingURL=tslib.es6-f6374340.js.map\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n/**\n * The authentication methods we support through our UI.\n * Currently we support `emailMagicLinks`, `oauth`, `otp`, `crypto` and `passwords`.\n */\nvar Products;\n(function (Products) {\n Products[\"emailMagicLinks\"] = \"emailMagicLinks\";\n Products[\"oauth\"] = \"oauth\";\n Products[\"otp\"] = \"otp\";\n Products[\"crypto\"] = \"crypto\";\n Products[\"passwords\"] = \"passwords\";\n Products[\"passkeys\"] = \"passkeys\";\n})(Products || (Products = {}));\n/**\n * The OAuth providers we support in our OAuth product.\n * Currently we support `Amazon`, `Apple`, `Bitbucket`, `Discord`, `Facebook`, `Figma`, `Google`, `GitLab`,\n * `LinkedIn`, `Microsoft`, `Salesforce`, `Slack`, `Snapchat`, `TikTok`, `Twitch`, `Twitter`, and `Yahoo`.\n */\nvar OAuthProviders;\n(function (OAuthProviders) {\n OAuthProviders[\"Google\"] = \"google\";\n OAuthProviders[\"Microsoft\"] = \"microsoft\";\n OAuthProviders[\"Apple\"] = \"apple\";\n OAuthProviders[\"Github\"] = \"github\";\n OAuthProviders[\"GitLab\"] = \"gitlab\";\n OAuthProviders[\"Facebook\"] = \"facebook\";\n OAuthProviders[\"Discord\"] = \"discord\";\n OAuthProviders[\"Salesforce\"] = \"salesforce\";\n OAuthProviders[\"Slack\"] = \"slack\";\n OAuthProviders[\"Amazon\"] = \"amazon\";\n OAuthProviders[\"Bitbucket\"] = \"bitbucket\";\n OAuthProviders[\"LinkedIn\"] = \"linkedin\";\n OAuthProviders[\"Coinbase\"] = \"coinbase\";\n OAuthProviders[\"Twitch\"] = \"twitch\";\n OAuthProviders[\"Twitter\"] = \"twitter\";\n OAuthProviders[\"TikTok\"] = \"tiktok\";\n OAuthProviders[\"Snapchat\"] = \"snapchat\";\n OAuthProviders[\"Figma\"] = \"figma\";\n OAuthProviders[\"Yahoo\"] = \"yahoo\";\n})(OAuthProviders || (OAuthProviders = {}));\n/**\n * The Crypto Wallets we support in our crypto product.\n * Currently we support all ethereum and solana wallets.\n * We additionally detect and show popular wallets as distinct options.\n * The list of poular wallets include `Binance`, `Coinbase`, `Metamask`, `Phantom`, and `Vessel`\n */\nvar Wallets;\n(function (Wallets) {\n Wallets[\"Vessel\"] = \"Vessel\";\n Wallets[\"Phantom\"] = \"Phantom\";\n Wallets[\"Metamask\"] = \"Metamask\";\n Wallets[\"Coinbase\"] = \"Coinbase\";\n Wallets[\"Binance\"] = \"Binance\";\n Wallets[\"GenericEthereumWallet\"] = \"Other Ethereum Wallet\";\n Wallets[\"GenericSolanaWallet\"] = \"Other Solana Wallet\";\n})(Wallets || (Wallets = {}));\n/**\n * Supported behaviors for positioning Google One Tap. The actual behavior\n * depends on browser support and Google's One Tap implementation.\n */\nvar OneTapPositions;\n(function (OneTapPositions) {\n /**\n * Display Google One Tap using a native browser prompt if available, or\n * embedded in the existing SDK login form otherwise.\n * @deprecated This option has been renamed to `floatingOrEmbedded`\n */\n OneTapPositions[\"embedded\"] = \"embedded\";\n /**\n * Display the One Tap prompt using a native browser prompt if available, or\n * in the top right corner otherwise. This is the default option.\n */\n OneTapPositions[\"floating\"] = \"floating\";\n /**\n * Display the One Tap prompt embedded in the existing SDK login form if a\n * native browser prompt is not available, or not at all otherwise. This\n * option is not recommended for new applications.\n */\n OneTapPositions[\"embeddedOnly\"] = \"embeddedOnly\";\n /**\n * Display the One Tap prompt using a native browser prompt if available, or\n * embedded in the existing SDK login form otherwise.\n */\n OneTapPositions[\"floatingOrEmbedded\"] = \"floatingOrEmbedded\";\n /**\n * Attempt to display the One Tap prompt embedded in the existing SDK login\n * form, even if a native browser prompt is supported. This option is not\n * recommended. It disables native browser FedCM support even where it is\n * available, and will stop being honored by Google in the future.\n */\n OneTapPositions[\"forceLegacyEmbedded\"] = \"forceLegacyEmbedded\";\n})(OneTapPositions || (OneTapPositions = {}));\n/**\n * The methods array allows you to specify the authentication methods that you would like to expose\n * to your users. The order of the products that you include here will also be the order in which\n * they appear in the login form, with the first product specified appearing at the top of the login\n * form. We currently support passcodes on `email`, `sms` and `whatsapp`\n */\nvar OTPMethods;\n(function (OTPMethods) {\n OTPMethods[\"SMS\"] = \"sms\";\n OTPMethods[\"WhatsApp\"] = \"whatsapp\";\n OTPMethods[\"Email\"] = \"email\";\n})(OTPMethods || (OTPMethods = {}));\nvar StytchEventType;\n(function (StytchEventType) {\n StytchEventType[\"MagicLinkLoginOrCreateEvent\"] = \"MAGIC_LINK_LOGIN_OR_CREATE\";\n StytchEventType[\"OTPsLoginOrCreateEvent\"] = \"OTP_LOGIN_OR_CREATE\";\n StytchEventType[\"OTPsAuthenticate\"] = \"OTP_AUTHENTICATE\";\n StytchEventType[\"CryptoWalletAuthenticateStart\"] = \"CRYPTO_WALLET_AUTHENTICATE_START\";\n StytchEventType[\"CryptoWalletAuthenticate\"] = \"CRYPTO_WALLET_AUTHENTICATE\";\n StytchEventType[\"PasswordCreate\"] = \"PASSWORD_CREATE\";\n StytchEventType[\"PasswordAuthenticate\"] = \"PASSWORD_AUTHENTICATE\";\n StytchEventType[\"PasswordResetByEmailStart\"] = \"PASSWORD_RESET_BY_EMAIL_START\";\n StytchEventType[\"PasswordResetByEmail\"] = \"PASSWORD_RESET_BY_EMAIL\";\n StytchEventType[\"PasskeyRegister\"] = \"PASSKEY_REGISTER\";\n StytchEventType[\"PasskeyAuthenticate\"] = \"PASSKEY_AUTHENTICATE\";\n StytchEventType[\"PasskeySkip\"] = \"PASSKEY_SKIP\";\n StytchEventType[\"PasskeyDone\"] = \"PASSKEY_DONE\";\n /**\n * The authentication UI flow has completed successfully, including any steps\n * that take place after obtaining a valid session (such as saving recovery\n * codes).\n */\n StytchEventType[\"AuthenticateFlowComplete\"] = \"AUTHENTICATE_FLOW_COMPLETE\";\n /**\n * An OAuth Authorization flow has been initiated by a Connected Application.\n * The end-user may be prompted for consent to continue depending on the application\n * that is requesting access.\n */\n StytchEventType[\"OAuthAuthorizeFlowStart\"] = \"OAUTH_AUTHORIZE_FLOW_START\";\n /**\n * The end-user has completed the Authorization flow and is about to be redirected\n * back to the Connected Application\n */\n StytchEventType[\"OAuthAuthorizeFlowComplete\"] = \"OAUTH_AUTHORIZE_FLOW_COMPLETE\";\n /**\n * The end-user has denied the Authorization flow and is about to be redirected\n * back to the Connected Application with an error message\n */\n StytchEventType[\"OAuthAuthorizeFlowConsentDenied\"] = \"OAUTH_AUTHORIZE_FLOW_CONSENT_DENIED\";\n // More Events will go here ...\n // B2B Events\n StytchEventType[\"B2BMagicLinkEmailLoginOrSignup\"] = \"B2B_MAGIC_LINK_EMAIL_LOGIN_OR_SIGNUP\";\n StytchEventType[\"B2BMagicLinkAuthenticate\"] = \"B2B_MAGIC_LINK_AUTHENTICATE\";\n StytchEventType[\"B2BMagicLinkEmailDiscoverySend\"] = \"B2B_MAGIC_LINK_EMAIL_DISCOVERY_SEND\";\n StytchEventType[\"B2BMagicLinkDiscoveryAuthenticate\"] = \"B2B_MAGIC_LINK_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BSSOStart\"] = \"B2B_SSO_START\";\n StytchEventType[\"B2BSSOAuthenticate\"] = \"B2B_SSO_AUTHENTICATE\";\n StytchEventType[\"B2BSSODiscoverConnections\"] = \"B2B_SSO_DISCOVER_CONNECTIONS\";\n StytchEventType[\"B2BOAuthAuthenticate\"] = \"B2B_OAUTH_AUTHENTICATE\";\n StytchEventType[\"B2BOAuthDiscoveryAuthenticate\"] = \"B2B_OAUTH_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BDiscoveryOrganizationsCreate\"] = \"B2B_DISCOVERY_ORGANIZATIONS_CREATE\";\n StytchEventType[\"B2BDiscoveryIntermediateSessionExchange\"] = \"B2B_DISCOVERY_INTERMEDIATE_SESSION_EXCHANGE\";\n StytchEventType[\"B2BPasswordAuthenticate\"] = \"B2B_PASSWORD_AUTHENTICATE\";\n StytchEventType[\"B2BPasswordDiscoveryAuthenticate\"] = \"B2B_PASSWORD_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BPasswordResetByEmailStart\"] = \"B2B_PASSWORD_RESET_BY_EMAIL_START\";\n StytchEventType[\"B2BPasswordResetByEmail\"] = \"B2B_PASSWORD_RESET_BY_EMAIL\";\n StytchEventType[\"B2BPasswordResetBySession\"] = \"B2B_PASSWORD_RESET_BY_SESSION\";\n StytchEventType[\"B2BSMSOTPSend\"] = \"B2B_SMS_OTP_SEND\";\n StytchEventType[\"B2BSMSOTPAuthenticate\"] = \"B2B_SMS_OTP_AUTHENTICATE\";\n StytchEventType[\"B2BTOTPCreate\"] = \"B2B_TOTP_CREATE\";\n StytchEventType[\"B2BTOTPAuthenticate\"] = \"B2B_TOTP_AUTHENTICATE\";\n StytchEventType[\"B2BRecoveryCodesRecover\"] = \"B2B_RECOVERY_CODES_RECOVER\";\n StytchEventType[\"B2BPasswordDiscoveryResetStart\"] = \"B2B_PASSWORD_DISCOVERY_RESET_BY_EMAIL_START\";\n StytchEventType[\"B2BDiscoveryPasswordReset\"] = \"B2B_PASSWORD_DISCOVERY_RESET_BY_EMAIL\";\n StytchEventType[\"B2BImpersonationAuthenticate\"] = \"B2B_IMPERSONATION_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailAuthenticate\"] = \"B2B_OTPS_EMAIL_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailDiscoveryAuthenticate\"] = \"B2B_OTPS_EMAIL_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailDiscoverySend\"] = \"B2B_OTPS_EMAIL_DISCOVERY_SEND\";\n StytchEventType[\"B2BOTPsEmailLoginOrSignup\"] = \"B2B_OTPS_EMAIL_LOGIN_OR_SIGNUP\";\n StytchEventType[\"B2BOrganizationsGetBySlug\"] = \"B2B_ORGANIZATIONS_GET_BY_SLUG\";\n})(StytchEventType || (StytchEventType = {}));\nvar RNUIProducts;\n(function (RNUIProducts) {\n RNUIProducts[RNUIProducts[\"emailMagicLinks\"] = 0] = \"emailMagicLinks\";\n RNUIProducts[RNUIProducts[\"oauth\"] = 1] = \"oauth\";\n RNUIProducts[RNUIProducts[\"otp\"] = 2] = \"otp\";\n RNUIProducts[RNUIProducts[\"passwords\"] = 3] = \"passwords\";\n})(RNUIProducts || (RNUIProducts = {}));\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nvar SDKAPIUnreachableError = /*#__PURE__*/function (_Error) {\n function SDKAPIUnreachableError(message, details) {\n var _this;\n _classCallCheck(this, SDKAPIUnreachableError);\n _this = _callSuper(this, SDKAPIUnreachableError, [message + '\\n' + details]);\n _this.message = message + '\\n' + details;\n _this.name = 'SDKAPIUnreachableError';\n _this.details = details;\n Object.setPrototypeOf(_this, SDKAPIUnreachableError.prototype);\n return _this;\n }\n _inherits(SDKAPIUnreachableError, _Error);\n return _createClass(SDKAPIUnreachableError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the provided input fails client-side validation -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchSDKUsageError = /*#__PURE__*/function (_Error2) {\n function StytchSDKUsageError(methodName, message) {\n var _this2;\n _classCallCheck(this, StytchSDKUsageError);\n _this2 = _callSuper(this, StytchSDKUsageError);\n _this2.name = 'StytchSDKUsageError';\n _this2.message = \"Invalid call to \".concat(methodName, \"\\n\") + message;\n return _this2;\n }\n _inherits(StytchSDKUsageError, _Error2);\n return _createClass(StytchSDKUsageError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchSDKSchemaError = /*#__PURE__*/function (_Error3) {\n function StytchSDKSchemaError(schemaError) {\n var _this3;\n _classCallCheck(this, StytchSDKSchemaError);\n var _a;\n _this3 = _callSuper(this, StytchSDKSchemaError);\n _this3.name = 'StytchSDKSchemaError';\n var messages = (_a = schemaError.body) === null || _a === void 0 ? void 0 : _a.map(function (err) {\n return \"\".concat(err.dataPath, \": \").concat(err.message);\n }).join('\\n');\n _this3.message = \"[400] Request does not match expected schema\\n\".concat(messages);\n return _this3;\n }\n _inherits(StytchSDKSchemaError, _Error3);\n return _createClass(StytchSDKSchemaError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nvar StytchSDKAPIError = /*#__PURE__*/function (_Error4) {\n function StytchSDKAPIError(details) {\n var _this4;\n _classCallCheck(this, StytchSDKAPIError);\n _this4 = _callSuper(this, StytchSDKAPIError);\n _this4.name = 'StytchSDKAPIError';\n var status_code = details.status_code,\n error_type = details.error_type,\n error_message = details.error_message,\n error_url = details.error_url,\n request_id = details.request_id,\n error_details = details.error_details;\n _this4.error_type = error_type;\n _this4.error_message = error_message;\n _this4.error_url = error_url;\n _this4.request_id = request_id;\n _this4.status_code = status_code;\n _this4.error_details = error_details;\n _this4.message = \"[\".concat(status_code, \"] \").concat(error_type, \"\\n\") + \"\".concat(error_message, \"\\n\") + \"See \".concat(error_url, \" for more information.\\n\") + (\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n request_id ? \"request_id: \".concat(request_id, \"\\n\") : '') + (_this4.error_details ? \"Details: \\n\" + JSON.stringify(_this4.error_details) + '\\n' : '');\n return _this4;\n }\n _inherits(StytchSDKAPIError, _Error4);\n return _createClass(StytchSDKAPIError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * If the SDK throws an error with an error type included in this array, the local session and\n * user state will be cleared locally.\n */\nvar UNRECOVERABLE_ERROR_TYPES = ['unauthorized_credentials', 'user_unauthenticated', 'invalid_secret_authentication', 'session_not_found'];\n/**\n * An Error class representing an error within Stytch.\n */\nvar StytchError = /*#__PURE__*/function (_Error5) {\n function StytchError(name, message) {\n var _this5;\n _classCallCheck(this, StytchError);\n _this5 = _callSuper(this, StytchError, [message]);\n _this5.name = name;\n return _this5;\n }\n _inherits(StytchError, _Error5);\n return _createClass(StytchError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nvar StytchAPIUnreachableError = /*#__PURE__*/function (_StytchError) {\n function StytchAPIUnreachableError(details) {\n var _this6;\n _classCallCheck(this, StytchAPIUnreachableError);\n _this6 = _callSuper(this, StytchAPIUnreachableError, ['StytchAPIUnreachableError', details]);\n Object.setPrototypeOf(_this6, StytchAPIUnreachableError.prototype);\n return _this6;\n }\n _inherits(StytchAPIUnreachableError, _StytchError);\n return _createClass(StytchAPIUnreachableError);\n}(StytchError);\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchAPISchemaError = /*#__PURE__*/function (_StytchError2) {\n function StytchAPISchemaError(schemaError) {\n _classCallCheck(this, StytchAPISchemaError);\n var _a;\n var messages = (_a = schemaError.body) === null || _a === void 0 ? void 0 : _a.map(function (err) {\n return \"\".concat(err.dataPath, \": \").concat(err.message);\n }).join('\\n');\n return _callSuper(this, StytchAPISchemaError, ['StytchAPISchemaError', \"Request does not match expected schema\\n\".concat(messages)]);\n }\n _inherits(StytchAPISchemaError, _StytchError2);\n return _createClass(StytchAPISchemaError);\n}(StytchError);\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nvar StytchAPIError = /*#__PURE__*/function (_StytchError3) {\n function StytchAPIError(details) {\n var _this7;\n _classCallCheck(this, StytchAPIError);\n var status_code = details.status_code,\n error_type = details.error_type,\n error_message = details.error_message,\n error_url = details.error_url,\n request_id = details.request_id,\n error_details = details.error_details;\n _this7 = _callSuper(this, StytchAPIError, ['StytchAPIError', \"[\".concat(status_code, \"] \").concat(error_type, \"\\n\") + \"\".concat(error_message, \"\\n\") + \"See \".concat(error_url, \" for more information.\\n\") + (\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n request_id ? \"request_id: \".concat(request_id, \"\\n\") : '') + (error_details ? \"Details: \\n\" + JSON.stringify(error_details) + '\\n' : '')]);\n _this7.error_type = error_type;\n _this7.error_message = error_message;\n _this7.error_url = error_url;\n _this7.request_id = request_id;\n _this7.status_code = status_code;\n _this7.error_details = error_details;\n return _this7;\n }\n _inherits(StytchAPIError, _StytchError3);\n return _createClass(StytchAPIError, null, [{\n key: \"from\",\n value: function from(err) {\n if (err instanceof StytchAPIError) {\n return err;\n }\n if (err && _typeof(err) === 'object') {\n var maybe = err;\n if (typeof maybe.status_code === 'number' && typeof maybe.error_type === 'string' && typeof maybe.error_message === 'string' && typeof maybe.error_url === 'string') {\n return new StytchAPIError({\n status_code: maybe.status_code,\n error_type: maybe.error_type,\n error_message: maybe.error_message,\n error_url: maybe.error_url,\n request_id: typeof maybe.request_id === 'string' ? maybe.request_id : undefined,\n error_details: _typeof(maybe.error_details) === 'object' ? maybe.error_details : undefined\n });\n }\n }\n var message = err instanceof Error ? err.message : 'Unknown error: ' + String(err);\n return new StytchAPIError({\n status_code: 400,\n error_type: 'unknown_error',\n error_message: message,\n error_url: '',\n request_id: undefined,\n error_details: undefined\n });\n }\n }]);\n}(StytchError);\n/**\n * An Error class used in the Stytch SDK.\n */\nvar StytchSDKError = /*#__PURE__*/function (_StytchError4) {\n function StytchSDKError(name, description, options) {\n var _this8;\n _classCallCheck(this, StytchSDKError);\n _this8 = _callSuper(this, StytchSDKError, [name, description]);\n _this8.options = options;\n return _this8;\n }\n _inherits(StytchSDKError, _StytchError4);\n return _createClass(StytchSDKError);\n}(StytchError);\n/**\n * Thrown when you attempt to perform an action that requires a session, but no local session exists\n */\nvar NoCurrentSessionError = /*#__PURE__*/function (_StytchSDKError) {\n function NoCurrentSessionError() {\n _classCallCheck(this, NoCurrentSessionError);\n return _callSuper(this, NoCurrentSessionError, ['NoCurrentSessionError', 'There is no session currently available. Make sure the user is authenticated with a valid session.']);\n }\n _inherits(NoCurrentSessionError, _StytchSDKError);\n return _createClass(NoCurrentSessionError);\n}(StytchSDKError);\n/**\n * Thrown when an unrecognized error is thrown\n */\nvar InternalError = /*#__PURE__*/function (_StytchSDKError2) {\n function InternalError(error) {\n var _this9;\n _classCallCheck(this, InternalError);\n _this9 = _callSuper(this, InternalError, [error.name ? error.name : 'Internal Error', error.message ? error.message : 'An internal error has occurred. Please contact Stytch if this occurs.']);\n _this9.nativeStack = error.nativeStackAndroid || error.nativeStackIOS;\n return _this9;\n }\n _inherits(InternalError, _StytchSDKError2);\n return _createClass(InternalError);\n}(StytchSDKError);\n/**\n * Thrown when no biometric registration exists\n */\nvar NoBiometricsRegistrationError = /*#__PURE__*/function (_StytchSDKError3) {\n function NoBiometricsRegistrationError() {\n _classCallCheck(this, NoBiometricsRegistrationError);\n return _callSuper(this, NoBiometricsRegistrationError, ['NoBiometricsRegistrationError', 'There is no biometric registration available. Authenticate with another method and add a new biometric registration first.']);\n }\n _inherits(NoBiometricsRegistrationError, _StytchSDKError3);\n return _createClass(NoBiometricsRegistrationError);\n}(StytchSDKError);\n/**\n * Thrown when biometrics are unavailable on the device\n */\nvar BiometricsUnavailableError = /*#__PURE__*/function (_StytchSDKError4) {\n function BiometricsUnavailableError() {\n _classCallCheck(this, BiometricsUnavailableError);\n return _callSuper(this, BiometricsUnavailableError, ['BiometricsUnavailableError', 'Biometrics is not available on the device.']);\n }\n _inherits(BiometricsUnavailableError, _StytchSDKError4);\n return _createClass(BiometricsUnavailableError);\n}(StytchSDKError);\n/**\n * Thrown when the biometrics enrollment has changed, and the underlying key is no longer usable\n */\nvar KeyInvalidatedError = /*#__PURE__*/function (_StytchSDKError5) {\n function KeyInvalidatedError() {\n _classCallCheck(this, KeyInvalidatedError);\n return _callSuper(this, KeyInvalidatedError, ['KeyInvalidatedError', 'The biometrics enrollment on the device has changed.']);\n }\n _inherits(KeyInvalidatedError, _StytchSDKError5);\n return _createClass(KeyInvalidatedError);\n}(StytchSDKError);\n/**\n * Thrown when the Keystore is determined to be unavailable\n */\nvar KeystoreUnavailableError = /*#__PURE__*/function (_StytchSDKError6) {\n function KeystoreUnavailableError() {\n _classCallCheck(this, KeystoreUnavailableError);\n return _callSuper(this, KeystoreUnavailableError, ['KeystoreUnavailableError', 'The Android keystore is unavailable on the device. Consider setting allowFallbackToCleartext to true.']);\n }\n _inherits(KeystoreUnavailableError, _StytchSDKError6);\n return _createClass(KeystoreUnavailableError);\n}(StytchSDKError);\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nvar NoBiometricsEnrolledError = /*#__PURE__*/function (_StytchSDKError7) {\n function NoBiometricsEnrolledError() {\n _classCallCheck(this, NoBiometricsEnrolledError);\n return _callSuper(this, NoBiometricsEnrolledError, ['NoBiometricsEnrolledError', 'There is no biometric factor enrolled on the device. Add a biometric factor in the device settings.']);\n }\n _inherits(NoBiometricsEnrolledError, _StytchSDKError7);\n return _createClass(NoBiometricsEnrolledError);\n}(StytchSDKError);\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nvar BiometricsAlreadyEnrolledError = /*#__PURE__*/function (_StytchSDKError8) {\n function BiometricsAlreadyEnrolledError() {\n _classCallCheck(this, BiometricsAlreadyEnrolledError);\n return _callSuper(this, BiometricsAlreadyEnrolledError, ['BiometricsAlreadyEnrolledError', 'There is already a biometric factor enrolled on this device. Fully authenticate with all factors and remove the existing registration before attempting to register again.']);\n }\n _inherits(BiometricsAlreadyEnrolledError, _StytchSDKError8);\n return _createClass(BiometricsAlreadyEnrolledError);\n}(StytchSDKError);\n/**\n * Thrown when the user has cancelled the prompt\n */\nvar UserCancellationError = /*#__PURE__*/function (_StytchSDKError9) {\n function UserCancellationError() {\n _classCallCheck(this, UserCancellationError);\n return _callSuper(this, UserCancellationError, ['UserCancellationError', 'The user canceled the prompt. Ask the user to try again.']);\n }\n _inherits(UserCancellationError, _StytchSDKError9);\n return _createClass(UserCancellationError);\n}(StytchSDKError);\n/**\n * Thrown when the user has been locked out of biometrics\n */\nvar UserLockedOutError = /*#__PURE__*/function (_StytchSDKError0) {\n function UserLockedOutError() {\n _classCallCheck(this, UserLockedOutError);\n return _callSuper(this, UserLockedOutError, ['UserLockedOutError', 'The user has been locked out due to too many failed attempts. Ask the user to try again later.']);\n }\n _inherits(UserLockedOutError, _StytchSDKError0);\n return _createClass(UserLockedOutError);\n}(StytchSDKError);\n/**\n * Thrown when biometrics register/authenticate calls are made with mismatched `allowDeviceCredentials` parameter\n */\nvar DeviceCredentialsNotAllowedError = /*#__PURE__*/function (_StytchSDKError1) {\n function DeviceCredentialsNotAllowedError() {\n _classCallCheck(this, DeviceCredentialsNotAllowedError);\n return _callSuper(this, DeviceCredentialsNotAllowedError, ['DeviceCredentialsNotAllowedError', 'The device credentials allowment is mismatched. Change the allowDeviceCredentials parameter to be the same in both the register and authenticate methods.']);\n }\n _inherits(DeviceCredentialsNotAllowedError, _StytchSDKError1);\n return _createClass(DeviceCredentialsNotAllowedError);\n}(StytchSDKError);\n/**\n * Thrown when no Google client ID is found for the project\n */\nvar MissingGoogleClientIDError = /*#__PURE__*/function (_StytchSDKError10) {\n function MissingGoogleClientIDError() {\n _classCallCheck(this, MissingGoogleClientIDError);\n return _callSuper(this, MissingGoogleClientIDError, ['MissingGoogleClientIDError', 'No Google client ID was found in the project.']);\n }\n _inherits(MissingGoogleClientIDError, _StytchSDKError10);\n return _createClass(MissingGoogleClientIDError);\n}(StytchSDKError);\n/**\n * Thrown when there was an error generating or retrieving a PKCE keypair\n */\nvar MissingPKCEError = /*#__PURE__*/function (_StytchSDKError11) {\n function MissingPKCEError() {\n _classCallCheck(this, MissingPKCEError);\n return _callSuper(this, MissingPKCEError, ['MissingPKCEError', 'Make sure this flow is completed on the same device on which it was started.']);\n }\n _inherits(MissingPKCEError, _StytchSDKError11);\n return _createClass(MissingPKCEError);\n}(StytchSDKError);\n/**\n * Thrown when a native OAuth flow is missing the id_token\n */\nvar MissingAuthorizationCredentialIDTokenError = /*#__PURE__*/function (_StytchSDKError12) {\n function MissingAuthorizationCredentialIDTokenError() {\n _classCallCheck(this, MissingAuthorizationCredentialIDTokenError);\n return _callSuper(this, MissingAuthorizationCredentialIDTokenError, ['MissingAuthorizationCredentialIDTokenError', 'The authorization credential is missing an ID token.']);\n }\n _inherits(MissingAuthorizationCredentialIDTokenError, _StytchSDKError12);\n return _createClass(MissingAuthorizationCredentialIDTokenError);\n}(StytchSDKError);\n/**\n * Thrown when a native OAuth flow returns an invalid credential\n */\nvar InvalidAuthorizationCredentialError = /*#__PURE__*/function (_StytchSDKError13) {\n function InvalidAuthorizationCredentialError() {\n _classCallCheck(this, InvalidAuthorizationCredentialError);\n return _callSuper(this, InvalidAuthorizationCredentialError, ['InvalidAuthorizationCredentialError', 'The authorization credential is invalid. Verify that OAuth is set up correctly in the developer console, and call the start flow method.']);\n }\n _inherits(InvalidAuthorizationCredentialError, _StytchSDKError13);\n return _createClass(InvalidAuthorizationCredentialError);\n}(StytchSDKError);\n/**\n * Thrown when a Google OneTap flow is not completed successfully\n */\nvar NoCredentialsPresentError = /*#__PURE__*/function (_StytchSDKError14) {\n function NoCredentialsPresentError() {\n _classCallCheck(this, NoCredentialsPresentError);\n return _callSuper(this, NoCredentialsPresentError, ['NoCredentialsPresentError', 'The user did not provide credentials for a Google OneTap attempt']);\n }\n _inherits(NoCredentialsPresentError, _StytchSDKError14);\n return _createClass(NoCredentialsPresentError);\n}(StytchSDKError);\n/**\n * Thrown when a public key was not found\n */\nvar MissingPublicKeyError = /*#__PURE__*/function (_StytchSDKError15) {\n function MissingPublicKeyError() {\n _classCallCheck(this, MissingPublicKeyError);\n return _callSuper(this, MissingPublicKeyError, ['MissingPublicKeyError', 'Failed to retrieve the public key. Add a new biometric registration.']);\n }\n _inherits(MissingPublicKeyError, _StytchSDKError15);\n return _createClass(MissingPublicKeyError);\n}(StytchSDKError);\n/**\n * Thrown when the challenge string failed to be signed\n */\nvar ChallengeSigningFailedError = /*#__PURE__*/function (_StytchSDKError16) {\n function ChallengeSigningFailedError() {\n _classCallCheck(this, ChallengeSigningFailedError);\n return _callSuper(this, ChallengeSigningFailedError, ['ChallengeSigningFailedError', 'Failed to sign the challenge with the key.']);\n }\n _inherits(ChallengeSigningFailedError, _StytchSDKError16);\n return _createClass(ChallengeSigningFailedError);\n}(StytchSDKError);\n/**\n * Thrown when the SDK has not been configured\n */\nvar SDKNotConfiguredError = /*#__PURE__*/function (_StytchSDKError17) {\n function SDKNotConfiguredError() {\n _classCallCheck(this, SDKNotConfiguredError);\n return _callSuper(this, SDKNotConfiguredError, ['SDKNotConfiguredError', 'Stytch client is not confiured. You must call the configure method before using the SDK']);\n }\n _inherits(SDKNotConfiguredError, _StytchSDKError17);\n return _createClass(SDKNotConfiguredError);\n}(StytchSDKError);\n/**\n * Thrown when the code challenge failed to be generated\n */\nvar FailedCodeChallengeError = /*#__PURE__*/function (_StytchSDKError18) {\n function FailedCodeChallengeError() {\n _classCallCheck(this, FailedCodeChallengeError);\n return _callSuper(this, FailedCodeChallengeError, ['FailedCodeChallengeError', 'Failed to create a code challenge']);\n }\n _inherits(FailedCodeChallengeError, _StytchSDKError18);\n return _createClass(FailedCodeChallengeError);\n}(StytchSDKError);\n/**\n * Thrown when Passkeys are unsupported on a device\n */\nvar PasskeysUnsupportedError = /*#__PURE__*/function (_StytchSDKError19) {\n function PasskeysUnsupportedError() {\n _classCallCheck(this, PasskeysUnsupportedError);\n return _callSuper(this, PasskeysUnsupportedError, ['PasskeysUnsupportedError', 'Passkeys are not supported on this device']);\n }\n _inherits(PasskeysUnsupportedError, _StytchSDKError19);\n return _createClass(PasskeysUnsupportedError);\n}(StytchSDKError);\n/**\n * Thrown when user data failed to be decrypted\n */\nvar FailedToDecryptDataError = /*#__PURE__*/function (_StytchSDKError20) {\n function FailedToDecryptDataError() {\n _classCallCheck(this, FailedToDecryptDataError);\n return _callSuper(this, FailedToDecryptDataError, ['FailedToDecryptDataError', 'Failed to decrypt user data']);\n }\n _inherits(FailedToDecryptDataError, _StytchSDKError20);\n return _createClass(FailedToDecryptDataError);\n}(StytchSDKError);\n/**\n * Thrown when Biometrics failed\n */\nvar BiometricsFailedError = /*#__PURE__*/function (_StytchSDKError21) {\n function BiometricsFailedError() {\n _classCallCheck(this, BiometricsFailedError);\n return _callSuper(this, BiometricsFailedError, ['BiometricsFailedError', 'Biometric authentication failed']);\n }\n _inherits(BiometricsFailedError, _StytchSDKError21);\n return _createClass(BiometricsFailedError);\n}(StytchSDKError);\n/**\n * Thrown when a start URL was invalid\n */\nvar InvalidStartUrlError = /*#__PURE__*/function (_StytchSDKError22) {\n function InvalidStartUrlError() {\n _classCallCheck(this, InvalidStartUrlError);\n return _callSuper(this, InvalidStartUrlError, ['InvalidStartUrlError', 'The start URL was invalid or improperly formatted.']);\n }\n _inherits(InvalidStartUrlError, _StytchSDKError22);\n return _createClass(InvalidStartUrlError);\n}(StytchSDKError);\n/**\n * Thrown when a redirect url was invalid\n */\nvar InvalidRedirectSchemeError = /*#__PURE__*/function (_StytchSDKError23) {\n function InvalidRedirectSchemeError() {\n _classCallCheck(this, InvalidRedirectSchemeError);\n return _callSuper(this, InvalidRedirectSchemeError, ['InvalidRedirectSchemeError', 'The scheme from the given redirect urls was invalid. Possible reasons include: nil scheme, non-custom scheme (using http or https), or differing schemes for login/signup urls.']);\n }\n _inherits(InvalidRedirectSchemeError, _StytchSDKError23);\n return _createClass(InvalidRedirectSchemeError);\n}(StytchSDKError);\n/**\n * Thrown when the underlying web authentication service failed to return a URL.\n */\nvar MissingUrlError = /*#__PURE__*/function (_StytchSDKError24) {\n function MissingUrlError() {\n _classCallCheck(this, MissingUrlError);\n return _callSuper(this, MissingUrlError, ['MissingUrlError', 'The underlying web authentication service failed to return a URL.']);\n }\n _inherits(MissingUrlError, _StytchSDKError24);\n return _createClass(MissingUrlError);\n}(StytchSDKError);\n/**\n * Thrown when the public key credential type was not of the expected type.\n */\nvar InvalidCredentialTypeError = /*#__PURE__*/function (_StytchSDKError25) {\n function InvalidCredentialTypeError() {\n _classCallCheck(this, InvalidCredentialTypeError);\n return _callSuper(this, InvalidCredentialTypeError, ['InvalidCredentialTypeError', 'The public key credential type was not of the expected type.']);\n }\n _inherits(InvalidCredentialTypeError, _StytchSDKError25);\n return _createClass(InvalidCredentialTypeError);\n}(StytchSDKError);\n/**\n * Thrown when the public key credential is missing the attestation object\n */\nvar MissingAttestationObjectError = /*#__PURE__*/function (_StytchSDKError26) {\n function MissingAttestationObjectError() {\n _classCallCheck(this, MissingAttestationObjectError);\n return _callSuper(this, MissingAttestationObjectError, ['MissingAttestationObjectError', 'The public key credential is missing the attestation object.']);\n }\n _inherits(MissingAttestationObjectError, _StytchSDKError26);\n return _createClass(MissingAttestationObjectError);\n}(StytchSDKError);\n/**\n * Thrown when we received JSON data that could not be converted to a string\n */\nvar JSONDataNotConvertibleToStringError = /*#__PURE__*/function (_StytchSDKError27) {\n function JSONDataNotConvertibleToStringError() {\n _classCallCheck(this, JSONDataNotConvertibleToStringError);\n return _callSuper(this, JSONDataNotConvertibleToStringError, ['JSONDataNotConvertibleToStringError', 'JSON data unable to be converted to String type.']);\n }\n _inherits(JSONDataNotConvertibleToStringError, _StytchSDKError27);\n return _createClass(JSONDataNotConvertibleToStringError);\n}(StytchSDKError);\n/**\n * Thrown when RNG fails\n */\nvar RandomNumberGenerationFailed = /*#__PURE__*/function (_StytchSDKError28) {\n function RandomNumberGenerationFailed() {\n _classCallCheck(this, RandomNumberGenerationFailed);\n return _callSuper(this, RandomNumberGenerationFailed, ['RandomNumberGenerationFailed', 'Random number generation failed']);\n }\n _inherits(RandomNumberGenerationFailed, _StytchSDKError28);\n return _createClass(RandomNumberGenerationFailed);\n}(StytchSDKError);\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nvar PasskeysInvalidEncoding = /*#__PURE__*/function (_StytchSDKError29) {\n function PasskeysInvalidEncoding() {\n _classCallCheck(this, PasskeysInvalidEncoding);\n return _callSuper(this, PasskeysInvalidEncoding, ['PasskeysInvalidEncoding', 'Invalid passkey encoding']);\n }\n _inherits(PasskeysInvalidEncoding, _StytchSDKError29);\n return _createClass(PasskeysInvalidEncoding);\n}(StytchSDKError);\n/**\n * Thrown when Passkeys support is misconfigured\n */\nvar PasskeysMisconfigured = /*#__PURE__*/function (_StytchSDKError30) {\n function PasskeysMisconfigured() {\n _classCallCheck(this, PasskeysMisconfigured);\n return _callSuper(this, PasskeysMisconfigured, ['PasskeysMisconfigured', 'Passkeys are misconfigured. Verify that you have added the correct associated domain for your application, and that the signing information is correct.']);\n }\n _inherits(PasskeysMisconfigured, _StytchSDKError30);\n return _createClass(PasskeysMisconfigured);\n}(StytchSDKError);\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nvar SignInWithAppleMisconfigured = /*#__PURE__*/function (_StytchSDKError31) {\n function SignInWithAppleMisconfigured() {\n _classCallCheck(this, SignInWithAppleMisconfigured);\n return _callSuper(this, SignInWithAppleMisconfigured, ['SignInWithAppleMisconfigured', 'Sign In With Apple is misconfigured. Verify that you have correctly configured Apple OAuth in the Stytch Dashboard and added the Sign In With Apple capability to your project.']);\n }\n _inherits(SignInWithAppleMisconfigured, _StytchSDKError31);\n return _createClass(SignInWithAppleMisconfigured);\n}(StytchSDKError);\nvar MissingCipherIv = /*#__PURE__*/function (_StytchSDKError32) {\n function MissingCipherIv() {\n _classCallCheck(this, MissingCipherIv);\n return _callSuper(this, MissingCipherIv, ['MissingCipherIv', 'The expected cipher Iv was not found when attempting to decrypt an existing biometric key.']);\n }\n _inherits(MissingCipherIv, _StytchSDKError32);\n return _createClass(MissingCipherIv);\n}(StytchSDKError);\nvar InvalidPrivateKeyLength = /*#__PURE__*/function (_StytchSDKError33) {\n function InvalidPrivateKeyLength() {\n _classCallCheck(this, InvalidPrivateKeyLength);\n return _callSuper(this, InvalidPrivateKeyLength, ['InvalidPrivateKeyLength', \"The private key was of an incorrect length.\"]);\n }\n _inherits(InvalidPrivateKeyLength, _StytchSDKError33);\n return _createClass(InvalidPrivateKeyLength);\n}(StytchSDKError);\nvar BiometricRegistrationIdIsNullOrBlank = /*#__PURE__*/function (_StytchSDKError34) {\n function BiometricRegistrationIdIsNullOrBlank() {\n _classCallCheck(this, BiometricRegistrationIdIsNullOrBlank);\n return _callSuper(this, BiometricRegistrationIdIsNullOrBlank, ['BiometricRegistrationIdIsNullOrBlank', 'Attempted to set a blank or null biometric registration ID. This is not allowed, and indicates no registration was created on the server. Consider deleting any local keys that may have been generated.']);\n }\n _inherits(BiometricRegistrationIdIsNullOrBlank, _StytchSDKError34);\n return _createClass(BiometricRegistrationIdIsNullOrBlank);\n}(StytchSDKError);\nvar DFPNotConfigured = /*#__PURE__*/function (_StytchSDKError35) {\n function DFPNotConfigured() {\n _classCallCheck(this, DFPNotConfigured);\n return _callSuper(this, DFPNotConfigured, ['DFPNotConfigured', 'You have attempted to retrieve a telemetry ID before the DFP client has been configured.']);\n }\n _inherits(DFPNotConfigured, _StytchSDKError35);\n return _createClass(DFPNotConfigured);\n}(StytchSDKError);\n/**\n * Thrown when a client attempts to start an OAuth flow but does not pass all required fields\n */\nvar IDPOAuthFlowMissingParamError = /*#__PURE__*/function (_StytchSDKError36) {\n function IDPOAuthFlowMissingParamError(details) {\n _classCallCheck(this, IDPOAuthFlowMissingParamError);\n return _callSuper(this, IDPOAuthFlowMissingParamError, ['IDPOAuthFlowMissingParamError', details]);\n }\n _inherits(IDPOAuthFlowMissingParamError, _StytchSDKError36);\n return _createClass(IDPOAuthFlowMissingParamError);\n}(StytchSDKError);\nfunction errorToStytchError(error) {\n switch (error.message) {\n case 'no_current_session':\n return new NoCurrentSessionError();\n case 'no_biometrics_registration':\n return new NoBiometricsRegistrationError();\n case 'biometrics_unavailable':\n return new BiometricsUnavailableError();\n case 'key_invalidated':\n return new KeyInvalidatedError();\n case 'device_hardware_error':\n return new BiometricsUnavailableError();\n case 'biometrics_not_available':\n return new BiometricsUnavailableError();\n case 'no_biometrics_enrolled':\n return new NoBiometricsEnrolledError();\n case 'keystore_unavailable':\n return new KeystoreUnavailableError();\n case 'no_biometric_key':\n return new KeyInvalidatedError();\n case 'device_credentials_not_allowed':\n return new DeviceCredentialsNotAllowedError();\n case 'user_cancellation':\n return new UserCancellationError();\n case 'user_locked_out':\n return new UserLockedOutError();\n case 'google_onetap_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'google_onetap_missing_member':\n return new InvalidAuthorizationCredentialError();\n case 'oauth_apple_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'oauth_apple_credential_invalid':\n return new InvalidAuthorizationCredentialError();\n case 'missing_public_key':\n return new MissingPublicKeyError();\n case 'challenge_signing_failed':\n return new ChallengeSigningFailedError();\n case 'missing_authorization_credential_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'invalid_authorization_credential':\n return new InvalidAuthorizationCredentialError();\n case 'no_credentials_present':\n return new NoCredentialsPresentError();\n case 'sdk_not_configured':\n return new SDKNotConfiguredError();\n case 'failed_code_challenge':\n return new FailedCodeChallengeError();\n case 'passkeys_unsupported':\n return new PasskeysUnsupportedError();\n case 'failed_to_decrypt_data':\n return new FailedToDecryptDataError();\n case 'biometrics_failed':\n return new BiometricsFailedError();\n case 'invalid_start_url':\n return new InvalidStartUrlError();\n case 'invalid_redirect_scheme':\n return new InvalidRedirectSchemeError();\n case 'missing_url':\n return new MissingUrlError();\n case 'invalid_credential_type':\n return new InvalidCredentialTypeError();\n case 'missing_attestation_object':\n return new MissingAttestationObjectError();\n case 'json_data_not_convertible_to_string':\n return new JSONDataNotConvertibleToStringError();\n case 'random_number_generation_failed':\n return new RandomNumberGenerationFailed();\n case 'passkeys_invalid_encoding':\n return new PasskeysInvalidEncoding();\n case 'passkeys_misconfigured':\n return new PasskeysMisconfigured();\n case 'signinwithapple_misconfigured':\n return new SignInWithAppleMisconfigured();\n case 'missing_cipher_iv':\n return new MissingCipherIv();\n case 'invalid_private_key_length':\n return new InvalidPrivateKeyLength();\n case 'biometric_registration_id_is_null_or_blank':\n return new BiometricRegistrationIdIsNullOrBlank();\n case 'dfp_not_configured':\n return new DFPNotConfigured();\n default:\n return new InternalError(error);\n }\n}\n\n/**\n * The authentication methods we support through our UI.\n * Currently we support `emailMagicLinks`, `emailOtp`, `sso`, `passwords`, and `oauth`.\n */\nvar B2BProducts;\n(function (B2BProducts) {\n B2BProducts[\"emailMagicLinks\"] = \"emailMagicLinks\";\n B2BProducts[\"emailOtp\"] = \"emailOtp\";\n B2BProducts[\"sso\"] = \"sso\";\n B2BProducts[\"passwords\"] = \"passwords\";\n B2BProducts[\"oauth\"] = \"oauth\";\n})(B2BProducts || (B2BProducts = {}));\nvar AuthFlowType;\n(function (AuthFlowType) {\n AuthFlowType[\"Discovery\"] = \"Discovery\";\n AuthFlowType[\"Organization\"] = \"Organization\";\n AuthFlowType[\"PasswordReset\"] = \"PasswordReset\";\n})(AuthFlowType || (AuthFlowType = {}));\nvar RedirectURLType;\n(function (RedirectURLType) {\n RedirectURLType[\"ResetPassword\"] = \"reset_password\";\n})(RedirectURLType || (RedirectURLType = {}));\nvar B2BMFAProducts;\n(function (B2BMFAProducts) {\n B2BMFAProducts[\"smsOtp\"] = \"smsOtp\";\n B2BMFAProducts[\"totp\"] = \"totp\";\n})(B2BMFAProducts || (B2BMFAProducts = {}));\n/**\n * The OAuth providers we support in our B2B OAuth product.\n */\nvar B2BOAuthProviders;\n(function (B2BOAuthProviders) {\n B2BOAuthProviders[\"Google\"] = \"google\";\n B2BOAuthProviders[\"Microsoft\"] = \"microsoft\";\n B2BOAuthProviders[\"HubSpot\"] = \"hubspot\";\n B2BOAuthProviders[\"Slack\"] = \"slack\";\n B2BOAuthProviders[\"GitHub\"] = \"github\";\n})(B2BOAuthProviders || (B2BOAuthProviders = {}));\nexport { BiometricRegistrationIdIsNullOrBlank as $, BiometricsFailedError as A, B2BOAuthProviders as B, ChallengeSigningFailedError as C, DeviceCredentialsNotAllowedError as D, InvalidStartUrlError as E, FailedCodeChallengeError as F, InvalidRedirectSchemeError as G, MissingUrlError as H, InternalError as I, InvalidCredentialTypeError as J, KeyInvalidatedError as K, MissingAttestationObjectError as L, MissingGoogleClientIDError as M, NoCurrentSessionError as N, OTPMethods as O, Products as P, JSONDataNotConvertibleToStringError as Q, RNUIProducts as R, StytchAPIUnreachableError as S, RandomNumberGenerationFailed as T, UNRECOVERABLE_ERROR_TYPES as U, PasskeysInvalidEncoding as V, Wallets as W, PasskeysMisconfigured as X, SignInWithAppleMisconfigured as Y, MissingCipherIv as Z, InvalidPrivateKeyLength as _, StytchAPISchemaError as a, DFPNotConfigured as a0, IDPOAuthFlowMissingParamError as a1, errorToStytchError as a2, B2BProducts as a3, AuthFlowType as a4, RedirectURLType as a5, B2BMFAProducts as a6, StytchAPIError as b, StytchSDKUsageError as c, StytchSDKAPIError as d, StytchSDKSchemaError as e, SDKAPIUnreachableError as f, OAuthProviders as g, OneTapPositions as h, StytchEventType as i, StytchError as j, StytchSDKError as k, NoBiometricsRegistrationError as l, BiometricsUnavailableError as m, KeystoreUnavailableError as n, NoBiometricsEnrolledError as o, BiometricsAlreadyEnrolledError as p, UserCancellationError as q, UserLockedOutError as r, MissingPKCEError as s, MissingAuthorizationCredentialIDTokenError as t, InvalidAuthorizationCredentialError as u, NoCredentialsPresentError as v, MissingPublicKeyError as w, SDKNotConfiguredError as x, PasskeysUnsupportedError as y, FailedToDecryptDataError as z };\n//# sourceMappingURL=ui-cccea861.js.map\n","function _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nimport { _ as __awaiter, a as __rest } from './tslib.es6-f6374340.js';\nimport { S as StytchAPIUnreachableError, a as StytchAPISchemaError, b as StytchAPIError, O as OTPMethods, c as StytchSDKUsageError, d as StytchSDKAPIError, e as StytchSDKSchemaError, f as SDKAPIUnreachableError, U as UNRECOVERABLE_ERROR_TYPES, g as OAuthProviders, B as B2BOAuthProviders } from './ui-cccea861.js';\nvar TEST_API_URL = 'https://test.stytch.com';\nvar LIVE_API_URL = 'https://api.stytch.com';\nvar CLIENTSIDE_SERVICES_IFRAME_URL = 'https://js.stytch.com/clientside-services/index.html';\nvar STYTCH_DFP_BACKEND_URL = \"https://telemetry.stytch.com\";\nvar STYTCH_DFP_CDN_URL = \"https://elements.stytch.com\";\nvar STYTCH_SESSION_COOKIE = 'stytch_session';\nvar STYTCH_SESSION_JWT_COOKIE = 'stytch_session_jwt';\nvar POWERED_BY_STYTCH_IMG_URL = 'https://public-assets.stytch.com/et_powered_by_stytch_logo.png';\nvar GOOGLE_ONE_TAP_HOST = 'https://accounts.google.com/gsi';\nvar GOOGLE_ONE_TAP_SCRIPT_URL = \"\".concat(GOOGLE_ONE_TAP_HOST, \"/client\");\nvar DEFAULT_SESSION_DURATION_MINUTES = 30;\nvar DEFAULT_OTP_EXPIRATION_MINUTES = 5;\nvar MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING = \"It looks like you're creating multiple copies of the Stytch client.\" + ' This behavior is unsupported, and unintended side effects may occur. ' + \"Make sure you are creating the Stytch client at the global level, and not inside a component's render function.\";\nvar RetriableErrorType;\n(function (RetriableErrorType) {\n RetriableErrorType[\"RequiredCaptcha\"] = \"CAPTCHA required\";\n})(RetriableErrorType || (RetriableErrorType = {}));\nvar RetriableError = /*#__PURE__*/function (_Error) {\n function RetriableError(type) {\n var _this;\n _classCallCheck(this, RetriableError);\n _this = _callSuper(this, RetriableError, [type]);\n _this.type = type;\n return _this;\n }\n _inherits(RetriableError, _Error);\n return _createClass(RetriableError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\nfunction retriableFetchSDK(_ref) {\n var method = _ref.method,\n finalURL = _ref.finalURL,\n basicAuthHeader = _ref.basicAuthHeader,\n xSDKClientHeader = _ref.xSDKClientHeader,\n xSDKParentHostHeader = _ref.xSDKParentHostHeader,\n body = _ref.body,\n retryCallback = _ref.retryCallback;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {\n var req, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n req = {\n method: method,\n finalURL: finalURL,\n basicAuthHeader: basicAuthHeader,\n xSDKClientHeader: xSDKClientHeader,\n xSDKParentHostHeader: xSDKParentHostHeader,\n body: body\n };\n _context.p = 1;\n _context.n = 2;\n return baseFetchSDK(req);\n case 2:\n return _context.a(2, _context.v);\n case 3:\n _context.p = 3;\n _t = _context.v;\n if (!(_t instanceof RetriableError)) {\n _context.n = 6;\n break;\n }\n _context.n = 4;\n return retryCallback(_t, req);\n case 4:\n req = _context.v;\n _context.n = 5;\n return baseFetchSDK(req);\n case 5:\n return _context.a(2, _context.v);\n case 6:\n throw _t;\n case 7:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3]]);\n }));\n}\nfunction baseFetchSDK(_ref2) {\n var method = _ref2.method,\n finalURL = _ref2.finalURL,\n basicAuthHeader = _ref2.basicAuthHeader,\n xSDKClientHeader = _ref2.xSDKClientHeader,\n xSDKParentHostHeader = _ref2.xSDKParentHostHeader,\n body = _ref2.body;\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {\n var headers, fetchOpts, resp, _respData, respError, respData, _t2, _t3, _t4, _t5;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n headers = {\n Authorization: basicAuthHeader,\n 'Content-Type': 'application/json',\n 'X-SDK-Client': xSDKClientHeader\n };\n if (xSDKParentHostHeader) {\n headers['X-SDK-Parent-Host'] = xSDKParentHostHeader;\n }\n fetchOpts = {\n method: method,\n headers: headers,\n body: body && JSON.stringify(body),\n credentials: 'include'\n };\n _context2.p = 1;\n _context2.n = 2;\n return fetch(finalURL, fetchOpts);\n case 2:\n resp = _context2.v;\n _context2.n = 5;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n if (!(_t2.message === 'Failed to fetch')) {\n _context2.n = 4;\n break;\n }\n throw new StytchAPIUnreachableError('Unable to contact our servers.');\n case 4:\n throw _t2;\n case 5:\n if (!(resp.status <= 299)) {\n _context2.n = 9;\n break;\n }\n _context2.p = 6;\n _context2.n = 7;\n return resp.json();\n case 7:\n _respData = _context2.v;\n return _context2.a(2, _respData.data);\n case 8:\n _context2.p = 8;\n _t3 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid JSON response from our servers.');\n case 9:\n if (!(resp.status !== 200 && ((_a = resp.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.includes('application/json')))) {\n _context2.n = 15;\n break;\n }\n _context2.p = 10;\n _context2.n = 11;\n return resp.json();\n case 11:\n respError = _context2.v;\n _context2.n = 13;\n break;\n case 12:\n _context2.p = 12;\n _t4 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid or no response from server');\n case 13:\n if (!('body' in respError || 'params' in respError || 'query' in respError)) {\n _context2.n = 14;\n break;\n }\n throw new StytchAPISchemaError(respError);\n case 14:\n throw new StytchAPIError(respError);\n case 15:\n _context2.p = 15;\n _context2.n = 16;\n return resp.text();\n case 16:\n respData = _context2.v;\n _context2.n = 18;\n break;\n case 17:\n _context2.p = 17;\n _t5 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid response from our servers.');\n case 18:\n if (!respData.includes('Captcha required')) {\n _context2.n = 19;\n break;\n }\n throw new RetriableError(RetriableErrorType.RequiredCaptcha);\n case 19:\n throw new StytchAPIUnreachableError('Invalid response from our servers.');\n case 20:\n return _context2.a(2);\n }\n }, _callee2, null, [[15, 17], [10, 12], [6, 8], [1, 3]]);\n }));\n}\nfunction baseSubmitFormSDK(_ref3) {\n var method = _ref3.method,\n finalURL = _ref3.finalURL,\n basicAuthHeader = _ref3.basicAuthHeader,\n xSDKClientHeader = _ref3.xSDKClientHeader,\n xSDKParentHostHeader = _ref3.xSDKParentHostHeader,\n body = _ref3.body;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() {\n var bodyParams, finalBody, children, form;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.n) {\n case 0:\n bodyParams = body || {};\n finalBody = Object.assign(Object.assign({}, bodyParams), {\n __Authorization: basicAuthHeader,\n '__X-SDK-Client': xSDKClientHeader\n });\n if (xSDKParentHostHeader) {\n finalBody['__X-SDK-Parent-Host'] = xSDKParentHostHeader;\n }\n children = Object.entries(finalBody).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n var input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = value;\n return input;\n });\n form = document.createElement('form');\n form.method = method;\n form.action = finalURL;\n form.append.apply(form, _toConsumableArray(children));\n document.body.appendChild(form);\n form.submit();\n case 1:\n return _context3.a(2);\n }\n }, _callee3);\n }));\n}\n\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}\nvar REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nfunction validate$1(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate$1(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return stringify(rnds);\n}\nvar ModulePromiseCache = {};\nfunction loadESModule(url, moduleFromGlobalScope) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n if (!(ModulePromiseCache[url] !== undefined)) {\n _context4.n = 1;\n break;\n }\n return _context4.a(2, ModulePromiseCache[url]);\n case 1:\n ModulePromiseCache[url] = loadESModuleFromNetwork(url, moduleFromGlobalScope);\n return _context4.a(2, ModulePromiseCache[url]);\n }\n }, _callee4);\n }));\n}\nfunction loadESModuleFromNetwork(url, moduleFromGlobalScope) {\n return new Promise(function (resolve, reject) {\n var maybeScript = findScript(url);\n if (maybeScript && maybeScript.dataset.loaded === 'true') {\n try {\n resolve(moduleFromGlobalScope());\n } catch (err) {\n return reject(new Error(\"\".concat(url, \" already loaded, but module was not found in global scope: \").concat(err)));\n }\n }\n var script = createScript(url);\n script.addEventListener('load', function () {\n script.dataset.loaded = 'true';\n try {\n resolve(moduleFromGlobalScope());\n } catch (err) {\n reject(new Error(\"\".concat(url, \" was loaded, but module was not found in global scope: \").concat(err)));\n }\n });\n script.addEventListener('error', function (err) {\n reject(new Error(\"\".concat(url, \" could not be loaded: \").concat(err)));\n });\n });\n}\nvar findScriptsInDom = function findScriptsInDom(url) {\n return document.querySelectorAll(\"script[src=\\\"\".concat(url, \"\\\"]\"));\n};\nfunction findScript(url) {\n var scripts = findScriptsInDom(url);\n if (scripts[0]) {\n return scripts[0];\n }\n}\nfunction createScript(url) {\n var script = document.createElement('script');\n script.setAttribute('src', url);\n script.setAttribute('async', 'true');\n script.setAttribute('defer', 'true');\n document.head.appendChild(script);\n return script;\n}\nvar getHttpsUrl = function getHttpsUrl(urlOrDomain) {\n // If it's already a valid URL, extract the domain\n try {\n var url = new URL(urlOrDomain);\n return \"https://\".concat(url.hostname);\n } catch (_a) {\n // invalid URLs are OK\n }\n // Prepend a scheme and verify it's a valid URL\n try {\n var _url = new URL(\"https://\".concat(urlOrDomain));\n return \"https://\".concat(_url.hostname);\n } catch (_b) {\n // Invalid URL, fallback to undefined\n }\n // Input was neither a valid URL nor a valid domain\n return undefined;\n};\n\n/**\n * A set of tokens to stylize the console.log output\n * First token is the raw text. %c is a placeholder for string formatting\n * Second token starts our stylizing - adding custom color and background\n * Third token resets stylizing to baseline before showing the rest of the content.\n */\nvar STYTCH_BADGE = process.env.NODE_ENV === 'production' ? ['[Stytch]'] : ['%c[Stytch]%c', 'background: #19303d; color: #13E5C0; padding: 2px;border-radius: 4px', ''];\n// Turn this to true to enable debug logs\n// TODO: Make this an env var\nvar DEBUG = false;\n/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * An ultralightweight wrapper around console.log.\n * In the future, the logger might be passed in from the customer,\n * or the level might be configurable.\n */\nvar logger = {\n debug: function debug() {\n return DEBUG;\n },\n log: function log() {\n var _console;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_console = console).log.apply(_console, STYTCH_BADGE.concat(args));\n },\n warn: function warn() {\n var _console2;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return (_console2 = console).warn.apply(_console2, STYTCH_BADGE.concat(args));\n },\n error: function error() {\n var _console3;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return (_console3 = console).error.apply(_console3, STYTCH_BADGE.concat(args));\n }\n};\n/* eslint-enable @typescript-eslint/no-explicit-any */\n/* eslint-enable no-console */\n\nvar getLiveApiURL = function getLiveApiURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.apiDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) ? 'customBaseUrl' : 'apiDomain';\n logger.warn(\"Unable to use custom API domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.liveAPIURL) !== null && _d !== void 0 ? _d : LIVE_API_URL;\n};\nvar getTestApiURL = function getTestApiURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.testApiDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) ? 'customBaseUrl' : 'testApiDomain';\n logger.warn(\"Unable to use custom API domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.testAPIURL) !== null && _d !== void 0 ? _d : TEST_API_URL;\n};\nvar trailer = \"\\nYou can find your public token at https://stytch.com/dashboard/api-keys.\";\nvar checkPublicToken = function checkPublicToken(publicToken) {\n if (typeof publicToken !== 'string') {\n logger.warn(\"Public token is malformed. Expected a string, got \".concat(_typeof(publicToken), \".\").concat(trailer));\n } else if (publicToken === '') {\n logger.warn(\"Public token is malformed. Expected \\\"public-token-...\\\", got an empty string.\".concat(trailer));\n } else if (!publicToken.startsWith('public-token-')) {\n logger.warn(\"Public token is malformed. Expected \\\"public-token-...\\\", got \".concat(publicToken, \".\").concat(trailer));\n }\n};\nvar checkNotSSR = function checkNotSSR(clientName) {\n var factoryFunctionName = clientName === 'StytchUIClient' ? 'createStytchUIClient' : 'createStytchHeadlessClient';\n if (typeof window === 'undefined') {\n throw new Error(\"`new \".concat(clientName, \"()` is not supported in server environments. If using @stytch/react or @stytch/nextjs, use `\").concat(factoryFunctionName, \"()` instead.\"));\n }\n};\nvar checkB2BNotSSR = function checkB2BNotSSR(clientName) {\n var factoryFunctionName = clientName === 'StytchB2BUIClient' ? 'createStytchB2BUIClient' : 'createStytchB2BHeadlessClient';\n if (typeof window === 'undefined') {\n throw new Error(\"`new \".concat(clientName, \"()` is not supported in server environments. If using @stytch/react or @stytch/nextjs, use `\").concat(factoryFunctionName, \"()` instead.\"));\n }\n};\n\n// List of Alpha-2 country codes to display in the drop down for phone number entry in our pre-built UI components.\n//\n// This list contains all allowed country codes, in alphabetical order, with the exception of the US, which is placed first as it is\n// the default and our most common user country.\n//\n// This list was built by pulling all countries from https://www.iban.com/country-codes and then removing countries that are not on our\n// unsupported countries (https://app.launchdarkly.com/default/production/features/default-banned-countries-for-phone-validation/targeting).\n//\n// Other useful links are the IBAN Alpha-2 code list (https://www.iban.com/country-codes) and Twilio's per-country notes\n// (https://www.twilio.com/en-us/guidelines/ag/sms). Just substitute the country code in that URL!\n//\n// This list is served to any customer, regardless of whether they are on the default country allowlist (only US and Canada) or they allow\n// all countries. This means that users may be able to choose a country that is not allowed for a customer and receive an error. This should\n// be improved in the future: ODEVX-34.\nvar COUNTRIES_LIST = {\n US: '1',\n // United States of America\n AX: '358',\n // Aland Islands\n AS: '1684',\n // American Samoa\n AG: '1268',\n // Antigua and Barbuda\n AI: '1264',\n // Anguilla\n AR: '54',\n // Argentina\n AT: '43',\n // Austria\n AU: '61',\n // Australia\n BE: '32',\n // Belgium\n BJ: '229',\n // Benin\n BO: '591',\n // Bolivia\n BR: '55',\n // Brazil\n IO: '246',\n // British Indian Ocean Territory (the)\n BN: '673',\n // Brunei Darussalam\n BG: '359',\n // Bulgaria\n BF: '226',\n // Burkina Faso\n CM: '237',\n // Cameroon\n CA: '1',\n // Canada\n BQ: '599',\n // Caribbean Netherlands\n CF: '236',\n // Central African Republic (the)\n CL: '56',\n // Chile\n CX: '61',\n // Christmas Island\n CC: '61',\n // Cocos (Keeling) Islands (the)\n CO: '57',\n // Colombia\n CD: '243',\n // Congo (the Democratic Republic of the)\n CK: '682',\n // Cook Islands (the)\n CR: '506',\n // Costa Rica\n HR: '385',\n // Croatia\n CZ: '420',\n // Czechia\n DK: '45',\n // Denmark\n DO: '1829',\n // Dominican Republic (the)\n EC: '593',\n // Ecuador\n SV: '503',\n // El Salvador\n EE: '372',\n // Estonia\n SZ: '268',\n // Eswatini\n FK: '500',\n // Falkland Islands (the) [Malvinas]\n FI: '358',\n // Finland\n FR: '33',\n // France\n GF: '594',\n // French Guiana\n DE: '49',\n // Germany\n GH: '233',\n // Ghana\n GR: '30',\n // Greece\n GD: '1473',\n // Grenada\n GT: '502',\n // Guatemala\n GG: '44',\n // Guernsey\n GW: '245',\n // Guinea-Bissau\n GY: '592',\n // Guyana\n HU: '36',\n // Hungary\n IS: '354',\n // Iceland\n IN: '91',\n // India\n IE: '353',\n // Ireland\n IM: '44',\n // Isle of Man\n IT: '39',\n // Italy\n JM: '1876',\n // Jamaica\n JP: '81',\n // Japan\n KZ: '7',\n // Kazakhstan\n KE: '254',\n // Kenya\n KI: '686',\n // Kiribati\n KR: '82',\n // Korea (the Republic of)\n LV: '371',\n // Latvia\n LT: '370',\n // Lithuania\n LU: '352',\n // Luxembourg\n MO: '853',\n // Macao\n MT: '356',\n // Malta\n MH: '692',\n // Marshall Islands (the)\n MR: '222',\n // Mauritania\n MU: '230',\n // Mauritius\n YT: '262',\n // Mayotte\n MX: '52',\n // Mexico\n MC: '377',\n // Monaco\n ME: '382',\n // Montenegro\n NR: '674',\n // Nauru\n NL: '31',\n // Netherlands (the)\n NZ: '64',\n // New Zealand\n NI: '505',\n // Nicaragua\n NF: '672',\n // Norfolk Island\n NO: '47',\n // Norway\n PA: '507',\n // Panama\n PY: '595',\n // Paraguay\n PE: '51',\n // Peru\n PN: '870',\n // Pitcairn\n PL: '48',\n // Poland\n PT: '351',\n // Portugal\n PR: '1',\n // Puerto Rico\n RO: '40',\n // Romania\n BL: '590',\n // Saint Barthélemy\n SH: '290',\n // Saint Helena, Ascension and Tristan da Cunha\n KN: '1869',\n // Saint Kitts and Nevis\n LC: '1758',\n // Saint Lucia\n MF: '590',\n // Saint Martin (French part)\n PM: '508',\n // Saint Pierre and Miquelon\n SM: '378',\n // San Marino\n ST: '239',\n // Sao Tome and Principe\n SC: '248',\n // Seychelles\n SX: '599',\n // Sint Maarten (Dutch part)\n SK: '421',\n // Slovakia\n SI: '386',\n // Slovenia\n ZA: '27',\n // South Africa\n SS: '211',\n // South Sudan\n ES: '34',\n // Spain\n SR: '597',\n // Suriname\n SJ: '47',\n // Svalbard and Jan Mayen\n SE: '46',\n // Sweden\n CH: '41',\n // Switzerland\n TW: '886',\n // Taiwan\n TZ: '255',\n // Tanzania, United Republic of\n TK: '690',\n // Tokelau\n TO: '676',\n // Tonga\n TT: '1868',\n // Trinidad and Tobago\n TR: '90',\n // Turkey\n UA: '380',\n // Ukraine\n GB: '44',\n // United Kingdom of Great Britain and Northern Ireland (the)\n UM: '1',\n // United States Minor Outlying Islands (the)\n UY: '598',\n // Uruguay\n VA: '379',\n // Vatican\n EH: '212' // Western Sahara\n};\nvar getDFPBackendURL = function getDFPBackendURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.dfppaUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.dfppaDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.dfppaUrl) ? 'dfppaUrl' : 'dfppaDomain';\n logger.warn(\"Unable to use custom DFPPA domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.dfpBackendURL) !== null && _d !== void 0 ? _d : STYTCH_DFP_BACKEND_URL;\n};\nvar getDFPCdnURL = function getDFPCdnURL(opts) {\n var _a, _b;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.dfpCdnUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.dfpCdnDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.dfpCdnUrl) ? 'dfpCdnUrl' : 'dfpCdnDomain';\n logger.warn(\"Unable to use custom DFP CDN domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return STYTCH_DFP_CDN_URL;\n};\n\n/**\n * Moves the first item that matches the predicate to the front of the array.\n * Returns a tuple of [reorderedArray, foundMatch] where foundMatch indicates\n * whether a matching item was found and moved.\n *\n * Note: Returns false if the array has only one item, but does return true even if the\n * item is found at index 0. This is behavior matches user expectation that you can't\n * really reorder an array of length 1.\n */\nfunction moveToFront(array, predicate) {\n // If the array has only one item, it can't be moved so we return false\n if (array.length <= 1) {\n return [array, false];\n }\n var matchingIndex = array.findIndex(predicate);\n if (matchingIndex === -1) {\n return [array, false];\n }\n var reordered = _toConsumableArray(array);\n reordered.unshift.apply(reordered, _toConsumableArray(reordered.splice(matchingIndex, 1)));\n return [reordered, true];\n}\n// TODO: This weird structure is because export * seems to produce a type structure\n// that consuming packages downstream had issues with. Not entirely sure why,\n// I assume it's a TS bug that will be solved in the future?\nvar arrayUtils = {\n moveToFront: moveToFront\n};\nvar isTestPublicToken = function isTestPublicToken(token) {\n return token.includes('public-token-test');\n};\n/**\n * Normalizes an es5 promise with a .then(onSuccess, onFailure) signature to\n * the es6 .then().catch() signature\n */\nvar normalizePromiseLike = function normalizePromiseLike(prom) {\n return new Promise(function (resolve, reject) {\n prom.then(resolve, reject);\n });\n};\nvar createEventId = function createEventId() {\n return \"event-id-\".concat(v4());\n};\nvar createAppSessionId = function createAppSessionId() {\n return \"app-session-id-\".concat(v4());\n};\nvar createPersistentId = function createPersistentId() {\n return \"persistent-id-\".concat(v4());\n};\nvar validate = function validate(methodName) {\n var validator = {\n isObject: function isObject(fieldName, value) {\n var isObject = _typeof(value) === 'object' && !Array.isArray(value) && value !== null;\n if (!isObject) {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an object.');\n }\n return validator;\n },\n isOptionalObject: function isOptionalObject(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isObject(fieldName, value);\n },\n isString: function isString(fieldName, value) {\n if (typeof value !== 'string') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a string.');\n }\n return validator;\n },\n isOptionalString: function isOptionalString(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isString(fieldName, value);\n },\n isStringArray: function isStringArray(fieldName, value) {\n if (!Array.isArray(value)) {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an array of strings.');\n }\n var _iterator = _createForOfIteratorHelper(value),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var str = _step.value;\n if (typeof str !== 'string') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an array of strings.');\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return validator;\n },\n isOptionalStringArray: function isOptionalStringArray(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isStringArray(fieldName, value);\n },\n isNumber: function isNumber(fieldName, value) {\n if (typeof value !== 'number') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a number.');\n }\n return validator;\n },\n isOptionalNumber: function isOptionalNumber(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isNumber(fieldName, value);\n },\n isBoolean: function isBoolean(fieldName, value) {\n if (typeof value !== 'boolean') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a boolean.');\n }\n return validator;\n },\n isOptionalBoolean: function isOptionalBoolean(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isBoolean(fieldName, value);\n }\n };\n return validator;\n};\nvar isPhoneMethod = function isPhoneMethod(selectionMethod) {\n return selectionMethod === OTPMethods.SMS || selectionMethod === OTPMethods.WhatsApp;\n};\nvar isEmailMethod = function isEmailMethod(selectionMethod) {\n return selectionMethod === OTPMethods.Email;\n};\nvar removeResponseCommon = function removeResponseCommon(_a) {\n var rest = __rest(_a, [\"request_id\", \"status_code\"]);\n return rest;\n};\nvar omitUser = function omitUser(resp) {\n var rest = __rest(resp, [\"__user\"]);\n return rest;\n};\nvar loadTelemetryJS = function loadTelemetryJS(domain) {\n return loadESModule(\"\".concat(domain, \"/telemetry.js\"), function () {\n return window.GetTelemetryID;\n });\n};\nvar DFPProtectedAuthProvider = /*#__PURE__*/_createClass(function DFPProtectedAuthProvider(publicToken, dfpBackendURL, dfpCdnDomain, bootstrapPromise) {\n var _this2 = this;\n var executeRecaptcha = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {\n return Promise.resolve(undefined);\n };\n _classCallCheck(this, DFPProtectedAuthProvider);\n this.bootstrapPromise = bootstrapPromise;\n this.isEnabled = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee5() {\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n return _context5.a(2, this.state.then(function (state) {\n return state.enabled;\n }));\n }\n }, _callee5, this);\n }));\n };\n this.getTelemetryID = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee6() {\n var _yield$this$state, publicToken, enabled, dfpBackendURL;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.n) {\n case 0:\n _context6.n = 1;\n return this.state;\n case 1:\n _yield$this$state = _context6.v;\n publicToken = _yield$this$state.publicToken;\n enabled = _yield$this$state.enabled;\n dfpBackendURL = _yield$this$state.dfpBackendURL;\n if (enabled) {\n _context6.n = 2;\n break;\n }\n return _context6.a(2, undefined);\n case 2:\n _context6.n = 3;\n return window.GetTelemetryID(publicToken, \"\".concat(dfpBackendURL, \"/submit\"));\n case 3:\n return _context6.a(2, _context6.v);\n }\n }, _callee6, this);\n }));\n };\n this.getDFPTelemetryIDAndCaptcha = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee7() {\n var _yield$this$state2, enabled, executeRecaptcha, mode, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.n) {\n case 0:\n _context7.n = 1;\n return this.state;\n case 1:\n _yield$this$state2 = _context7.v;\n enabled = _yield$this$state2.enabled;\n executeRecaptcha = _yield$this$state2.executeRecaptcha;\n mode = _yield$this$state2.mode;\n dfp_telemetry_id = undefined;\n captcha_token = undefined;\n if (enabled) {\n _context7.n = 3;\n break;\n }\n _context7.n = 2;\n return executeRecaptcha();\n case 2:\n captcha_token = _context7.v;\n case 3:\n if (!(mode === 'DECISIONING')) {\n _context7.n = 5;\n break;\n }\n _context7.n = 4;\n return this.getTelemetryID();\n case 4:\n dfp_telemetry_id = _context7.v;\n _context7.n = 8;\n break;\n case 5:\n if (!(mode === 'OBSERVATION')) {\n _context7.n = 8;\n break;\n }\n _context7.n = 6;\n return this.getTelemetryID();\n case 6:\n dfp_telemetry_id = _context7.v;\n _context7.n = 7;\n return executeRecaptcha();\n case 7:\n captcha_token = _context7.v;\n case 8:\n return _context7.a(2, {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n }\n }, _callee7, this);\n }));\n };\n this.retryWithCaptchaAndDFP = function (e, req) {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee8() {\n var _yield$this$state3, enabled, executeRecaptcha;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.n) {\n case 0:\n _context8.n = 1;\n return this.state;\n case 1:\n _yield$this$state3 = _context8.v;\n enabled = _yield$this$state3.enabled;\n executeRecaptcha = _yield$this$state3.executeRecaptcha;\n if (!(e.type === RetriableErrorType.RequiredCaptcha && enabled)) {\n _context8.n = 5;\n break;\n }\n if (!req.body) {\n _context8.n = 4;\n break;\n }\n _context8.n = 2;\n return this.getTelemetryID();\n case 2:\n req.body.dfp_telemetry_id = _context8.v;\n _context8.n = 3;\n return executeRecaptcha();\n case 3:\n req.body.captcha_token = _context8.v;\n case 4:\n return _context8.a(2, req);\n case 5:\n throw new Error('Unable to query captcha and/or dfp telemetry ID');\n case 6:\n return _context8.a(2);\n }\n }, _callee8, this);\n }));\n };\n this.state = bootstrapPromise.then(function (bootstrapData) {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee9() {\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.n) {\n case 0:\n if (bootstrapData.runDFPProtectedAuth) {\n _context9.n = 1;\n break;\n }\n return _context9.a(2, {\n publicToken: publicToken,\n dfpBackendURL: dfpBackendURL,\n enabled: false,\n loaded: false,\n executeRecaptcha: executeRecaptcha\n });\n case 1:\n _context9.n = 2;\n return loadTelemetryJS(dfpCdnDomain);\n case 2:\n return _context9.a(2, {\n publicToken: publicToken,\n dfpBackendURL: dfpBackendURL,\n enabled: true,\n mode: bootstrapData.dfpProtectedAuthMode || 'OBSERVATION',\n loaded: true,\n executeRecaptcha: executeRecaptcha\n });\n }\n }, _callee9);\n }));\n });\n});\nvar DisabledDFPProtectedAuthProvider = function DisabledDFPProtectedAuthProvider() {\n return {\n isEnabled: function isEnabled() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee0() {\n return _regenerator().w(function (_context0) {\n while (1) switch (_context0.n) {\n case 0:\n return _context0.a(2, false);\n }\n }, _callee0);\n }));\n },\n getTelemetryID: function getTelemetryID() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee1() {\n return _regenerator().w(function (_context1) {\n while (1) switch (_context1.n) {\n case 0:\n return _context1.a(2, undefined);\n }\n }, _callee1);\n }));\n },\n getDFPTelemetryIDAndCaptcha: function getDFPTelemetryIDAndCaptcha() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee10() {\n return _regenerator().w(function (_context10) {\n while (1) switch (_context10.n) {\n case 0:\n return _context10.a(2, {\n dfp_telemetry_id: undefined,\n captcha_token: undefined\n });\n }\n }, _callee10);\n }));\n },\n retryWithCaptchaAndDFP: function retryWithCaptchaAndDFP() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee11() {\n return _regenerator().w(function (_context11) {\n while (1) switch (_context11.n) {\n case 0:\n throw new Error('DFP protected auth is disabled');\n case 1:\n return _context11.a(2);\n }\n }, _callee11);\n }));\n }\n };\n};\n\n/**\n * Some errors are thrown from inside an iframe, but we can't serialize them\n * to the parent in Webkit. This class handles restoring marshalled errors\n * to their original form.\n * It preserves the error instance/class constructor by inspecting err.name\n * and calling `new` on the matching constructor.\n */\nvar ErrorMarshaller = /*#__PURE__*/function () {\n function ErrorMarshaller() {\n _classCallCheck(this, ErrorMarshaller);\n }\n return _createClass(ErrorMarshaller, null, [{\n key: \"inflate\",\n value: function inflate(ErrorClass, ErrorData) {\n // !!HACK!!\n // We make the assumption that if the error takes in a required property\n // (StytchAPIError takes in an APIDetails obj...)\n // that we can just pass in the error body itself to satisfy the constructor...\n // And if the types don't work out, Object.assign(...) copies everything over anyway\n // This is a brittle and weak assumption.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n var err = new ErrorClass(ErrorData);\n Object.assign(err, ErrorData);\n Object.setPrototypeOf(err, ErrorClass.prototype);\n return err;\n }\n }, {\n key: \"unmarshall\",\n value: function unmarshall(error) {\n if ('name' in error) {\n switch (error.name) {\n case 'SDKAPIUnreachableError':\n return ErrorMarshaller.inflate(SDKAPIUnreachableError, error);\n case 'StytchSDKSchemaError':\n return ErrorMarshaller.inflate(StytchSDKSchemaError, error);\n case 'StytchAPIUnreachableError':\n return ErrorMarshaller.inflate(StytchAPIUnreachableError, error);\n case 'StytchAPISchemaError':\n return ErrorMarshaller.inflate(StytchAPISchemaError, error);\n case 'StytchSDKAPIError':\n return ErrorMarshaller.inflate(StytchSDKAPIError, error);\n case 'StytchAPIError':\n return ErrorMarshaller.inflate(StytchAPIError, error);\n case 'TypeError':\n return ErrorMarshaller.inflate(TypeError, error);\n case 'SyntaxError':\n return ErrorMarshaller.inflate(SyntaxError, error);\n case 'ReferenceError':\n return ErrorMarshaller.inflate(ReferenceError, error);\n case 'RangeError':\n return ErrorMarshaller.inflate(RangeError, error);\n case 'EvalError':\n return ErrorMarshaller.inflate(EvalError, error);\n case 'URIError':\n return ErrorMarshaller.inflate(URIError, error);\n }\n }\n return ErrorMarshaller.inflate(Error, error);\n }\n }]);\n}();\nvar DEFAULT_MAX_BATCH_SIZE = 15;\nvar DEFAULT_INTERVAL_DURATION_MS = 800;\nvar EventLogger = /*#__PURE__*/function () {\n function EventLogger(args) {\n _classCallCheck(this, EventLogger);\n this.maxBatchSize = args.maxBatchSize;\n this.logEventURL = args.logEventURL;\n // TODO: If we create more than one of these, we'll want a mechanism to clean up the intervals\n setInterval(this.flush.bind(this), args.intervalDurationMs);\n this.batch = [];\n }\n return _createClass(EventLogger, [{\n key: \"logEvent\",\n value: function logEvent(telemetry, event) {\n this.batch.push({\n telemetry: telemetry,\n event: event\n });\n if (this.batch.length >= this.maxBatchSize) {\n this.flush();\n }\n }\n }, {\n key: \"flush\",\n value: function flush() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee12() {\n var batchToSubmit, _t6;\n return _regenerator().w(function (_context12) {\n while (1) switch (_context12.p = _context12.n) {\n case 0:\n if (this.batch.length) {\n _context12.n = 1;\n break;\n }\n return _context12.a(2);\n case 1:\n batchToSubmit = this.batch;\n this.batch = [];\n _context12.p = 2;\n _context12.n = 3;\n return fetch(this.logEventURL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(batchToSubmit)\n });\n case 3:\n _context12.n = 5;\n break;\n case 4:\n _context12.p = 4;\n _t6 = _context12.v;\n case 5:\n return _context12.a(2);\n }\n }, _callee12, this, [[2, 4]]);\n }));\n }\n }]);\n}();\nvar EmailSentType;\n(function (EmailSentType) {\n EmailSentType[\"LoginOrCreateEML\"] = \"login_or_create_eml\";\n EmailSentType[\"LoginOrCreateOTP\"] = \"login_or_create_otp\";\n EmailSentType[\"ResetPassword\"] = \"reset_password\";\n})(EmailSentType || (EmailSentType = {}));\nvar HeadlessUserClient = /*#__PURE__*/_createClass(function HeadlessUserClient(_networkClient, _subscriptionService) {\n var _this3 = this;\n _classCallCheck(this, HeadlessUserClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee13() {\n var resp, user;\n return _regenerator().w(function (_context13) {\n while (1) switch (_context13.n) {\n case 0:\n _context13.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/me',\n method: 'GET'\n });\n case 1:\n resp = _context13.v;\n user = removeResponseCommon(resp);\n this._subscriptionService.updateUser(user);\n return _context13.a(2, user);\n }\n }, _callee13, this);\n }));\n };\n this.getSync = function () {\n return _this3._subscriptionService.getUser();\n };\n this.getInfo = function () {\n return {\n user: _this3.getSync(),\n fromCache: _this3._subscriptionService.getFromCache()\n };\n };\n this.update = function (options) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee14() {\n var resp, user;\n return _regenerator().w(function (_context14) {\n while (1) switch (_context14.n) {\n case 0:\n validate('stytch.user.update').isOptionalObject('untrusted_metadata', options.untrusted_metadata);\n _context14.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/me',\n body: options,\n method: 'PUT'\n });\n case 1:\n resp = _context14.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context14.a(2, omitUser(resp));\n }\n }, _callee14, this);\n }));\n };\n this.deleteEmail = function (emailId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee15() {\n var resp, user;\n return _regenerator().w(function (_context15) {\n while (1) switch (_context15.n) {\n case 0:\n _context15.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/emails/\".concat(emailId),\n method: 'DELETE'\n });\n case 1:\n resp = _context15.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context15.a(2, omitUser(resp));\n }\n }, _callee15, this);\n }));\n };\n this.deletePhoneNumber = function (phoneId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee16() {\n var resp, user;\n return _regenerator().w(function (_context16) {\n while (1) switch (_context16.n) {\n case 0:\n _context16.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/phone_numbers/\".concat(phoneId),\n method: 'DELETE'\n });\n case 1:\n resp = _context16.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context16.a(2, omitUser(resp));\n }\n }, _callee16, this);\n }));\n };\n this.deleteTOTP = function (totpId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee17() {\n var resp, user;\n return _regenerator().w(function (_context17) {\n while (1) switch (_context17.n) {\n case 0:\n _context17.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/totps/\".concat(totpId),\n method: 'DELETE'\n });\n case 1:\n resp = _context17.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context17.a(2, omitUser(resp));\n }\n }, _callee17, this);\n }));\n };\n this.deleteCryptoWallet = function (cryptoWalletId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee18() {\n var resp, user;\n return _regenerator().w(function (_context18) {\n while (1) switch (_context18.n) {\n case 0:\n _context18.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/crypto_wallets/\".concat(cryptoWalletId),\n method: 'DELETE'\n });\n case 1:\n resp = _context18.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context18.a(2, omitUser(resp));\n }\n }, _callee18, this);\n }));\n };\n this.deleteOAuthRegistration = function (oauthUserRegistrationId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee19() {\n var resp, user;\n return _regenerator().w(function (_context19) {\n while (1) switch (_context19.n) {\n case 0:\n _context19.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/oauth/\".concat(oauthUserRegistrationId),\n method: 'DELETE'\n });\n case 1:\n resp = _context19.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context19.a(2, omitUser(resp));\n }\n }, _callee19, this);\n }));\n };\n this.deleteWebauthnRegistration = function (webAuthnId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee20() {\n var resp, user;\n return _regenerator().w(function (_context20) {\n while (1) switch (_context20.n) {\n case 0:\n _context20.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/webauthn_registrations/\".concat(webAuthnId),\n method: 'DELETE'\n });\n case 1:\n resp = _context20.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context20.a(2, omitUser(resp));\n }\n }, _callee20, this);\n }));\n };\n this.deleteBiometricRegistration = function (biometricRegistrationId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee21() {\n var resp, user;\n return _regenerator().w(function (_context21) {\n while (1) switch (_context21.n) {\n case 0:\n _context21.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/biometric_registrations/\".concat(biometricRegistrationId),\n method: 'DELETE'\n });\n case 1:\n resp = _context21.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context21.a(2, omitUser(resp));\n }\n }, _callee21, this);\n }));\n };\n this.onChange = function (callback) {\n var lastVal = _this3._subscriptionService.getUser();\n var listener = function listener(state) {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.user) !== lastVal) {\n lastVal = (_a = state === null || state === void 0 ? void 0 : state.user) !== null && _a !== void 0 ? _a : null;\n callback(lastVal);\n }\n };\n return _this3._subscriptionService.subscribeToState(listener);\n };\n this.getConnectedApps = function () {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee22() {\n return _regenerator().w(function (_context22) {\n while (1) switch (_context22.n) {\n case 0:\n _context22.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/connected_apps',\n method: 'GET'\n });\n case 1:\n return _context22.a(2, _context22.v);\n }\n }, _callee22, this);\n }));\n };\n this.revokedConnectedApp = function (connectedAppId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee23() {\n return _regenerator().w(function (_context23) {\n while (1) switch (_context23.n) {\n case 0:\n _context23.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/connected_apps/\".concat(connectedAppId, \"/revoke\"),\n method: 'POST'\n });\n case 1:\n return _context23.a(2, _context23.v);\n }\n }, _callee23, this);\n }));\n };\n});\nvar HeadlessSessionClient = /*#__PURE__*/function () {\n function HeadlessSessionClient(_networkClient, _subscriptionService) {\n var _this4 = this;\n _classCallCheck(this, HeadlessSessionClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.getSync = function () {\n return _this4._subscriptionService.getSession();\n };\n this.getInfo = function () {\n var session = _this4.getSync();\n var fromCache = _this4._subscriptionService.getFromCache();\n return {\n session: session,\n fromCache: fromCache\n };\n };\n this.onChange = function (callback) {\n var lastVal = _this4._subscriptionService.getSession();\n var listener = function listener(state) {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.session) !== lastVal) {\n lastVal = (_a = state === null || state === void 0 ? void 0 : state.session) !== null && _a !== void 0 ? _a : null;\n callback(lastVal);\n }\n };\n return _this4._subscriptionService.subscribeToState(listener);\n };\n this.revoke = function (options) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee24() {\n var resp, _t7;\n return _regenerator().w(function (_context24) {\n while (1) switch (_context24.p = _context24.n) {\n case 0:\n _context24.p = 0;\n _context24.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/sessions/revoke\",\n method: 'POST'\n });\n case 1:\n resp = _context24.v;\n this._subscriptionService.destroyState();\n return _context24.a(2, resp);\n case 2:\n _context24.p = 2;\n _t7 = _context24.v;\n if (options === null || options === void 0 ? void 0 : options.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(_t7.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw _t7;\n case 3:\n return _context24.a(2);\n }\n }, _callee24, this, [[0, 2]]);\n }));\n };\n this._authenticate = function (options) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee25() {\n var _this5 = this;\n var initialSession, isSessionStale, requestBody, resp, _t8;\n return _regenerator().w(function (_context25) {\n while (1) switch (_context25.p = _context25.n) {\n case 0:\n initialSession = this._subscriptionService.getSession();\n isSessionStale = function isSessionStale() {\n var _a;\n return (initialSession === null || initialSession === void 0 ? void 0 : initialSession.session_id) !== ((_a = _this5._subscriptionService.getSession()) === null || _a === void 0 ? void 0 : _a.session_id);\n };\n _context25.p = 1;\n requestBody = {\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n };\n _context25.n = 2;\n return this._networkClient.fetchSDK({\n url: '/sessions/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context25.v;\n if (!isSessionStale()) {\n _context25.n = 3;\n break;\n }\n return _context25.a(2, this._authenticate(options));\n case 3:\n return _context25.a(2, omitUser(resp));\n case 4:\n _context25.p = 4;\n _t8 = _context25.v;\n if (!isSessionStale()) {\n _context25.n = 5;\n break;\n }\n return _context25.a(2, this._authenticate(options));\n case 5:\n if (UNRECOVERABLE_ERROR_TYPES.includes(_t8.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw _t8;\n case 6:\n return _context25.a(2);\n }\n }, _callee25, this, [[1, 4]]);\n }));\n };\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee26() {\n var resp;\n return _regenerator().w(function (_context26) {\n while (1) switch (_context26.n) {\n case 0:\n validate('stytch.session.exchangeAccessToken').isString('access_token', data.access_token).isNumber('session_duration_minutes', data.session_duration_minutes);\n _context26.n = 1;\n return this._networkClient.fetchSDK({\n url: '/sessions/exchange_access_token',\n body: data,\n method: 'POST'\n });\n case 1:\n resp = _context26.v;\n return _context26.a(2, omitUser(resp));\n }\n }, _callee26, this);\n }));\n });\n this.attest = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee27() {\n return _regenerator().w(function (_context27) {\n while (1) switch (_context27.n) {\n case 0:\n validate('stytch.session.attest').isString('profile_id', data.profile_id).isString('token', data.token).isOptionalNumber('session_duration_minutes', data.session_duration_minutes);\n return _context27.a(2, this._networkClient.fetchSDK({\n url: '/sessions/attest',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee27, this);\n }));\n });\n }\n return _createClass(HeadlessSessionClient, [{\n key: \"getTokens\",\n value: function getTokens() {\n return this._subscriptionService.getTokens();\n }\n }, {\n key: \"updateSession\",\n value: function updateSession(tokens) {\n var _a;\n validate('stytch.session.updateSession').isString('session_token', tokens.session_token).isOptionalString('session_jwt', (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : undefined);\n this._subscriptionService.updateTokens(tokens);\n }\n }]);\n}();\nvar DefaultDynamicConfig$4 = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false\n});\nvar HeadlessMagicLinksClient = /*#__PURE__*/function () {\n function HeadlessMagicLinksClient(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager) {\n var _this6 = this;\n var _config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DefaultDynamicConfig$4;\n var dfpProtectedAuth = arguments.length > 5 ? arguments[5] : undefined;\n _classCallCheck(this, HeadlessMagicLinksClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._passwordResetPKCEManager = _passwordResetPKCEManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.email = {\n loginOrCreate: function loginOrCreate(email) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee28() {\n var _yield$this$_config, pkceRequiredForEmailMagicLinks, code_challenge, _yield$this$dfpProtec, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context28) {\n while (1) switch (_context28.n) {\n case 0:\n _context28.n = 1;\n return this._config;\n case 1:\n _yield$this$_config = _context28.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config.pkceRequiredForEmailMagicLinks;\n code_challenge = undefined;\n if (!pkceRequiredForEmailMagicLinks) {\n _context28.n = 3;\n break;\n }\n _context28.n = 2;\n return this.getCodeChallenge();\n case 2:\n code_challenge = _context28.v;\n case 3:\n _context28.n = 4;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 4:\n _yield$this$dfpProtec = _context28.v;\n dfp_telemetry_id = _yield$this$dfpProtec.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context28.a(2, this._networkClient.retriableFetchSDK({\n url: '/magic_links/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee28, this);\n }));\n },\n send: function send(email) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee29() {\n var _yield$this$_config2, pkceRequiredForEmailMagicLinks, code_challenge, _yield$this$dfpProtec2, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context29) {\n while (1) switch (_context29.n) {\n case 0:\n _context29.n = 1;\n return this._config;\n case 1:\n _yield$this$_config2 = _context29.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config2.pkceRequiredForEmailMagicLinks;\n code_challenge = undefined;\n if (!pkceRequiredForEmailMagicLinks) {\n _context29.n = 3;\n break;\n }\n _context29.n = 2;\n return this.getCodeChallenge();\n case 2:\n code_challenge = _context29.v;\n case 3:\n _context29.n = 4;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 4:\n _yield$this$dfpProtec2 = _context29.v;\n dfp_telemetry_id = _yield$this$dfpProtec2.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec2.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/magic_links/email/send/secondary' : '/magic_links/email/send/primary';\n return _context29.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee29, this);\n }));\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (token, options) {\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee30() {\n var passwordResetPKPair, resp, _t9;\n return _regenerator().w(function (_context30) {\n while (1) switch (_context30.p = _context30.n) {\n case 0:\n validate('stytch.magicLinks.authenticate').isString('Token', token).isNumber('session_duration_minutes', options.session_duration_minutes);\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n _context30.n = 1;\n return this._passwordResetPKCEManager.getPKPair();\n case 1:\n passwordResetPKPair = _context30.v;\n resp = null;\n if (!(passwordResetPKPair === null || passwordResetPKPair === void 0 ? void 0 : passwordResetPKPair.code_verifier)) {\n _context30.n = 6;\n break;\n }\n _context30.p = 2;\n _context30.n = 3;\n return this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, Object.assign(Object.assign({}, options), {\n token: token\n }));\n case 3:\n resp = _context30.v;\n _context30.n = 6;\n break;\n case 4:\n _context30.p = 4;\n _t9 = _context30.v;\n if (!_t9.message.includes('pkce')) {\n _context30.n = 5;\n break;\n }\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log('Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.');\n _context30.n = 6;\n break;\n case 5:\n throw _t9;\n case 6:\n if (resp) {\n _context30.n = 8;\n break;\n }\n _context30.n = 7;\n return this.handlePKCEForAuthenticate(this._pkceManager, Object.assign(Object.assign({}, options), {\n token: token\n }));\n case 7:\n resp = _context30.v;\n case 8:\n return _context30.a(2, omitUser(resp));\n }\n }, _callee30, this, [[2, 4]]);\n }));\n });\n }\n return _createClass(HeadlessMagicLinksClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee31() {\n var keyPair;\n return _regenerator().w(function (_context31) {\n while (1) switch (_context31.n) {\n case 0:\n _context31.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context31.v;\n if (!keyPair) {\n _context31.n = 2;\n break;\n }\n return _context31.a(2, keyPair.code_challenge);\n case 2:\n _context31.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context31.v;\n return _context31.a(2, keyPair.code_challenge);\n }\n }, _callee31, this);\n }));\n }\n }, {\n key: \"handlePKCEForAuthenticate\",\n value: function handlePKCEForAuthenticate(pkceManager, data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee32() {\n var pkPair, requestBody, resp;\n return _regenerator().w(function (_context32) {\n while (1) switch (_context32.n) {\n case 0:\n _context32.n = 1;\n return pkceManager.getPKPair();\n case 1:\n pkPair = _context32.v;\n requestBody = Object.assign({\n code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier\n }, data);\n _context32.n = 2;\n return this._networkClient.fetchSDK({\n url: '/magic_links/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context32.v;\n pkceManager.clearPKPair();\n return _context32.a(2, resp);\n }\n }, _callee32, this);\n }));\n }\n }]);\n}();\nvar HeadlessOTPClient = /*#__PURE__*/_createClass(function HeadlessOTPClient(_networkClient, _subscriptionService) {\n var _this7 = this;\n var executeRecaptcha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {\n return Promise.resolve(undefined);\n };\n var dfpProtectedAuth = arguments.length > 3 ? arguments[3] : undefined;\n _classCallCheck(this, HeadlessOTPClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.executeRecaptcha = executeRecaptcha;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.sms = {\n loginOrCreate: function loginOrCreate(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee33() {\n var _yield$this$dfpProtec3, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context33) {\n while (1) switch (_context33.n) {\n case 0:\n _context33.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec3 = _context33.v;\n dfp_telemetry_id = _yield$this$dfpProtec3.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec3.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context33.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/sms/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee33, this);\n }));\n },\n send: function send(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee34() {\n var _yield$this$dfpProtec4, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context34) {\n while (1) switch (_context34.n) {\n case 0:\n _context34.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec4 = _context34.v;\n dfp_telemetry_id = _yield$this$dfpProtec4.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec4.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/sms/send/secondary' : '/otps/sms/send/primary';\n return _context34.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee34, this);\n }));\n }\n };\n this.whatsapp = {\n loginOrCreate: function loginOrCreate(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee35() {\n var _yield$this$dfpProtec5, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context35) {\n while (1) switch (_context35.n) {\n case 0:\n _context35.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec5 = _context35.v;\n dfp_telemetry_id = _yield$this$dfpProtec5.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec5.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context35.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/whatsapp/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee35, this);\n }));\n },\n send: function send(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee36() {\n var _yield$this$dfpProtec6, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context36) {\n while (1) switch (_context36.n) {\n case 0:\n _context36.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec6 = _context36.v;\n dfp_telemetry_id = _yield$this$dfpProtec6.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec6.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/whatsapp/send/secondary' : '/otps/whatsapp/send/primary';\n return _context36.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee36, this);\n }));\n }\n };\n this.email = {\n loginOrCreate: function loginOrCreate(email, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee37() {\n var _yield$this$dfpProtec7, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context37) {\n while (1) switch (_context37.n) {\n case 0:\n _context37.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec7 = _context37.v;\n dfp_telemetry_id = _yield$this$dfpProtec7.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec7.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context37.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee37, this);\n }));\n },\n send: function send(email, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee38() {\n var captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context38) {\n while (1) switch (_context38.n) {\n case 0:\n _context38.n = 1;\n return this.executeRecaptcha();\n case 1:\n captcha_token = _context38.v;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n captcha_token: captcha_token\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/email/send/secondary' : '/otps/email/send/primary';\n return _context38.a(2, this._networkClient.fetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee38, this);\n }));\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (code, method_id, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee39() {\n var _yield$this$dfpProtec8, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context39) {\n while (1) switch (_context39.n) {\n case 0:\n validate('stytch.otps.authenticate').isString('Code', code).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context39.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec8 = _context39.v;\n dfp_telemetry_id = _yield$this$dfpProtec8.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec8.captcha_token;\n requestBody = Object.assign({\n token: code,\n method_id: method_id,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, options);\n _context39.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/otps/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context39.v;\n return _context39.a(2, omitUser(resp));\n }\n }, _callee39, this);\n }));\n });\n});\nvar HeadlessOAuthClient = /*#__PURE__*/function () {\n function HeadlessOAuthClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config) {\n var _this8 = this;\n _classCallCheck(this, HeadlessOAuthClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.google = {\n start: this.startOAuthFlow(OAuthProviders.Google)\n };\n this.apple = {\n start: this.startOAuthFlow(OAuthProviders.Apple)\n };\n this.microsoft = {\n start: this.startOAuthFlow(OAuthProviders.Microsoft)\n };\n this.github = {\n start: this.startOAuthFlow(OAuthProviders.Github)\n };\n this.gitlab = {\n start: this.startOAuthFlow(OAuthProviders.GitLab)\n };\n this.facebook = {\n start: this.startOAuthFlow(OAuthProviders.Facebook)\n };\n this.discord = {\n start: this.startOAuthFlow(OAuthProviders.Discord)\n };\n this.salesforce = {\n start: this.startOAuthFlow(OAuthProviders.Salesforce)\n };\n this.slack = {\n start: this.startOAuthFlow(OAuthProviders.Slack)\n };\n this.amazon = {\n start: this.startOAuthFlow(OAuthProviders.Amazon)\n };\n this.bitbucket = {\n start: this.startOAuthFlow(OAuthProviders.Bitbucket)\n };\n this.linkedin = {\n start: this.startOAuthFlow(OAuthProviders.LinkedIn)\n };\n this.coinbase = {\n start: this.startOAuthFlow(OAuthProviders.Coinbase)\n };\n this.twitch = {\n start: this.startOAuthFlow(OAuthProviders.Twitch)\n };\n this.twitter = {\n start: this.startOAuthFlow(OAuthProviders.Twitter)\n };\n this.tiktok = {\n start: this.startOAuthFlow(OAuthProviders.TikTok)\n };\n this.snapchat = {\n start: this.startOAuthFlow(OAuthProviders.Snapchat)\n };\n this.figma = {\n start: this.startOAuthFlow(OAuthProviders.Figma)\n };\n this.yahoo = {\n start: this.startOAuthFlow(OAuthProviders.Yahoo)\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (token, options) {\n return __awaiter(_this8, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee40() {\n var keyPair, resp;\n return _regenerator().w(function (_context40) {\n while (1) switch (_context40.n) {\n case 0:\n validate('stytch.oauth.authenticate').isString('Token', token).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context40.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context40.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for OAuth flow.\\n' + 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context40.n = 2;\n return this._networkClient.fetchSDK({\n url: '/oauth/authenticate',\n method: 'POST',\n body: Object.assign({\n token: token,\n code_verifier: keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier\n }, options)\n });\n case 2:\n resp = _context40.v;\n this._pkceManager.clearPKPair();\n return _context40.a(2, omitUser(resp));\n }\n }, _callee40, this);\n }));\n });\n }\n return _createClass(HeadlessOAuthClient, [{\n key: \"attach\",\n value: function attach(provider) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee41() {\n return _regenerator().w(function (_context41) {\n while (1) switch (_context41.n) {\n case 0:\n validate('stytch.oauth.attach').isString('Provider', provider);\n _context41.n = 1;\n return this._networkClient.fetchSDK({\n url: '/oauth/attach',\n method: 'POST',\n body: {\n provider: provider\n }\n });\n case 1:\n return _context41.a(2, _context41.v);\n }\n }, _callee41, this);\n }));\n }\n }, {\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee42() {\n var _yield$this$_dynamicC, cnameDomain;\n return _regenerator().w(function (_context42) {\n while (1) switch (_context42.n) {\n case 0:\n _context42.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC = _context42.v;\n cnameDomain = _yield$this$_dynamicC.cnameDomain;\n if (!cnameDomain) {\n _context42.n = 2;\n break;\n }\n return _context42.a(2, \"https://\".concat(cnameDomain));\n case 2:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context42.n = 3;\n break;\n }\n return _context42.a(2, this._config.testAPIURL);\n case 3:\n return _context42.a(2, this._config.liveAPIURL);\n }\n }, _callee42, this);\n }));\n }\n }, {\n key: \"startOAuthFlow\",\n value: function startOAuthFlow(providerType) {\n var _this9 = this;\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n login_redirect_url = _ref6.login_redirect_url,\n signup_redirect_url = _ref6.signup_redirect_url,\n custom_scopes = _ref6.custom_scopes,\n provider_params = _ref6.provider_params,\n oauth_attach_token = _ref6.oauth_attach_token;\n return __awaiter(_this9, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee43() {\n var _yield$this$_dynamicC2, cnameDomain, pkceRequiredForOAuth, baseURL, oauthUrl, keyPair, key;\n return _regenerator().w(function (_context43) {\n while (1) switch (_context43.n) {\n case 0:\n _context43.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC2 = _context43.v;\n cnameDomain = _yield$this$_dynamicC2.cnameDomain;\n pkceRequiredForOAuth = _yield$this$_dynamicC2.pkceRequiredForOAuth;\n _context43.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context43.v;\n this._networkClient.logEvent({\n name: 'start_oauth_flow',\n details: {\n provider_type: providerType,\n custom_scopes: custom_scopes,\n cname_domain: cnameDomain,\n pkce: pkceRequiredForOAuth,\n provider_params: provider_params\n }\n });\n oauthUrl = new URL(\"\".concat(baseURL, \"/v1/public/oauth/\").concat(providerType, \"/start\"));\n oauthUrl.searchParams.set('public_token', this._config.publicToken);\n if (!pkceRequiredForOAuth) {\n _context43.n = 4;\n break;\n }\n _context43.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context43.v;\n oauthUrl.searchParams.set('code_challenge', keyPair.code_challenge);\n _context43.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n oauthUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n oauthUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (login_redirect_url) oauthUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) oauthUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n if (oauth_attach_token) oauthUrl.searchParams.set('oauth_attach_token', oauth_attach_token);\n window.location.href = oauthUrl.toString();\n case 6:\n return _context43.a(2);\n }\n }, _callee43, this);\n }));\n };\n }\n }]);\n}();\nvar DefaultDynamicConfig$3 = Promise.resolve({\n siweRequiredForCryptoWallets: false\n});\nvar HeadlessCryptoWalletClient = /*#__PURE__*/function () {\n function HeadlessCryptoWalletClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this0 = this;\n var executeRecaptcha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n return Promise.resolve(undefined);\n };\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n var _config = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : DefaultDynamicConfig$3;\n _classCallCheck(this, HeadlessCryptoWalletClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.executeRecaptcha = executeRecaptcha;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this._config = _config;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee44() {\n var _yield$this$dfpProtec9, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context44) {\n while (1) switch (_context44.n) {\n case 0:\n validate('stytch.cryptoWallets.authenticate').isString('signature', options.signature).isString('crypto_wallet_address', options.crypto_wallet_address).isString('crypto_wallet_type', options.crypto_wallet_type).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context44.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec9 = _context44.v;\n dfp_telemetry_id = _yield$this$dfpProtec9.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec9.captcha_token;\n _context44.n = 2;\n return this._apiNetworkClient.retriableFetchSDK({\n url: '/crypto_wallets/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n signature: options.signature,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context44.v;\n return _context44.a(2, omitUser(resp));\n }\n }, _callee44, this);\n }));\n });\n }\n return _createClass(HeadlessCryptoWalletClient, [{\n key: \"authenticateStart\",\n value: function authenticateStart(options) {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee45() {\n var isLoggedIn, captcha_token, _yield$this$_config3, siweRequiredForCryptoWallets, body, endpoint, requestBody;\n return _regenerator().w(function (_context45) {\n while (1) switch (_context45.n) {\n case 0:\n validate('stytch.cryptoWallets.authenticateStart').isString('crypto_wallet_address', options.crypto_wallet_address).isString('crypto_wallet_type', options.crypto_wallet_type);\n if (options.siwe_params) {\n validate('stytch.cryptoWallets.authenticateStart').isOptionalString('uri', options.siwe_params.uri).isOptionalString('chain_id', options.siwe_params.chain_id).isOptionalString('issued_at', options.siwe_params.issued_at).isOptionalString('statement', options.siwe_params.statement).isOptionalString('not_before', options.siwe_params.not_before).isOptionalString('message_request_id', options.siwe_params.message_request_id).isOptionalStringArray('resources', options.siwe_params.resources);\n }\n isLoggedIn = !!this._subscriptionService.getSession();\n _context45.n = 1;\n return this.executeRecaptcha();\n case 1:\n captcha_token = _context45.v;\n _context45.n = 2;\n return this._config;\n case 2:\n _yield$this$_config3 = _context45.v;\n siweRequiredForCryptoWallets = _yield$this$_config3.siweRequiredForCryptoWallets;\n body = {\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type\n };\n if (siweRequiredForCryptoWallets && options.crypto_wallet_type == 'ethereum') {\n body.siwe_params = Object.assign(Object.assign({}, options.siwe_params), {\n uri: ((_a = options.siwe_params) === null || _a === void 0 ? void 0 : _a.uri) || window.location.origin\n });\n }\n endpoint = isLoggedIn ? '/crypto_wallets/authenticate/start/secondary' : '/crypto_wallets/authenticate/start/primary';\n requestBody = Object.assign(Object.assign({}, body), {\n captcha_token: captcha_token\n });\n return _context45.a(2, this._apiNetworkClient.fetchSDK({\n url: endpoint,\n method: 'POST',\n body: requestBody\n }));\n }\n }, _callee45, this);\n }));\n }\n }]);\n}();\nvar HeadlessTOTPClient = /*#__PURE__*/function () {\n function HeadlessTOTPClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this1 = this;\n _classCallCheck(this, HeadlessTOTPClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this1, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee46() {\n var _yield$this$dfpProtec0, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context46) {\n while (1) switch (_context46.n) {\n case 0:\n validate('stytch.totps.authenticate').isNumber('session_duration_minutes', options.session_duration_minutes).isString('totp_code', options.totp_code);\n _context46.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec0 = _context46.v;\n dfp_telemetry_id = _yield$this$dfpProtec0.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec0.captcha_token;\n _context46.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/totps/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n totp_code: options.totp_code,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context46.v;\n return _context46.a(2, omitUser(resp));\n }\n }, _callee46, this);\n }));\n });\n this.recover = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this1, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee47() {\n var _yield$this$dfpProtec1, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context47) {\n while (1) switch (_context47.n) {\n case 0:\n validate('stytch.totps.recover').isNumber('session_duration_minutes', options.session_duration_minutes).isString('recovery_code', options.recovery_code);\n _context47.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec1 = _context47.v;\n dfp_telemetry_id = _yield$this$dfpProtec1.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec1.captcha_token;\n _context47.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/totps/recover',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n recovery_code: options.recovery_code,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context47.v;\n return _context47.a(2, omitUser(resp));\n }\n }, _callee47, this);\n }));\n });\n }\n return _createClass(HeadlessTOTPClient, [{\n key: \"create\",\n value: function create(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee48() {\n var resp;\n return _regenerator().w(function (_context48) {\n while (1) switch (_context48.n) {\n case 0:\n validate('stytch.totps.create').isNumber('expiration_minutes', options.expiration_minutes);\n _context48.n = 1;\n return this._networkClient.fetchSDK({\n url: '/totps',\n method: 'POST',\n body: {\n expiration_minutes: options.expiration_minutes\n }\n });\n case 1:\n resp = _context48.v;\n this._subscriptionService.updateUser(resp.__user);\n return _context48.a(2, omitUser(resp));\n }\n }, _callee48, this);\n }));\n }\n }, {\n key: \"recoveryCodes\",\n value: function recoveryCodes() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee49() {\n return _regenerator().w(function (_context49) {\n while (1) switch (_context49.n) {\n case 0:\n return _context49.a(2, this._networkClient.fetchSDK({\n url: '/totps/recovery_codes',\n method: 'POST'\n }));\n }\n }, _callee49, this);\n }));\n }\n }]);\n}(); // src/webauthn-json/base64url.ts\nfunction base64urlToBuffer(baseurl64String) {\n var padding = \"==\".slice(0, (4 - baseurl64String.length % 4) % 4);\n var base64String = baseurl64String.replace(/-/g, \"+\").replace(/_/g, \"/\") + padding;\n var str = atob(base64String);\n var buffer = new ArrayBuffer(str.length);\n var byteView = new Uint8Array(buffer);\n for (var _i = 0; _i < str.length; _i++) {\n byteView[_i] = str.charCodeAt(_i);\n }\n return buffer;\n}\nfunction bufferToBase64url(buffer) {\n var byteView = new Uint8Array(buffer);\n var str = \"\";\n var _iterator2 = _createForOfIteratorHelper(byteView),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var charCode = _step2.value;\n str += String.fromCharCode(charCode);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n var base64String = btoa(str);\n var base64urlString = base64String.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n return base64urlString;\n}\n// src/webauthn-json/convert.ts\nvar copyValue = \"copy\";\nvar convertValue = \"convert\";\nfunction convert(conversionFn, schema2, input) {\n if (schema2 === copyValue) {\n return input;\n }\n if (schema2 === convertValue) {\n return conversionFn(input);\n }\n if (schema2 instanceof Array) {\n return input.map(function (v) {\n return convert(conversionFn, schema2[0], v);\n });\n }\n if (schema2 instanceof Object) {\n var output = {};\n for (var _i2 = 0, _Object$entries = Object.entries(schema2); _i2 < _Object$entries.length; _i2++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),\n key = _Object$entries$_i[0],\n schemaField = _Object$entries$_i[1];\n if (schemaField.derive) {\n var v = schemaField.derive(input);\n if (v !== void 0) {\n input[key] = v;\n }\n }\n if (!(key in input)) {\n if (schemaField.required) {\n throw new Error(\"Missing key: \".concat(key));\n }\n continue;\n }\n if (input[key] == null) {\n output[key] = null;\n continue;\n }\n output[key] = convert(conversionFn, schemaField.schema, input[key]);\n }\n return output;\n }\n}\nfunction derived(schema2, derive) {\n return {\n required: true,\n schema: schema2,\n derive: derive\n };\n}\nfunction required(schema2) {\n return {\n required: true,\n schema: schema2\n };\n}\nfunction optional(schema2) {\n return {\n required: false,\n schema: schema2\n };\n}\n// src/webauthn-json/basic/schema.ts\nvar publicKeyCredentialDescriptorSchema = {\n type: required(copyValue),\n id: required(convertValue),\n transports: optional(copyValue)\n};\nvar simplifiedExtensionsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar simplifiedClientExtensionResultsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar credentialCreationOptions = {\n publicKey: required({\n rp: required(copyValue),\n user: required({\n id: required(convertValue),\n name: required(copyValue),\n displayName: required(copyValue)\n }),\n challenge: required(convertValue),\n pubKeyCredParams: required(copyValue),\n timeout: optional(copyValue),\n excludeCredentials: optional([publicKeyCredentialDescriptorSchema]),\n authenticatorSelection: optional(copyValue),\n attestation: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAttestation = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n attestationObject: required(convertValue),\n transports: derived(copyValue, function (response) {\n var _a;\n return ((_a = response.getTransports) == null ? void 0 : _a.call(response)) || [];\n })\n }),\n clientExtensionResults: derived(simplifiedClientExtensionResultsSchema, function (pkc) {\n return pkc.getClientExtensionResults();\n })\n};\nvar credentialRequestOptions = {\n mediation: optional(copyValue),\n publicKey: required({\n challenge: required(convertValue),\n timeout: optional(copyValue),\n rpId: optional(copyValue),\n allowCredentials: optional([publicKeyCredentialDescriptorSchema]),\n userVerification: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAssertion = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n authenticatorData: required(convertValue),\n signature: required(convertValue),\n userHandle: required(convertValue)\n }),\n clientExtensionResults: derived(simplifiedClientExtensionResultsSchema, function (pkc) {\n return pkc.getClientExtensionResults();\n })\n};\n// src/webauthn-json/basic/api.ts\nfunction createRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialCreationOptions, requestJSON);\n}\nfunction createResponseToJSON(credential) {\n return convert(bufferToBase64url, publicKeyCredentialWithAttestation, credential);\n}\nfunction create(requestJSON) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee50() {\n var credential;\n return _regenerator().w(function (_context50) {\n while (1) switch (_context50.n) {\n case 0:\n _context50.n = 1;\n return navigator.credentials.create(createRequestFromJSON(requestJSON));\n case 1:\n credential = _context50.v;\n return _context50.a(2, createResponseToJSON(credential));\n }\n }, _callee50);\n }));\n}\nfunction getRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialRequestOptions, requestJSON);\n}\nfunction getResponseToJSON(credential) {\n return convert(bufferToBase64url, publicKeyCredentialWithAssertion, credential);\n}\nfunction get(requestJSON) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee51() {\n var credential;\n return _regenerator().w(function (_context51) {\n while (1) switch (_context51.n) {\n case 0:\n _context51.n = 1;\n return navigator.credentials.get(getRequestFromJSON(requestJSON));\n case 1:\n credential = _context51.v;\n return _context51.a(2, getResponseToJSON(credential));\n }\n }, _callee51);\n }));\n}\nvar HeadlessWebAuthnClient = /*#__PURE__*/function () {\n function HeadlessWebAuthnClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this10 = this;\n _classCallCheck(this, HeadlessWebAuthnClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.register = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this10, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee52() {\n var _a, _b, startResp, publicKeyCredentialCreationOptions, publicKey, credential, resp;\n return _regenerator().w(function (_context52) {\n while (1) switch (_context52.n) {\n case 0:\n validate('stytch.webauthn.register').isOptionalString('domain', options === null || options === void 0 ? void 0 : options.domain).isOptionalString('authenticator_type', options === null || options === void 0 ? void 0 : options.authenticator_type).isOptionalBoolean('is_passkey', options === null || options === void 0 ? void 0 : options.is_passkey).isOptionalNumber('session_duration_minutes', options === null || options === void 0 ? void 0 : options.session_duration_minutes).isOptionalString('override_id', options === null || options === void 0 ? void 0 : options.override_id).isOptionalString('override_name', options === null || options === void 0 ? void 0 : options.override_name).isOptionalString('override_display_name', options === null || options === void 0 ? void 0 : options.override_display_name).isOptionalBoolean('use_base64_url_encoding', options === null || options === void 0 ? void 0 : options.use_base64_url_encoding);\n _context52.n = 1;\n return this._networkClient.fetchSDK({\n url: '/webauthn/register/start',\n method: 'POST',\n body: {\n domain: (_a = options === null || options === void 0 ? void 0 : options.domain) !== null && _a !== void 0 ? _a : window.location.hostname,\n authenticator_type: (_b = options === null || options === void 0 ? void 0 : options.authenticator_type) !== null && _b !== void 0 ? _b : undefined,\n return_passkey_credential_options: options === null || options === void 0 ? void 0 : options.is_passkey,\n override_id: options === null || options === void 0 ? void 0 : options.override_id,\n override_name: options === null || options === void 0 ? void 0 : options.override_name,\n override_display_name: options === null || options === void 0 ? void 0 : options.override_display_name,\n user_agent: navigator.userAgent,\n use_base64_url_encoding: options === null || options === void 0 ? void 0 : options.use_base64_url_encoding\n }\n });\n case 1:\n startResp = _context52.v;\n publicKeyCredentialCreationOptions = startResp.public_key_credential_creation_options;\n publicKey = JSON.parse(publicKeyCredentialCreationOptions);\n _context52.n = 2;\n return create({\n publicKey: publicKey\n });\n case 2:\n credential = _context52.v;\n _context52.n = 3;\n return this._networkClient.fetchSDK({\n url: '/webauthn/register',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n }\n });\n case 3:\n resp = _context52.v;\n return _context52.a(2, omitUser(resp));\n }\n }, _callee52, this);\n }));\n });\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this10, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee53() {\n var _c, _d, _yield$this$dfpProtec10, dfp_telemetry_id, captcha_token, isLoggedIn, endpoint, startResp, publicKeyCredentialRequestOptions, abortController, credReqOptions, conditionalMediationCredReqOption, credential, authenticationData;\n return _regenerator().w(function (_context53) {\n while (1) switch (_context53.n) {\n case 0:\n validate('stytch.webauthn.authenticate').isOptionalString('domain', options.domain).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalBoolean('is_passkey', options.is_passkey).isOptionalObject('signal', options.signal);\n _context53.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec10 = _context53.v;\n dfp_telemetry_id = _yield$this$dfpProtec10.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec10.captcha_token;\n if (!options.conditional_mediation) {\n _context53.n = 4;\n break;\n }\n _context53.n = 2;\n return this.browserSupportsAutofill();\n case 2:\n if (_context53.v) {\n _context53.n = 3;\n break;\n }\n logger.error('Browser does not support WebAuthn autofill');\n return _context53.a(2, null);\n case 3:\n if (this.checkEligibleInputs()) {\n _context53.n = 4;\n break;\n }\n return _context53.a(2, null);\n case 4:\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/webauthn/authenticate/start/secondary' : '/webauthn/authenticate/start/primary';\n _context53.n = 5;\n return this._networkClient.fetchSDK({\n url: endpoint,\n method: 'POST',\n body: {\n domain: (_c = options.domain) !== null && _c !== void 0 ? _c : window.location.hostname,\n return_passkey_credential_options: options === null || options === void 0 ? void 0 : options.is_passkey\n }\n });\n case 5:\n startResp = _context53.v;\n publicKeyCredentialRequestOptions = startResp.public_key_credential_request_options;\n abortController = new AbortController();\n credReqOptions = {\n publicKey: JSON.parse(publicKeyCredentialRequestOptions),\n signal: (_d = options.signal) !== null && _d !== void 0 ? _d : abortController.signal\n };\n conditionalMediationCredReqOption = Object.assign(Object.assign({}, credReqOptions), {\n mediation: 'conditional'\n });\n _context53.n = 6;\n return get(options.conditional_mediation ? conditionalMediationCredReqOption : credReqOptions);\n case 6:\n credential = _context53.v;\n _context53.n = 7;\n return this._networkClient.retriableFetchSDK({\n url: '/webauthn/authenticate',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 7:\n authenticationData = _context53.v;\n return _context53.a(2, omitUser(authenticationData));\n }\n }, _callee53, this);\n }));\n });\n this.checkEligibleInputs = function () {\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n var eligibleInputs = document.querySelectorAll(\"input[autocomplete*='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1) {\n logger.error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n return false;\n }\n return true;\n };\n }\n return _createClass(HeadlessWebAuthnClient, [{\n key: \"update\",\n value: function update(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee54() {\n var url;\n return _regenerator().w(function (_context54) {\n while (1) switch (_context54.n) {\n case 0:\n validate('stytch.webauthn.update').isString('webauthn_registration_id', options.webauthn_registration_id).isString('name', options.name);\n url = '/webauthn/update/' + options.webauthn_registration_id;\n _context54.n = 1;\n return this._networkClient.fetchSDK({\n url: url,\n method: 'PUT',\n body: {\n name: options.name\n }\n });\n case 1:\n return _context54.a(2, _context54.v);\n }\n }, _callee54, this);\n }));\n }\n }, {\n key: \"browserSupportsAutofill\",\n value: function browserSupportsAutofill() {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee55() {\n var _t0, _t1, _t10;\n return _regenerator().w(function (_context55) {\n while (1) switch (_context55.n) {\n case 0:\n _context55.n = 1;\n return (_b = (_a = window.PublicKeyCredential) === null || _a === void 0 ? void 0 : _a.isConditionalMediationAvailable) === null || _b === void 0 ? void 0 : _b.call(_a);\n case 1:\n _t1 = _c = _context55.v;\n _t0 = _t1 !== null;\n if (!_t0) {\n _context55.n = 2;\n break;\n }\n _t0 = _c !== void 0;\n case 2:\n if (!_t0) {\n _context55.n = 3;\n break;\n }\n _t10 = _c;\n _context55.n = 4;\n break;\n case 3:\n _t10 = false;\n case 4:\n return _context55.a(2, _t10);\n }\n }, _callee55);\n }));\n }\n }]);\n}();\nvar DefaultDynamicConfig$2 = Promise.resolve({\n pkceRequiredForPasswordResets: false\n});\nvar HeadlessPasswordClient = /*#__PURE__*/function () {\n function HeadlessPasswordClient(_networkClient, _subscriptionService, _pkceManager) {\n var _this11 = this;\n var _config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DefaultDynamicConfig$2;\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n _classCallCheck(this, HeadlessPasswordClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.create = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee56() {\n var _yield$this$dfpProtec11, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context56) {\n while (1) switch (_context56.n) {\n case 0:\n validate('stytch.passwords.create').isString('password', options.password).isString('email', options.email).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context56.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec11 = _context56.v;\n dfp_telemetry_id = _yield$this$dfpProtec11.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec11.captcha_token;\n _context56.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context56.v;\n return _context56.a(2, omitUser(resp));\n }\n }, _callee56, this);\n }));\n });\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee57() {\n var _yield$this$dfpProtec12, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context57) {\n while (1) switch (_context57.n) {\n case 0:\n validate('stytch.passwords.authenticate').isString('password', options.password).isString('email', options.email).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context57.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec12 = _context57.v;\n dfp_telemetry_id = _yield$this$dfpProtec12.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec12.captcha_token;\n _context57.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/authenticate',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context57.v;\n return _context57.a(2, omitUser(resp));\n }\n }, _callee57, this);\n }));\n });\n this.resetByEmail = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee58() {\n var _yield$this$dfpProtec13, dfp_telemetry_id, captcha_token, pkPair, code_verifier, resp;\n return _regenerator().w(function (_context58) {\n while (1) switch (_context58.n) {\n case 0:\n validate('stytch.passwords.resetByEmail').isString('token', options.token).isString('password', options.password).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context58.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec13 = _context58.v;\n dfp_telemetry_id = _yield$this$dfpProtec13.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec13.captcha_token;\n _context58.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context58.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context58.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/email/reset',\n method: 'POST',\n body: {\n token: options.token,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n code_verifier: code_verifier,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context58.v;\n this._pkceManager.clearPKPair();\n return _context58.a(2, omitUser(resp));\n }\n }, _callee58, this);\n }));\n });\n this.resetByExistingPassword = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee59() {\n var _yield$this$dfpProtec14, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context59) {\n while (1) switch (_context59.n) {\n case 0:\n validate('stytch.passwords.resetByExistingPassword').isString('email', options.email).isString('existing_password', options.existing_password).isString('new_password', options.new_password).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context59.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec14 = _context59.v;\n dfp_telemetry_id = _yield$this$dfpProtec14.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec14.captcha_token;\n _context59.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/existing_password/reset',\n method: 'POST',\n body: {\n email: options.email,\n existing_password: options.existing_password,\n new_password: options.new_password,\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context59.v;\n return _context59.a(2, omitUser(resp));\n }\n }, _callee59, this);\n }));\n });\n this.resetBySession = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee60() {\n var _yield$this$dfpProtec15, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context60) {\n while (1) switch (_context60.n) {\n case 0:\n validate('stytch.passwords.resetBySession').isString('password', options.password);\n _context60.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec15 = _context60.v;\n dfp_telemetry_id = _yield$this$dfpProtec15.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec15.captcha_token;\n return _context60.a(2, this._networkClient.retriableFetchSDK({\n url: '/passwords/session/reset',\n method: 'POST',\n body: {\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee60, this);\n }));\n });\n }\n return _createClass(HeadlessPasswordClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee61() {\n var _yield$this$_config4, pkceRequiredForPasswordResets, keyPair;\n return _regenerator().w(function (_context61) {\n while (1) switch (_context61.n) {\n case 0:\n _context61.n = 1;\n return this._config;\n case 1:\n _yield$this$_config4 = _context61.v;\n pkceRequiredForPasswordResets = _yield$this$_config4.pkceRequiredForPasswordResets;\n if (pkceRequiredForPasswordResets) {\n _context61.n = 2;\n break;\n }\n return _context61.a(2, undefined);\n case 2:\n _context61.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context61.v;\n if (!keyPair) {\n _context61.n = 4;\n break;\n }\n return _context61.a(2, keyPair.code_challenge);\n case 4:\n _context61.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context61.v;\n return _context61.a(2, keyPair.code_challenge);\n }\n }, _callee61, this);\n }));\n }\n }, {\n key: \"resetByEmailStart\",\n value: function resetByEmailStart(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee62() {\n var code_challenge, _yield$this$dfpProtec16, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context62) {\n while (1) switch (_context62.n) {\n case 0:\n validate('stytch.passwords.resetByEmailStart').isString('email', options.email).isOptionalString('login_redirect_url', options.login_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('locale', options.locale);\n _context62.n = 1;\n return this.getCodeChallenge();\n case 1:\n code_challenge = _context62.v;\n _context62.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec16 = _context62.v;\n dfp_telemetry_id = _yield$this$dfpProtec16.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec16.captcha_token;\n return _context62.a(2, this._networkClient.retriableFetchSDK({\n url: '/passwords/email/reset/start',\n method: 'POST',\n body: {\n email: options.email,\n login_redirect_url: options.login_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n locale: options.locale,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee62, this);\n }));\n }\n }, {\n key: \"strengthCheck\",\n value: function strengthCheck(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee63() {\n return _regenerator().w(function (_context63) {\n while (1) switch (_context63.n) {\n case 0:\n validate('stytch.passwords.strengthCheck').isOptionalString('email', options.email).isString('password', options.password);\n return _context63.a(2, this._networkClient.fetchSDK({\n url: '/passwords/strength_check',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password\n }\n }));\n }\n }, _callee63, this);\n }));\n }\n }]);\n}();\nvar HeadlessImpersonationClient = /*#__PURE__*/_createClass(function HeadlessImpersonationClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this12 = this;\n _classCallCheck(this, HeadlessImpersonationClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this12, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee64() {\n var _yield$this$dfpProtec17, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context64) {\n while (1) switch (_context64.n) {\n case 0:\n validate('stytch.impersonation.authenticate').isString('impersonation_token', data.impersonation_token);\n _context64.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec17 = _context64.v;\n dfp_telemetry_id = _yield$this$dfpProtec17.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec17.captcha_token;\n return _context64.a(2, this._networkClient.retriableFetchSDK({\n url: '/impersonation/authenticate',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee64, this);\n }));\n });\n});\nvar WILDCARD_ACTION = '*';\n/**\n * RBACPolicy represents an instance of a parsed Stytch RBAC policy object\n * It contains methods for computing outcomes for various permissions questions\n */\nvar RBACPolicy = /*#__PURE__*/function () {\n function RBACPolicy(roles, resources) {\n var _this13 = this;\n _classCallCheck(this, RBACPolicy);\n this.roles = roles;\n this.resources = resources;\n this.rolesByID = {};\n roles.forEach(function (role) {\n return _this13.rolesByID[role.role_id] = role;\n });\n }\n return _createClass(RBACPolicy, [{\n key: \"mergeWithCustomRoles\",\n value:\n /**\n * Merges organization custom roles with this project policy.\n * Custom roles are additive - they add additional roles on top of the base project policy.\n * Resources remain from the project policy, roles are combined.\n * @param customRoles Array of custom organization roles to add\n * @returns A new RBACPolicy instance with merged roles\n */\n function mergeWithCustomRoles(customRoles) {\n var mergedRoles = [].concat(_toConsumableArray(this.roles), _toConsumableArray(customRoles));\n // Resources come from the project policy - custom roles don't define new resources\n return new RBACPolicy(mergedRoles, this.resources);\n }\n /**\n * isAuthorized returns whether or not a user with a specific set of roles can perform a desired action\n * @example\n * const canDoIt = policy.callerIsAuthorized(roles, 'files', 'create')\n * console.log(canDoIt) // true\n */\n }, {\n key: \"callerIsAuthorized\",\n value: function callerIsAuthorized(memberRoles, resourceId, action) {\n var _this14 = this;\n return !!memberRoles.map(function (roleId) {\n return _this14.rolesByID[roleId];\n })\n // Defense in depth: filter out null/undefined in case memberRoles contains a role that doesn't match the policy\n // This may happen if the member is loaded _before_ a fresh RBAC policy is loaded\n .filter(function (v) {\n return v;\n }).flatMap(function (role) {\n return role.permissions;\n }).filter(function (permission) {\n return permission.resource_id === resourceId;\n }).find(function (permission) {\n return permission.actions.includes(action) || permission.actions.includes(WILDCARD_ACTION);\n });\n }\n /**\n * allPermissions generates a map that allows quick lookup of all the permissions available to the user\n * @example\n * const perms = policy.allPermissions(roles)\n * console.log(perms.files.create) // true\n * console.log(perms.files.delete) // false\n */\n }, {\n key: \"allPermissionsForCaller\",\n value: function allPermissionsForCaller(memberRoles) {\n var _this15 = this;\n var allPermsMap = Object.create(null);\n this.resources.forEach(function (resource) {\n allPermsMap[resource.resource_id] = {};\n resource.actions.forEach(function (action) {\n allPermsMap[resource.resource_id][action] = _this15.callerIsAuthorized(memberRoles, resource.resource_id, action);\n });\n });\n return allPermsMap;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(input) {\n return new RBACPolicy(input.roles, input.resources);\n }\n }]);\n}();\nvar HeadlessRBACClient = /*#__PURE__*/function () {\n function HeadlessRBACClient(cachedConfig, dynamicConfig, _subscriptionService) {\n var _this16 = this;\n _classCallCheck(this, HeadlessRBACClient);\n this._subscriptionService = _subscriptionService;\n this.isAuthorizedSync = function (resourceId, action) {\n var _a;\n return !!((_a = _this16.cachedPolicy) === null || _a === void 0 ? void 0 : _a.callerIsAuthorized(_this16.roleIds(), resourceId, action));\n };\n this.isAuthorized = function (resourceId, action) {\n return _this16.policyPromise.then(function (policy) {\n return policy.callerIsAuthorized(_this16.roleIds(), resourceId, action);\n });\n };\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then(function (data) {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n _this16.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return _this16.cachedPolicy;\n });\n }\n return _createClass(HeadlessRBACClient, [{\n key: \"allPermissions\",\n value: function allPermissions() {\n var _this17 = this;\n return this.policyPromise.then(function (policy) {\n return policy.allPermissionsForCaller(_this17.roleIds());\n });\n }\n }, {\n key: \"roleIds\",\n value: function roleIds() {\n var _a;\n var user = this._subscriptionService.getUser();\n if (!user) {\n return [];\n }\n // Although user.roles is guaranteed to exist for fresh data, there is a chance\n // that the user stored in localstorage clientside comes from before roles were added to\n // the API response - in which case user.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return (_a = user.roles) !== null && _a !== void 0 ? _a : [];\n }\n }]);\n}();\nvar HeadlessIDPClient = /*#__PURE__*/_createClass(function HeadlessIDPClient(_networkClient) {\n var _this18 = this;\n _classCallCheck(this, HeadlessIDPClient);\n this._networkClient = _networkClient;\n this.oauthAuthorizeStart = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee65() {\n return _regenerator().w(function (_context65) {\n while (1) switch (_context65.n) {\n case 0:\n return _context65.a(2, this._networkClient.fetchSDK({\n url: '/idp/oauth/authorize/start',\n method: 'POST',\n body: data\n }));\n }\n }, _callee65, this);\n }));\n };\n this.oauthAuthorizeSubmit = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee66() {\n return _regenerator().w(function (_context66) {\n while (1) switch (_context66.n) {\n case 0:\n return _context66.a(2, this._networkClient.fetchSDK({\n url: '/idp/oauth/authorize/submit',\n method: 'POST',\n body: data\n }));\n }\n }, _callee66, this);\n }));\n };\n this.oauthLogoutStart = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee67() {\n return _regenerator().w(function (_context67) {\n while (1) switch (_context67.n) {\n case 0:\n return _context67.a(2, this._networkClient.fetchSDK({\n url: \"/oauth/logout/start\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee67, this);\n }));\n };\n});\nvar DefaultDynamicConfig$1 = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false\n});\nvar HeadlessB2BMagicLinksClient = /*#__PURE__*/function () {\n function HeadlessB2BMagicLinksClient(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager) {\n var _this19 = this;\n var _config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DefaultDynamicConfig$1;\n var dfpProtectedAuth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : DisabledDFPProtectedAuthProvider();\n _classCallCheck(this, HeadlessB2BMagicLinksClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._passwordResetPKCEManager = _passwordResetPKCEManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.email = {\n invite: function invite(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee68() {\n return _regenerator().w(function (_context68) {\n while (1) switch (_context68.n) {\n case 0:\n validate('stytch.magicLinks.email.invite').isString('email_address', data.email_address).isOptionalString('invite_redirect_url', data.invite_redirect_url).isOptionalString('invite_template_id', data.invite_template_id).isOptionalString('name', data.name).isOptionalString('locale', data.locale).isOptionalStringArray('roles', data.roles).isOptionalNumber('invite_expiration_minutes', data.invite_expiration_minutes);\n return _context68.a(2, this._networkClient.fetchSDK({\n url: '/b2b/magic_links/email/invite',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee68, this);\n }));\n },\n loginOrSignup: function loginOrSignup(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee69() {\n var pkce_code_challenge, requestBody;\n return _regenerator().w(function (_context69) {\n while (1) switch (_context69.n) {\n case 0:\n validate('stytch.magicLinks.email.loginOrSignup').isString('email_address', data.email_address).isString('organization_id', data.organization_id).isOptionalString('login_redirect_url', data.login_redirect_url).isOptionalString('login_template_id', data.login_template_id).isOptionalString('signup_redirect_url', data.signup_redirect_url).isOptionalString('signup_template_id', data.signup_template_id).isOptionalString('locale', data.locale).isOptionalNumber('login_expiration_minutes', data.login_expiration_minutes).isOptionalNumber('signup_expiration_minutes', data.signup_expiration_minutes);\n _context69.n = 1;\n return this.getCodeChallenge();\n case 1:\n pkce_code_challenge = _context69.v;\n requestBody = Object.assign(Object.assign({}, data), {\n pkce_code_challenge: pkce_code_challenge\n });\n return _context69.a(2, this._networkClient.fetchSDK({\n url: '/b2b/magic_links/email/login_or_signup',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee69, this);\n }));\n },\n discovery: {\n send: function send(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee70() {\n var _yield$this$dfpProtec18, dfp_telemetry_id, captcha_token, pkce_code_challenge, requestBody;\n return _regenerator().w(function (_context70) {\n while (1) switch (_context70.n) {\n case 0:\n validate('stytch.magicLinks.email.discovery.send').isString('email_address', data.email_address).isOptionalString('discovery_redirect_url', data.discovery_redirect_url).isOptionalString('login_template_id', data.login_template_id).isOptionalString('locale', data.locale).isOptionalNumber('discovery_expiration_minutes', data.discovery_expiration_minutes);\n _context70.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec18 = _context70.v;\n dfp_telemetry_id = _yield$this$dfpProtec18.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec18.captcha_token;\n _context70.n = 2;\n return this.getCodeChallenge();\n case 2:\n pkce_code_challenge = _context70.v;\n requestBody = Object.assign(Object.assign({}, data), {\n pkce_code_challenge: pkce_code_challenge,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context70.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee70, this);\n }));\n }\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee71() {\n var passwordResetPKPair, resp, _t11;\n return _regenerator().w(function (_context71) {\n while (1) switch (_context71.p = _context71.n) {\n case 0:\n validate('stytch.magicLinks.authenticate').isString('magic_links_token', data.magic_links_token).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n _context71.n = 1;\n return this._passwordResetPKCEManager.getPKPair();\n case 1:\n passwordResetPKPair = _context71.v;\n resp = null;\n if (!(passwordResetPKPair === null || passwordResetPKPair === void 0 ? void 0 : passwordResetPKPair.code_verifier)) {\n _context71.n = 6;\n break;\n }\n _context71.p = 2;\n _context71.n = 3;\n return this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, data);\n case 3:\n resp = _context71.v;\n _context71.n = 6;\n break;\n case 4:\n _context71.p = 4;\n _t11 = _context71.v;\n if (!_t11.message.includes('pkce')) {\n _context71.n = 5;\n break;\n }\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log('Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.');\n _context71.n = 6;\n break;\n case 5:\n throw _t11;\n case 6:\n if (resp) {\n _context71.n = 8;\n break;\n }\n _context71.n = 7;\n return this.handlePKCEForAuthenticate(this._pkceManager, data);\n case 7:\n resp = _context71.v;\n case 8:\n return _context71.a(2, resp);\n }\n }, _callee71, this, [[2, 4]]);\n }));\n });\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee72() {\n var pkPair, _yield$this$dfpProtec19, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context72) {\n while (1) switch (_context72.n) {\n case 0:\n validate('stytch.magicLinks.discovery.authenticate').isString('discovery_magic_links_token', data.discovery_magic_links_token);\n _context72.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context72.v;\n _context72.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec19 = _context72.v;\n dfp_telemetry_id = _yield$this$dfpProtec19.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec19.captcha_token;\n requestBody = Object.assign({\n pkce_code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n _context72.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context72.v;\n this._pkceManager.clearPKPair();\n return _context72.a(2, resp);\n }\n }, _callee72, this);\n }));\n })\n };\n }\n return _createClass(HeadlessB2BMagicLinksClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee73() {\n var _yield$this$_config5, pkceRequiredForEmailMagicLinks, keyPair;\n return _regenerator().w(function (_context73) {\n while (1) switch (_context73.n) {\n case 0:\n _context73.n = 1;\n return this._config;\n case 1:\n _yield$this$_config5 = _context73.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config5.pkceRequiredForEmailMagicLinks;\n if (pkceRequiredForEmailMagicLinks) {\n _context73.n = 2;\n break;\n }\n return _context73.a(2, undefined);\n case 2:\n _context73.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context73.v;\n if (!keyPair) {\n _context73.n = 4;\n break;\n }\n return _context73.a(2, keyPair.code_challenge);\n case 4:\n _context73.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context73.v;\n return _context73.a(2, keyPair.code_challenge);\n }\n }, _callee73, this);\n }));\n }\n }, {\n key: \"handlePKCEForAuthenticate\",\n value: function handlePKCEForAuthenticate(pkceManager, data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee74() {\n var pkPair, _yield$this$dfpProtec20, dfp_telemetry_id, captcha_token, requestBody, resp, _t12, _t13, _t14, _t15, _t16, _t17;\n return _regenerator().w(function (_context74) {\n while (1) switch (_context74.n) {\n case 0:\n _context74.n = 1;\n return pkceManager.getPKPair();\n case 1:\n pkPair = _context74.v;\n _context74.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec20 = _context74.v;\n dfp_telemetry_id = _yield$this$dfpProtec20.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec20.captcha_token;\n _t12 = Object;\n _t13 = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _t14 = dfp_telemetry_id;\n _t15 = captcha_token;\n _context74.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t16 = _context74.v;\n if (_t16) {\n _context74.n = 4;\n break;\n }\n _t16 = undefined;\n case 4:\n _t17 = _t16;\n requestBody = _t12.assign.call(_t12, {\n pkce_code_verifier: _t13,\n dfp_telemetry_id: _t14,\n captcha_token: _t15,\n intermediate_session_token: _t17\n }, data);\n _context74.n = 5;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 5:\n resp = _context74.v;\n pkceManager.clearPKPair();\n return _context74.a(2, resp);\n }\n }, _callee74, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BSelfClient = /*#__PURE__*/_createClass(function HeadlessB2BSelfClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this20 = this;\n _classCallCheck(this, HeadlessB2BSelfClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee75() {\n var resp;\n return _regenerator().w(function (_context75) {\n while (1) switch (_context75.n) {\n case 0:\n _context75.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/me\",\n method: 'GET'\n });\n case 1:\n resp = _context75.v;\n this._subscriptionService.updateMember(resp.member);\n return _context75.a(2, resp.member);\n }\n }, _callee75, this);\n }));\n };\n this.getSync = function () {\n return _this20._subscriptionService.getMember();\n };\n this.getInfo = function () {\n return {\n member: _this20.getSync(),\n fromCache: _this20._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this20._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.member) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.update = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee76() {\n var resp;\n return _regenerator().w(function (_context76) {\n while (1) switch (_context76.n) {\n case 0:\n validate('stytch.self.update').isOptionalString('name', data.name).isOptionalObject('untrusted_metadata', data.untrusted_metadata).isOptionalBoolean('mfa_enrolled', data.mfa_enrolled).isOptionalString('mfa_phone_number', data.mfa_phone_number).isOptionalString('default_mfa_method', data.default_mfa_method);\n _context76.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/update',\n body: data,\n method: 'PUT'\n });\n case 1:\n resp = _context76.v;\n this._subscriptionService.updateMember(resp.member);\n return _context76.a(2, resp);\n }\n }, _callee76, this);\n }));\n };\n this.deleteMFAPhoneNumber = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee77() {\n var resp;\n return _regenerator().w(function (_context77) {\n while (1) switch (_context77.n) {\n case 0:\n _context77.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/deletePhoneNumber',\n method: 'DELETE'\n });\n case 1:\n resp = _context77.v;\n this._subscriptionService.updateMember(resp.member);\n return _context77.a(2, resp);\n }\n }, _callee77, this);\n }));\n };\n this.deleteMFATOTP = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee78() {\n var resp;\n return _regenerator().w(function (_context78) {\n while (1) switch (_context78.n) {\n case 0:\n _context78.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/deleteTOTP\",\n method: 'DELETE'\n });\n case 1:\n resp = _context78.v;\n this._subscriptionService.updateMember(resp.member);\n return _context78.a(2, resp);\n }\n }, _callee78, this);\n }));\n };\n this.deletePassword = function (passwordId) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee79() {\n var resp;\n return _regenerator().w(function (_context79) {\n while (1) switch (_context79.n) {\n case 0:\n _context79.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/passwords/\".concat(passwordId),\n method: 'DELETE'\n });\n case 1:\n resp = _context79.v;\n this._subscriptionService.updateMember(resp.member);\n return _context79.a(2, resp);\n }\n }, _callee79, this);\n }));\n };\n this.unlinkRetiredEmail = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee80() {\n var resp;\n return _regenerator().w(function (_context80) {\n while (1) switch (_context80.n) {\n case 0:\n _context80.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: '/b2b/organizations/members/unlink_retired_email',\n method: 'POST',\n body: data\n });\n case 1:\n resp = _context80.v;\n this._subscriptionService.updateMember(resp.member);\n return _context80.a(2, resp);\n }\n }, _callee80, this);\n }));\n };\n this.startEmailUpdate = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee81() {\n var resp;\n return _regenerator().w(function (_context81) {\n while (1) switch (_context81.n) {\n case 0:\n _context81.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: '/b2b/organizations/members/start_email_update',\n method: 'POST',\n body: data\n });\n case 1:\n resp = _context81.v;\n this._subscriptionService.updateMember(resp.member);\n return _context81.a(2, resp);\n }\n }, _callee81, this);\n }));\n };\n this.getConnectedApps = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee82() {\n return _regenerator().w(function (_context82) {\n while (1) switch (_context82.n) {\n case 0:\n return _context82.a(2, this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/connected_apps',\n method: 'GET'\n }));\n }\n }, _callee82, this);\n }));\n };\n this.revokeConnectedApp = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee83() {\n return _regenerator().w(function (_context83) {\n while (1) switch (_context83.n) {\n case 0:\n return _context83.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/connected_apps/\".concat(data.connected_app_id, \"/revoke\"),\n method: 'POST'\n }));\n }\n }, _callee83, this);\n }));\n };\n});\nvar HeadlessB2BSSOClient = /*#__PURE__*/function () {\n function HeadlessB2BSSOClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, dfpProtectedAuth) {\n var _this21 = this;\n _classCallCheck(this, HeadlessB2BSSOClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee84() {\n var keyPair, _yield$this$dfpProtec21, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context84) {\n while (1) switch (_context84.n) {\n case 0:\n validate('stytch.sso.authenticate').isString('sso_token', options.sso_token).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context84.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context84.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for SSO flow.\\n' + 'Consider using stytch.sso.start() to add PKCE to your SSO flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context84.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec21 = _context84.v;\n dfp_telemetry_id = _yield$this$dfpProtec21.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec21.captcha_token;\n _context84.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/sso/authenticate',\n method: 'POST',\n body: Object.assign(Object.assign({\n pkce_code_verifier: keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier\n }, options), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n }),\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context84.v;\n this._pkceManager.clearPKPair();\n return _context84.a(2, resp);\n }\n }, _callee84, this);\n }));\n });\n this.saml = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee85() {\n return _regenerator().w(function (_context85) {\n while (1) switch (_context85.n) {\n case 0:\n _context85.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/saml',\n method: 'POST',\n body: data\n });\n case 1:\n return _context85.a(2, _context85.v);\n }\n }, _callee85, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee86() {\n return _regenerator().w(function (_context86) {\n while (1) switch (_context86.n) {\n case 0:\n _context86.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context86.a(2, _context86.v);\n }\n }, _callee86, this);\n }));\n },\n updateConnectionByURL: function updateConnectionByURL(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee87() {\n return _regenerator().w(function (_context87) {\n while (1) switch (_context87.n) {\n case 0:\n _context87.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/url\"),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context87.a(2, _context87.v);\n }\n }, _callee87, this);\n }));\n },\n deleteVerificationCertificate: function deleteVerificationCertificate(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee88() {\n return _regenerator().w(function (_context88) {\n while (1) switch (_context88.n) {\n case 0:\n _context88.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/verification_certificates/\").concat(data.certificate_id),\n method: 'DELETE'\n });\n case 1:\n return _context88.a(2, _context88.v);\n }\n }, _callee88, this);\n }));\n },\n deleteEncryptionPrivateKey: function deleteEncryptionPrivateKey(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee89() {\n return _regenerator().w(function (_context89) {\n while (1) switch (_context89.n) {\n case 0:\n _context89.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/encryption_private_key/\").concat(data.private_key_id),\n method: 'DELETE'\n });\n case 1:\n return _context89.a(2, _context89.v);\n }\n }, _callee89, this);\n }));\n }\n };\n this.oidc = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee90() {\n return _regenerator().w(function (_context90) {\n while (1) switch (_context90.n) {\n case 0:\n _context90.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/oidc',\n method: 'POST',\n body: data\n });\n case 1:\n return _context90.a(2, _context90.v);\n }\n }, _callee90, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee91() {\n return _regenerator().w(function (_context91) {\n while (1) switch (_context91.n) {\n case 0:\n _context91.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/oidc/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context91.a(2, _context91.v);\n }\n }, _callee91, this);\n }));\n }\n };\n this.external = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee92() {\n return _regenerator().w(function (_context92) {\n while (1) switch (_context92.n) {\n case 0:\n _context92.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/external',\n method: 'POST',\n body: data\n });\n case 1:\n return _context92.a(2, _context92.v);\n }\n }, _callee92, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee93() {\n return _regenerator().w(function (_context93) {\n while (1) switch (_context93.n) {\n case 0:\n _context93.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/external/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context93.a(2, _context93.v);\n }\n }, _callee93, this);\n }));\n }\n };\n }\n return _createClass(HeadlessB2BSSOClient, [{\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee94() {\n return _regenerator().w(function (_context94) {\n while (1) switch (_context94.n) {\n case 0:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context94.n = 1;\n break;\n }\n return _context94.a(2, this._config.testAPIURL);\n case 1:\n return _context94.a(2, this._config.liveAPIURL);\n }\n }, _callee94, this);\n }));\n }\n }, {\n key: \"start\",\n value: function start(_ref7) {\n var connection_id = _ref7.connection_id,\n login_redirect_url = _ref7.login_redirect_url,\n signup_redirect_url = _ref7.signup_redirect_url;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee95() {\n var _yield$this$_dynamicC3, pkceRequiredForSso, baseURL, startUrl, keyPair;\n return _regenerator().w(function (_context95) {\n while (1) switch (_context95.n) {\n case 0:\n _context95.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC3 = _context95.v;\n pkceRequiredForSso = _yield$this$_dynamicC3.pkceRequiredForSso;\n _context95.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context95.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/public/sso/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n startUrl.searchParams.set('connection_id', connection_id);\n if (!pkceRequiredForSso) {\n _context95.n = 4;\n break;\n }\n _context95.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context95.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context95.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (login_redirect_url) startUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) startUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n window.location.href = startUrl.toString();\n case 6:\n return _context95.a(2);\n }\n }, _callee95, this);\n }));\n }\n }, {\n key: \"getConnections\",\n value: function getConnections() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee96() {\n return _regenerator().w(function (_context96) {\n while (1) switch (_context96.n) {\n case 0:\n _context96.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso',\n method: 'GET'\n });\n case 1:\n return _context96.a(2, _context96.v);\n }\n }, _callee96, this);\n }));\n }\n }, {\n key: \"discoverConnections\",\n value: function discoverConnections(emailAddress) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee97() {\n return _regenerator().w(function (_context97) {\n while (1) switch (_context97.n) {\n case 0:\n _context97.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/discovery/connections?email_address=\".concat(encodeURIComponent(emailAddress)),\n method: 'GET'\n });\n case 1:\n return _context97.a(2, _context97.v);\n }\n }, _callee97, this);\n }));\n }\n }, {\n key: \"deleteConnection\",\n value: function deleteConnection(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee98() {\n return _regenerator().w(function (_context98) {\n while (1) switch (_context98.n) {\n case 0:\n return _context98.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/sso/\".concat(connectionId),\n method: 'DELETE'\n }));\n }\n }, _callee98, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BSCIMClient = /*#__PURE__*/function () {\n function HeadlessB2BSCIMClient(_networkClient, _subscriptionService) {\n _classCallCheck(this, HeadlessB2BSCIMClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n }\n return _createClass(HeadlessB2BSCIMClient, [{\n key: \"createConnection\",\n value: function createConnection(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee99() {\n return _regenerator().w(function (_context99) {\n while (1) switch (_context99.n) {\n case 0:\n validate('stytch.scim.createConnection').isOptionalString('display_name', data.display_name).isOptionalString('identity_provider', data.identity_provider);\n _context99.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim',\n method: 'POST',\n body: data\n });\n case 1:\n return _context99.a(2, _context99.v);\n }\n }, _callee99, this);\n }));\n }\n }, {\n key: \"updateConnection\",\n value: function updateConnection(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee100() {\n return _regenerator().w(function (_context100) {\n while (1) switch (_context100.n) {\n case 0:\n validate('stytch.scim.updateConnection').isString('connection_id', data.connection_id).isOptionalString('display_name', data.display_name).isOptionalString('identity_provider', data.identity_provider);\n _context100.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context100.a(2, _context100.v);\n }\n }, _callee100, this);\n }));\n }\n }, {\n key: \"deleteConnection\",\n value: function deleteConnection(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee101() {\n return _regenerator().w(function (_context101) {\n while (1) switch (_context101.n) {\n case 0:\n validate('stytch.scim.deleteConnection').isString('connection_id', connectionId);\n _context101.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/\".concat(connectionId),\n method: 'DELETE'\n });\n case 1:\n return _context101.a(2, _context101.v);\n }\n }, _callee101, this);\n }));\n }\n }, {\n key: \"getConnection\",\n value: function getConnection() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee102() {\n return _regenerator().w(function (_context102) {\n while (1) switch (_context102.n) {\n case 0:\n _context102.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim',\n method: 'GET'\n });\n case 1:\n return _context102.a(2, _context102.v);\n }\n }, _callee102, this);\n }));\n }\n }, {\n key: \"getConnectionGroups\",\n value: function getConnectionGroups(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee103() {\n return _regenerator().w(function (_context103) {\n while (1) switch (_context103.n) {\n case 0:\n validate('stytch.scim.getConnectionGroups').isOptionalNumber('limit', data.limit).isOptionalString('cursor', data.cursor);\n _context103.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim/groups',\n method: 'POST',\n body: data\n });\n case 1:\n return _context103.a(2, _context103.v);\n }\n }, _callee103, this);\n }));\n }\n }, {\n key: \"rotateStart\",\n value: function rotateStart(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee104() {\n return _regenerator().w(function (_context104) {\n while (1) switch (_context104.n) {\n case 0:\n validate('stytch.scim.rotateStart').isString('connectionId', connectionId);\n _context104.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/start\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context104.a(2, _context104.v);\n }\n }, _callee104, this);\n }));\n }\n }, {\n key: \"rotateComplete\",\n value: function rotateComplete(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee105() {\n return _regenerator().w(function (_context105) {\n while (1) switch (_context105.n) {\n case 0:\n validate('stytch.scim.rotateComplete').isString('connectionId', connectionId);\n _context105.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/complete\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context105.a(2, _context105.v);\n }\n }, _callee105, this);\n }));\n }\n }, {\n key: \"rotateCancel\",\n value: function rotateCancel(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee106() {\n return _regenerator().w(function (_context106) {\n while (1) switch (_context106.n) {\n case 0:\n validate('stytch.scim.rotateCancel').isString('connectionId', connectionId);\n _context106.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/cancel\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context106.a(2, _context106.v);\n }\n }, _callee106, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BOrganizationClient = /*#__PURE__*/_createClass(function HeadlessB2BOrganizationClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this22 = this;\n _classCallCheck(this, HeadlessB2BOrganizationClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee107() {\n var resp;\n return _regenerator().w(function (_context107) {\n while (1) switch (_context107.n) {\n case 0:\n _context107.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'GET'\n });\n case 1:\n resp = _context107.v;\n this._subscriptionService.updateOrganization(resp.organization);\n return _context107.a(2, resp.organization);\n }\n }, _callee107, this);\n }));\n };\n this.getSync = function () {\n return _this22._subscriptionService.getOrganization();\n };\n this.getInfo = function () {\n return {\n organization: _this22.getSync(),\n fromCache: _this22._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this22._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.organization) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.update = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee108() {\n var resp;\n return _regenerator().w(function (_context108) {\n while (1) switch (_context108.n) {\n case 0:\n _context108.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'PUT',\n body: data\n });\n case 1:\n resp = _context108.v;\n this._subscriptionService.updateOrganization(resp.organization);\n return _context108.a(2, resp);\n }\n }, _callee108, this);\n }));\n };\n this[\"delete\"] = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee109() {\n var resp;\n return _regenerator().w(function (_context109) {\n while (1) switch (_context109.n) {\n case 0:\n _context109.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'DELETE'\n });\n case 1:\n resp = _context109.v;\n this._subscriptionService.destroyState();\n return _context109.a(2, resp);\n }\n }, _callee109, this);\n }));\n };\n this.getBySlug = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee110() {\n return _regenerator().w(function (_context110) {\n while (1) switch (_context110.n) {\n case 0:\n validate('stytch.organization.getBySlug').isString('organization_slug', data.organization_slug);\n return _context110.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/search\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee110, this);\n }));\n };\n this.getConnectedApps = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee111() {\n return _regenerator().w(function (_context111) {\n while (1) switch (_context111.n) {\n case 0:\n return _context111.a(2, this._networkClient.fetchSDK({\n url: '/b2b/organizations/connected_apps',\n method: 'GET'\n }));\n }\n }, _callee111, this);\n }));\n };\n this.getConnectedApp = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee112() {\n return _regenerator().w(function (_context112) {\n while (1) switch (_context112.n) {\n case 0:\n return _context112.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/connected_apps/\".concat(data.connected_app_id),\n method: 'GET'\n }));\n }\n }, _callee112, this);\n }));\n };\n this.members = {\n create: function create(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee113() {\n return _regenerator().w(function (_context113) {\n while (1) switch (_context113.n) {\n case 0:\n return _context113.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee113, this);\n }));\n },\n search: function search(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee114() {\n return _regenerator().w(function (_context114) {\n while (1) switch (_context114.n) {\n case 0:\n return _context114.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me/members/search\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee114, this);\n }));\n },\n update: function update(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee115() {\n var response;\n return _regenerator().w(function (_context115) {\n while (1) switch (_context115.n) {\n case 0:\n _context115.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(data.member_id),\n method: 'PUT',\n body: data\n });\n case 1:\n response = _context115.v;\n this.updateMemberIfSelf(response);\n return _context115.a(2, response);\n }\n }, _callee115, this);\n }));\n },\n deletePassword: function deletePassword(passwordId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee116() {\n var response;\n return _regenerator().w(function (_context116) {\n while (1) switch (_context116.n) {\n case 0:\n _context116.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/passwords/\".concat(passwordId),\n method: 'DELETE'\n });\n case 1:\n response = _context116.v;\n this.updateMemberIfSelf(response);\n return _context116.a(2, response);\n }\n }, _callee116, this);\n }));\n },\n deleteMFAPhoneNumber: function deleteMFAPhoneNumber(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee117() {\n var response;\n return _regenerator().w(function (_context117) {\n while (1) switch (_context117.n) {\n case 0:\n _context117.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/mfa_phone_numbers/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context117.v;\n this.updateMemberIfSelf(response);\n return _context117.a(2, response);\n }\n }, _callee117, this);\n }));\n },\n deleteMFATOTP: function deleteMFATOTP(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee118() {\n var response;\n return _regenerator().w(function (_context118) {\n while (1) switch (_context118.n) {\n case 0:\n _context118.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/totp/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context118.v;\n this.updateMemberIfSelf(response);\n return _context118.a(2, response);\n }\n }, _callee118, this);\n }));\n },\n \"delete\": function _delete(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee119() {\n var _a, response;\n return _regenerator().w(function (_context119) {\n while (1) switch (_context119.n) {\n case 0:\n _context119.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context119.v;\n if (memberId === ((_a = this._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n this._subscriptionService.destroyState();\n }\n return _context119.a(2, response);\n }\n }, _callee119, this);\n }));\n },\n reactivate: function reactivate(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee120() {\n return _regenerator().w(function (_context120) {\n while (1) switch (_context120.n) {\n case 0:\n return _context120.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(memberId, \"/reactivate\"),\n method: 'PUT'\n }));\n }\n }, _callee120, this);\n }));\n },\n unlinkRetiredEmail: function unlinkRetiredEmail(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee121() {\n var member_id, body, response;\n return _regenerator().w(function (_context121) {\n while (1) switch (_context121.n) {\n case 0:\n member_id = data.member_id, body = __rest(data, [\"member_id\"]);\n _context121.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(member_id, \"/unlink_retired_email\"),\n method: 'POST',\n body: body\n });\n case 1:\n response = _context121.v;\n this.updateMemberIfSelf(response);\n return _context121.a(2, response);\n }\n }, _callee121, this);\n }));\n },\n startEmailUpdate: function startEmailUpdate(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee122() {\n var member_id, body, response;\n return _regenerator().w(function (_context122) {\n while (1) switch (_context122.n) {\n case 0:\n member_id = data.member_id, body = __rest(data, [\"member_id\"]);\n _context122.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(member_id, \"/start_email_update\"),\n method: 'POST',\n body: body\n });\n case 1:\n response = _context122.v;\n this.updateMemberIfSelf(response);\n return _context122.a(2, response);\n }\n }, _callee122, this);\n }));\n },\n getConnectedApps: function getConnectedApps(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee123() {\n return _regenerator().w(function (_context123) {\n while (1) switch (_context123.n) {\n case 0:\n return _context123.a(2, this._networkClient.fetchSDK({\n url: \"b2b/organizations/members/\".concat(data.member_id, \"/connected_apps\"),\n method: 'GET'\n }));\n }\n }, _callee123, this);\n }));\n },\n revokeConnectedApp: function revokeConnectedApp(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee124() {\n return _regenerator().w(function (_context124) {\n while (1) switch (_context124.n) {\n case 0:\n return _context124.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(data.member_id, \"/connected_apps/\").concat(data.connected_app_id, \"/revoke\"),\n method: 'POST'\n }));\n }\n }, _callee124, this);\n }));\n }\n };\n this.updateMemberIfSelf = function (response) {\n var _a;\n if (response.member_id === ((_a = _this22._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n _this22._subscriptionService.updateMember(response.member);\n }\n };\n});\nvar HeadlessB2BOAuthClient = /*#__PURE__*/function () {\n function HeadlessB2BOAuthClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, dfpProtectedAuth) {\n var _this23 = this;\n _classCallCheck(this, HeadlessB2BOAuthClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this23, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee125() {\n var keyPair, _yield$this$dfpProtec22, dfp_telemetry_id, captcha_token, resp, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;\n return _regenerator().w(function (_context125) {\n while (1) switch (_context125.n) {\n case 0:\n validate('stytch.oauth.authenticate').isString('oauth_token', options.oauth_token).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context125.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context125.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for OAuth flow.\\n' + 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context125.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec22 = _context125.v;\n dfp_telemetry_id = _yield$this$dfpProtec22.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec22.captcha_token;\n _t18 = this._networkClient;\n _t19 = Object;\n _t20 = keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier;\n _t21 = dfp_telemetry_id;\n _t22 = captcha_token;\n _context125.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t23 = _context125.v;\n if (_t23) {\n _context125.n = 4;\n break;\n }\n _t23 = undefined;\n case 4:\n _t24 = _t23;\n _t25 = _t19.assign.call(_t19, {\n pkce_code_verifier: _t20,\n dfp_telemetry_id: _t21,\n captcha_token: _t22,\n intermediate_session_token: _t24\n }, options);\n _t26 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context125.n = 5;\n return _t18.retriableFetchSDK.call(_t18, {\n url: '/b2b/oauth/authenticate',\n method: 'POST',\n body: _t25,\n retryCallback: _t26\n });\n case 5:\n resp = _context125.v;\n this._pkceManager.clearPKPair();\n return _context125.a(2, resp);\n }\n }, _callee125, this);\n }));\n });\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this23, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee126() {\n var pkPair, _yield$this$dfpProtec23, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context126) {\n while (1) switch (_context126.n) {\n case 0:\n validate('stytch.oauth.discovery.authenticate').isString('discovery_oauth_token', data.discovery_oauth_token);\n _context126.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context126.v;\n _context126.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec23 = _context126.v;\n dfp_telemetry_id = _yield$this$dfpProtec23.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec23.captcha_token;\n requestBody = Object.assign({\n pkce_code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n _context126.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/oauth/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context126.v;\n this._pkceManager.clearPKPair();\n return _context126.a(2, resp);\n }\n }, _callee126, this);\n }));\n })\n };\n this.google = {\n start: this.startOAuthFlow(B2BOAuthProviders.Google),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Google)\n }\n };\n this.microsoft = {\n start: this.startOAuthFlow(B2BOAuthProviders.Microsoft),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Microsoft)\n }\n };\n this.hubspot = {\n start: this.startOAuthFlow(B2BOAuthProviders.HubSpot),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.HubSpot)\n }\n };\n this.slack = {\n start: this.startOAuthFlow(B2BOAuthProviders.Slack),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Slack)\n }\n };\n this.github = {\n start: this.startOAuthFlow(B2BOAuthProviders.GitHub),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.GitHub)\n }\n };\n }\n return _createClass(HeadlessB2BOAuthClient, [{\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee127() {\n var _yield$this$_dynamicC4, cnameDomain;\n return _regenerator().w(function (_context127) {\n while (1) switch (_context127.n) {\n case 0:\n _context127.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC4 = _context127.v;\n cnameDomain = _yield$this$_dynamicC4.cnameDomain;\n if (!cnameDomain) {\n _context127.n = 2;\n break;\n }\n return _context127.a(2, \"https://\".concat(cnameDomain));\n case 2:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context127.n = 3;\n break;\n }\n return _context127.a(2, this._config.testAPIURL);\n case 3:\n return _context127.a(2, this._config.liveAPIURL);\n }\n }, _callee127, this);\n }));\n }\n }, {\n key: \"startOAuthFlow\",\n value: function startOAuthFlow(providerType) {\n var _this24 = this;\n return function (_ref8) {\n var organization_id = _ref8.organization_id,\n organization_slug = _ref8.organization_slug,\n login_redirect_url = _ref8.login_redirect_url,\n signup_redirect_url = _ref8.signup_redirect_url,\n custom_scopes = _ref8.custom_scopes,\n provider_params = _ref8.provider_params;\n return __awaiter(_this24, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee128() {\n var _yield$this$_dynamicC5, pkceRequiredForOAuth, baseURL, startUrl, key, keyPair;\n return _regenerator().w(function (_context128) {\n while (1) switch (_context128.n) {\n case 0:\n _context128.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC5 = _context128.v;\n pkceRequiredForOAuth = _yield$this$_dynamicC5.pkceRequiredForOAuth;\n _context128.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context128.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/b2b/public/oauth/\").concat(providerType, \"/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n if (organization_id && organization_id != '') {\n startUrl.searchParams.set('organization_id', organization_id);\n }\n if (organization_slug && organization_slug != '') {\n startUrl.searchParams.set('slug', organization_slug);\n }\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n startUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n startUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (!pkceRequiredForOAuth) {\n _context128.n = 4;\n break;\n }\n _context128.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context128.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context128.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (login_redirect_url) startUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) startUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n window.location.href = startUrl.toString();\n case 6:\n return _context128.a(2);\n }\n }, _callee128, this);\n }));\n };\n }\n }, {\n key: \"startDiscoveryOAuthFlow\",\n value: function startDiscoveryOAuthFlow(providerType) {\n var _this25 = this;\n return function (_ref9) {\n var discovery_redirect_url = _ref9.discovery_redirect_url,\n custom_scopes = _ref9.custom_scopes,\n provider_params = _ref9.provider_params;\n return __awaiter(_this25, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee129() {\n var _yield$this$_dynamicC6, pkceRequiredForOAuth, baseURL, startUrl, key, keyPair;\n return _regenerator().w(function (_context129) {\n while (1) switch (_context129.n) {\n case 0:\n _context129.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC6 = _context129.v;\n pkceRequiredForOAuth = _yield$this$_dynamicC6.pkceRequiredForOAuth;\n _context129.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context129.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/b2b/public/oauth/\").concat(providerType, \"/discovery/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n startUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n startUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (!pkceRequiredForOAuth) {\n _context129.n = 4;\n break;\n }\n _context129.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context129.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context129.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (discovery_redirect_url) {\n startUrl.searchParams.set('discovery_redirect_url', discovery_redirect_url);\n }\n window.location.href = startUrl.toString();\n case 6:\n return _context129.a(2);\n }\n }, _callee129, this);\n }));\n };\n }\n }]);\n}();\nvar HeadlessB2BSessionClient = /*#__PURE__*/function () {\n function HeadlessB2BSessionClient(_networkClient, _subscriptionService) {\n var _this26 = this;\n _classCallCheck(this, HeadlessB2BSessionClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.getSync = function () {\n return _this26._subscriptionService.getSession();\n };\n this.getInfo = function () {\n return {\n session: _this26.getSync(),\n fromCache: _this26._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this26._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.session) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.revoke = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee130() {\n var resp, _t27;\n return _regenerator().w(function (_context130) {\n while (1) switch (_context130.p = _context130.n) {\n case 0:\n _context130.p = 0;\n _context130.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sessions/revoke\",\n method: 'POST'\n });\n case 1:\n resp = _context130.v;\n this._subscriptionService.destroyState();\n return _context130.a(2, resp);\n case 2:\n _context130.p = 2;\n _t27 = _context130.v;\n if (options === null || options === void 0 ? void 0 : options.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(_t27.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw _t27;\n case 3:\n return _context130.a(2);\n }\n }, _callee130, this, [[0, 2]]);\n }));\n };\n this.revokeForMember = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee131() {\n return _regenerator().w(function (_context131) {\n while (1) switch (_context131.n) {\n case 0:\n validate('stytch.session.revokeForMember').isString('member_id', options.member_id);\n _context131.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sessions/revoke/\".concat(options.member_id),\n method: 'POST'\n });\n case 1:\n return _context131.a(2, _context131.v);\n }\n }, _callee131, this);\n }));\n };\n this._authenticate = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee132() {\n var _this27 = this;\n var initialSession, isSessionStale, requestBody, resp, _t28;\n return _regenerator().w(function (_context132) {\n while (1) switch (_context132.p = _context132.n) {\n case 0:\n initialSession = this._subscriptionService.getSession();\n isSessionStale = function isSessionStale() {\n var _a;\n return (initialSession === null || initialSession === void 0 ? void 0 : initialSession.member_session_id) !== ((_a = _this27._subscriptionService.getSession()) === null || _a === void 0 ? void 0 : _a.member_session_id);\n };\n _context132.p = 1;\n requestBody = {\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n };\n _context132.n = 2;\n return this._networkClient.fetchSDK({\n url: '/b2b/sessions/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context132.v;\n if (!isSessionStale()) {\n _context132.n = 3;\n break;\n }\n return _context132.a(2, this._authenticate(options));\n case 3:\n return _context132.a(2, resp);\n case 4:\n _context132.p = 4;\n _t28 = _context132.v;\n if (!isSessionStale()) {\n _context132.n = 5;\n break;\n }\n return _context132.a(2, this._authenticate(options));\n case 5:\n if (UNRECOVERABLE_ERROR_TYPES.includes(_t28.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw _t28;\n case 6:\n return _context132.a(2);\n }\n }, _callee132, this, [[1, 4]]);\n }));\n };\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n this.exchange = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee133() {\n return _regenerator().w(function (_context133) {\n while (1) switch (_context133.n) {\n case 0:\n validate('stytch.session.exchange').isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n return _context133.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/exchange',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee133, this);\n }));\n });\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee134() {\n return _regenerator().w(function (_context134) {\n while (1) switch (_context134.n) {\n case 0:\n validate('stytch.session.exchange').isString('organization_id', data.access_token).isNumber('session_duration_minutes', data.session_duration_minutes);\n return _context134.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/exchange_access_token',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee134, this);\n }));\n });\n this.attest = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee135() {\n return _regenerator().w(function (_context135) {\n while (1) switch (_context135.n) {\n case 0:\n validate('stytch.session.attest').isOptionalString('organization_id', data.organization_id).isString('profile_id', data.profile_id).isString('token', data.token).isOptionalNumber('session_duration_minutes', data.session_duration_minutes);\n return _context135.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/attest',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee135, this);\n }));\n });\n }\n return _createClass(HeadlessB2BSessionClient, [{\n key: \"getTokens\",\n value: function getTokens() {\n return this._subscriptionService.getTokens();\n }\n }, {\n key: \"updateSession\",\n value: function updateSession(tokens) {\n var _a;\n validate('stytch.session.updateSession').isString('session_token', tokens.session_token).isOptionalString('session_jwt', (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : undefined);\n this._subscriptionService.updateTokens(tokens);\n }\n }]);\n}();\nvar HeadlessB2BDiscoveryClient = /*#__PURE__*/_createClass(function HeadlessB2BDiscoveryClient(_networkClient, _subscriptionService) {\n var _this28 = this;\n _classCallCheck(this, HeadlessB2BDiscoveryClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.organizations = {\n list: function list() {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee136() {\n var _t29, _t30, _t31, _t32;\n return _regenerator().w(function (_context136) {\n while (1) switch (_context136.n) {\n case 0:\n _t29 = this._networkClient;\n _context136.n = 1;\n return this._subscriptionService.getIntermediateSessionToken();\n case 1:\n _t30 = _context136.v;\n if (_t30) {\n _context136.n = 2;\n break;\n }\n _t30 = undefined;\n case 2:\n _t31 = _t30;\n _t32 = {\n intermediate_session_token: _t31\n };\n return _context136.a(2, _t29.fetchSDK.call(_t29, {\n url: '/b2b/discovery/organizations',\n body: _t32,\n method: 'POST'\n }));\n }\n }, _callee136, this);\n }));\n },\n create: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee137() {\n var requestBody, _t33, _t34, _t35, _t36;\n return _regenerator().w(function (_context137) {\n while (1) switch (_context137.n) {\n case 0:\n validate('stytch.discovery.organizations.create').isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('organization_name', data.organization_name).isOptionalString('organization_slug', data.organization_slug).isOptionalString('organization_logo_url', data.organization_logo_url).isOptionalString('sso_jit_provisioning', data.sso_jit_provisioning).isOptionalStringArray('email_allowed_domains', data.email_allowed_domains).isOptionalString('email_invites', data.email_invites).isOptionalString('auth_methods', data.auth_methods).isOptionalStringArray('allowed_auth_methods', data.allowed_auth_methods).isOptionalString('mfa_policy', data.mfa_policy);\n _t33 = Object;\n _t34 = Object.assign({}, data);\n _context137.n = 1;\n return this._subscriptionService.getIntermediateSessionToken();\n case 1:\n _t35 = _context137.v;\n if (_t35) {\n _context137.n = 2;\n break;\n }\n _t35 = undefined;\n case 2:\n _t36 = _t35;\n requestBody = _t33.assign.call(_t33, _t34, {\n intermediate_session_token: _t36\n });\n return _context137.a(2, this._networkClient.fetchSDK({\n url: '/b2b/discovery/organizations/create',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee137, this);\n }));\n })\n };\n this.intermediateSessions = {\n exchange: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee138() {\n var requestBody;\n return _regenerator().w(function (_context138) {\n while (1) switch (_context138.n) {\n case 0:\n validate('stytch.discovery.intermediateSessions.exchange').isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n requestBody = Object.assign(Object.assign({}, data), {\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context138.a(2, this._networkClient.fetchSDK({\n url: '/b2b/discovery/intermediate_sessions/exchange',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee138, this);\n }));\n })\n };\n});\nvar DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForPasswordResets: false\n});\nvar HeadlessB2BPasswordsClient = /*#__PURE__*/function () {\n function HeadlessB2BPasswordsClient(_networkClient, _subscriptionService, _pkceManager) {\n var _this29 = this;\n var _config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DefaultDynamicConfig;\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n _classCallCheck(this, HeadlessB2BPasswordsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee139() {\n var pkPair, code_verifier, _yield$this$dfpProtec24, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context139) {\n while (1) switch (_context139.n) {\n case 0:\n validate('stytch.passwords.authenticate').isString('org_id', options.organization_id).isString('password', options.password).isString('email_address', options.email_address).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context139.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context139.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context139.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec24 = _context139.v;\n dfp_telemetry_id = _yield$this$dfpProtec24.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec24.captcha_token;\n return _context139.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/authenticate',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n locale: options.locale,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee139, this);\n }));\n });\n this.discovery = {\n resetByEmailStart: function resetByEmailStart(options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee140() {\n var pkce_code_challenge, _yield$this$dfpProtec25, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context140) {\n while (1) switch (_context140.n) {\n case 0:\n validate('stytch.passwords.discovery.resetByEmailStart').isString('email', options.email_address).isOptionalString('login_redirect_url', options.discovery_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('verify_email_template_id', options.verify_email_template_id).isOptionalString('locale', options.locale);\n _context140.n = 1;\n return this.getCodeChallenge();\n case 1:\n pkce_code_challenge = _context140.v;\n _context140.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec25 = _context140.v;\n dfp_telemetry_id = _yield$this$dfpProtec25.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec25.captcha_token;\n return _context140.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/discovery/reset/start',\n method: 'POST',\n body: {\n email_address: options.email_address,\n discovery_redirect_url: options.discovery_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n verify_email_template_id: options.verify_email_template_id,\n locale: options.locale,\n pkce_code_challenge: pkce_code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee140, this);\n }));\n },\n resetByEmail: this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee141() {\n var _yield$this$dfpProtec26, dfp_telemetry_id, captcha_token, pkPair, pkce_code_verifier, resp, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;\n return _regenerator().w(function (_context141) {\n while (1) switch (_context141.n) {\n case 0:\n validate('stytch.passwords.discovery.resetByEmail').isString('password_reset_token', options.password_reset_token).isString('password', options.password);\n _context141.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec26 = _context141.v;\n dfp_telemetry_id = _yield$this$dfpProtec26.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec26.captcha_token;\n _context141.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context141.v;\n pkce_code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _t37 = this._networkClient;\n _t38 = options.password_reset_token;\n _t39 = options.password;\n _t40 = captcha_token;\n _t41 = dfp_telemetry_id;\n _t42 = pkce_code_verifier;\n _context141.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t43 = _context141.v;\n if (_t43) {\n _context141.n = 4;\n break;\n }\n _t43 = undefined;\n case 4:\n _t44 = _t43;\n _t45 = {\n password_reset_token: _t38,\n password: _t39,\n captcha_token: _t40,\n dfp_telemetry_id: _t41,\n pkce_code_verifier: _t42,\n intermediate_session_token: _t44\n };\n _t46 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context141.n = 5;\n return _t37.retriableFetchSDK.call(_t37, {\n url: '/b2b/passwords/discovery/reset',\n method: 'POST',\n body: _t45,\n retryCallback: _t46\n });\n case 5:\n resp = _context141.v;\n this._pkceManager.clearPKPair();\n return _context141.a(2, resp);\n }\n }, _callee141, this);\n }));\n }),\n authenticate: this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee142() {\n var pkPair, code_verifier, _yield$this$dfpProtec27, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context142) {\n while (1) switch (_context142.n) {\n case 0:\n validate('stytch.passwords.discovery.authenticate').isString('password', options.password).isString('email_address', options.email_address);\n _context142.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context142.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context142.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec27 = _context142.v;\n dfp_telemetry_id = _yield$this$dfpProtec27.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec27.captcha_token;\n return _context142.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/discovery/authenticate',\n method: 'POST',\n body: {\n email_address: options.email_address,\n password: options.password,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee142, this);\n }));\n })\n };\n this.resetByEmail = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee143() {\n var _yield$this$dfpProtec28, dfp_telemetry_id, captcha_token, pkPair, code_verifier, resp;\n return _regenerator().w(function (_context143) {\n while (1) switch (_context143.n) {\n case 0:\n validate('stytch.passwords.resetByEmail').isString('password_reset_token', options.password_reset_token).isString('password', options.password).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context143.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec28 = _context143.v;\n dfp_telemetry_id = _yield$this$dfpProtec28.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec28.captcha_token;\n _context143.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context143.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context143.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/email/reset',\n method: 'POST',\n body: {\n password_reset_token: options.password_reset_token,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n locale: options.locale,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context143.v;\n this._pkceManager.clearPKPair();\n return _context143.a(2, resp);\n }\n }, _callee143, this);\n }));\n });\n this.resetByExistingPassword = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee144() {\n var _yield$this$dfpProtec29, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context144) {\n while (1) switch (_context144.n) {\n case 0:\n validate('stytch.passwords.resetByExistingPassword').isString('email', options.email_address).isString('existing_password', options.existing_password).isString('new_password', options.new_password).isOptionalString('locale', options.locale).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context144.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec29 = _context144.v;\n dfp_telemetry_id = _yield$this$dfpProtec29.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec29.captcha_token;\n return _context144.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/existing_password/reset',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n existing_password: options.existing_password,\n new_password: options.new_password,\n locale: options.locale,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee144, this);\n }));\n });\n this.resetBySession = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee145() {\n var _yield$this$dfpProtec30, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context145) {\n while (1) switch (_context145.n) {\n case 0:\n validate('stytch.passwords.resetBySession').isString('password', options.password);\n _context145.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec30 = _context145.v;\n dfp_telemetry_id = _yield$this$dfpProtec30.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec30.captcha_token;\n return _context145.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/session/reset',\n method: 'POST',\n body: {\n password: options.password,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee145, this);\n }));\n });\n }\n return _createClass(HeadlessB2BPasswordsClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee146() {\n var _yield$this$_config6, pkceRequiredForPasswordResets, keyPair;\n return _regenerator().w(function (_context146) {\n while (1) switch (_context146.n) {\n case 0:\n _context146.n = 1;\n return this._config;\n case 1:\n _yield$this$_config6 = _context146.v;\n pkceRequiredForPasswordResets = _yield$this$_config6.pkceRequiredForPasswordResets;\n if (pkceRequiredForPasswordResets) {\n _context146.n = 2;\n break;\n }\n return _context146.a(2, undefined);\n case 2:\n _context146.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context146.v;\n if (!keyPair) {\n _context146.n = 4;\n break;\n }\n return _context146.a(2, keyPair.code_challenge);\n case 4:\n _context146.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context146.v;\n return _context146.a(2, keyPair.code_challenge);\n }\n }, _callee146, this);\n }));\n }\n }, {\n key: \"resetByEmailStart\",\n value: function resetByEmailStart(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee147() {\n var code_challenge, _yield$this$dfpProtec31, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context147) {\n while (1) switch (_context147.n) {\n case 0:\n validate('stytch.passwords.resetByEmailStart').isString('email', options.email_address).isOptionalString('login_redirect_url', options.login_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('verify_email_template_id', options.verify_email_template_id).isOptionalString('locale', options.locale);\n _context147.n = 1;\n return this.getCodeChallenge();\n case 1:\n code_challenge = _context147.v;\n _context147.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec31 = _context147.v;\n dfp_telemetry_id = _yield$this$dfpProtec31.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec31.captcha_token;\n return _context147.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/email/reset/start',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n login_redirect_url: options.login_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n verify_email_template_id: options.verify_email_template_id,\n locale: options.locale,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee147, this);\n }));\n }\n }, {\n key: \"strengthCheck\",\n value: function strengthCheck(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee148() {\n return _regenerator().w(function (_context148) {\n while (1) switch (_context148.n) {\n case 0:\n validate('stytch.passwords.strengthCheck').isOptionalString('email', options.email_address).isString('password', options.password);\n return _context148.a(2, this._networkClient.fetchSDK({\n url: '/b2b/passwords/strength_check',\n method: 'POST',\n body: {\n email_address: options.email_address,\n password: options.password\n }\n }));\n }\n }, _callee148, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BOTPsClient = /*#__PURE__*/_createClass(function HeadlessB2BOTPsClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this30 = this;\n _classCallCheck(this, HeadlessB2BOTPsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.sms = {\n send: function send(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee149() {\n var _yield$this$dfpProtec32, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context149) {\n while (1) switch (_context149.n) {\n case 0:\n validate('stytch.otps.sms.send').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isOptionalString('mfa_phone_number', data.mfa_phone_number).isOptionalString('locale', data.locale);\n _context149.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec32 = _context149.v;\n dfp_telemetry_id = _yield$this$dfpProtec32.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec32.captcha_token;\n return _context149.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/sms/send',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee149, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee150() {\n var _yield$this$dfpProtec33, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context150) {\n while (1) switch (_context150.n) {\n case 0:\n validate('stytch.otps.sms.authenticate').isNumber('session_duration_minutes', data.session_duration_minutes).isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('code', data.code).isOptionalString('set_mfa_enrollment', data.set_mfa_enrollment);\n _context150.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec33 = _context150.v;\n dfp_telemetry_id = _yield$this$dfpProtec33.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec33.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context150.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/sms/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee150, this);\n }));\n })\n };\n this.email = {\n loginOrSignup: function loginOrSignup(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee151() {\n var _yield$this$dfpProtec34, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context151) {\n while (1) switch (_context151.n) {\n case 0:\n validate('stytch.otps.email.loginOrSignup').isString('organization_id', data.organization_id).isString('email_address', data.email_address).isOptionalString('login_template_id', data.login_template_id).isOptionalString('signup_template_id', data.signup_template_id).isOptionalString('locale', data.locale).isOptionalNumber('login_expiration_minutes', data.login_expiration_minutes).isOptionalNumber('signup_expiration_minutes', data.signup_expiration_minutes);\n _context151.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec34 = _context151.v;\n dfp_telemetry_id = _yield$this$dfpProtec34.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec34.captcha_token;\n return _context151.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/login_or_signup',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee151, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee152() {\n var _yield$this$dfpProtec35, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context152) {\n while (1) switch (_context152.n) {\n case 0:\n validate('stytch.otps.email.authenticate').isString('code', data.code).isString('email_address', data.email_address).isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n _context152.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec35 = _context152.v;\n dfp_telemetry_id = _yield$this$dfpProtec35.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec35.captcha_token;\n return _context152.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/authenticate',\n body: Object.assign(Object.assign({}, data), {\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee152, this);\n }));\n }),\n discovery: {\n send: function send(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee153() {\n var _yield$this$dfpProtec36, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context153) {\n while (1) switch (_context153.n) {\n case 0:\n validate('stytch.otps.email.discovery.send').isString('email_address', data.email_address).isOptionalString('login_template_id', data.login_template_id).isOptionalString('locale', data.locale).isOptionalNumber('discovery_expiration_minutes', data.discovery_expiration_minutes);\n _context153.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec36 = _context153.v;\n dfp_telemetry_id = _yield$this$dfpProtec36.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec36.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context153.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee153, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee154() {\n var _yield$this$dfpProtec37, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context154) {\n while (1) switch (_context154.n) {\n case 0:\n validate('stytch.otps.email.discovery.authenticate').isString('code', data.code).isString('email_address', data.email_address);\n _context154.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec37 = _context154.v;\n dfp_telemetry_id = _yield$this$dfpProtec37.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec37.captcha_token;\n requestBody = Object.assign({\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n return _context154.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee154, this);\n }));\n })\n }\n };\n});\nvar HeadlessB2BTOTPsClient = /*#__PURE__*/function () {\n function HeadlessB2BTOTPsClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this31 = this;\n _classCallCheck(this, HeadlessB2BTOTPsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this31, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee155() {\n var _yield$this$dfpProtec38, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context155) {\n while (1) switch (_context155.n) {\n case 0:\n validate('stytch.totp.authenticate').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('code', data.code).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('set_mfa_enrollment', data.set_mfa_enrollment).isOptionalBoolean('set_default_mfa', data.set_default_mfa);\n _context155.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec38 = _context155.v;\n dfp_telemetry_id = _yield$this$dfpProtec38.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec38.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context155.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/totp/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee155, this);\n }));\n });\n }\n return _createClass(HeadlessB2BTOTPsClient, [{\n key: \"create\",\n value: function create(data) {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee156() {\n var _yield$this$dfpProtec39, dfp_telemetry_id, captcha_token, response, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;\n return _regenerator().w(function (_context156) {\n while (1) switch (_context156.n) {\n case 0:\n validate('stytch.totp.create').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isOptionalNumber('expiration_minutes', data.expiration_minutes);\n _context156.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec39 = _context156.v;\n dfp_telemetry_id = _yield$this$dfpProtec39.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec39.captcha_token;\n _t47 = this._networkClient;\n _t48 = Object;\n _t49 = Object.assign({}, data);\n _t50 = dfp_telemetry_id;\n _t51 = captcha_token;\n _context156.n = 2;\n return this._subscriptionService.getIntermediateSessionToken();\n case 2:\n _t52 = _context156.v;\n if (_t52) {\n _context156.n = 3;\n break;\n }\n _t52 = undefined;\n case 3:\n _t53 = _t52;\n _t54 = _t48.assign.call(_t48, _t49, {\n dfp_telemetry_id: _t50,\n captcha_token: _t51,\n intermediate_session_token: _t53\n });\n _t55 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context156.n = 4;\n return _t47.retriableFetchSDK.call(_t47, {\n url: '/b2b/totp',\n body: _t54,\n method: 'POST',\n retryCallback: _t55\n });\n case 4:\n response = _context156.v;\n if (response.member_id === ((_a = this._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n this._subscriptionService.updateMember(response.member);\n }\n return _context156.a(2, response);\n }\n }, _callee156, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BRecoveryCodesClient = /*#__PURE__*/function () {\n function HeadlessB2BRecoveryCodesClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this32 = this;\n _classCallCheck(this, HeadlessB2BRecoveryCodesClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.recover = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this32, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee157() {\n var _yield$this$dfpProtec40, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context157) {\n while (1) switch (_context157.n) {\n case 0:\n validate('stytch.recoveryCodes.recover').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('recovery_code', data.recovery_code).isNumber('session_duration_minutes', data.session_duration_minutes);\n _context157.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec40 = _context157.v;\n dfp_telemetry_id = _yield$this$dfpProtec40.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec40.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context157.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/recovery_codes/recover',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee157, this);\n }));\n });\n }\n return _createClass(HeadlessB2BRecoveryCodesClient, [{\n key: \"rotate\",\n value: function rotate() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee158() {\n var _yield$this$dfpProtec41, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context158) {\n while (1) switch (_context158.n) {\n case 0:\n _context158.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec41 = _context158.v;\n dfp_telemetry_id = _yield$this$dfpProtec41.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec41.captcha_token;\n return _context158.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/recovery_codes/rotate',\n body: {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee158, this);\n }));\n }\n }, {\n key: \"get\",\n value: function get() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee159() {\n return _regenerator().w(function (_context159) {\n while (1) switch (_context159.n) {\n case 0:\n return _context159.a(2, this._networkClient.fetchSDK({\n url: '/b2b/recovery_codes',\n method: 'GET'\n }));\n }\n }, _callee159, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BRBACClient = /*#__PURE__*/function () {\n function HeadlessB2BRBACClient(cachedConfig, dynamicConfig, _subscriptionService) {\n var _this33 = this;\n _classCallCheck(this, HeadlessB2BRBACClient);\n this._subscriptionService = _subscriptionService;\n this.isAuthorizedSync = function (resourceId, action) {\n var effectivePolicy = _this33.getEffectivePolicySync();\n return !!(effectivePolicy === null || effectivePolicy === void 0 ? void 0 : effectivePolicy.callerIsAuthorized(_this33.roleIds(), resourceId, action));\n };\n this.isAuthorized = function (resourceId, action) {\n return _this33.getEffectivePolicy().then(function (policy) {\n return policy.callerIsAuthorized(_this33.roleIds(), resourceId, action);\n });\n };\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then(function (data) {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n _this33.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return _this33.cachedPolicy;\n });\n }\n /**\n * Gets the effective policy for the current session by merging project policy with org custom roles\n */\n return _createClass(HeadlessB2BRBACClient, [{\n key: \"getEffectivePolicy\",\n value: function getEffectivePolicy() {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee160() {\n var projectPolicy, organization;\n return _regenerator().w(function (_context160) {\n while (1) switch (_context160.n) {\n case 0:\n _context160.n = 1;\n return this.policyPromise;\n case 1:\n projectPolicy = _context160.v;\n organization = this._subscriptionService.getOrganization(); // If no org or no custom roles, just return project policy\n if ((_a = organization === null || organization === void 0 ? void 0 : organization.custom_roles) === null || _a === void 0 ? void 0 : _a.length) {\n _context160.n = 2;\n break;\n }\n return _context160.a(2, projectPolicy);\n case 2:\n return _context160.a(2, projectPolicy.mergeWithCustomRoles(organization.custom_roles));\n }\n }, _callee160, this);\n }));\n }\n /**\n * Gets the effective policy synchronously for the current session\n * Uses cached policies only\n */\n }, {\n key: \"getEffectivePolicySync\",\n value: function getEffectivePolicySync() {\n var _a;\n if (!this.cachedPolicy) {\n return null;\n }\n var organization = this._subscriptionService.getOrganization();\n // If no custom roles, just return project policy\n if (!((_a = organization === null || organization === void 0 ? void 0 : organization.custom_roles) === null || _a === void 0 ? void 0 : _a.length)) {\n return this.cachedPolicy;\n }\n return this.cachedPolicy.mergeWithCustomRoles(organization.custom_roles);\n }\n }, {\n key: \"allPermissions\",\n value: function allPermissions() {\n var _this34 = this;\n return this.getEffectivePolicy().then(function (policy) {\n return policy.allPermissionsForCaller(_this34.roleIds());\n });\n }\n }, {\n key: \"roleIds\",\n value: function roleIds() {\n var _a;\n var session = this._subscriptionService.getSession();\n if (!session) {\n return [];\n }\n // Although session.roles is guaranteed to exist for fresh data, there is a minuscule chance\n // that the member session stored in localstorage clientside comes from before roles were added to\n // the API response - in which case session.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return (_a = session.roles) !== null && _a !== void 0 ? _a : [];\n }\n }]);\n}();\nvar HeadlessB2BImpersonationClient = /*#__PURE__*/_createClass(function HeadlessB2BImpersonationClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this35 = this;\n _classCallCheck(this, HeadlessB2BImpersonationClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this35, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee161() {\n var _yield$this$dfpProtec42, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context161) {\n while (1) switch (_context161.n) {\n case 0:\n validate('stytch.impersonation.authenticate').isString('impersonation_token', data.impersonation_token);\n _context161.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec42 = _context161.v;\n dfp_telemetry_id = _yield$this$dfpProtec42.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec42.captcha_token;\n return _context161.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/impersonation/authenticate',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee161, this);\n }));\n });\n});\nvar HeadlessB2BIDPClient = /*#__PURE__*/_createClass(function HeadlessB2BIDPClient(_networkClient) {\n var _this36 = this;\n _classCallCheck(this, HeadlessB2BIDPClient);\n this._networkClient = _networkClient;\n /**\n * Initiates a request for authorization of a Connected App to access a Member's account.\n *\n * Call this endpoint using the query parameters from an OAuth Authorization request. This endpoint validates various fields (scope, client_id, redirect_uri, prompt, etc...) are correct and returns relevant information for rendering an OAuth Consent Screen.\n *\n * @example\n * const response = await stytch.idp.oauthAuthorizeStart({\n * client_id: 'client_123',\n * redirect_uri: 'https://example.com/callback',\n * scope: 'openid email profile',\n * });\n */\n this.oauthAuthorizeStart = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee162() {\n return _regenerator().w(function (_context162) {\n while (1) switch (_context162.n) {\n case 0:\n return _context162.a(2, this._networkClient.fetchSDK({\n url: '/idp/b2b/oauth/authorize/start',\n method: 'POST',\n body: data\n }));\n }\n }, _callee162, this);\n }));\n };\n /**\n * Completes a request for authorization of a Connected App to access a Member's account.\n *\n * Call this endpoint using the query parameters from an OAuth Authorization request, after previously validating those parameters using the Preflight Check API. Note that this endpoint takes in a few additional parameters the preflight check does not- state, nonce, and code_challenge.\n *\n * If the authorization was successful, the redirect_uri will contain a valid authorization_code embedded as a query parameter. If the authorization was unsuccessful, the redirect_uri will contain an OAuth2.1 error_code. In both cases, redirect the Member to the location for the response to be consumed by the Connected App.\n *\n * Exactly one of the following must be provided to identify the Member granting authorization:\n * organization_id + member_id\n * session_token\n * session_jwt\n *\n * If a session_token or session_jwt is passed, the OAuth Authorization will be linked to the Member's session for tracking purposes. One of these fields must be used if the Connected App intends to complete the Exchange Access Token flow.\n *\n * @example\n * const response = await stytch.idp.oauthAuthorizeSubmit({\n * client_id: 'client_123',\n * redirect_uri: 'https://example.com/callback',\n * scope: 'openid email profile',\n * });\n */\n this.oauthAuthorizeSubmit = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee163() {\n return _regenerator().w(function (_context163) {\n while (1) switch (_context163.n) {\n case 0:\n return _context163.a(2, this._networkClient.fetchSDK({\n url: '/idp/b2b/oauth/authorize/submit',\n method: 'POST',\n body: data\n }));\n }\n }, _callee163, this);\n }));\n };\n this.oauthLogoutStart = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee164() {\n return _regenerator().w(function (_context164) {\n while (1) switch (_context164.n) {\n case 0:\n return _context164.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/oauth/logout/start\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee164, this);\n }));\n };\n});\nvar IframeHostClient = /*#__PURE__*/function () {\n function IframeHostClient(iframeURL) {\n _classCallCheck(this, IframeHostClient);\n this.iframeURL = iframeURL;\n this.createIframe();\n }\n return _createClass(IframeHostClient, [{\n key: \"createIframe\",\n value: function createIframe() {\n var existingIframe = document.querySelector(\"[src~=\\\"\".concat(this.iframeURL, \"\\\"]\"));\n /* If an iframe does not exist yet, create one */\n if (!existingIframe) {\n existingIframe = document.createElement('iframe');\n existingIframe.src = this.iframeURL;\n existingIframe.style.position = 'absolute';\n existingIframe.style.width = '0';\n existingIframe.style.height = '0';\n existingIframe.style.border = '0';\n document.body.appendChild(existingIframe);\n } else {\n logger.warn(MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING);\n }\n /**\n * [NASTY BUG]\n * If we postMessage to an iframe that is _not yet loaded_, chrome will give a cryptic error message\n * Failed to execute 'postMessage' on 'DOMWindow':\n * The target origin provided ('https://js.stytch.com') does not match the recipient window's origin ('http://localhost:3000').\n * There is no builtin way to determine if an iframe is already loaded,\n * so we set a dataset attr in our onload handler and use that to determine loading state\n */\n if (existingIframe.dataset.loaded === 'true') {\n this.frame = Promise.resolve(existingIframe);\n return;\n }\n this.frame = new Promise(function (resolve) {\n existingIframe.addEventListener('load', function () {\n existingIframe.dataset.loaded = 'true';\n resolve(existingIframe);\n }, {\n once: true\n });\n });\n }\n }, {\n key: \"call\",\n value: function call(method, args) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee165() {\n var _this37 = this;\n var frame, channel;\n return _regenerator().w(function (_context165) {\n while (1) switch (_context165.n) {\n case 0:\n _context165.n = 1;\n return this.frame;\n case 1:\n frame = _context165.v;\n channel = new MessageChannel();\n return _context165.a(2, new Promise(function (resolve, reject) {\n var _a;\n channel.port1.onmessage = function (event) {\n var resp = event.data;\n channel.port1.close();\n if (resp.success) {\n resolve(resp.payload);\n } else {\n reject(ErrorMarshaller.unmarshall(resp.error));\n }\n };\n var message = {\n method: method,\n args: args\n };\n (_a = frame.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(message, _this37.iframeURL, [channel.port2]);\n }));\n }\n }, _callee165, this);\n }));\n }\n }]);\n}();\nvar SearchDataManager = /*#__PURE__*/function () {\n function SearchDataManager(_networkClient, dfpProtectedAuth) {\n _classCallCheck(this, SearchDataManager);\n this._networkClient = _networkClient;\n this.dfpProtectedAuth = dfpProtectedAuth;\n }\n return _createClass(SearchDataManager, [{\n key: \"searchUser\",\n value: function searchUser(email) {\n var _this38 = this;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha().then(function (_ref0) {\n var dfp_telemetry_id = _ref0.dfp_telemetry_id,\n captcha_token = _ref0.captcha_token;\n return _this38._networkClient.fetchSDK({\n url: \"/users/search\",\n method: 'POST',\n body: {\n email: email,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }\n });\n });\n }\n }, {\n key: \"searchMember\",\n value: function searchMember(email, organization_id) {\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/search\",\n method: 'POST',\n body: {\n email_address: email,\n organization_id: organization_id\n }\n });\n }\n }]);\n}(); // We should try refreshing the session if there exists a cached session in\n// state that might be stale. Otherwise, we know there is no session, so there's\n// no need.\nvar shouldTryRefresh = function shouldTryRefresh(state) {\n return !!(state === null || state === void 0 ? void 0 : state.session);\n};\nvar SessionManagerRegistry = /*#__PURE__*/function () {\n function SessionManagerRegistry() {\n _classCallCheck(this, SessionManagerRegistry);\n this.hasWarned = false;\n this.registry = new Map();\n }\n return _createClass(SessionManagerRegistry, [{\n key: \"register\",\n value: function register(key, sessionManager) {\n var otherManager = this.registry.get(key);\n // If there appears to be another registered session manager, issue a\n // warning and cancel its background refresh in favor the newer registration\n if (otherManager && otherManager !== sessionManager) {\n if (!this.hasWarned) {\n logger.warn(MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING);\n this.hasWarned = true;\n }\n otherManager.cancelBackgroundRefresh();\n }\n this.registry.set(key, sessionManager);\n }\n }, {\n key: \"unregister\",\n value: function unregister(publicToken, sessionManager) {\n var otherManager = this.registry.get(publicToken);\n if (otherManager && otherManager === sessionManager) {\n this.registry[\"delete\"](publicToken);\n }\n }\n }]);\n}();\nvar SessionManager = /*#__PURE__*/function () {\n function SessionManager(_subscriptionService, _headlessSessionClient, _publicToken, _options) {\n var _this39 = this;\n _classCallCheck(this, SessionManager);\n this._subscriptionService = _subscriptionService;\n this._headlessSessionClient = _headlessSessionClient;\n this._publicToken = _publicToken;\n this._options = _options;\n // When testing - it's often more useful to set to a shorter duration\n // private static REFRESH_INTERVAL_MS = 1000 * 3;\n this.timeout = null;\n /**\n * We need to listen to a few types of events:\n * - If the user logs in via invoking a .authenticate() call, we should start the background worker\n * - If the user steps up their authentication via another .authenticate call(), we should restart the background worker\n * - If the user logs out, we should terminate the worker\n * - We should ignore session changes that we ourselves caused - so if we already have a timeout, leave it be!\n */\n this._onDataChange = function (state) {\n if (state != null && state.sessionDurationMinutes) {\n _this39.lastAuthenticationSessionDuration = state.sessionDurationMinutes;\n }\n if (shouldTryRefresh(state)) {\n _this39.scheduleBackgroundRefresh();\n } else {\n _this39.cancelBackgroundRefresh();\n }\n };\n // In cases where we cannot get a satisfactory request:\n // - Stytch is hard-down\n // - The user's network is disconnected for an extended period of time\n // we will continue to retry every 4 minutes ad infinum\n this._reauthenticateWithBackoff = function () {\n return __awaiter(_this39, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee166() {\n var count, options, _t56;\n return _regenerator().w(function (_context166) {\n while (1) switch (_context166.p = _context166.n) {\n case 0:\n count = 0;\n case 1:\n if (!true) {\n _context166.n = 7;\n break;\n }\n _context166.p = 2;\n options = {\n session_duration_minutes: this._options.keepSessionAlive ? this.lastAuthenticationSessionDuration : undefined\n };\n _context166.n = 3;\n return this._headlessSessionClient.authenticate(options);\n case 3:\n return _context166.a(2, _context166.v);\n case 4:\n _context166.p = 4;\n _t56 = _context166.v;\n if (!SessionManager.isUnrecoverableError(_t56)) {\n _context166.n = 5;\n break;\n }\n return _context166.a(2, Promise.reject(_t56));\n case 5:\n count++;\n _context166.n = 6;\n return new Promise(function (done) {\n return setTimeout(done, SessionManager.timeoutForAttempt(count));\n });\n case 6:\n _context166.n = 1;\n break;\n case 7:\n return _context166.a(2);\n }\n }, _callee166, this, [[2, 4]]);\n }));\n };\n this._subscriptionService.subscribeToState(this._onDataChange);\n }\n /**\n * The core logic of the session refresh recursive trampoline\n * - Refreshes the currently issued session\n * - Schedules a future refresh if successful\n */\n return _createClass(SessionManager, [{\n key: \"register\",\n value: function register() {\n SessionManager.registry.register(this._publicToken, this);\n }\n }, {\n key: \"unregister\",\n value: function unregister() {\n SessionManager.registry.unregister(this._publicToken, this);\n }\n }, {\n key: \"performBackgroundRefresh\",\n value: function performBackgroundRefresh() {\n var _this40 = this;\n logger.debug('performing background refresh at ', Date.now());\n this._reauthenticateWithBackoff().then(function () {\n _this40.scheduleBackgroundRefresh();\n })[\"catch\"](function (error) {\n logger.warn('Session background refresh failed. Signalling to app that user is logged out.', {\n error: error\n });\n _this40._subscriptionService.destroySession();\n });\n }\n }, {\n key: \"scheduleBackgroundRefresh\",\n value: function scheduleBackgroundRefresh() {\n var _this41 = this;\n /* Highlander rules - there can only ever be one */\n this.cancelBackgroundRefresh();\n this.register();\n logger.debug('Scheduling bg refresh', Date.now());\n this.timeout = setTimeout(function () {\n _this41.performBackgroundRefresh();\n }, SessionManager.REFRESH_INTERVAL_MS);\n }\n }, {\n key: \"cancelBackgroundRefresh\",\n value: function cancelBackgroundRefresh() {\n if (this.timeout !== null) {\n this.unregister();\n logger.debug('Cancelling bg refresh', Date.now());\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n }\n // We start with a backoff of 2000ms and increase exponentially to ~4 minutes (+/- 175 ms for jitter)\n // A short backoff initially helps increase the chance that we refresh the session before the JWT expires\n }], [{\n key: \"timeoutForAttempt\",\n value: function timeoutForAttempt(count) {\n count = Math.min(count, 7);\n var jitter = Math.floor(Math.random() * 350) - 175;\n var delayMS = 2000 * Math.pow(2, count);\n return jitter + delayMS;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"isUnrecoverableError\",\n value: function isUnrecoverableError(error) {\n return UNRECOVERABLE_ERROR_TYPES.includes(error.error_type);\n }\n }]);\n}(); // Three minutes\nSessionManager.REFRESH_INTERVAL_MS = 1000 * 60 * 3;\nSessionManager.registry = new SessionManagerRegistry();\nvar StateChangeClient = /*#__PURE__*/_createClass(function StateChangeClient(_subscriptionService, emptyState) {\n var _this42 = this;\n _classCallCheck(this, StateChangeClient);\n this._subscriptionService = _subscriptionService;\n this.emptyState = emptyState;\n this.onStateChange = function (callback) {\n return _this42._subscriptionService.subscribeToState(function (state) {\n callback(state !== null && state !== void 0 ? state : _this42.emptyState);\n });\n };\n});\nvar LOCAL_STORAGE_KEY_PREFIX = 'stytch_sdk_state_';\nvar getLocalStorageKey = function getLocalStorageKey(publicToken) {\n return \"\".concat(LOCAL_STORAGE_KEY_PREFIX).concat(publicToken);\n};\nvar SubscriptionDataLayer = /*#__PURE__*/function () {\n function SubscriptionDataLayer(_publicToken, _storageClient) {\n var _this43 = this;\n _classCallCheck(this, SubscriptionDataLayer);\n this._publicToken = _publicToken;\n this._storageClient = _storageClient;\n this.syncFromLocalStorage = function () {\n return __awaiter(_this43, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee167() {\n var _this44 = this;\n return _regenerator().w(function (_context167) {\n while (1) switch (_context167.n) {\n case 0:\n return _context167.a(2, this._storageClient.getData(getLocalStorageKey(this._publicToken)).then(function (localData) {\n if (!localData) {\n return null;\n }\n var parsedState;\n try {\n parsedState = JSON.parse(localData);\n } catch (_a) {\n // Overwrite the bad data\n _this44._storageClient.clearData(getLocalStorageKey(_this44._publicToken));\n // this.removeSessionCookie();\n return null;\n }\n var _parsedState = parsedState,\n state = _parsedState.state,\n session_token = _parsedState.session_token,\n session_jwt = _parsedState.session_jwt,\n intermediate_session_token = _parsedState.intermediate_session_token;\n _this44.state = state;\n _this44.session_token = session_token;\n _this44.session_jwt = session_jwt;\n _this44.intermediate_session_token = intermediate_session_token;\n return {\n state: state,\n session_token: session_token,\n session_jwt: session_jwt,\n intermediate_session_token: intermediate_session_token\n };\n })[\"catch\"](function () {\n return null;\n }));\n }\n }, _callee167, this);\n }));\n };\n this.state = null;\n this.session_token = null;\n this.session_jwt = null;\n this.intermediate_session_token = null;\n this.intermediate_session_token_expiration = null;\n this.subscriptions = {};\n }\n return _createClass(SubscriptionDataLayer, [{\n key: \"syncToLocalStorage\",\n value: function syncToLocalStorage() {\n this._storageClient.setData(getLocalStorageKey(this._publicToken), JSON.stringify({\n state: this.state,\n session_token: this.session_token,\n session_jwt: this.session_jwt,\n intermediate_session_token: this.intermediate_session_token\n }));\n }\n }]);\n}();\nvar addSubscriber = function addSubscriber(collection, subscriber) {\n var uniqueId = Math.random().toString(36).slice(-10);\n collection[uniqueId] = subscriber;\n return function () {\n return delete collection[uniqueId];\n };\n};\nvar notifySubscribers = function notifySubscribers(collection, value) {\n Object.values(collection).forEach(function (cb) {\n return cb(value);\n });\n};\nvar SubscriptionService = /*#__PURE__*/function () {\n function SubscriptionService(publicToken, storageClient) {\n _classCallCheck(this, SubscriptionService);\n var _a;\n /**\n * Whether the state was retrieved from the cache and is awaiting a refresh\n */\n this.fromCache = true;\n // TODO: Generalize this for Mobile and Web based SDKs\n this._datalayer = new SubscriptionDataLayer(publicToken, storageClient);\n var session = (_a = this._datalayer.state) === null || _a === void 0 ? void 0 : _a.session;\n if (session && Date.parse(session.expires_at) < Date.now()) {\n this.destroyState();\n return;\n }\n }\n return _createClass(SubscriptionService, [{\n key: \"syncFromDeviceStorage\",\n value: function syncFromDeviceStorage(onCompleteCallback) {\n var _this45 = this;\n this._datalayer.syncFromLocalStorage().then(function (res) {\n var _a;\n if (!res) {\n _this45.setCacheRefreshed();\n } else if (((_a = res.state) === null || _a === void 0 ? void 0 : _a.session) && Date.parse(res.state.session.expires_at) < Date.now()) {\n _this45.destroyState();\n } else {\n // If we retrieved a possibly valid session, indicate whether we\n // intend to refresh it (via a background refresh)\n _this45.updateStateAndTokens(res, {\n fromCache: shouldTryRefresh(res.state)\n });\n }\n })[\"finally\"](function () {\n onCompleteCallback();\n });\n }\n }, {\n key: \"getState\",\n value: function getState() {\n return this._datalayer.state;\n }\n }, {\n key: \"getTokens\",\n value: function getTokens() {\n if (!(typeof this._datalayer.session_token === 'string') || !(typeof this._datalayer.session_jwt === 'string')) {\n return null;\n }\n return {\n session_token: this._datalayer.session_token,\n session_jwt: this._datalayer.session_jwt\n };\n }\n }, {\n key: \"removeIST\",\n value: function removeIST() {\n this._datalayer.intermediate_session_token = null;\n this._datalayer.intermediate_session_token_expiration = null;\n }\n }, {\n key: \"removeSessionTokens\",\n value: function removeSessionTokens() {\n this._datalayer.session_jwt = null;\n this._datalayer.session_token = null;\n }\n }, {\n key: \"getIntermediateSessionToken\",\n value: function getIntermediateSessionToken() {\n if (this._datalayer.intermediate_session_token_expiration && Date.now() > this._datalayer.intermediate_session_token_expiration) {\n this.removeIST();\n }\n return this._datalayer.intermediate_session_token;\n }\n }, {\n key: \"destroyState\",\n value: function destroyState() {\n this.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: null\n });\n }\n }, {\n key: \"destroySession\",\n value: function destroySession() {\n this.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: this.getIntermediateSessionToken()\n });\n }\n }, {\n key: \"_updateStateAndTokensInternal\",\n value: function _updateStateAndTokensInternal(stateDiff, options) {\n var state = stateDiff.state,\n session_token = stateDiff.session_token,\n session_jwt = stateDiff.session_jwt,\n intermediate_session_token = stateDiff.intermediate_session_token;\n var newData = state == null ? null : Object.assign(Object.assign({}, this._datalayer.state), state);\n this._datalayer.state = newData;\n if (newData) {\n this._datalayer.session_token = session_token;\n this._datalayer.session_jwt = session_jwt;\n this.removeIST();\n } else if (intermediate_session_token) {\n this.removeSessionTokens();\n this._datalayer.intermediate_session_token = intermediate_session_token;\n // ISTs are only valid for 10 minutes\n this._datalayer.intermediate_session_token_expiration = Date.now() + 10 * 60 * 1000;\n } else {\n this.removeSessionTokens();\n this.removeIST();\n }\n if (!options.fromCache) {\n this.setCacheRefreshed();\n }\n var notification;\n if (newData == null || options.fromCache) {\n notification = newData;\n } else {\n notification = Object.assign(Object.assign({}, newData), {\n sessionDurationMinutes: options.sessionDurationMinutes\n });\n }\n notifySubscribers(this._datalayer.subscriptions, notification);\n }\n }, {\n key: \"updateStateAndTokens\",\n value: function updateStateAndTokens(stateDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n fromCache: false\n };\n this._updateStateAndTokensInternal(stateDiff, options);\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"updateState\",\n value: function updateState(state) {\n var newState = state ? Object.assign(Object.assign({}, this._datalayer.state), state) : null;\n this._datalayer.state = newState;\n this.setCacheRefreshed();\n notifySubscribers(this._datalayer.subscriptions, newState);\n // Delay notifying other tabs until after we have refreshed ourselves\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"updateTokens\",\n value: function updateTokens(tokens) {\n var _a;\n this._datalayer.session_token = tokens.session_token;\n this._datalayer.session_jwt = (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : null;\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"subscribeToState\",\n value: function subscribeToState(callback) {\n return addSubscriber(this._datalayer.subscriptions, callback);\n }\n }, {\n key: \"getFromCache\",\n value: function getFromCache() {\n return this.fromCache;\n }\n }, {\n key: \"setCacheRefreshed\",\n value: function setCacheRefreshed() {\n this.fromCache = false;\n }\n }]);\n}();\nvar ConsumerSubscriptionService = /*#__PURE__*/function (_SubscriptionService) {\n function ConsumerSubscriptionService() {\n var _this46;\n _classCallCheck(this, ConsumerSubscriptionService);\n _this46 = _callSuper(this, ConsumerSubscriptionService, arguments);\n _this46.updateSession = function (resp, options) {\n // This is a bit of a hack to get the type inference to work. In practice,\n // opaque tokens are only a concern on web.\n var session = resp.session,\n user = resp.user,\n session_jwt = resp.session_jwt,\n session_token = resp.session_token;\n _this46.updateStateAndTokens({\n state: {\n session: session,\n user: user\n },\n session_jwt: session_jwt,\n session_token: session_token,\n intermediate_session_token: null\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n };\n _this46.withUpdateSession = function (authenticate) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return __awaiter(_this46, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee168() {\n var resp, options;\n return _regenerator().w(function (_context168) {\n while (1) switch (_context168.n) {\n case 0:\n _context168.n = 1;\n return authenticate.apply(void 0, args);\n case 1:\n resp = _context168.v;\n if (resp != null) {\n options = args.find(function (a) {\n return a != null && !(typeof a === 'string');\n });\n this.updateSession(resp, {\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n });\n }\n return _context168.a(2, resp);\n }\n }, _callee168, this);\n }));\n };\n };\n _this46.updateUser = function (user) {\n return _this46.updateState({\n user: user\n });\n };\n _this46.getUser = function () {\n var _a, _b;\n return (_b = (_a = _this46.getState()) === null || _a === void 0 ? void 0 : _a.user) !== null && _b !== void 0 ? _b : null;\n };\n _this46.getSession = function () {\n var _a, _b;\n return (_b = (_a = _this46.getState()) === null || _a === void 0 ? void 0 : _a.session) !== null && _b !== void 0 ? _b : null;\n };\n return _this46;\n }\n _inherits(ConsumerSubscriptionService, _SubscriptionService);\n return _createClass(ConsumerSubscriptionService);\n}(SubscriptionService);\nvar B2BSubscriptionService = /*#__PURE__*/function (_SubscriptionService2) {\n function B2BSubscriptionService() {\n var _this47;\n _classCallCheck(this, B2BSubscriptionService);\n _this47 = _callSuper(this, B2BSubscriptionService, arguments);\n _this47.updateSession = function (originalResp, options) {\n // This is a bit of a hack to get the type inference to work. In practice,\n // opaque tokens are only a concern on web.\n var resp = originalResp;\n if ('member_session' in resp && resp.member_session) {\n _this47.updateStateAndTokens({\n state: {\n session: resp.member_session,\n member: resp.member,\n organization: resp.organization\n },\n session_token: resp.session_token,\n session_jwt: resp.session_jwt,\n intermediate_session_token: null\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n } else {\n _this47.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: resp.intermediate_session_token\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n }\n };\n _this47.withUpdateSession = function (authenticate) {\n return function (options) {\n return __awaiter(_this47, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee169() {\n var resp;\n return _regenerator().w(function (_context169) {\n while (1) switch (_context169.n) {\n case 0:\n _context169.n = 1;\n return authenticate(options);\n case 1:\n resp = _context169.v;\n this.updateSession(resp, {\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n });\n return _context169.a(2, resp);\n }\n }, _callee169, this);\n }));\n };\n };\n _this47.updateMember = function (member) {\n return _this47.updateState({\n member: member\n });\n };\n _this47.getMember = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.member) !== null && _b !== void 0 ? _b : null;\n };\n _this47.updateOrganization = function (organization) {\n return _this47.updateState({\n organization: organization\n });\n };\n _this47.getOrganization = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.organization) !== null && _b !== void 0 ? _b : null;\n };\n _this47.getSession = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.session) !== null && _b !== void 0 ? _b : null;\n };\n return _this47;\n }\n _inherits(B2BSubscriptionService, _SubscriptionService2);\n return _createClass(B2BSubscriptionService);\n}(SubscriptionService);\nvar VERTICAL_B2B = 'B2B';\nvar VERTICAL_CONSUMER = 'CONSUMER';\nvar createDeepEqual = function createDeepEqual() {\n var _ref1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref1$KEYS_TO_EXCLUDE = _ref1.KEYS_TO_EXCLUDE,\n KEYS_TO_EXCLUDE = _ref1$KEYS_TO_EXCLUDE === void 0 ? [] : _ref1$KEYS_TO_EXCLUDE;\n // If comparing functions, this may need some work. Not sure the\n // best path for this: compare instance (what it currently does),\n // stringify and compare, etc.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var _deepEqual = function deepEqual(a, b) {\n // Ensures type is the same\n if (_typeof(a) !== _typeof(b)) return false;\n // arrays, null, and objects all have type 'object'\n if (a === null || b === null) return a === b;\n if (_typeof(a) === 'object') {\n if (Object.keys(a).length !== Object.keys(b).length || Object.keys(a).some(function (k) {\n return !(k in b);\n })) return false;\n return Object.entries(a).filter(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 1),\n k = _ref11[0];\n return !KEYS_TO_EXCLUDE.includes(k);\n }).every(function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 2),\n k = _ref13[0],\n v = _ref13[1];\n return _deepEqual(v, b[k]);\n });\n }\n // boolean, string, number, undefined\n return a === b;\n };\n return _deepEqual;\n};\nexport { B2BSubscriptionService, CLIENTSIDE_SERVICES_IFRAME_URL, COUNTRIES_LIST, ConsumerSubscriptionService, DEFAULT_INTERVAL_DURATION_MS, DEFAULT_MAX_BATCH_SIZE, DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, DFPProtectedAuthProvider, DisabledDFPProtectedAuthProvider, EmailSentType, ErrorMarshaller, EventLogger, GOOGLE_ONE_TAP_HOST, GOOGLE_ONE_TAP_SCRIPT_URL, HeadlessB2BDiscoveryClient, HeadlessB2BIDPClient, HeadlessB2BImpersonationClient, HeadlessB2BMagicLinksClient, HeadlessB2BOAuthClient, HeadlessB2BOTPsClient, HeadlessB2BOrganizationClient, HeadlessB2BPasswordsClient, HeadlessB2BRBACClient, HeadlessB2BRecoveryCodesClient, HeadlessB2BSCIMClient, HeadlessB2BSSOClient, HeadlessB2BSelfClient, HeadlessB2BSessionClient, HeadlessB2BTOTPsClient, HeadlessCryptoWalletClient, HeadlessIDPClient, HeadlessImpersonationClient, HeadlessMagicLinksClient, HeadlessOAuthClient, HeadlessOTPClient, HeadlessPasswordClient, HeadlessRBACClient, HeadlessSessionClient, HeadlessTOTPClient, HeadlessUserClient, HeadlessWebAuthnClient, IframeHostClient, LIVE_API_URL, MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING, POWERED_BY_STYTCH_IMG_URL, RBACPolicy, RetriableError, RetriableErrorType, STYTCH_DFP_BACKEND_URL, STYTCH_DFP_CDN_URL, STYTCH_SESSION_COOKIE, STYTCH_SESSION_JWT_COOKIE, SearchDataManager, SessionManager, StateChangeClient, SubscriptionDataLayer, SubscriptionService, TEST_API_URL, VERTICAL_B2B, VERTICAL_CONSUMER, WILDCARD_ACTION, arrayUtils, baseFetchSDK, baseSubmitFormSDK, checkB2BNotSSR, checkNotSSR, checkPublicToken, createAppSessionId, createDeepEqual, createEventId, createPersistentId, getDFPBackendURL, getDFPCdnURL, getLiveApiURL, getTestApiURL, isEmailMethod, isPhoneMethod, isTestPublicToken, loadESModule, logger, normalizePromiseLike, omitUser, removeResponseCommon, retriableFetchSDK, validate };\n//# sourceMappingURL=index.esm.js.map\n",null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,"/*! js-cookie v3.0.1 | 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 (key, 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 key = encodeURIComponent(key)\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 key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\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 foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\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 default api;\n","type DeepEqualOpts = {\n KEYS_TO_EXCLUDE?: string[];\n};\n\nexport const createDeepEqual = ({ KEYS_TO_EXCLUDE = [] }: DeepEqualOpts = {}) => {\n // If comparing functions, this may need some work. Not sure the\n // best path for this: compare instance (what it currently does),\n // stringify and compare, etc.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const deepEqual = (a: any, b: any): boolean => {\n // Ensures type is the same\n if (typeof a !== typeof b) return false;\n // arrays, null, and objects all have type 'object'\n if (a === null || b === null) return a === b;\n if (typeof a === 'object') {\n if (Object.keys(a).length !== Object.keys(b).length || Object.keys(a).some((k) => !(k in b))) return false;\n return Object.entries(a)\n .filter(([k]) => !KEYS_TO_EXCLUDE.includes(k))\n .every(([k, v]) => deepEqual(v, b[k]));\n }\n // boolean, string, number, undefined\n return a === b;\n };\n\n return deepEqual;\n};\n",null,null,null,null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","apply","SuppressedError","error","suppressed","message","Error","name","Products","OAuthProviders","Wallets","OneTapPositions","OTPMethods","StytchEventType","RNUIProducts","TEST_API_URL","LIVE_API_URL","CLIENTSIDE_SERVICES_IFRAME_URL","STYTCH_DFP_BACKEND_URL","STYTCH_DFP_CDN_URL","GOOGLE_ONE_TAP_HOST","GOOGLE_ONE_TAP_SCRIPT_URL","concat","MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING","BOOTSTRAP_CACHE_KEY","DEFAULT_BOOTSTRAP","displayWatermark","projectName","cnameDomain","emailDomains","captchaSettings","enabled","pkceRequiredForEmailMagicLinks","pkceRequiredForPasswordResets","pkceRequiredForOAuth","pkceRequiredForSso","slugPattern","createOrganizationEnabled","passwordConfig","runDFPProtectedAuth","rbacPolicy","siweRequiredForCryptoWallets","vertical","BootstrapDataManager","constructor","_publicToken","_networkClient","_dataLayer","_this19","_classCallCheck2","_bootstrapDataPromise","fetchSDK","url","method","mapBootstrapData","data","setItem","JSON","stringify","logger","_createClass2","key","getSync","cached","getItem","parse","_a","getAsync","response","password_config","ludsComplexity","luds_complexity","ludsMinimumCount","luds_minimum_count","project_name","disable_sdk_watermark","captcha_settings","cname_domain","email_domains","pkce_required_for_email_magic_links","pkce_required_for_password_resets","pkce_required_for_oauth","pkce_required_for_sso","slug_pattern","create_organization_enabled","dfp_protected_auth_enabled","dfpProtectedAuthMode","dfp_protected_auth_mode","_b","rbac_policy","siwe_required_for_crypto_wallets","loadRecaptchaClient","siteKey","loadESModule","window","grecaptcha","enterprise","CaptchaProvider","bootstrapPromise","_this20","executeRecaptcha","_regenerator2","m","_callee0","_yield$this$state4","captchaClient","configured","w","_context0","n","state","v","a","undefined","ready","execute","action","bootstrapData","_callee1","_t3","_t4","_context1","ClientsideServicesProvider","iframeURL","_this21","oneTapStart","req","oneTapSubmit","parsedPhoneNumber","get","_frameClient","IframeHostClient","handlerName","frameClient","HeadlessOAuthClient","_HeadlessOAuthClient$","_subscriptionService","_pkceManager","_dynamicConfig","_config","_oneTap","_this22","_callSuper2","startOneTap","options","_callee10","clientResult","client","onSuccessCallback","_context10","createOneTapClient","success","reason","createOnSuccessHandler","signupRedirectUrl","signup_redirect_url","loginRedirectUrl","login_redirect_url","onSuccess","redirectOnSuccess","render","style","position","floating","onOneTapCancelled","callback","cancelOnTapOutside","cancel_on_tap_outside","googleOneTap","start","_inherits2","BaseHeadlessOAuthClient","NetworkClient","_subscriptionDataLayer","_liveAPIURL","_testAPIURL","additionalTelemetryDataFn","updateSessionToken","baseURL","isTestPublicToken","eventLogger","EventLogger","maxBatchSize","DEFAULT_MAX_BATCH_SIZE","intervalDurationMs","DEFAULT_INTERVAL_DURATION_MS","logEventURL","buildSDKUrl","logEvent","_ref7","details","_ref7$error","createTelemetryBlob","public_token","event_name","error_code","error_description","http_status_code","assign","event_id","createEventId","app_session_id","createAppSessionId","persistent_id","createPersistentId","client_sent_at","Date","toISOString","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","app","identifier","location","hostname","sdk","version","PACKAGE_VERSION","_ref8","body","sessionToken","readSessionCookie","session_token","basicAuthHeader","btoa","xSDKClientHeader","xSDKParentHostHeader","origin","_context11","baseFetchSDK","finalURL","_callee11","submitFormSDK","_ref9","_context68","baseSubmitFormSDK","_callee68","retriableFetchSDK","_ref1","retryCallback","_context69","_callee69","navigatorSupportsFedCM","getConfiguredEmbeddedMode","forceLegacyEmbedded","embeddedOnly","embedded","floatingOrEmbedded","getShouldRenderEmbeddedOneTap","embeddedMode","GoogleOneTapClient","_googleClient","_clientId","cancel","_ref10","_ref10$cancelOnTapOut","shouldRenderEmbeddedOneTap","config","client_id","auto_select","context","itp_support","use_fedcm_for_prompt","prompt_parent_id","initialize","_context70","_this23","prompt","notification","isSkippedMoment","getSkippedReason","isNotDisplayed","_c","_d","getNotDisplayedReason","isDismissedMoment","styleFrame","_callee70","Array","from","document","getElementsByTagName","forEach","frame","src","includes","width","loadGoogleOneTapClient","google","accounts","id","OneTapProvider","clientsideServices","_this24","_ref11","_callee71","credential","_yield$this$submitGoo","redirect_url","_context71","submitGoogleOneTapToken","href","fetchGoogleStart","_yield$this$fetchGoog","_context72","googleClientId","err","StytchAPIError","_t5","error_type","_t6","_t11","_t12","_callee72","googleConfig","publicToken","_ref12","_yield$this$fetchGoog2","_context73","oauthCallbackId","idToken","loginRedirectURL","oauthCallbackID","signupRedirectURL","_callee73","willGoogleOneTapShowEmbedded","ua","arguments","navigator","userAgent","uaContains","searchString","isTabletUA","isMobileUA","PKCE_VERIFIER_STORAGE_KEY","toHex","str","toString","base64URLEncode","buf","_String$fromCharCode","String","fromCharCode","_toConsumableArray2","Uint8Array","replace","PKCEManager","namespace","startPKCETransaction","createProofkeyPair","keyPair","_context74","_callee74","getPKPair","serialized","warn","clearPKPair","removeItem","bytes","Uint32Array","crypto","getRandomValues","codeVerifier","map","join","_context75","subtle","digest","TextEncoder","encode","code_challenge","code_verifier","_callee75","target","source","defaultConverter","read","slice","decodeURIComponent","write","encodeURIComponent","init","converter","defaultAttributes","set","attributes","expires","now","toUTCString","escape","stringifiedAttributes","attributeName","split","cookie","cookies","jar","parts","foundKey","create","remove","withAttributes","withConverter","freeze","api","path","createDeepEqual","_ref13","_ref13$KEYS_TO_EXCLUD","KEYS_TO_EXCLUDE","deepEqual","b","_typeof2","keys","some","k","entries","filter","_ref14","_ref15","_slicedToArray2","every","_ref16","_ref17","isLocalhost","Boolean","match","hasMultipleCookies","cookieName","cookiePairs","matchedCookies","pair","_pair$split","_pair$split2","PERSISTENT_STORAGE_KEY_PREFIX","getPersistentStorageKey","makeSafeStorage","storage","publicKey","persistentStorageKey","safeLocalStorage","globalThis","localStorage","safeSessionStorage","sessionStorage","getKeyBoundStorage","STYTCH_SESSION_COOKIE","STYTCH_SESSION_JWT_COOKIE","STYTCH_INTERMEDIATE_SESSION_TOKEN_COOKIE","SEEN_DOMAINS_KEY","SubscriptionDataLayer","_opaqueTokenCookieName","_jwtCookieName","_cookiePath","_domain","_cookieAvailableToSubdomains","_istCookieName","stateKeysUpdated","Set","subscriptions","_localStorage","browserSessionStorage","cookieOptions","opaqueTokenCookieName","jwtCookieName","domain","availableToSubdomains","istCookieName","localStorageState","parsedState","syncToLocalStorage","Cookies","session_jwt","readIntermediateSessionTokenCookie","writeSessionCookie","stateDiff","cookieOpts","generateCookieOpts","expiresAt","session","expires_at","addSeenDomain","alternateCookieOptions","writeIntermediateSessionTokenCookie","IST","expiresAtTime","removeSessionCookie","removeCookies","removeISTCookie","cookiesToRemove","_this25","trackedDomains","getSeenDomains","allDomains","uniqueDomains","storedDomains","parsed","isArray","push","_ref18","sameSite","secure","host","ConsumerSubscriptionDataLayer","_SubscriptionDataLaye","consumerDataLayerCacheSymbol","Symbol","getConsumerDataLayerCache","wdw","getConsumerDataLayer","dataLayerCache","addSubscriber","collection","subscriber","uniqueId","Math","random","notifySubscribers","values","cb","deepEqualData","BaseSubscriptionService","_datalayer","_ref19","_this26","usingCustomApiEndpoint","fromCache","_listen","parsedValue","newValue","updateState","addEventListener","_this$_datalayer$read","destroySession","getTokens","_this$_datalayer$read2","getIntermediateSessionToken","destroyState","updateStateAndTokens","intermediate_session_token","_updateStateAndTokensInternal","oldStateValue","newStateValue","wasCached","getFromCache","setCacheRefreshed","sessionDurationMinutes","fromExternalSource","hasStateChanged","updateTokens","tokens","diff","subscribeToState","getState","destroy","removeEventListener","syncFromDeviceStorage","ConsumerSubscriptionService","_BaseSubscriptionServ","_this27","updateUser","user","getUser","getSession","updateSession","resp","withUpdateSession","authenticate","_len4","args","_key4","_callee76","_context76","find","session_duration_minutes","internalSymB2C","writeB2CInternals","obj","internals","_defineProperty","buildFinalConfig","clientName","opts","keepSessionAlive","validator","validate","isOptionalBoolean","isOptionalString","endpoints","testAPIURL","getTestApiURL","liveAPIURL","getLiveApiURL","dfpBackendURL","getDFPBackendURL","dfpCdnURL","getDFPCdnURL","clientsideServicesIframeURL","isHandledTokenType","handledTypes","tokenType","clearStytchTokenParams","removeStytchTokenParams","history","replaceState","title","createAuthUrlHandler","handlers","handledTokenTypes","parseAuthenticateUrl","URL","searchParams","token","handled","authenticateByUrl","_callee77","clearParams","shouldClearParams","handler","_context77","f","params","StytchHeadlessClient","publicTokenRaw","_this28","checkNotSSR","checkPublicToken","_PUBLIC_TOKEN","_stateChangeClient","StateChangeClient","onStateChange","_this28$_stateChangeC","stytch_user_id","user_id","stytch_session_id","session_id","passwordsPKCEManager","networkClient","bootstrap","captcha","dfpProtectedAuth","DFPProtectedAuthProvider","oneTap","searchManager","SearchDataManager","HeadlessUserClient","HeadlessSessionClient","magicLinks","HeadlessMagicLinksClient","otps","HeadlessOTPClient","oauth","cryptoWallets","HeadlessCryptoWalletClient","totps","HeadlessTOTPClient","webauthn","HeadlessWebAuthnClient","passwords","HeadlessPasswordClient","impersonation","HeadlessImpersonationClient","rbac","HeadlessRBACClient","idp","HeadlessIDPClient","_sessionManager","SessionManager","performBackgroundRefresh","event_callback_registered","error_callback_registered","success_callback_registered","VERTICAL_B2B","_createAuthUrlHandler","magic_links","impersonation_token","dataLayer"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","x_google_ignoreList":[4,14]}
|
|
1
|
+
{"version":3,"file":"index.headless.js","sources":["../../core/dist/tslib.es6-f6374340.js","../../core/dist/ui-cccea861.js","../../core/dist/index.esm.js","../src/BootstrapDataManager.ts","../node_modules/tslib/tslib.es6.js","../src/CaptchaProvider.ts","../src/ClientsideServicesProvider.ts","../src/HeadlessOAuthClient.ts","../src/NetworkClient.ts","../src/oneTap/navigatorSupportsFedCM.ts","../src/oneTap/positionModes.ts","../src/oneTap/GoogleOneTapClient.ts","../src/oneTap/OneTapProvider.ts","../src/PKCEManager.ts","../node_modules/js-cookie/dist/js.cookie.mjs","../../js-utils/src/createDeepEqual.ts","../src/utils/index.ts","../src/utils/storage.ts","../src/SubscriptionService.ts","../src/utils/internal.ts","../src/utils/config.ts","../src/utils/createAuthUrlHandler.ts","../src/StytchHeadlessClient.ts"],"sourcesContent":["/******************************************************************************\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***************************************************************************** */\nfunction __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\ntypeof 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};\nexport { __awaiter as _, __rest as a };\n//# sourceMappingURL=tslib.es6-f6374340.js.map\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n/**\n * The authentication methods we support through our UI.\n * Currently we support `emailMagicLinks`, `oauth`, `otp`, `crypto` and `passwords`.\n */\nvar Products;\n(function (Products) {\n Products[\"emailMagicLinks\"] = \"emailMagicLinks\";\n Products[\"oauth\"] = \"oauth\";\n Products[\"otp\"] = \"otp\";\n Products[\"crypto\"] = \"crypto\";\n Products[\"passwords\"] = \"passwords\";\n Products[\"passkeys\"] = \"passkeys\";\n})(Products || (Products = {}));\n/**\n * The OAuth providers we support in our OAuth product.\n * Currently we support `Amazon`, `Apple`, `Bitbucket`, `Discord`, `Facebook`, `Figma`, `Google`, `GitLab`,\n * `LinkedIn`, `Microsoft`, `Salesforce`, `Slack`, `Snapchat`, `TikTok`, `Twitch`, `Twitter`, and `Yahoo`.\n */\nvar OAuthProviders;\n(function (OAuthProviders) {\n OAuthProviders[\"Google\"] = \"google\";\n OAuthProviders[\"Microsoft\"] = \"microsoft\";\n OAuthProviders[\"Apple\"] = \"apple\";\n OAuthProviders[\"Github\"] = \"github\";\n OAuthProviders[\"GitLab\"] = \"gitlab\";\n OAuthProviders[\"Facebook\"] = \"facebook\";\n OAuthProviders[\"Discord\"] = \"discord\";\n OAuthProviders[\"Salesforce\"] = \"salesforce\";\n OAuthProviders[\"Slack\"] = \"slack\";\n OAuthProviders[\"Amazon\"] = \"amazon\";\n OAuthProviders[\"Bitbucket\"] = \"bitbucket\";\n OAuthProviders[\"LinkedIn\"] = \"linkedin\";\n OAuthProviders[\"Coinbase\"] = \"coinbase\";\n OAuthProviders[\"Twitch\"] = \"twitch\";\n OAuthProviders[\"Twitter\"] = \"twitter\";\n OAuthProviders[\"TikTok\"] = \"tiktok\";\n OAuthProviders[\"Snapchat\"] = \"snapchat\";\n OAuthProviders[\"Figma\"] = \"figma\";\n OAuthProviders[\"Yahoo\"] = \"yahoo\";\n})(OAuthProviders || (OAuthProviders = {}));\n/**\n * The Crypto Wallets we support in our crypto product.\n * Currently we support all ethereum and solana wallets.\n * We additionally detect and show popular wallets as distinct options.\n * The list of poular wallets include `Binance`, `Coinbase`, `Metamask`, `Phantom`, and `Vessel`\n */\nvar Wallets;\n(function (Wallets) {\n Wallets[\"Vessel\"] = \"Vessel\";\n Wallets[\"Phantom\"] = \"Phantom\";\n Wallets[\"Metamask\"] = \"Metamask\";\n Wallets[\"Coinbase\"] = \"Coinbase\";\n Wallets[\"Binance\"] = \"Binance\";\n Wallets[\"GenericEthereumWallet\"] = \"Other Ethereum Wallet\";\n Wallets[\"GenericSolanaWallet\"] = \"Other Solana Wallet\";\n})(Wallets || (Wallets = {}));\n/**\n * Supported behaviors for positioning Google One Tap. The actual behavior\n * depends on browser support and Google's One Tap implementation.\n */\nvar OneTapPositions;\n(function (OneTapPositions) {\n /**\n * Display Google One Tap using a native browser prompt if available, or\n * embedded in the existing SDK login form otherwise.\n * @deprecated This option has been renamed to `floatingOrEmbedded`\n */\n OneTapPositions[\"embedded\"] = \"embedded\";\n /**\n * Display the One Tap prompt using a native browser prompt if available, or\n * in the top right corner otherwise. This is the default option.\n */\n OneTapPositions[\"floating\"] = \"floating\";\n /**\n * Display the One Tap prompt embedded in the existing SDK login form if a\n * native browser prompt is not available, or not at all otherwise. This\n * option is not recommended for new applications.\n */\n OneTapPositions[\"embeddedOnly\"] = \"embeddedOnly\";\n /**\n * Display the One Tap prompt using a native browser prompt if available, or\n * embedded in the existing SDK login form otherwise.\n */\n OneTapPositions[\"floatingOrEmbedded\"] = \"floatingOrEmbedded\";\n /**\n * Attempt to display the One Tap prompt embedded in the existing SDK login\n * form, even if a native browser prompt is supported. This option is not\n * recommended. It disables native browser FedCM support even where it is\n * available, and will stop being honored by Google in the future.\n */\n OneTapPositions[\"forceLegacyEmbedded\"] = \"forceLegacyEmbedded\";\n})(OneTapPositions || (OneTapPositions = {}));\n/**\n * The methods array allows you to specify the authentication methods that you would like to expose\n * to your users. The order of the products that you include here will also be the order in which\n * they appear in the login form, with the first product specified appearing at the top of the login\n * form. We currently support passcodes on `email`, `sms` and `whatsapp`\n */\nvar OTPMethods;\n(function (OTPMethods) {\n OTPMethods[\"SMS\"] = \"sms\";\n OTPMethods[\"WhatsApp\"] = \"whatsapp\";\n OTPMethods[\"Email\"] = \"email\";\n})(OTPMethods || (OTPMethods = {}));\nvar StytchEventType;\n(function (StytchEventType) {\n StytchEventType[\"MagicLinkLoginOrCreateEvent\"] = \"MAGIC_LINK_LOGIN_OR_CREATE\";\n StytchEventType[\"OTPsLoginOrCreateEvent\"] = \"OTP_LOGIN_OR_CREATE\";\n StytchEventType[\"OTPsAuthenticate\"] = \"OTP_AUTHENTICATE\";\n StytchEventType[\"CryptoWalletAuthenticateStart\"] = \"CRYPTO_WALLET_AUTHENTICATE_START\";\n StytchEventType[\"CryptoWalletAuthenticate\"] = \"CRYPTO_WALLET_AUTHENTICATE\";\n StytchEventType[\"PasswordCreate\"] = \"PASSWORD_CREATE\";\n StytchEventType[\"PasswordAuthenticate\"] = \"PASSWORD_AUTHENTICATE\";\n StytchEventType[\"PasswordResetByEmailStart\"] = \"PASSWORD_RESET_BY_EMAIL_START\";\n StytchEventType[\"PasswordResetByEmail\"] = \"PASSWORD_RESET_BY_EMAIL\";\n StytchEventType[\"PasskeyRegister\"] = \"PASSKEY_REGISTER\";\n StytchEventType[\"PasskeyAuthenticate\"] = \"PASSKEY_AUTHENTICATE\";\n StytchEventType[\"PasskeySkip\"] = \"PASSKEY_SKIP\";\n StytchEventType[\"PasskeyDone\"] = \"PASSKEY_DONE\";\n /**\n * The authentication UI flow has completed successfully, including any steps\n * that take place after obtaining a valid session (such as saving recovery\n * codes).\n */\n StytchEventType[\"AuthenticateFlowComplete\"] = \"AUTHENTICATE_FLOW_COMPLETE\";\n /**\n * An OAuth Authorization flow has been initiated by a Connected Application.\n * The end-user may be prompted for consent to continue depending on the application\n * that is requesting access.\n */\n StytchEventType[\"OAuthAuthorizeFlowStart\"] = \"OAUTH_AUTHORIZE_FLOW_START\";\n /**\n * The end-user has completed the Authorization flow and is about to be redirected\n * back to the Connected Application\n */\n StytchEventType[\"OAuthAuthorizeFlowComplete\"] = \"OAUTH_AUTHORIZE_FLOW_COMPLETE\";\n /**\n * The end-user has denied the Authorization flow and is about to be redirected\n * back to the Connected Application with an error message\n */\n StytchEventType[\"OAuthAuthorizeFlowConsentDenied\"] = \"OAUTH_AUTHORIZE_FLOW_CONSENT_DENIED\";\n // More Events will go here ...\n // B2B Events\n StytchEventType[\"B2BMagicLinkEmailLoginOrSignup\"] = \"B2B_MAGIC_LINK_EMAIL_LOGIN_OR_SIGNUP\";\n StytchEventType[\"B2BMagicLinkAuthenticate\"] = \"B2B_MAGIC_LINK_AUTHENTICATE\";\n StytchEventType[\"B2BMagicLinkEmailDiscoverySend\"] = \"B2B_MAGIC_LINK_EMAIL_DISCOVERY_SEND\";\n StytchEventType[\"B2BMagicLinkDiscoveryAuthenticate\"] = \"B2B_MAGIC_LINK_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BSSOStart\"] = \"B2B_SSO_START\";\n StytchEventType[\"B2BSSOAuthenticate\"] = \"B2B_SSO_AUTHENTICATE\";\n StytchEventType[\"B2BSSODiscoverConnections\"] = \"B2B_SSO_DISCOVER_CONNECTIONS\";\n StytchEventType[\"B2BOAuthAuthenticate\"] = \"B2B_OAUTH_AUTHENTICATE\";\n StytchEventType[\"B2BOAuthDiscoveryAuthenticate\"] = \"B2B_OAUTH_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BDiscoveryOrganizationsCreate\"] = \"B2B_DISCOVERY_ORGANIZATIONS_CREATE\";\n StytchEventType[\"B2BDiscoveryIntermediateSessionExchange\"] = \"B2B_DISCOVERY_INTERMEDIATE_SESSION_EXCHANGE\";\n StytchEventType[\"B2BPasswordAuthenticate\"] = \"B2B_PASSWORD_AUTHENTICATE\";\n StytchEventType[\"B2BPasswordDiscoveryAuthenticate\"] = \"B2B_PASSWORD_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BPasswordResetByEmailStart\"] = \"B2B_PASSWORD_RESET_BY_EMAIL_START\";\n StytchEventType[\"B2BPasswordResetByEmail\"] = \"B2B_PASSWORD_RESET_BY_EMAIL\";\n StytchEventType[\"B2BPasswordResetBySession\"] = \"B2B_PASSWORD_RESET_BY_SESSION\";\n StytchEventType[\"B2BSMSOTPSend\"] = \"B2B_SMS_OTP_SEND\";\n StytchEventType[\"B2BSMSOTPAuthenticate\"] = \"B2B_SMS_OTP_AUTHENTICATE\";\n StytchEventType[\"B2BTOTPCreate\"] = \"B2B_TOTP_CREATE\";\n StytchEventType[\"B2BTOTPAuthenticate\"] = \"B2B_TOTP_AUTHENTICATE\";\n StytchEventType[\"B2BRecoveryCodesRecover\"] = \"B2B_RECOVERY_CODES_RECOVER\";\n StytchEventType[\"B2BPasswordDiscoveryResetStart\"] = \"B2B_PASSWORD_DISCOVERY_RESET_BY_EMAIL_START\";\n StytchEventType[\"B2BDiscoveryPasswordReset\"] = \"B2B_PASSWORD_DISCOVERY_RESET_BY_EMAIL\";\n StytchEventType[\"B2BImpersonationAuthenticate\"] = \"B2B_IMPERSONATION_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailAuthenticate\"] = \"B2B_OTPS_EMAIL_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailDiscoveryAuthenticate\"] = \"B2B_OTPS_EMAIL_DISCOVERY_AUTHENTICATE\";\n StytchEventType[\"B2BOTPsEmailDiscoverySend\"] = \"B2B_OTPS_EMAIL_DISCOVERY_SEND\";\n StytchEventType[\"B2BOTPsEmailLoginOrSignup\"] = \"B2B_OTPS_EMAIL_LOGIN_OR_SIGNUP\";\n StytchEventType[\"B2BOrganizationsGetBySlug\"] = \"B2B_ORGANIZATIONS_GET_BY_SLUG\";\n})(StytchEventType || (StytchEventType = {}));\nvar RNUIProducts;\n(function (RNUIProducts) {\n RNUIProducts[RNUIProducts[\"emailMagicLinks\"] = 0] = \"emailMagicLinks\";\n RNUIProducts[RNUIProducts[\"oauth\"] = 1] = \"oauth\";\n RNUIProducts[RNUIProducts[\"otp\"] = 2] = \"otp\";\n RNUIProducts[RNUIProducts[\"passwords\"] = 3] = \"passwords\";\n})(RNUIProducts || (RNUIProducts = {}));\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nvar SDKAPIUnreachableError = /*#__PURE__*/function (_Error) {\n function SDKAPIUnreachableError(message, details) {\n var _this;\n _classCallCheck(this, SDKAPIUnreachableError);\n _this = _callSuper(this, SDKAPIUnreachableError, [message + '\\n' + details]);\n _this.message = message + '\\n' + details;\n _this.name = 'SDKAPIUnreachableError';\n _this.details = details;\n Object.setPrototypeOf(_this, SDKAPIUnreachableError.prototype);\n return _this;\n }\n _inherits(SDKAPIUnreachableError, _Error);\n return _createClass(SDKAPIUnreachableError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the provided input fails client-side validation -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchSDKUsageError = /*#__PURE__*/function (_Error2) {\n function StytchSDKUsageError(methodName, message) {\n var _this2;\n _classCallCheck(this, StytchSDKUsageError);\n _this2 = _callSuper(this, StytchSDKUsageError);\n _this2.name = 'StytchSDKUsageError';\n _this2.message = \"Invalid call to \".concat(methodName, \"\\n\") + message;\n return _this2;\n }\n _inherits(StytchSDKUsageError, _Error2);\n return _createClass(StytchSDKUsageError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchSDKSchemaError = /*#__PURE__*/function (_Error3) {\n function StytchSDKSchemaError(schemaError) {\n var _this3;\n _classCallCheck(this, StytchSDKSchemaError);\n var _a;\n _this3 = _callSuper(this, StytchSDKSchemaError);\n _this3.name = 'StytchSDKSchemaError';\n var messages = (_a = schemaError.body) === null || _a === void 0 ? void 0 : _a.map(function (err) {\n return \"\".concat(err.dataPath, \": \").concat(err.message);\n }).join('\\n');\n _this3.message = \"[400] Request does not match expected schema\\n\".concat(messages);\n return _this3;\n }\n _inherits(StytchSDKSchemaError, _Error3);\n return _createClass(StytchSDKSchemaError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nvar StytchSDKAPIError = /*#__PURE__*/function (_Error4) {\n function StytchSDKAPIError(details) {\n var _this4;\n _classCallCheck(this, StytchSDKAPIError);\n _this4 = _callSuper(this, StytchSDKAPIError);\n _this4.name = 'StytchSDKAPIError';\n var status_code = details.status_code,\n error_type = details.error_type,\n error_message = details.error_message,\n error_url = details.error_url,\n request_id = details.request_id,\n error_details = details.error_details;\n _this4.error_type = error_type;\n _this4.error_message = error_message;\n _this4.error_url = error_url;\n _this4.request_id = request_id;\n _this4.status_code = status_code;\n _this4.error_details = error_details;\n _this4.message = \"[\".concat(status_code, \"] \").concat(error_type, \"\\n\") + \"\".concat(error_message, \"\\n\") + \"See \".concat(error_url, \" for more information.\\n\") + (\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n request_id ? \"request_id: \".concat(request_id, \"\\n\") : '') + (_this4.error_details ? \"Details: \\n\" + JSON.stringify(_this4.error_details) + '\\n' : '');\n return _this4;\n }\n _inherits(StytchSDKAPIError, _Error4);\n return _createClass(StytchSDKAPIError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * If the SDK throws an error with an error type included in this array, the local session and\n * user state will be cleared locally.\n */\nvar UNRECOVERABLE_ERROR_TYPES = ['unauthorized_credentials', 'user_unauthenticated', 'invalid_secret_authentication', 'session_not_found'];\n/**\n * An Error class representing an error within Stytch.\n */\nvar StytchError = /*#__PURE__*/function (_Error5) {\n function StytchError(name, message) {\n var _this5;\n _classCallCheck(this, StytchError);\n _this5 = _callSuper(this, StytchError, [message]);\n _this5.name = name;\n return _this5;\n }\n _inherits(StytchError, _Error5);\n return _createClass(StytchError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nvar StytchAPIUnreachableError = /*#__PURE__*/function (_StytchError) {\n function StytchAPIUnreachableError(details) {\n var _this6;\n _classCallCheck(this, StytchAPIUnreachableError);\n _this6 = _callSuper(this, StytchAPIUnreachableError, ['StytchAPIUnreachableError', details]);\n Object.setPrototypeOf(_this6, StytchAPIUnreachableError.prototype);\n return _this6;\n }\n _inherits(StytchAPIUnreachableError, _StytchError);\n return _createClass(StytchAPIUnreachableError);\n}(StytchError);\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nvar StytchAPISchemaError = /*#__PURE__*/function (_StytchError2) {\n function StytchAPISchemaError(schemaError) {\n _classCallCheck(this, StytchAPISchemaError);\n var _a;\n var messages = (_a = schemaError.body) === null || _a === void 0 ? void 0 : _a.map(function (err) {\n return \"\".concat(err.dataPath, \": \").concat(err.message);\n }).join('\\n');\n return _callSuper(this, StytchAPISchemaError, ['StytchAPISchemaError', \"Request does not match expected schema\\n\".concat(messages)]);\n }\n _inherits(StytchAPISchemaError, _StytchError2);\n return _createClass(StytchAPISchemaError);\n}(StytchError);\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nvar StytchAPIError = /*#__PURE__*/function (_StytchError3) {\n function StytchAPIError(details) {\n var _this7;\n _classCallCheck(this, StytchAPIError);\n var status_code = details.status_code,\n error_type = details.error_type,\n error_message = details.error_message,\n error_url = details.error_url,\n request_id = details.request_id,\n error_details = details.error_details;\n _this7 = _callSuper(this, StytchAPIError, ['StytchAPIError', \"[\".concat(status_code, \"] \").concat(error_type, \"\\n\") + \"\".concat(error_message, \"\\n\") + \"See \".concat(error_url, \" for more information.\\n\") + (\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n request_id ? \"request_id: \".concat(request_id, \"\\n\") : '') + (error_details ? \"Details: \\n\" + JSON.stringify(error_details) + '\\n' : '')]);\n _this7.error_type = error_type;\n _this7.error_message = error_message;\n _this7.error_url = error_url;\n _this7.request_id = request_id;\n _this7.status_code = status_code;\n _this7.error_details = error_details;\n return _this7;\n }\n _inherits(StytchAPIError, _StytchError3);\n return _createClass(StytchAPIError, null, [{\n key: \"from\",\n value: function from(err) {\n if (err instanceof StytchAPIError) {\n return err;\n }\n if (err && _typeof(err) === 'object') {\n var maybe = err;\n if (typeof maybe.status_code === 'number' && typeof maybe.error_type === 'string' && typeof maybe.error_message === 'string' && typeof maybe.error_url === 'string') {\n return new StytchAPIError({\n status_code: maybe.status_code,\n error_type: maybe.error_type,\n error_message: maybe.error_message,\n error_url: maybe.error_url,\n request_id: typeof maybe.request_id === 'string' ? maybe.request_id : undefined,\n error_details: _typeof(maybe.error_details) === 'object' ? maybe.error_details : undefined\n });\n }\n }\n var message = err instanceof Error ? err.message : 'Unknown error: ' + String(err);\n return new StytchAPIError({\n status_code: 400,\n error_type: 'unknown_error',\n error_message: message,\n error_url: '',\n request_id: undefined,\n error_details: undefined\n });\n }\n }]);\n}(StytchError);\n/**\n * An Error class used in the Stytch SDK.\n */\nvar StytchSDKError = /*#__PURE__*/function (_StytchError4) {\n function StytchSDKError(name, description, options) {\n var _this8;\n _classCallCheck(this, StytchSDKError);\n _this8 = _callSuper(this, StytchSDKError, [name, description]);\n _this8.options = options;\n return _this8;\n }\n _inherits(StytchSDKError, _StytchError4);\n return _createClass(StytchSDKError);\n}(StytchError);\n/**\n * Thrown when you attempt to perform an action that requires a session, but no local session exists\n */\nvar NoCurrentSessionError = /*#__PURE__*/function (_StytchSDKError) {\n function NoCurrentSessionError() {\n _classCallCheck(this, NoCurrentSessionError);\n return _callSuper(this, NoCurrentSessionError, ['NoCurrentSessionError', 'There is no session currently available. Make sure the user is authenticated with a valid session.']);\n }\n _inherits(NoCurrentSessionError, _StytchSDKError);\n return _createClass(NoCurrentSessionError);\n}(StytchSDKError);\n/**\n * Thrown when an unrecognized error is thrown\n */\nvar InternalError = /*#__PURE__*/function (_StytchSDKError2) {\n function InternalError(error) {\n var _this9;\n _classCallCheck(this, InternalError);\n _this9 = _callSuper(this, InternalError, [error.name ? error.name : 'Internal Error', error.message ? error.message : 'An internal error has occurred. Please contact Stytch if this occurs.']);\n _this9.nativeStack = error.nativeStackAndroid || error.nativeStackIOS;\n return _this9;\n }\n _inherits(InternalError, _StytchSDKError2);\n return _createClass(InternalError);\n}(StytchSDKError);\n/**\n * Thrown when no biometric registration exists\n */\nvar NoBiometricsRegistrationError = /*#__PURE__*/function (_StytchSDKError3) {\n function NoBiometricsRegistrationError() {\n _classCallCheck(this, NoBiometricsRegistrationError);\n return _callSuper(this, NoBiometricsRegistrationError, ['NoBiometricsRegistrationError', 'There is no biometric registration available. Authenticate with another method and add a new biometric registration first.']);\n }\n _inherits(NoBiometricsRegistrationError, _StytchSDKError3);\n return _createClass(NoBiometricsRegistrationError);\n}(StytchSDKError);\n/**\n * Thrown when biometrics are unavailable on the device\n */\nvar BiometricsUnavailableError = /*#__PURE__*/function (_StytchSDKError4) {\n function BiometricsUnavailableError() {\n _classCallCheck(this, BiometricsUnavailableError);\n return _callSuper(this, BiometricsUnavailableError, ['BiometricsUnavailableError', 'Biometrics is not available on the device.']);\n }\n _inherits(BiometricsUnavailableError, _StytchSDKError4);\n return _createClass(BiometricsUnavailableError);\n}(StytchSDKError);\n/**\n * Thrown when the biometrics enrollment has changed, and the underlying key is no longer usable\n */\nvar KeyInvalidatedError = /*#__PURE__*/function (_StytchSDKError5) {\n function KeyInvalidatedError() {\n _classCallCheck(this, KeyInvalidatedError);\n return _callSuper(this, KeyInvalidatedError, ['KeyInvalidatedError', 'The biometrics enrollment on the device has changed.']);\n }\n _inherits(KeyInvalidatedError, _StytchSDKError5);\n return _createClass(KeyInvalidatedError);\n}(StytchSDKError);\n/**\n * Thrown when the Keystore is determined to be unavailable\n */\nvar KeystoreUnavailableError = /*#__PURE__*/function (_StytchSDKError6) {\n function KeystoreUnavailableError() {\n _classCallCheck(this, KeystoreUnavailableError);\n return _callSuper(this, KeystoreUnavailableError, ['KeystoreUnavailableError', 'The Android keystore is unavailable on the device. Consider setting allowFallbackToCleartext to true.']);\n }\n _inherits(KeystoreUnavailableError, _StytchSDKError6);\n return _createClass(KeystoreUnavailableError);\n}(StytchSDKError);\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nvar NoBiometricsEnrolledError = /*#__PURE__*/function (_StytchSDKError7) {\n function NoBiometricsEnrolledError() {\n _classCallCheck(this, NoBiometricsEnrolledError);\n return _callSuper(this, NoBiometricsEnrolledError, ['NoBiometricsEnrolledError', 'There is no biometric factor enrolled on the device. Add a biometric factor in the device settings.']);\n }\n _inherits(NoBiometricsEnrolledError, _StytchSDKError7);\n return _createClass(NoBiometricsEnrolledError);\n}(StytchSDKError);\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nvar BiometricsAlreadyEnrolledError = /*#__PURE__*/function (_StytchSDKError8) {\n function BiometricsAlreadyEnrolledError() {\n _classCallCheck(this, BiometricsAlreadyEnrolledError);\n return _callSuper(this, BiometricsAlreadyEnrolledError, ['BiometricsAlreadyEnrolledError', 'There is already a biometric factor enrolled on this device. Fully authenticate with all factors and remove the existing registration before attempting to register again.']);\n }\n _inherits(BiometricsAlreadyEnrolledError, _StytchSDKError8);\n return _createClass(BiometricsAlreadyEnrolledError);\n}(StytchSDKError);\n/**\n * Thrown when the user has cancelled the prompt\n */\nvar UserCancellationError = /*#__PURE__*/function (_StytchSDKError9) {\n function UserCancellationError() {\n _classCallCheck(this, UserCancellationError);\n return _callSuper(this, UserCancellationError, ['UserCancellationError', 'The user canceled the prompt. Ask the user to try again.']);\n }\n _inherits(UserCancellationError, _StytchSDKError9);\n return _createClass(UserCancellationError);\n}(StytchSDKError);\n/**\n * Thrown when the user has been locked out of biometrics\n */\nvar UserLockedOutError = /*#__PURE__*/function (_StytchSDKError0) {\n function UserLockedOutError() {\n _classCallCheck(this, UserLockedOutError);\n return _callSuper(this, UserLockedOutError, ['UserLockedOutError', 'The user has been locked out due to too many failed attempts. Ask the user to try again later.']);\n }\n _inherits(UserLockedOutError, _StytchSDKError0);\n return _createClass(UserLockedOutError);\n}(StytchSDKError);\n/**\n * Thrown when biometrics register/authenticate calls are made with mismatched `allowDeviceCredentials` parameter\n */\nvar DeviceCredentialsNotAllowedError = /*#__PURE__*/function (_StytchSDKError1) {\n function DeviceCredentialsNotAllowedError() {\n _classCallCheck(this, DeviceCredentialsNotAllowedError);\n return _callSuper(this, DeviceCredentialsNotAllowedError, ['DeviceCredentialsNotAllowedError', 'The device credentials allowment is mismatched. Change the allowDeviceCredentials parameter to be the same in both the register and authenticate methods.']);\n }\n _inherits(DeviceCredentialsNotAllowedError, _StytchSDKError1);\n return _createClass(DeviceCredentialsNotAllowedError);\n}(StytchSDKError);\n/**\n * Thrown when no Google client ID is found for the project\n */\nvar MissingGoogleClientIDError = /*#__PURE__*/function (_StytchSDKError10) {\n function MissingGoogleClientIDError() {\n _classCallCheck(this, MissingGoogleClientIDError);\n return _callSuper(this, MissingGoogleClientIDError, ['MissingGoogleClientIDError', 'No Google client ID was found in the project.']);\n }\n _inherits(MissingGoogleClientIDError, _StytchSDKError10);\n return _createClass(MissingGoogleClientIDError);\n}(StytchSDKError);\n/**\n * Thrown when there was an error generating or retrieving a PKCE keypair\n */\nvar MissingPKCEError = /*#__PURE__*/function (_StytchSDKError11) {\n function MissingPKCEError() {\n _classCallCheck(this, MissingPKCEError);\n return _callSuper(this, MissingPKCEError, ['MissingPKCEError', 'Make sure this flow is completed on the same device on which it was started.']);\n }\n _inherits(MissingPKCEError, _StytchSDKError11);\n return _createClass(MissingPKCEError);\n}(StytchSDKError);\n/**\n * Thrown when a native OAuth flow is missing the id_token\n */\nvar MissingAuthorizationCredentialIDTokenError = /*#__PURE__*/function (_StytchSDKError12) {\n function MissingAuthorizationCredentialIDTokenError() {\n _classCallCheck(this, MissingAuthorizationCredentialIDTokenError);\n return _callSuper(this, MissingAuthorizationCredentialIDTokenError, ['MissingAuthorizationCredentialIDTokenError', 'The authorization credential is missing an ID token.']);\n }\n _inherits(MissingAuthorizationCredentialIDTokenError, _StytchSDKError12);\n return _createClass(MissingAuthorizationCredentialIDTokenError);\n}(StytchSDKError);\n/**\n * Thrown when a native OAuth flow returns an invalid credential\n */\nvar InvalidAuthorizationCredentialError = /*#__PURE__*/function (_StytchSDKError13) {\n function InvalidAuthorizationCredentialError() {\n _classCallCheck(this, InvalidAuthorizationCredentialError);\n return _callSuper(this, InvalidAuthorizationCredentialError, ['InvalidAuthorizationCredentialError', 'The authorization credential is invalid. Verify that OAuth is set up correctly in the developer console, and call the start flow method.']);\n }\n _inherits(InvalidAuthorizationCredentialError, _StytchSDKError13);\n return _createClass(InvalidAuthorizationCredentialError);\n}(StytchSDKError);\n/**\n * Thrown when a Google OneTap flow is not completed successfully\n */\nvar NoCredentialsPresentError = /*#__PURE__*/function (_StytchSDKError14) {\n function NoCredentialsPresentError() {\n _classCallCheck(this, NoCredentialsPresentError);\n return _callSuper(this, NoCredentialsPresentError, ['NoCredentialsPresentError', 'The user did not provide credentials for a Google OneTap attempt']);\n }\n _inherits(NoCredentialsPresentError, _StytchSDKError14);\n return _createClass(NoCredentialsPresentError);\n}(StytchSDKError);\n/**\n * Thrown when a public key was not found\n */\nvar MissingPublicKeyError = /*#__PURE__*/function (_StytchSDKError15) {\n function MissingPublicKeyError() {\n _classCallCheck(this, MissingPublicKeyError);\n return _callSuper(this, MissingPublicKeyError, ['MissingPublicKeyError', 'Failed to retrieve the public key. Add a new biometric registration.']);\n }\n _inherits(MissingPublicKeyError, _StytchSDKError15);\n return _createClass(MissingPublicKeyError);\n}(StytchSDKError);\n/**\n * Thrown when the challenge string failed to be signed\n */\nvar ChallengeSigningFailedError = /*#__PURE__*/function (_StytchSDKError16) {\n function ChallengeSigningFailedError() {\n _classCallCheck(this, ChallengeSigningFailedError);\n return _callSuper(this, ChallengeSigningFailedError, ['ChallengeSigningFailedError', 'Failed to sign the challenge with the key.']);\n }\n _inherits(ChallengeSigningFailedError, _StytchSDKError16);\n return _createClass(ChallengeSigningFailedError);\n}(StytchSDKError);\n/**\n * Thrown when the SDK has not been configured\n */\nvar SDKNotConfiguredError = /*#__PURE__*/function (_StytchSDKError17) {\n function SDKNotConfiguredError() {\n _classCallCheck(this, SDKNotConfiguredError);\n return _callSuper(this, SDKNotConfiguredError, ['SDKNotConfiguredError', 'Stytch client is not confiured. You must call the configure method before using the SDK']);\n }\n _inherits(SDKNotConfiguredError, _StytchSDKError17);\n return _createClass(SDKNotConfiguredError);\n}(StytchSDKError);\n/**\n * Thrown when the code challenge failed to be generated\n */\nvar FailedCodeChallengeError = /*#__PURE__*/function (_StytchSDKError18) {\n function FailedCodeChallengeError() {\n _classCallCheck(this, FailedCodeChallengeError);\n return _callSuper(this, FailedCodeChallengeError, ['FailedCodeChallengeError', 'Failed to create a code challenge']);\n }\n _inherits(FailedCodeChallengeError, _StytchSDKError18);\n return _createClass(FailedCodeChallengeError);\n}(StytchSDKError);\n/**\n * Thrown when Passkeys are unsupported on a device\n */\nvar PasskeysUnsupportedError = /*#__PURE__*/function (_StytchSDKError19) {\n function PasskeysUnsupportedError() {\n _classCallCheck(this, PasskeysUnsupportedError);\n return _callSuper(this, PasskeysUnsupportedError, ['PasskeysUnsupportedError', 'Passkeys are not supported on this device']);\n }\n _inherits(PasskeysUnsupportedError, _StytchSDKError19);\n return _createClass(PasskeysUnsupportedError);\n}(StytchSDKError);\n/**\n * Thrown when user data failed to be decrypted\n */\nvar FailedToDecryptDataError = /*#__PURE__*/function (_StytchSDKError20) {\n function FailedToDecryptDataError() {\n _classCallCheck(this, FailedToDecryptDataError);\n return _callSuper(this, FailedToDecryptDataError, ['FailedToDecryptDataError', 'Failed to decrypt user data']);\n }\n _inherits(FailedToDecryptDataError, _StytchSDKError20);\n return _createClass(FailedToDecryptDataError);\n}(StytchSDKError);\n/**\n * Thrown when Biometrics failed\n */\nvar BiometricsFailedError = /*#__PURE__*/function (_StytchSDKError21) {\n function BiometricsFailedError() {\n _classCallCheck(this, BiometricsFailedError);\n return _callSuper(this, BiometricsFailedError, ['BiometricsFailedError', 'Biometric authentication failed']);\n }\n _inherits(BiometricsFailedError, _StytchSDKError21);\n return _createClass(BiometricsFailedError);\n}(StytchSDKError);\n/**\n * Thrown when a start URL was invalid\n */\nvar InvalidStartUrlError = /*#__PURE__*/function (_StytchSDKError22) {\n function InvalidStartUrlError() {\n _classCallCheck(this, InvalidStartUrlError);\n return _callSuper(this, InvalidStartUrlError, ['InvalidStartUrlError', 'The start URL was invalid or improperly formatted.']);\n }\n _inherits(InvalidStartUrlError, _StytchSDKError22);\n return _createClass(InvalidStartUrlError);\n}(StytchSDKError);\n/**\n * Thrown when a redirect url was invalid\n */\nvar InvalidRedirectSchemeError = /*#__PURE__*/function (_StytchSDKError23) {\n function InvalidRedirectSchemeError() {\n _classCallCheck(this, InvalidRedirectSchemeError);\n return _callSuper(this, InvalidRedirectSchemeError, ['InvalidRedirectSchemeError', 'The scheme from the given redirect urls was invalid. Possible reasons include: nil scheme, non-custom scheme (using http or https), or differing schemes for login/signup urls.']);\n }\n _inherits(InvalidRedirectSchemeError, _StytchSDKError23);\n return _createClass(InvalidRedirectSchemeError);\n}(StytchSDKError);\n/**\n * Thrown when the underlying web authentication service failed to return a URL.\n */\nvar MissingUrlError = /*#__PURE__*/function (_StytchSDKError24) {\n function MissingUrlError() {\n _classCallCheck(this, MissingUrlError);\n return _callSuper(this, MissingUrlError, ['MissingUrlError', 'The underlying web authentication service failed to return a URL.']);\n }\n _inherits(MissingUrlError, _StytchSDKError24);\n return _createClass(MissingUrlError);\n}(StytchSDKError);\n/**\n * Thrown when the public key credential type was not of the expected type.\n */\nvar InvalidCredentialTypeError = /*#__PURE__*/function (_StytchSDKError25) {\n function InvalidCredentialTypeError() {\n _classCallCheck(this, InvalidCredentialTypeError);\n return _callSuper(this, InvalidCredentialTypeError, ['InvalidCredentialTypeError', 'The public key credential type was not of the expected type.']);\n }\n _inherits(InvalidCredentialTypeError, _StytchSDKError25);\n return _createClass(InvalidCredentialTypeError);\n}(StytchSDKError);\n/**\n * Thrown when the public key credential is missing the attestation object\n */\nvar MissingAttestationObjectError = /*#__PURE__*/function (_StytchSDKError26) {\n function MissingAttestationObjectError() {\n _classCallCheck(this, MissingAttestationObjectError);\n return _callSuper(this, MissingAttestationObjectError, ['MissingAttestationObjectError', 'The public key credential is missing the attestation object.']);\n }\n _inherits(MissingAttestationObjectError, _StytchSDKError26);\n return _createClass(MissingAttestationObjectError);\n}(StytchSDKError);\n/**\n * Thrown when we received JSON data that could not be converted to a string\n */\nvar JSONDataNotConvertibleToStringError = /*#__PURE__*/function (_StytchSDKError27) {\n function JSONDataNotConvertibleToStringError() {\n _classCallCheck(this, JSONDataNotConvertibleToStringError);\n return _callSuper(this, JSONDataNotConvertibleToStringError, ['JSONDataNotConvertibleToStringError', 'JSON data unable to be converted to String type.']);\n }\n _inherits(JSONDataNotConvertibleToStringError, _StytchSDKError27);\n return _createClass(JSONDataNotConvertibleToStringError);\n}(StytchSDKError);\n/**\n * Thrown when RNG fails\n */\nvar RandomNumberGenerationFailed = /*#__PURE__*/function (_StytchSDKError28) {\n function RandomNumberGenerationFailed() {\n _classCallCheck(this, RandomNumberGenerationFailed);\n return _callSuper(this, RandomNumberGenerationFailed, ['RandomNumberGenerationFailed', 'Random number generation failed']);\n }\n _inherits(RandomNumberGenerationFailed, _StytchSDKError28);\n return _createClass(RandomNumberGenerationFailed);\n}(StytchSDKError);\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nvar PasskeysInvalidEncoding = /*#__PURE__*/function (_StytchSDKError29) {\n function PasskeysInvalidEncoding() {\n _classCallCheck(this, PasskeysInvalidEncoding);\n return _callSuper(this, PasskeysInvalidEncoding, ['PasskeysInvalidEncoding', 'Invalid passkey encoding']);\n }\n _inherits(PasskeysInvalidEncoding, _StytchSDKError29);\n return _createClass(PasskeysInvalidEncoding);\n}(StytchSDKError);\n/**\n * Thrown when Passkeys support is misconfigured\n */\nvar PasskeysMisconfigured = /*#__PURE__*/function (_StytchSDKError30) {\n function PasskeysMisconfigured() {\n _classCallCheck(this, PasskeysMisconfigured);\n return _callSuper(this, PasskeysMisconfigured, ['PasskeysMisconfigured', 'Passkeys are misconfigured. Verify that you have added the correct associated domain for your application, and that the signing information is correct.']);\n }\n _inherits(PasskeysMisconfigured, _StytchSDKError30);\n return _createClass(PasskeysMisconfigured);\n}(StytchSDKError);\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nvar SignInWithAppleMisconfigured = /*#__PURE__*/function (_StytchSDKError31) {\n function SignInWithAppleMisconfigured() {\n _classCallCheck(this, SignInWithAppleMisconfigured);\n return _callSuper(this, SignInWithAppleMisconfigured, ['SignInWithAppleMisconfigured', 'Sign In With Apple is misconfigured. Verify that you have correctly configured Apple OAuth in the Stytch Dashboard and added the Sign In With Apple capability to your project.']);\n }\n _inherits(SignInWithAppleMisconfigured, _StytchSDKError31);\n return _createClass(SignInWithAppleMisconfigured);\n}(StytchSDKError);\nvar MissingCipherIv = /*#__PURE__*/function (_StytchSDKError32) {\n function MissingCipherIv() {\n _classCallCheck(this, MissingCipherIv);\n return _callSuper(this, MissingCipherIv, ['MissingCipherIv', 'The expected cipher Iv was not found when attempting to decrypt an existing biometric key.']);\n }\n _inherits(MissingCipherIv, _StytchSDKError32);\n return _createClass(MissingCipherIv);\n}(StytchSDKError);\nvar InvalidPrivateKeyLength = /*#__PURE__*/function (_StytchSDKError33) {\n function InvalidPrivateKeyLength() {\n _classCallCheck(this, InvalidPrivateKeyLength);\n return _callSuper(this, InvalidPrivateKeyLength, ['InvalidPrivateKeyLength', \"The private key was of an incorrect length.\"]);\n }\n _inherits(InvalidPrivateKeyLength, _StytchSDKError33);\n return _createClass(InvalidPrivateKeyLength);\n}(StytchSDKError);\nvar BiometricRegistrationIdIsNullOrBlank = /*#__PURE__*/function (_StytchSDKError34) {\n function BiometricRegistrationIdIsNullOrBlank() {\n _classCallCheck(this, BiometricRegistrationIdIsNullOrBlank);\n return _callSuper(this, BiometricRegistrationIdIsNullOrBlank, ['BiometricRegistrationIdIsNullOrBlank', 'Attempted to set a blank or null biometric registration ID. This is not allowed, and indicates no registration was created on the server. Consider deleting any local keys that may have been generated.']);\n }\n _inherits(BiometricRegistrationIdIsNullOrBlank, _StytchSDKError34);\n return _createClass(BiometricRegistrationIdIsNullOrBlank);\n}(StytchSDKError);\nvar DFPNotConfigured = /*#__PURE__*/function (_StytchSDKError35) {\n function DFPNotConfigured() {\n _classCallCheck(this, DFPNotConfigured);\n return _callSuper(this, DFPNotConfigured, ['DFPNotConfigured', 'You have attempted to retrieve a telemetry ID before the DFP client has been configured.']);\n }\n _inherits(DFPNotConfigured, _StytchSDKError35);\n return _createClass(DFPNotConfigured);\n}(StytchSDKError);\n/**\n * Thrown when a client attempts to start an OAuth flow but does not pass all required fields\n */\nvar IDPOAuthFlowMissingParamError = /*#__PURE__*/function (_StytchSDKError36) {\n function IDPOAuthFlowMissingParamError(details) {\n _classCallCheck(this, IDPOAuthFlowMissingParamError);\n return _callSuper(this, IDPOAuthFlowMissingParamError, ['IDPOAuthFlowMissingParamError', details]);\n }\n _inherits(IDPOAuthFlowMissingParamError, _StytchSDKError36);\n return _createClass(IDPOAuthFlowMissingParamError);\n}(StytchSDKError);\nfunction errorToStytchError(error) {\n switch (error.message) {\n case 'no_current_session':\n return new NoCurrentSessionError();\n case 'no_biometrics_registration':\n return new NoBiometricsRegistrationError();\n case 'biometrics_unavailable':\n return new BiometricsUnavailableError();\n case 'key_invalidated':\n return new KeyInvalidatedError();\n case 'device_hardware_error':\n return new BiometricsUnavailableError();\n case 'biometrics_not_available':\n return new BiometricsUnavailableError();\n case 'no_biometrics_enrolled':\n return new NoBiometricsEnrolledError();\n case 'keystore_unavailable':\n return new KeystoreUnavailableError();\n case 'no_biometric_key':\n return new KeyInvalidatedError();\n case 'device_credentials_not_allowed':\n return new DeviceCredentialsNotAllowedError();\n case 'user_cancellation':\n return new UserCancellationError();\n case 'user_locked_out':\n return new UserLockedOutError();\n case 'google_onetap_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'google_onetap_missing_member':\n return new InvalidAuthorizationCredentialError();\n case 'oauth_apple_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'oauth_apple_credential_invalid':\n return new InvalidAuthorizationCredentialError();\n case 'missing_public_key':\n return new MissingPublicKeyError();\n case 'challenge_signing_failed':\n return new ChallengeSigningFailedError();\n case 'missing_authorization_credential_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'invalid_authorization_credential':\n return new InvalidAuthorizationCredentialError();\n case 'no_credentials_present':\n return new NoCredentialsPresentError();\n case 'sdk_not_configured':\n return new SDKNotConfiguredError();\n case 'failed_code_challenge':\n return new FailedCodeChallengeError();\n case 'passkeys_unsupported':\n return new PasskeysUnsupportedError();\n case 'failed_to_decrypt_data':\n return new FailedToDecryptDataError();\n case 'biometrics_failed':\n return new BiometricsFailedError();\n case 'invalid_start_url':\n return new InvalidStartUrlError();\n case 'invalid_redirect_scheme':\n return new InvalidRedirectSchemeError();\n case 'missing_url':\n return new MissingUrlError();\n case 'invalid_credential_type':\n return new InvalidCredentialTypeError();\n case 'missing_attestation_object':\n return new MissingAttestationObjectError();\n case 'json_data_not_convertible_to_string':\n return new JSONDataNotConvertibleToStringError();\n case 'random_number_generation_failed':\n return new RandomNumberGenerationFailed();\n case 'passkeys_invalid_encoding':\n return new PasskeysInvalidEncoding();\n case 'passkeys_misconfigured':\n return new PasskeysMisconfigured();\n case 'signinwithapple_misconfigured':\n return new SignInWithAppleMisconfigured();\n case 'missing_cipher_iv':\n return new MissingCipherIv();\n case 'invalid_private_key_length':\n return new InvalidPrivateKeyLength();\n case 'biometric_registration_id_is_null_or_blank':\n return new BiometricRegistrationIdIsNullOrBlank();\n case 'dfp_not_configured':\n return new DFPNotConfigured();\n default:\n return new InternalError(error);\n }\n}\n\n/**\n * The authentication methods we support through our UI.\n * Currently we support `emailMagicLinks`, `emailOtp`, `sso`, `passwords`, and `oauth`.\n */\nvar B2BProducts;\n(function (B2BProducts) {\n B2BProducts[\"emailMagicLinks\"] = \"emailMagicLinks\";\n B2BProducts[\"emailOtp\"] = \"emailOtp\";\n B2BProducts[\"sso\"] = \"sso\";\n B2BProducts[\"passwords\"] = \"passwords\";\n B2BProducts[\"oauth\"] = \"oauth\";\n})(B2BProducts || (B2BProducts = {}));\nvar AuthFlowType;\n(function (AuthFlowType) {\n AuthFlowType[\"Discovery\"] = \"Discovery\";\n AuthFlowType[\"Organization\"] = \"Organization\";\n AuthFlowType[\"PasswordReset\"] = \"PasswordReset\";\n})(AuthFlowType || (AuthFlowType = {}));\nvar RedirectURLType;\n(function (RedirectURLType) {\n RedirectURLType[\"ResetPassword\"] = \"reset_password\";\n})(RedirectURLType || (RedirectURLType = {}));\nvar B2BMFAProducts;\n(function (B2BMFAProducts) {\n B2BMFAProducts[\"smsOtp\"] = \"smsOtp\";\n B2BMFAProducts[\"totp\"] = \"totp\";\n})(B2BMFAProducts || (B2BMFAProducts = {}));\n/**\n * The OAuth providers we support in our B2B OAuth product.\n */\nvar B2BOAuthProviders;\n(function (B2BOAuthProviders) {\n B2BOAuthProviders[\"Google\"] = \"google\";\n B2BOAuthProviders[\"Microsoft\"] = \"microsoft\";\n B2BOAuthProviders[\"HubSpot\"] = \"hubspot\";\n B2BOAuthProviders[\"Slack\"] = \"slack\";\n B2BOAuthProviders[\"GitHub\"] = \"github\";\n})(B2BOAuthProviders || (B2BOAuthProviders = {}));\nexport { BiometricRegistrationIdIsNullOrBlank as $, BiometricsFailedError as A, B2BOAuthProviders as B, ChallengeSigningFailedError as C, DeviceCredentialsNotAllowedError as D, InvalidStartUrlError as E, FailedCodeChallengeError as F, InvalidRedirectSchemeError as G, MissingUrlError as H, InternalError as I, InvalidCredentialTypeError as J, KeyInvalidatedError as K, MissingAttestationObjectError as L, MissingGoogleClientIDError as M, NoCurrentSessionError as N, OTPMethods as O, Products as P, JSONDataNotConvertibleToStringError as Q, RNUIProducts as R, StytchAPIUnreachableError as S, RandomNumberGenerationFailed as T, UNRECOVERABLE_ERROR_TYPES as U, PasskeysInvalidEncoding as V, Wallets as W, PasskeysMisconfigured as X, SignInWithAppleMisconfigured as Y, MissingCipherIv as Z, InvalidPrivateKeyLength as _, StytchAPISchemaError as a, DFPNotConfigured as a0, IDPOAuthFlowMissingParamError as a1, errorToStytchError as a2, B2BProducts as a3, AuthFlowType as a4, RedirectURLType as a5, B2BMFAProducts as a6, StytchAPIError as b, StytchSDKUsageError as c, StytchSDKAPIError as d, StytchSDKSchemaError as e, SDKAPIUnreachableError as f, OAuthProviders as g, OneTapPositions as h, StytchEventType as i, StytchError as j, StytchSDKError as k, NoBiometricsRegistrationError as l, BiometricsUnavailableError as m, KeystoreUnavailableError as n, NoBiometricsEnrolledError as o, BiometricsAlreadyEnrolledError as p, UserCancellationError as q, UserLockedOutError as r, MissingPKCEError as s, MissingAuthorizationCredentialIDTokenError as t, InvalidAuthorizationCredentialError as u, NoCredentialsPresentError as v, MissingPublicKeyError as w, SDKNotConfiguredError as x, PasskeysUnsupportedError as y, FailedToDecryptDataError as z };\n//# sourceMappingURL=ui-cccea861.js.map\n","function _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nimport { _ as __awaiter, a as __rest } from './tslib.es6-f6374340.js';\nimport { S as StytchAPIUnreachableError, a as StytchAPISchemaError, b as StytchAPIError, O as OTPMethods, c as StytchSDKUsageError, d as StytchSDKAPIError, e as StytchSDKSchemaError, f as SDKAPIUnreachableError, U as UNRECOVERABLE_ERROR_TYPES, g as OAuthProviders, B as B2BOAuthProviders } from './ui-cccea861.js';\nvar TEST_API_URL = 'https://test.stytch.com';\nvar LIVE_API_URL = 'https://api.stytch.com';\nvar CLIENTSIDE_SERVICES_IFRAME_URL = 'https://js.stytch.com/clientside-services/index.html';\nvar STYTCH_DFP_BACKEND_URL = \"https://telemetry.stytch.com\";\nvar STYTCH_DFP_CDN_URL = \"https://elements.stytch.com\";\nvar STYTCH_SESSION_COOKIE = 'stytch_session';\nvar STYTCH_SESSION_JWT_COOKIE = 'stytch_session_jwt';\nvar POWERED_BY_STYTCH_IMG_URL = 'https://public-assets.stytch.com/et_powered_by_stytch_logo.png';\nvar GOOGLE_ONE_TAP_HOST = 'https://accounts.google.com/gsi';\nvar GOOGLE_ONE_TAP_SCRIPT_URL = \"\".concat(GOOGLE_ONE_TAP_HOST, \"/client\");\nvar DEFAULT_SESSION_DURATION_MINUTES = 30;\nvar DEFAULT_OTP_EXPIRATION_MINUTES = 5;\nvar MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING = \"It looks like you're creating multiple copies of the Stytch client.\" + ' This behavior is unsupported, and unintended side effects may occur. ' + \"Make sure you are creating the Stytch client at the global level, and not inside a component's render function.\";\nvar RetriableErrorType;\n(function (RetriableErrorType) {\n RetriableErrorType[\"RequiredCaptcha\"] = \"CAPTCHA required\";\n})(RetriableErrorType || (RetriableErrorType = {}));\nvar RetriableError = /*#__PURE__*/function (_Error) {\n function RetriableError(type) {\n var _this;\n _classCallCheck(this, RetriableError);\n _this = _callSuper(this, RetriableError, [type]);\n _this.type = type;\n return _this;\n }\n _inherits(RetriableError, _Error);\n return _createClass(RetriableError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\nfunction retriableFetchSDK(_ref) {\n var method = _ref.method,\n finalURL = _ref.finalURL,\n basicAuthHeader = _ref.basicAuthHeader,\n xSDKClientHeader = _ref.xSDKClientHeader,\n xSDKParentHostHeader = _ref.xSDKParentHostHeader,\n body = _ref.body,\n retryCallback = _ref.retryCallback;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {\n var req, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n req = {\n method: method,\n finalURL: finalURL,\n basicAuthHeader: basicAuthHeader,\n xSDKClientHeader: xSDKClientHeader,\n xSDKParentHostHeader: xSDKParentHostHeader,\n body: body\n };\n _context.p = 1;\n _context.n = 2;\n return baseFetchSDK(req);\n case 2:\n return _context.a(2, _context.v);\n case 3:\n _context.p = 3;\n _t = _context.v;\n if (!(_t instanceof RetriableError)) {\n _context.n = 6;\n break;\n }\n _context.n = 4;\n return retryCallback(_t, req);\n case 4:\n req = _context.v;\n _context.n = 5;\n return baseFetchSDK(req);\n case 5:\n return _context.a(2, _context.v);\n case 6:\n throw _t;\n case 7:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3]]);\n }));\n}\nfunction baseFetchSDK(_ref2) {\n var method = _ref2.method,\n finalURL = _ref2.finalURL,\n basicAuthHeader = _ref2.basicAuthHeader,\n xSDKClientHeader = _ref2.xSDKClientHeader,\n xSDKParentHostHeader = _ref2.xSDKParentHostHeader,\n body = _ref2.body;\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {\n var headers, fetchOpts, resp, _respData, respError, respData, _t2, _t3, _t4, _t5;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n headers = {\n Authorization: basicAuthHeader,\n 'Content-Type': 'application/json',\n 'X-SDK-Client': xSDKClientHeader\n };\n if (xSDKParentHostHeader) {\n headers['X-SDK-Parent-Host'] = xSDKParentHostHeader;\n }\n fetchOpts = {\n method: method,\n headers: headers,\n body: body && JSON.stringify(body),\n credentials: 'include'\n };\n _context2.p = 1;\n _context2.n = 2;\n return fetch(finalURL, fetchOpts);\n case 2:\n resp = _context2.v;\n _context2.n = 5;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n if (!(_t2.message === 'Failed to fetch')) {\n _context2.n = 4;\n break;\n }\n throw new StytchAPIUnreachableError('Unable to contact our servers.');\n case 4:\n throw _t2;\n case 5:\n if (!(resp.status <= 299)) {\n _context2.n = 9;\n break;\n }\n _context2.p = 6;\n _context2.n = 7;\n return resp.json();\n case 7:\n _respData = _context2.v;\n return _context2.a(2, _respData.data);\n case 8:\n _context2.p = 8;\n _t3 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid JSON response from our servers.');\n case 9:\n if (!(resp.status !== 200 && ((_a = resp.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.includes('application/json')))) {\n _context2.n = 15;\n break;\n }\n _context2.p = 10;\n _context2.n = 11;\n return resp.json();\n case 11:\n respError = _context2.v;\n _context2.n = 13;\n break;\n case 12:\n _context2.p = 12;\n _t4 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid or no response from server');\n case 13:\n if (!('body' in respError || 'params' in respError || 'query' in respError)) {\n _context2.n = 14;\n break;\n }\n throw new StytchAPISchemaError(respError);\n case 14:\n throw new StytchAPIError(respError);\n case 15:\n _context2.p = 15;\n _context2.n = 16;\n return resp.text();\n case 16:\n respData = _context2.v;\n _context2.n = 18;\n break;\n case 17:\n _context2.p = 17;\n _t5 = _context2.v;\n throw new StytchAPIUnreachableError('Invalid response from our servers.');\n case 18:\n if (!respData.includes('Captcha required')) {\n _context2.n = 19;\n break;\n }\n throw new RetriableError(RetriableErrorType.RequiredCaptcha);\n case 19:\n throw new StytchAPIUnreachableError('Invalid response from our servers.');\n case 20:\n return _context2.a(2);\n }\n }, _callee2, null, [[15, 17], [10, 12], [6, 8], [1, 3]]);\n }));\n}\nfunction baseSubmitFormSDK(_ref3) {\n var method = _ref3.method,\n finalURL = _ref3.finalURL,\n basicAuthHeader = _ref3.basicAuthHeader,\n xSDKClientHeader = _ref3.xSDKClientHeader,\n xSDKParentHostHeader = _ref3.xSDKParentHostHeader,\n body = _ref3.body;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() {\n var bodyParams, finalBody, children, form;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.n) {\n case 0:\n bodyParams = body || {};\n finalBody = Object.assign(Object.assign({}, bodyParams), {\n __Authorization: basicAuthHeader,\n '__X-SDK-Client': xSDKClientHeader\n });\n if (xSDKParentHostHeader) {\n finalBody['__X-SDK-Parent-Host'] = xSDKParentHostHeader;\n }\n children = Object.entries(finalBody).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n var input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = value;\n return input;\n });\n form = document.createElement('form');\n form.method = method;\n form.action = finalURL;\n form.append.apply(form, _toConsumableArray(children));\n document.body.appendChild(form);\n form.submit();\n case 1:\n return _context3.a(2);\n }\n }, _callee3);\n }));\n}\n\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}\nvar REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nfunction validate$1(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate$1(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return stringify(rnds);\n}\nvar ModulePromiseCache = {};\nfunction loadESModule(url, moduleFromGlobalScope) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n if (!(ModulePromiseCache[url] !== undefined)) {\n _context4.n = 1;\n break;\n }\n return _context4.a(2, ModulePromiseCache[url]);\n case 1:\n ModulePromiseCache[url] = loadESModuleFromNetwork(url, moduleFromGlobalScope);\n return _context4.a(2, ModulePromiseCache[url]);\n }\n }, _callee4);\n }));\n}\nfunction loadESModuleFromNetwork(url, moduleFromGlobalScope) {\n return new Promise(function (resolve, reject) {\n var maybeScript = findScript(url);\n if (maybeScript && maybeScript.dataset.loaded === 'true') {\n try {\n resolve(moduleFromGlobalScope());\n } catch (err) {\n return reject(new Error(\"\".concat(url, \" already loaded, but module was not found in global scope: \").concat(err)));\n }\n }\n var script = createScript(url);\n script.addEventListener('load', function () {\n script.dataset.loaded = 'true';\n try {\n resolve(moduleFromGlobalScope());\n } catch (err) {\n reject(new Error(\"\".concat(url, \" was loaded, but module was not found in global scope: \").concat(err)));\n }\n });\n script.addEventListener('error', function (err) {\n reject(new Error(\"\".concat(url, \" could not be loaded: \").concat(err)));\n });\n });\n}\nvar findScriptsInDom = function findScriptsInDom(url) {\n return document.querySelectorAll(\"script[src=\\\"\".concat(url, \"\\\"]\"));\n};\nfunction findScript(url) {\n var scripts = findScriptsInDom(url);\n if (scripts[0]) {\n return scripts[0];\n }\n}\nfunction createScript(url) {\n var script = document.createElement('script');\n script.setAttribute('src', url);\n script.setAttribute('async', 'true');\n script.setAttribute('defer', 'true');\n document.head.appendChild(script);\n return script;\n}\nvar getHttpsUrl = function getHttpsUrl(urlOrDomain) {\n // If it's already a valid URL, extract the domain\n try {\n var url = new URL(urlOrDomain);\n return \"https://\".concat(url.hostname);\n } catch (_a) {\n // invalid URLs are OK\n }\n // Prepend a scheme and verify it's a valid URL\n try {\n var _url = new URL(\"https://\".concat(urlOrDomain));\n return \"https://\".concat(_url.hostname);\n } catch (_b) {\n // Invalid URL, fallback to undefined\n }\n // Input was neither a valid URL nor a valid domain\n return undefined;\n};\n\n/**\n * A set of tokens to stylize the console.log output\n * First token is the raw text. %c is a placeholder for string formatting\n * Second token starts our stylizing - adding custom color and background\n * Third token resets stylizing to baseline before showing the rest of the content.\n */\nvar STYTCH_BADGE = process.env.NODE_ENV === 'production' ? ['[Stytch]'] : ['%c[Stytch]%c', 'background: #19303d; color: #13E5C0; padding: 2px;border-radius: 4px', ''];\n// Turn this to true to enable debug logs\n// TODO: Make this an env var\nvar DEBUG = false;\n/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * An ultralightweight wrapper around console.log.\n * In the future, the logger might be passed in from the customer,\n * or the level might be configurable.\n */\nvar logger = {\n debug: function debug() {\n return DEBUG;\n },\n log: function log() {\n var _console;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_console = console).log.apply(_console, STYTCH_BADGE.concat(args));\n },\n warn: function warn() {\n var _console2;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return (_console2 = console).warn.apply(_console2, STYTCH_BADGE.concat(args));\n },\n error: function error() {\n var _console3;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return (_console3 = console).error.apply(_console3, STYTCH_BADGE.concat(args));\n }\n};\n/* eslint-enable @typescript-eslint/no-explicit-any */\n/* eslint-enable no-console */\n\nvar getLiveApiURL = function getLiveApiURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.apiDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) ? 'customBaseUrl' : 'apiDomain';\n logger.warn(\"Unable to use custom API domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.liveAPIURL) !== null && _d !== void 0 ? _d : LIVE_API_URL;\n};\nvar getTestApiURL = function getTestApiURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.testApiDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.customBaseUrl) ? 'customBaseUrl' : 'testApiDomain';\n logger.warn(\"Unable to use custom API domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.testAPIURL) !== null && _d !== void 0 ? _d : TEST_API_URL;\n};\nvar trailer = \"\\nYou can find your public token at https://stytch.com/dashboard/api-keys.\";\nvar checkPublicToken = function checkPublicToken(publicToken) {\n if (typeof publicToken !== 'string') {\n logger.warn(\"Public token is malformed. Expected a string, got \".concat(_typeof(publicToken), \".\").concat(trailer));\n } else if (publicToken === '') {\n logger.warn(\"Public token is malformed. Expected \\\"public-token-...\\\", got an empty string.\".concat(trailer));\n } else if (!publicToken.startsWith('public-token-')) {\n logger.warn(\"Public token is malformed. Expected \\\"public-token-...\\\", got \".concat(publicToken, \".\").concat(trailer));\n }\n};\nvar checkNotSSR = function checkNotSSR(clientName) {\n var factoryFunctionName = clientName === 'StytchUIClient' ? 'createStytchUIClient' : 'createStytchHeadlessClient';\n if (typeof window === 'undefined') {\n throw new Error(\"`new \".concat(clientName, \"()` is not supported in server environments. If using @stytch/react or @stytch/nextjs, use `\").concat(factoryFunctionName, \"()` instead.\"));\n }\n};\nvar checkB2BNotSSR = function checkB2BNotSSR(clientName) {\n var factoryFunctionName = clientName === 'StytchB2BUIClient' ? 'createStytchB2BUIClient' : 'createStytchB2BHeadlessClient';\n if (typeof window === 'undefined') {\n throw new Error(\"`new \".concat(clientName, \"()` is not supported in server environments. If using @stytch/react or @stytch/nextjs, use `\").concat(factoryFunctionName, \"()` instead.\"));\n }\n};\n\n// List of Alpha-2 country codes to display in the drop down for phone number entry in our pre-built UI components.\n//\n// This list contains all allowed country codes, in alphabetical order, with the exception of the US, which is placed first as it is\n// the default and our most common user country.\n//\n// This list was built by pulling all countries from https://www.iban.com/country-codes and then removing countries that are not on our\n// unsupported countries (https://app.launchdarkly.com/default/production/features/default-banned-countries-for-phone-validation/targeting).\n//\n// Other useful links are the IBAN Alpha-2 code list (https://www.iban.com/country-codes) and Twilio's per-country notes\n// (https://www.twilio.com/en-us/guidelines/ag/sms). Just substitute the country code in that URL!\n//\n// This list is served to any customer, regardless of whether they are on the default country allowlist (only US and Canada) or they allow\n// all countries. This means that users may be able to choose a country that is not allowed for a customer and receive an error. This should\n// be improved in the future: ODEVX-34.\nvar COUNTRIES_LIST = {\n US: '1',\n // United States of America\n AX: '358',\n // Aland Islands\n AS: '1684',\n // American Samoa\n AG: '1268',\n // Antigua and Barbuda\n AI: '1264',\n // Anguilla\n AR: '54',\n // Argentina\n AT: '43',\n // Austria\n AU: '61',\n // Australia\n BE: '32',\n // Belgium\n BJ: '229',\n // Benin\n BO: '591',\n // Bolivia\n BR: '55',\n // Brazil\n IO: '246',\n // British Indian Ocean Territory (the)\n BN: '673',\n // Brunei Darussalam\n BG: '359',\n // Bulgaria\n BF: '226',\n // Burkina Faso\n CM: '237',\n // Cameroon\n CA: '1',\n // Canada\n BQ: '599',\n // Caribbean Netherlands\n CF: '236',\n // Central African Republic (the)\n CL: '56',\n // Chile\n CX: '61',\n // Christmas Island\n CC: '61',\n // Cocos (Keeling) Islands (the)\n CO: '57',\n // Colombia\n CD: '243',\n // Congo (the Democratic Republic of the)\n CK: '682',\n // Cook Islands (the)\n CR: '506',\n // Costa Rica\n HR: '385',\n // Croatia\n CZ: '420',\n // Czechia\n DK: '45',\n // Denmark\n DO: '1829',\n // Dominican Republic (the)\n EC: '593',\n // Ecuador\n SV: '503',\n // El Salvador\n EE: '372',\n // Estonia\n SZ: '268',\n // Eswatini\n FK: '500',\n // Falkland Islands (the) [Malvinas]\n FI: '358',\n // Finland\n FR: '33',\n // France\n GF: '594',\n // French Guiana\n DE: '49',\n // Germany\n GH: '233',\n // Ghana\n GR: '30',\n // Greece\n GD: '1473',\n // Grenada\n GT: '502',\n // Guatemala\n GG: '44',\n // Guernsey\n GW: '245',\n // Guinea-Bissau\n GY: '592',\n // Guyana\n HU: '36',\n // Hungary\n IS: '354',\n // Iceland\n IN: '91',\n // India\n IE: '353',\n // Ireland\n IM: '44',\n // Isle of Man\n IT: '39',\n // Italy\n JM: '1876',\n // Jamaica\n JP: '81',\n // Japan\n KZ: '7',\n // Kazakhstan\n KE: '254',\n // Kenya\n KI: '686',\n // Kiribati\n KR: '82',\n // Korea (the Republic of)\n LV: '371',\n // Latvia\n LT: '370',\n // Lithuania\n LU: '352',\n // Luxembourg\n MO: '853',\n // Macao\n MT: '356',\n // Malta\n MH: '692',\n // Marshall Islands (the)\n MR: '222',\n // Mauritania\n MU: '230',\n // Mauritius\n YT: '262',\n // Mayotte\n MX: '52',\n // Mexico\n MC: '377',\n // Monaco\n ME: '382',\n // Montenegro\n NR: '674',\n // Nauru\n NL: '31',\n // Netherlands (the)\n NZ: '64',\n // New Zealand\n NI: '505',\n // Nicaragua\n NF: '672',\n // Norfolk Island\n NO: '47',\n // Norway\n PA: '507',\n // Panama\n PY: '595',\n // Paraguay\n PE: '51',\n // Peru\n PN: '870',\n // Pitcairn\n PL: '48',\n // Poland\n PT: '351',\n // Portugal\n PR: '1',\n // Puerto Rico\n RO: '40',\n // Romania\n BL: '590',\n // Saint Barthélemy\n SH: '290',\n // Saint Helena, Ascension and Tristan da Cunha\n KN: '1869',\n // Saint Kitts and Nevis\n LC: '1758',\n // Saint Lucia\n MF: '590',\n // Saint Martin (French part)\n PM: '508',\n // Saint Pierre and Miquelon\n SM: '378',\n // San Marino\n ST: '239',\n // Sao Tome and Principe\n SC: '248',\n // Seychelles\n SX: '599',\n // Sint Maarten (Dutch part)\n SK: '421',\n // Slovakia\n SI: '386',\n // Slovenia\n ZA: '27',\n // South Africa\n SS: '211',\n // South Sudan\n ES: '34',\n // Spain\n SR: '597',\n // Suriname\n SJ: '47',\n // Svalbard and Jan Mayen\n SE: '46',\n // Sweden\n CH: '41',\n // Switzerland\n TW: '886',\n // Taiwan\n TZ: '255',\n // Tanzania, United Republic of\n TK: '690',\n // Tokelau\n TO: '676',\n // Tonga\n TT: '1868',\n // Trinidad and Tobago\n TR: '90',\n // Turkey\n UA: '380',\n // Ukraine\n GB: '44',\n // United Kingdom of Great Britain and Northern Ireland (the)\n UM: '1',\n // United States Minor Outlying Islands (the)\n UY: '598',\n // Uruguay\n VA: '379',\n // Vatican\n EH: '212' // Western Sahara\n};\nvar getDFPBackendURL = function getDFPBackendURL(opts) {\n var _a, _b, _c, _d;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.dfppaUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.dfppaDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.dfppaUrl) ? 'dfppaUrl' : 'dfppaDomain';\n logger.warn(\"Unable to use custom DFPPA domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.endpoints) === null || _c === void 0 ? void 0 : _c.dfpBackendURL) !== null && _d !== void 0 ? _d : STYTCH_DFP_BACKEND_URL;\n};\nvar getDFPCdnURL = function getDFPCdnURL(opts) {\n var _a, _b;\n var domain = (_a = opts === null || opts === void 0 ? void 0 : opts.dfpCdnUrl) !== null && _a !== void 0 ? _a : (_b = opts === null || opts === void 0 ? void 0 : opts.endpointOptions) === null || _b === void 0 ? void 0 : _b.dfpCdnDomain;\n if (domain) {\n var httpsUrl = getHttpsUrl(domain);\n if (httpsUrl) {\n return httpsUrl;\n } else {\n var key = (opts === null || opts === void 0 ? void 0 : opts.dfpCdnUrl) ? 'dfpCdnUrl' : 'dfpCdnDomain';\n logger.warn(\"Unable to use custom DFP CDN domain `\".concat(domain, \"`. \").concat(key, \" should be a valid domain.\"));\n }\n }\n return STYTCH_DFP_CDN_URL;\n};\n\n/**\n * Moves the first item that matches the predicate to the front of the array.\n * Returns a tuple of [reorderedArray, foundMatch] where foundMatch indicates\n * whether a matching item was found and moved.\n *\n * Note: Returns false if the array has only one item, but does return true even if the\n * item is found at index 0. This is behavior matches user expectation that you can't\n * really reorder an array of length 1.\n */\nfunction moveToFront(array, predicate) {\n // If the array has only one item, it can't be moved so we return false\n if (array.length <= 1) {\n return [array, false];\n }\n var matchingIndex = array.findIndex(predicate);\n if (matchingIndex === -1) {\n return [array, false];\n }\n var reordered = _toConsumableArray(array);\n reordered.unshift.apply(reordered, _toConsumableArray(reordered.splice(matchingIndex, 1)));\n return [reordered, true];\n}\n// TODO: This weird structure is because export * seems to produce a type structure\n// that consuming packages downstream had issues with. Not entirely sure why,\n// I assume it's a TS bug that will be solved in the future?\nvar arrayUtils = {\n moveToFront: moveToFront\n};\nvar isTestPublicToken = function isTestPublicToken(token) {\n return token.includes('public-token-test');\n};\n/**\n * Normalizes an es5 promise with a .then(onSuccess, onFailure) signature to\n * the es6 .then().catch() signature\n */\nvar normalizePromiseLike = function normalizePromiseLike(prom) {\n return new Promise(function (resolve, reject) {\n prom.then(resolve, reject);\n });\n};\nvar createEventId = function createEventId() {\n return \"event-id-\".concat(v4());\n};\nvar createAppSessionId = function createAppSessionId() {\n return \"app-session-id-\".concat(v4());\n};\nvar createPersistentId = function createPersistentId() {\n return \"persistent-id-\".concat(v4());\n};\nvar validate = function validate(methodName) {\n var validator = {\n isObject: function isObject(fieldName, value) {\n var isObject = _typeof(value) === 'object' && !Array.isArray(value) && value !== null;\n if (!isObject) {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an object.');\n }\n return validator;\n },\n isOptionalObject: function isOptionalObject(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isObject(fieldName, value);\n },\n isString: function isString(fieldName, value) {\n if (typeof value !== 'string') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a string.');\n }\n return validator;\n },\n isOptionalString: function isOptionalString(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isString(fieldName, value);\n },\n isStringArray: function isStringArray(fieldName, value) {\n if (!Array.isArray(value)) {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an array of strings.');\n }\n var _iterator = _createForOfIteratorHelper(value),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var str = _step.value;\n if (typeof str !== 'string') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be an array of strings.');\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return validator;\n },\n isOptionalStringArray: function isOptionalStringArray(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isStringArray(fieldName, value);\n },\n isNumber: function isNumber(fieldName, value) {\n if (typeof value !== 'number') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a number.');\n }\n return validator;\n },\n isOptionalNumber: function isOptionalNumber(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isNumber(fieldName, value);\n },\n isBoolean: function isBoolean(fieldName, value) {\n if (typeof value !== 'boolean') {\n throw new StytchSDKUsageError(methodName, fieldName + ' must be a boolean.');\n }\n return validator;\n },\n isOptionalBoolean: function isOptionalBoolean(fieldName, value) {\n if (typeof value === 'undefined') {\n return validator;\n }\n return validator.isBoolean(fieldName, value);\n }\n };\n return validator;\n};\nvar isPhoneMethod = function isPhoneMethod(selectionMethod) {\n return selectionMethod === OTPMethods.SMS || selectionMethod === OTPMethods.WhatsApp;\n};\nvar isEmailMethod = function isEmailMethod(selectionMethod) {\n return selectionMethod === OTPMethods.Email;\n};\nvar removeResponseCommon = function removeResponseCommon(_a) {\n var rest = __rest(_a, [\"request_id\", \"status_code\"]);\n return rest;\n};\nvar omitUser = function omitUser(resp) {\n var rest = __rest(resp, [\"__user\"]);\n return rest;\n};\nvar loadTelemetryJS = function loadTelemetryJS(domain) {\n return loadESModule(\"\".concat(domain, \"/telemetry.js\"), function () {\n return window.GetTelemetryID;\n });\n};\nvar DFPProtectedAuthProvider = /*#__PURE__*/_createClass(function DFPProtectedAuthProvider(publicToken, dfpBackendURL, dfpCdnDomain, bootstrapPromise) {\n var _this2 = this;\n var executeRecaptcha = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {\n return Promise.resolve(undefined);\n };\n _classCallCheck(this, DFPProtectedAuthProvider);\n this.bootstrapPromise = bootstrapPromise;\n this.isEnabled = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee5() {\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n return _context5.a(2, this.state.then(function (state) {\n return state.enabled;\n }));\n }\n }, _callee5, this);\n }));\n };\n this.getTelemetryID = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee6() {\n var _yield$this$state, publicToken, enabled, dfpBackendURL;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.n) {\n case 0:\n _context6.n = 1;\n return this.state;\n case 1:\n _yield$this$state = _context6.v;\n publicToken = _yield$this$state.publicToken;\n enabled = _yield$this$state.enabled;\n dfpBackendURL = _yield$this$state.dfpBackendURL;\n if (enabled) {\n _context6.n = 2;\n break;\n }\n return _context6.a(2, undefined);\n case 2:\n _context6.n = 3;\n return window.GetTelemetryID(publicToken, \"\".concat(dfpBackendURL, \"/submit\"));\n case 3:\n return _context6.a(2, _context6.v);\n }\n }, _callee6, this);\n }));\n };\n this.getDFPTelemetryIDAndCaptcha = function () {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee7() {\n var _yield$this$state2, enabled, executeRecaptcha, mode, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.n) {\n case 0:\n _context7.n = 1;\n return this.state;\n case 1:\n _yield$this$state2 = _context7.v;\n enabled = _yield$this$state2.enabled;\n executeRecaptcha = _yield$this$state2.executeRecaptcha;\n mode = _yield$this$state2.mode;\n dfp_telemetry_id = undefined;\n captcha_token = undefined;\n if (enabled) {\n _context7.n = 3;\n break;\n }\n _context7.n = 2;\n return executeRecaptcha();\n case 2:\n captcha_token = _context7.v;\n case 3:\n if (!(mode === 'DECISIONING')) {\n _context7.n = 5;\n break;\n }\n _context7.n = 4;\n return this.getTelemetryID();\n case 4:\n dfp_telemetry_id = _context7.v;\n _context7.n = 8;\n break;\n case 5:\n if (!(mode === 'OBSERVATION')) {\n _context7.n = 8;\n break;\n }\n _context7.n = 6;\n return this.getTelemetryID();\n case 6:\n dfp_telemetry_id = _context7.v;\n _context7.n = 7;\n return executeRecaptcha();\n case 7:\n captcha_token = _context7.v;\n case 8:\n return _context7.a(2, {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n }\n }, _callee7, this);\n }));\n };\n this.retryWithCaptchaAndDFP = function (e, req) {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee8() {\n var _yield$this$state3, enabled, executeRecaptcha;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.n) {\n case 0:\n _context8.n = 1;\n return this.state;\n case 1:\n _yield$this$state3 = _context8.v;\n enabled = _yield$this$state3.enabled;\n executeRecaptcha = _yield$this$state3.executeRecaptcha;\n if (!(e.type === RetriableErrorType.RequiredCaptcha && enabled)) {\n _context8.n = 5;\n break;\n }\n if (!req.body) {\n _context8.n = 4;\n break;\n }\n _context8.n = 2;\n return this.getTelemetryID();\n case 2:\n req.body.dfp_telemetry_id = _context8.v;\n _context8.n = 3;\n return executeRecaptcha();\n case 3:\n req.body.captcha_token = _context8.v;\n case 4:\n return _context8.a(2, req);\n case 5:\n throw new Error('Unable to query captcha and/or dfp telemetry ID');\n case 6:\n return _context8.a(2);\n }\n }, _callee8, this);\n }));\n };\n this.state = bootstrapPromise.then(function (bootstrapData) {\n return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee9() {\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.n) {\n case 0:\n if (bootstrapData.runDFPProtectedAuth) {\n _context9.n = 1;\n break;\n }\n return _context9.a(2, {\n publicToken: publicToken,\n dfpBackendURL: dfpBackendURL,\n enabled: false,\n loaded: false,\n executeRecaptcha: executeRecaptcha\n });\n case 1:\n _context9.n = 2;\n return loadTelemetryJS(dfpCdnDomain);\n case 2:\n return _context9.a(2, {\n publicToken: publicToken,\n dfpBackendURL: dfpBackendURL,\n enabled: true,\n mode: bootstrapData.dfpProtectedAuthMode || 'OBSERVATION',\n loaded: true,\n executeRecaptcha: executeRecaptcha\n });\n }\n }, _callee9);\n }));\n });\n});\nvar DisabledDFPProtectedAuthProvider = function DisabledDFPProtectedAuthProvider() {\n return {\n isEnabled: function isEnabled() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee0() {\n return _regenerator().w(function (_context0) {\n while (1) switch (_context0.n) {\n case 0:\n return _context0.a(2, false);\n }\n }, _callee0);\n }));\n },\n getTelemetryID: function getTelemetryID() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee1() {\n return _regenerator().w(function (_context1) {\n while (1) switch (_context1.n) {\n case 0:\n return _context1.a(2, undefined);\n }\n }, _callee1);\n }));\n },\n getDFPTelemetryIDAndCaptcha: function getDFPTelemetryIDAndCaptcha() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee10() {\n return _regenerator().w(function (_context10) {\n while (1) switch (_context10.n) {\n case 0:\n return _context10.a(2, {\n dfp_telemetry_id: undefined,\n captcha_token: undefined\n });\n }\n }, _callee10);\n }));\n },\n retryWithCaptchaAndDFP: function retryWithCaptchaAndDFP() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee11() {\n return _regenerator().w(function (_context11) {\n while (1) switch (_context11.n) {\n case 0:\n throw new Error('DFP protected auth is disabled');\n case 1:\n return _context11.a(2);\n }\n }, _callee11);\n }));\n }\n };\n};\n\n/**\n * Some errors are thrown from inside an iframe, but we can't serialize them\n * to the parent in Webkit. This class handles restoring marshalled errors\n * to their original form.\n * It preserves the error instance/class constructor by inspecting err.name\n * and calling `new` on the matching constructor.\n */\nvar ErrorMarshaller = /*#__PURE__*/function () {\n function ErrorMarshaller() {\n _classCallCheck(this, ErrorMarshaller);\n }\n return _createClass(ErrorMarshaller, null, [{\n key: \"inflate\",\n value: function inflate(ErrorClass, ErrorData) {\n // !!HACK!!\n // We make the assumption that if the error takes in a required property\n // (StytchAPIError takes in an APIDetails obj...)\n // that we can just pass in the error body itself to satisfy the constructor...\n // And if the types don't work out, Object.assign(...) copies everything over anyway\n // This is a brittle and weak assumption.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n var err = new ErrorClass(ErrorData);\n Object.assign(err, ErrorData);\n Object.setPrototypeOf(err, ErrorClass.prototype);\n return err;\n }\n }, {\n key: \"unmarshall\",\n value: function unmarshall(error) {\n if ('name' in error) {\n switch (error.name) {\n case 'SDKAPIUnreachableError':\n return ErrorMarshaller.inflate(SDKAPIUnreachableError, error);\n case 'StytchSDKSchemaError':\n return ErrorMarshaller.inflate(StytchSDKSchemaError, error);\n case 'StytchAPIUnreachableError':\n return ErrorMarshaller.inflate(StytchAPIUnreachableError, error);\n case 'StytchAPISchemaError':\n return ErrorMarshaller.inflate(StytchAPISchemaError, error);\n case 'StytchSDKAPIError':\n return ErrorMarshaller.inflate(StytchSDKAPIError, error);\n case 'StytchAPIError':\n return ErrorMarshaller.inflate(StytchAPIError, error);\n case 'TypeError':\n return ErrorMarshaller.inflate(TypeError, error);\n case 'SyntaxError':\n return ErrorMarshaller.inflate(SyntaxError, error);\n case 'ReferenceError':\n return ErrorMarshaller.inflate(ReferenceError, error);\n case 'RangeError':\n return ErrorMarshaller.inflate(RangeError, error);\n case 'EvalError':\n return ErrorMarshaller.inflate(EvalError, error);\n case 'URIError':\n return ErrorMarshaller.inflate(URIError, error);\n }\n }\n return ErrorMarshaller.inflate(Error, error);\n }\n }]);\n}();\nvar DEFAULT_MAX_BATCH_SIZE = 15;\nvar DEFAULT_INTERVAL_DURATION_MS = 800;\nvar EventLogger = /*#__PURE__*/function () {\n function EventLogger(args) {\n _classCallCheck(this, EventLogger);\n this.maxBatchSize = args.maxBatchSize;\n this.logEventURL = args.logEventURL;\n // TODO: If we create more than one of these, we'll want a mechanism to clean up the intervals\n setInterval(this.flush.bind(this), args.intervalDurationMs);\n this.batch = [];\n }\n return _createClass(EventLogger, [{\n key: \"logEvent\",\n value: function logEvent(telemetry, event) {\n this.batch.push({\n telemetry: telemetry,\n event: event\n });\n if (this.batch.length >= this.maxBatchSize) {\n this.flush();\n }\n }\n }, {\n key: \"flush\",\n value: function flush() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee12() {\n var batchToSubmit, _t6;\n return _regenerator().w(function (_context12) {\n while (1) switch (_context12.p = _context12.n) {\n case 0:\n if (this.batch.length) {\n _context12.n = 1;\n break;\n }\n return _context12.a(2);\n case 1:\n batchToSubmit = this.batch;\n this.batch = [];\n _context12.p = 2;\n _context12.n = 3;\n return fetch(this.logEventURL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(batchToSubmit)\n });\n case 3:\n _context12.n = 5;\n break;\n case 4:\n _context12.p = 4;\n _t6 = _context12.v;\n case 5:\n return _context12.a(2);\n }\n }, _callee12, this, [[2, 4]]);\n }));\n }\n }]);\n}();\nvar EmailSentType;\n(function (EmailSentType) {\n EmailSentType[\"LoginOrCreateEML\"] = \"login_or_create_eml\";\n EmailSentType[\"LoginOrCreateOTP\"] = \"login_or_create_otp\";\n EmailSentType[\"ResetPassword\"] = \"reset_password\";\n})(EmailSentType || (EmailSentType = {}));\nvar HeadlessUserClient = /*#__PURE__*/_createClass(function HeadlessUserClient(_networkClient, _subscriptionService) {\n var _this3 = this;\n _classCallCheck(this, HeadlessUserClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee13() {\n var resp, user;\n return _regenerator().w(function (_context13) {\n while (1) switch (_context13.n) {\n case 0:\n _context13.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/me',\n method: 'GET'\n });\n case 1:\n resp = _context13.v;\n user = removeResponseCommon(resp);\n this._subscriptionService.updateUser(user);\n return _context13.a(2, user);\n }\n }, _callee13, this);\n }));\n };\n this.getSync = function () {\n return _this3._subscriptionService.getUser();\n };\n this.getInfo = function () {\n return {\n user: _this3.getSync(),\n fromCache: _this3._subscriptionService.getFromCache()\n };\n };\n this.update = function (options) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee14() {\n var resp, user;\n return _regenerator().w(function (_context14) {\n while (1) switch (_context14.n) {\n case 0:\n validate('stytch.user.update').isOptionalObject('untrusted_metadata', options.untrusted_metadata);\n _context14.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/me',\n body: options,\n method: 'PUT'\n });\n case 1:\n resp = _context14.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context14.a(2, omitUser(resp));\n }\n }, _callee14, this);\n }));\n };\n this.deleteEmail = function (emailId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee15() {\n var resp, user;\n return _regenerator().w(function (_context15) {\n while (1) switch (_context15.n) {\n case 0:\n _context15.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/emails/\".concat(emailId),\n method: 'DELETE'\n });\n case 1:\n resp = _context15.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context15.a(2, omitUser(resp));\n }\n }, _callee15, this);\n }));\n };\n this.deletePhoneNumber = function (phoneId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee16() {\n var resp, user;\n return _regenerator().w(function (_context16) {\n while (1) switch (_context16.n) {\n case 0:\n _context16.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/phone_numbers/\".concat(phoneId),\n method: 'DELETE'\n });\n case 1:\n resp = _context16.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context16.a(2, omitUser(resp));\n }\n }, _callee16, this);\n }));\n };\n this.deleteTOTP = function (totpId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee17() {\n var resp, user;\n return _regenerator().w(function (_context17) {\n while (1) switch (_context17.n) {\n case 0:\n _context17.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/totps/\".concat(totpId),\n method: 'DELETE'\n });\n case 1:\n resp = _context17.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context17.a(2, omitUser(resp));\n }\n }, _callee17, this);\n }));\n };\n this.deleteCryptoWallet = function (cryptoWalletId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee18() {\n var resp, user;\n return _regenerator().w(function (_context18) {\n while (1) switch (_context18.n) {\n case 0:\n _context18.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/crypto_wallets/\".concat(cryptoWalletId),\n method: 'DELETE'\n });\n case 1:\n resp = _context18.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context18.a(2, omitUser(resp));\n }\n }, _callee18, this);\n }));\n };\n this.deleteOAuthRegistration = function (oauthUserRegistrationId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee19() {\n var resp, user;\n return _regenerator().w(function (_context19) {\n while (1) switch (_context19.n) {\n case 0:\n _context19.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/oauth/\".concat(oauthUserRegistrationId),\n method: 'DELETE'\n });\n case 1:\n resp = _context19.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context19.a(2, omitUser(resp));\n }\n }, _callee19, this);\n }));\n };\n this.deleteWebauthnRegistration = function (webAuthnId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee20() {\n var resp, user;\n return _regenerator().w(function (_context20) {\n while (1) switch (_context20.n) {\n case 0:\n _context20.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/webauthn_registrations/\".concat(webAuthnId),\n method: 'DELETE'\n });\n case 1:\n resp = _context20.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context20.a(2, omitUser(resp));\n }\n }, _callee20, this);\n }));\n };\n this.deleteBiometricRegistration = function (biometricRegistrationId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee21() {\n var resp, user;\n return _regenerator().w(function (_context21) {\n while (1) switch (_context21.n) {\n case 0:\n _context21.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/biometric_registrations/\".concat(biometricRegistrationId),\n method: 'DELETE'\n });\n case 1:\n resp = _context21.v;\n user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return _context21.a(2, omitUser(resp));\n }\n }, _callee21, this);\n }));\n };\n this.onChange = function (callback) {\n var lastVal = _this3._subscriptionService.getUser();\n var listener = function listener(state) {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.user) !== lastVal) {\n lastVal = (_a = state === null || state === void 0 ? void 0 : state.user) !== null && _a !== void 0 ? _a : null;\n callback(lastVal);\n }\n };\n return _this3._subscriptionService.subscribeToState(listener);\n };\n this.getConnectedApps = function () {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee22() {\n return _regenerator().w(function (_context22) {\n while (1) switch (_context22.n) {\n case 0:\n _context22.n = 1;\n return this._networkClient.fetchSDK({\n url: '/users/connected_apps',\n method: 'GET'\n });\n case 1:\n return _context22.a(2, _context22.v);\n }\n }, _callee22, this);\n }));\n };\n this.revokedConnectedApp = function (connectedAppId) {\n return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee23() {\n return _regenerator().w(function (_context23) {\n while (1) switch (_context23.n) {\n case 0:\n _context23.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/users/connected_apps/\".concat(connectedAppId, \"/revoke\"),\n method: 'POST'\n });\n case 1:\n return _context23.a(2, _context23.v);\n }\n }, _callee23, this);\n }));\n };\n});\nvar HeadlessSessionClient = /*#__PURE__*/function () {\n function HeadlessSessionClient(_networkClient, _subscriptionService) {\n var _this4 = this;\n _classCallCheck(this, HeadlessSessionClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.getSync = function () {\n return _this4._subscriptionService.getSession();\n };\n this.getInfo = function () {\n var session = _this4.getSync();\n var fromCache = _this4._subscriptionService.getFromCache();\n return {\n session: session,\n fromCache: fromCache\n };\n };\n this.onChange = function (callback) {\n var lastVal = _this4._subscriptionService.getSession();\n var listener = function listener(state) {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.session) !== lastVal) {\n lastVal = (_a = state === null || state === void 0 ? void 0 : state.session) !== null && _a !== void 0 ? _a : null;\n callback(lastVal);\n }\n };\n return _this4._subscriptionService.subscribeToState(listener);\n };\n this.revoke = function (options) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee24() {\n var resp, _t7;\n return _regenerator().w(function (_context24) {\n while (1) switch (_context24.p = _context24.n) {\n case 0:\n _context24.p = 0;\n _context24.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/sessions/revoke\",\n method: 'POST'\n });\n case 1:\n resp = _context24.v;\n this._subscriptionService.destroyState();\n return _context24.a(2, resp);\n case 2:\n _context24.p = 2;\n _t7 = _context24.v;\n if (options === null || options === void 0 ? void 0 : options.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(_t7.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw _t7;\n case 3:\n return _context24.a(2);\n }\n }, _callee24, this, [[0, 2]]);\n }));\n };\n this._authenticate = function (options) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee25() {\n var _this5 = this;\n var initialSession, isSessionStale, requestBody, resp, _t8;\n return _regenerator().w(function (_context25) {\n while (1) switch (_context25.p = _context25.n) {\n case 0:\n initialSession = this._subscriptionService.getSession();\n isSessionStale = function isSessionStale() {\n var _a;\n return (initialSession === null || initialSession === void 0 ? void 0 : initialSession.session_id) !== ((_a = _this5._subscriptionService.getSession()) === null || _a === void 0 ? void 0 : _a.session_id);\n };\n _context25.p = 1;\n requestBody = {\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n };\n _context25.n = 2;\n return this._networkClient.fetchSDK({\n url: '/sessions/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context25.v;\n if (!isSessionStale()) {\n _context25.n = 3;\n break;\n }\n return _context25.a(2, this._authenticate(options));\n case 3:\n return _context25.a(2, omitUser(resp));\n case 4:\n _context25.p = 4;\n _t8 = _context25.v;\n if (!isSessionStale()) {\n _context25.n = 5;\n break;\n }\n return _context25.a(2, this._authenticate(options));\n case 5:\n if (UNRECOVERABLE_ERROR_TYPES.includes(_t8.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw _t8;\n case 6:\n return _context25.a(2);\n }\n }, _callee25, this, [[1, 4]]);\n }));\n };\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee26() {\n var resp;\n return _regenerator().w(function (_context26) {\n while (1) switch (_context26.n) {\n case 0:\n validate('stytch.session.exchangeAccessToken').isString('access_token', data.access_token).isNumber('session_duration_minutes', data.session_duration_minutes);\n _context26.n = 1;\n return this._networkClient.fetchSDK({\n url: '/sessions/exchange_access_token',\n body: data,\n method: 'POST'\n });\n case 1:\n resp = _context26.v;\n return _context26.a(2, omitUser(resp));\n }\n }, _callee26, this);\n }));\n });\n this.attest = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee27() {\n return _regenerator().w(function (_context27) {\n while (1) switch (_context27.n) {\n case 0:\n validate('stytch.session.attest').isString('profile_id', data.profile_id).isString('token', data.token).isOptionalNumber('session_duration_minutes', data.session_duration_minutes);\n return _context27.a(2, this._networkClient.fetchSDK({\n url: '/sessions/attest',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee27, this);\n }));\n });\n }\n return _createClass(HeadlessSessionClient, [{\n key: \"getTokens\",\n value: function getTokens() {\n return this._subscriptionService.getTokens();\n }\n }, {\n key: \"updateSession\",\n value: function updateSession(tokens) {\n var _a;\n validate('stytch.session.updateSession').isString('session_token', tokens.session_token).isOptionalString('session_jwt', (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : undefined);\n this._subscriptionService.updateTokens(tokens);\n }\n }]);\n}();\nvar DefaultDynamicConfig$4 = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false\n});\nvar HeadlessMagicLinksClient = /*#__PURE__*/function () {\n function HeadlessMagicLinksClient(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager) {\n var _this6 = this;\n var _config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DefaultDynamicConfig$4;\n var dfpProtectedAuth = arguments.length > 5 ? arguments[5] : undefined;\n _classCallCheck(this, HeadlessMagicLinksClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._passwordResetPKCEManager = _passwordResetPKCEManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.email = {\n loginOrCreate: function loginOrCreate(email) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee28() {\n var _yield$this$_config, pkceRequiredForEmailMagicLinks, code_challenge, _yield$this$dfpProtec, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context28) {\n while (1) switch (_context28.n) {\n case 0:\n _context28.n = 1;\n return this._config;\n case 1:\n _yield$this$_config = _context28.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config.pkceRequiredForEmailMagicLinks;\n code_challenge = undefined;\n if (!pkceRequiredForEmailMagicLinks) {\n _context28.n = 3;\n break;\n }\n _context28.n = 2;\n return this.getCodeChallenge();\n case 2:\n code_challenge = _context28.v;\n case 3:\n _context28.n = 4;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 4:\n _yield$this$dfpProtec = _context28.v;\n dfp_telemetry_id = _yield$this$dfpProtec.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context28.a(2, this._networkClient.retriableFetchSDK({\n url: '/magic_links/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee28, this);\n }));\n },\n send: function send(email) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee29() {\n var _yield$this$_config2, pkceRequiredForEmailMagicLinks, code_challenge, _yield$this$dfpProtec2, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context29) {\n while (1) switch (_context29.n) {\n case 0:\n _context29.n = 1;\n return this._config;\n case 1:\n _yield$this$_config2 = _context29.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config2.pkceRequiredForEmailMagicLinks;\n code_challenge = undefined;\n if (!pkceRequiredForEmailMagicLinks) {\n _context29.n = 3;\n break;\n }\n _context29.n = 2;\n return this.getCodeChallenge();\n case 2:\n code_challenge = _context29.v;\n case 3:\n _context29.n = 4;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 4:\n _yield$this$dfpProtec2 = _context29.v;\n dfp_telemetry_id = _yield$this$dfpProtec2.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec2.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/magic_links/email/send/secondary' : '/magic_links/email/send/primary';\n return _context29.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee29, this);\n }));\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (token, options) {\n return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee30() {\n var passwordResetPKPair, resp, _t9;\n return _regenerator().w(function (_context30) {\n while (1) switch (_context30.p = _context30.n) {\n case 0:\n validate('stytch.magicLinks.authenticate').isString('Token', token).isNumber('session_duration_minutes', options.session_duration_minutes);\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n _context30.n = 1;\n return this._passwordResetPKCEManager.getPKPair();\n case 1:\n passwordResetPKPair = _context30.v;\n resp = null;\n if (!(passwordResetPKPair === null || passwordResetPKPair === void 0 ? void 0 : passwordResetPKPair.code_verifier)) {\n _context30.n = 6;\n break;\n }\n _context30.p = 2;\n _context30.n = 3;\n return this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, Object.assign(Object.assign({}, options), {\n token: token\n }));\n case 3:\n resp = _context30.v;\n _context30.n = 6;\n break;\n case 4:\n _context30.p = 4;\n _t9 = _context30.v;\n if (!_t9.message.includes('pkce')) {\n _context30.n = 5;\n break;\n }\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log('Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.');\n _context30.n = 6;\n break;\n case 5:\n throw _t9;\n case 6:\n if (resp) {\n _context30.n = 8;\n break;\n }\n _context30.n = 7;\n return this.handlePKCEForAuthenticate(this._pkceManager, Object.assign(Object.assign({}, options), {\n token: token\n }));\n case 7:\n resp = _context30.v;\n case 8:\n return _context30.a(2, omitUser(resp));\n }\n }, _callee30, this, [[2, 4]]);\n }));\n });\n }\n return _createClass(HeadlessMagicLinksClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee31() {\n var keyPair;\n return _regenerator().w(function (_context31) {\n while (1) switch (_context31.n) {\n case 0:\n _context31.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context31.v;\n if (!keyPair) {\n _context31.n = 2;\n break;\n }\n return _context31.a(2, keyPair.code_challenge);\n case 2:\n _context31.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context31.v;\n return _context31.a(2, keyPair.code_challenge);\n }\n }, _callee31, this);\n }));\n }\n }, {\n key: \"handlePKCEForAuthenticate\",\n value: function handlePKCEForAuthenticate(pkceManager, data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee32() {\n var pkPair, requestBody, resp;\n return _regenerator().w(function (_context32) {\n while (1) switch (_context32.n) {\n case 0:\n _context32.n = 1;\n return pkceManager.getPKPair();\n case 1:\n pkPair = _context32.v;\n requestBody = Object.assign({\n code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier\n }, data);\n _context32.n = 2;\n return this._networkClient.fetchSDK({\n url: '/magic_links/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context32.v;\n pkceManager.clearPKPair();\n return _context32.a(2, resp);\n }\n }, _callee32, this);\n }));\n }\n }]);\n}();\nvar HeadlessOTPClient = /*#__PURE__*/_createClass(function HeadlessOTPClient(_networkClient, _subscriptionService) {\n var _this7 = this;\n var executeRecaptcha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {\n return Promise.resolve(undefined);\n };\n var dfpProtectedAuth = arguments.length > 3 ? arguments[3] : undefined;\n _classCallCheck(this, HeadlessOTPClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.executeRecaptcha = executeRecaptcha;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.sms = {\n loginOrCreate: function loginOrCreate(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee33() {\n var _yield$this$dfpProtec3, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context33) {\n while (1) switch (_context33.n) {\n case 0:\n _context33.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec3 = _context33.v;\n dfp_telemetry_id = _yield$this$dfpProtec3.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec3.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context33.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/sms/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee33, this);\n }));\n },\n send: function send(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee34() {\n var _yield$this$dfpProtec4, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context34) {\n while (1) switch (_context34.n) {\n case 0:\n _context34.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec4 = _context34.v;\n dfp_telemetry_id = _yield$this$dfpProtec4.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec4.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/sms/send/secondary' : '/otps/sms/send/primary';\n return _context34.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee34, this);\n }));\n }\n };\n this.whatsapp = {\n loginOrCreate: function loginOrCreate(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee35() {\n var _yield$this$dfpProtec5, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context35) {\n while (1) switch (_context35.n) {\n case 0:\n _context35.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec5 = _context35.v;\n dfp_telemetry_id = _yield$this$dfpProtec5.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec5.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context35.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/whatsapp/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee35, this);\n }));\n },\n send: function send(phone_number, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee36() {\n var _yield$this$dfpProtec6, dfp_telemetry_id, captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context36) {\n while (1) switch (_context36.n) {\n case 0:\n _context36.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec6 = _context36.v;\n dfp_telemetry_id = _yield$this$dfpProtec6.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec6.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n phone_number: phone_number,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/whatsapp/send/secondary' : '/otps/whatsapp/send/primary';\n return _context36.a(2, this._networkClient.retriableFetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee36, this);\n }));\n }\n };\n this.email = {\n loginOrCreate: function loginOrCreate(email, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee37() {\n var _yield$this$dfpProtec7, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context37) {\n while (1) switch (_context37.n) {\n case 0:\n _context37.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec7 = _context37.v;\n dfp_telemetry_id = _yield$this$dfpProtec7.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec7.captcha_token;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n });\n return _context37.a(2, this._networkClient.retriableFetchSDK({\n url: '/otps/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee37, this);\n }));\n },\n send: function send(email, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee38() {\n var captcha_token, requestBody, isLoggedIn, endpoint;\n return _regenerator().w(function (_context38) {\n while (1) switch (_context38.n) {\n case 0:\n _context38.n = 1;\n return this.executeRecaptcha();\n case 1:\n captcha_token = _context38.v;\n requestBody = Object.assign(Object.assign({}, options), {\n email: email,\n captcha_token: captcha_token\n });\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/otps/email/send/secondary' : '/otps/email/send/primary';\n return _context38.a(2, this._networkClient.fetchSDK({\n url: endpoint,\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee38, this);\n }));\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (code, method_id, options) {\n return __awaiter(_this7, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee39() {\n var _yield$this$dfpProtec8, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context39) {\n while (1) switch (_context39.n) {\n case 0:\n validate('stytch.otps.authenticate').isString('Code', code).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context39.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec8 = _context39.v;\n dfp_telemetry_id = _yield$this$dfpProtec8.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec8.captcha_token;\n requestBody = Object.assign({\n token: code,\n method_id: method_id,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, options);\n _context39.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/otps/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context39.v;\n return _context39.a(2, omitUser(resp));\n }\n }, _callee39, this);\n }));\n });\n});\nvar HeadlessOAuthClient = /*#__PURE__*/function () {\n function HeadlessOAuthClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config) {\n var _this8 = this;\n _classCallCheck(this, HeadlessOAuthClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.google = {\n start: this.startOAuthFlow(OAuthProviders.Google)\n };\n this.apple = {\n start: this.startOAuthFlow(OAuthProviders.Apple)\n };\n this.microsoft = {\n start: this.startOAuthFlow(OAuthProviders.Microsoft)\n };\n this.github = {\n start: this.startOAuthFlow(OAuthProviders.Github)\n };\n this.gitlab = {\n start: this.startOAuthFlow(OAuthProviders.GitLab)\n };\n this.facebook = {\n start: this.startOAuthFlow(OAuthProviders.Facebook)\n };\n this.discord = {\n start: this.startOAuthFlow(OAuthProviders.Discord)\n };\n this.salesforce = {\n start: this.startOAuthFlow(OAuthProviders.Salesforce)\n };\n this.slack = {\n start: this.startOAuthFlow(OAuthProviders.Slack)\n };\n this.amazon = {\n start: this.startOAuthFlow(OAuthProviders.Amazon)\n };\n this.bitbucket = {\n start: this.startOAuthFlow(OAuthProviders.Bitbucket)\n };\n this.linkedin = {\n start: this.startOAuthFlow(OAuthProviders.LinkedIn)\n };\n this.coinbase = {\n start: this.startOAuthFlow(OAuthProviders.Coinbase)\n };\n this.twitch = {\n start: this.startOAuthFlow(OAuthProviders.Twitch)\n };\n this.twitter = {\n start: this.startOAuthFlow(OAuthProviders.Twitter)\n };\n this.tiktok = {\n start: this.startOAuthFlow(OAuthProviders.TikTok)\n };\n this.snapchat = {\n start: this.startOAuthFlow(OAuthProviders.Snapchat)\n };\n this.figma = {\n start: this.startOAuthFlow(OAuthProviders.Figma)\n };\n this.yahoo = {\n start: this.startOAuthFlow(OAuthProviders.Yahoo)\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (token, options) {\n return __awaiter(_this8, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee40() {\n var keyPair, resp;\n return _regenerator().w(function (_context40) {\n while (1) switch (_context40.n) {\n case 0:\n validate('stytch.oauth.authenticate').isString('Token', token).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context40.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context40.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for OAuth flow.\\n' + 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context40.n = 2;\n return this._networkClient.fetchSDK({\n url: '/oauth/authenticate',\n method: 'POST',\n body: Object.assign({\n token: token,\n code_verifier: keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier\n }, options)\n });\n case 2:\n resp = _context40.v;\n this._pkceManager.clearPKPair();\n return _context40.a(2, omitUser(resp));\n }\n }, _callee40, this);\n }));\n });\n }\n return _createClass(HeadlessOAuthClient, [{\n key: \"attach\",\n value: function attach(provider) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee41() {\n return _regenerator().w(function (_context41) {\n while (1) switch (_context41.n) {\n case 0:\n validate('stytch.oauth.attach').isString('Provider', provider);\n _context41.n = 1;\n return this._networkClient.fetchSDK({\n url: '/oauth/attach',\n method: 'POST',\n body: {\n provider: provider\n }\n });\n case 1:\n return _context41.a(2, _context41.v);\n }\n }, _callee41, this);\n }));\n }\n }, {\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee42() {\n var _yield$this$_dynamicC, cnameDomain;\n return _regenerator().w(function (_context42) {\n while (1) switch (_context42.n) {\n case 0:\n _context42.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC = _context42.v;\n cnameDomain = _yield$this$_dynamicC.cnameDomain;\n if (!cnameDomain) {\n _context42.n = 2;\n break;\n }\n return _context42.a(2, \"https://\".concat(cnameDomain));\n case 2:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context42.n = 3;\n break;\n }\n return _context42.a(2, this._config.testAPIURL);\n case 3:\n return _context42.a(2, this._config.liveAPIURL);\n }\n }, _callee42, this);\n }));\n }\n }, {\n key: \"startOAuthFlow\",\n value: function startOAuthFlow(providerType) {\n var _this9 = this;\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n login_redirect_url = _ref6.login_redirect_url,\n signup_redirect_url = _ref6.signup_redirect_url,\n custom_scopes = _ref6.custom_scopes,\n provider_params = _ref6.provider_params,\n oauth_attach_token = _ref6.oauth_attach_token;\n return __awaiter(_this9, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee43() {\n var _yield$this$_dynamicC2, cnameDomain, pkceRequiredForOAuth, baseURL, oauthUrl, keyPair, key;\n return _regenerator().w(function (_context43) {\n while (1) switch (_context43.n) {\n case 0:\n _context43.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC2 = _context43.v;\n cnameDomain = _yield$this$_dynamicC2.cnameDomain;\n pkceRequiredForOAuth = _yield$this$_dynamicC2.pkceRequiredForOAuth;\n _context43.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context43.v;\n this._networkClient.logEvent({\n name: 'start_oauth_flow',\n details: {\n provider_type: providerType,\n custom_scopes: custom_scopes,\n cname_domain: cnameDomain,\n pkce: pkceRequiredForOAuth,\n provider_params: provider_params\n }\n });\n oauthUrl = new URL(\"\".concat(baseURL, \"/v1/public/oauth/\").concat(providerType, \"/start\"));\n oauthUrl.searchParams.set('public_token', this._config.publicToken);\n if (!pkceRequiredForOAuth) {\n _context43.n = 4;\n break;\n }\n _context43.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context43.v;\n oauthUrl.searchParams.set('code_challenge', keyPair.code_challenge);\n _context43.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n oauthUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n oauthUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (login_redirect_url) oauthUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) oauthUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n if (oauth_attach_token) oauthUrl.searchParams.set('oauth_attach_token', oauth_attach_token);\n window.location.href = oauthUrl.toString();\n case 6:\n return _context43.a(2);\n }\n }, _callee43, this);\n }));\n };\n }\n }]);\n}();\nvar DefaultDynamicConfig$3 = Promise.resolve({\n siweRequiredForCryptoWallets: false\n});\nvar HeadlessCryptoWalletClient = /*#__PURE__*/function () {\n function HeadlessCryptoWalletClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this0 = this;\n var executeRecaptcha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n return Promise.resolve(undefined);\n };\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n var _config = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : DefaultDynamicConfig$3;\n _classCallCheck(this, HeadlessCryptoWalletClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.executeRecaptcha = executeRecaptcha;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this._config = _config;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee44() {\n var _yield$this$dfpProtec9, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context44) {\n while (1) switch (_context44.n) {\n case 0:\n validate('stytch.cryptoWallets.authenticate').isString('signature', options.signature).isString('crypto_wallet_address', options.crypto_wallet_address).isString('crypto_wallet_type', options.crypto_wallet_type).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context44.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec9 = _context44.v;\n dfp_telemetry_id = _yield$this$dfpProtec9.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec9.captcha_token;\n _context44.n = 2;\n return this._apiNetworkClient.retriableFetchSDK({\n url: '/crypto_wallets/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n signature: options.signature,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context44.v;\n return _context44.a(2, omitUser(resp));\n }\n }, _callee44, this);\n }));\n });\n }\n return _createClass(HeadlessCryptoWalletClient, [{\n key: \"authenticateStart\",\n value: function authenticateStart(options) {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee45() {\n var isLoggedIn, captcha_token, _yield$this$_config3, siweRequiredForCryptoWallets, body, endpoint, requestBody;\n return _regenerator().w(function (_context45) {\n while (1) switch (_context45.n) {\n case 0:\n validate('stytch.cryptoWallets.authenticateStart').isString('crypto_wallet_address', options.crypto_wallet_address).isString('crypto_wallet_type', options.crypto_wallet_type);\n if (options.siwe_params) {\n validate('stytch.cryptoWallets.authenticateStart').isOptionalString('uri', options.siwe_params.uri).isOptionalString('chain_id', options.siwe_params.chain_id).isOptionalString('issued_at', options.siwe_params.issued_at).isOptionalString('statement', options.siwe_params.statement).isOptionalString('not_before', options.siwe_params.not_before).isOptionalString('message_request_id', options.siwe_params.message_request_id).isOptionalStringArray('resources', options.siwe_params.resources);\n }\n isLoggedIn = !!this._subscriptionService.getSession();\n _context45.n = 1;\n return this.executeRecaptcha();\n case 1:\n captcha_token = _context45.v;\n _context45.n = 2;\n return this._config;\n case 2:\n _yield$this$_config3 = _context45.v;\n siweRequiredForCryptoWallets = _yield$this$_config3.siweRequiredForCryptoWallets;\n body = {\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type\n };\n if (siweRequiredForCryptoWallets && options.crypto_wallet_type == 'ethereum') {\n body.siwe_params = Object.assign(Object.assign({}, options.siwe_params), {\n uri: ((_a = options.siwe_params) === null || _a === void 0 ? void 0 : _a.uri) || window.location.origin\n });\n }\n endpoint = isLoggedIn ? '/crypto_wallets/authenticate/start/secondary' : '/crypto_wallets/authenticate/start/primary';\n requestBody = Object.assign(Object.assign({}, body), {\n captcha_token: captcha_token\n });\n return _context45.a(2, this._apiNetworkClient.fetchSDK({\n url: endpoint,\n method: 'POST',\n body: requestBody\n }));\n }\n }, _callee45, this);\n }));\n }\n }]);\n}();\nvar HeadlessTOTPClient = /*#__PURE__*/function () {\n function HeadlessTOTPClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this1 = this;\n _classCallCheck(this, HeadlessTOTPClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this1, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee46() {\n var _yield$this$dfpProtec0, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context46) {\n while (1) switch (_context46.n) {\n case 0:\n validate('stytch.totps.authenticate').isNumber('session_duration_minutes', options.session_duration_minutes).isString('totp_code', options.totp_code);\n _context46.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec0 = _context46.v;\n dfp_telemetry_id = _yield$this$dfpProtec0.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec0.captcha_token;\n _context46.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/totps/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n totp_code: options.totp_code,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context46.v;\n return _context46.a(2, omitUser(resp));\n }\n }, _callee46, this);\n }));\n });\n this.recover = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this1, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee47() {\n var _yield$this$dfpProtec1, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context47) {\n while (1) switch (_context47.n) {\n case 0:\n validate('stytch.totps.recover').isNumber('session_duration_minutes', options.session_duration_minutes).isString('recovery_code', options.recovery_code);\n _context47.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec1 = _context47.v;\n dfp_telemetry_id = _yield$this$dfpProtec1.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec1.captcha_token;\n _context47.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/totps/recover',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n recovery_code: options.recovery_code,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context47.v;\n return _context47.a(2, omitUser(resp));\n }\n }, _callee47, this);\n }));\n });\n }\n return _createClass(HeadlessTOTPClient, [{\n key: \"create\",\n value: function create(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee48() {\n var resp;\n return _regenerator().w(function (_context48) {\n while (1) switch (_context48.n) {\n case 0:\n validate('stytch.totps.create').isNumber('expiration_minutes', options.expiration_minutes);\n _context48.n = 1;\n return this._networkClient.fetchSDK({\n url: '/totps',\n method: 'POST',\n body: {\n expiration_minutes: options.expiration_minutes\n }\n });\n case 1:\n resp = _context48.v;\n this._subscriptionService.updateUser(resp.__user);\n return _context48.a(2, omitUser(resp));\n }\n }, _callee48, this);\n }));\n }\n }, {\n key: \"recoveryCodes\",\n value: function recoveryCodes() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee49() {\n return _regenerator().w(function (_context49) {\n while (1) switch (_context49.n) {\n case 0:\n return _context49.a(2, this._networkClient.fetchSDK({\n url: '/totps/recovery_codes',\n method: 'POST'\n }));\n }\n }, _callee49, this);\n }));\n }\n }]);\n}(); // src/webauthn-json/base64url.ts\nfunction base64urlToBuffer(baseurl64String) {\n var padding = \"==\".slice(0, (4 - baseurl64String.length % 4) % 4);\n var base64String = baseurl64String.replace(/-/g, \"+\").replace(/_/g, \"/\") + padding;\n var str = atob(base64String);\n var buffer = new ArrayBuffer(str.length);\n var byteView = new Uint8Array(buffer);\n for (var _i = 0; _i < str.length; _i++) {\n byteView[_i] = str.charCodeAt(_i);\n }\n return buffer;\n}\nfunction bufferToBase64url(buffer) {\n var byteView = new Uint8Array(buffer);\n var str = \"\";\n var _iterator2 = _createForOfIteratorHelper(byteView),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var charCode = _step2.value;\n str += String.fromCharCode(charCode);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n var base64String = btoa(str);\n var base64urlString = base64String.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n return base64urlString;\n}\n// src/webauthn-json/convert.ts\nvar copyValue = \"copy\";\nvar convertValue = \"convert\";\nfunction convert(conversionFn, schema2, input) {\n if (schema2 === copyValue) {\n return input;\n }\n if (schema2 === convertValue) {\n return conversionFn(input);\n }\n if (schema2 instanceof Array) {\n return input.map(function (v) {\n return convert(conversionFn, schema2[0], v);\n });\n }\n if (schema2 instanceof Object) {\n var output = {};\n for (var _i2 = 0, _Object$entries = Object.entries(schema2); _i2 < _Object$entries.length; _i2++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),\n key = _Object$entries$_i[0],\n schemaField = _Object$entries$_i[1];\n if (schemaField.derive) {\n var v = schemaField.derive(input);\n if (v !== void 0) {\n input[key] = v;\n }\n }\n if (!(key in input)) {\n if (schemaField.required) {\n throw new Error(\"Missing key: \".concat(key));\n }\n continue;\n }\n if (input[key] == null) {\n output[key] = null;\n continue;\n }\n output[key] = convert(conversionFn, schemaField.schema, input[key]);\n }\n return output;\n }\n}\nfunction derived(schema2, derive) {\n return {\n required: true,\n schema: schema2,\n derive: derive\n };\n}\nfunction required(schema2) {\n return {\n required: true,\n schema: schema2\n };\n}\nfunction optional(schema2) {\n return {\n required: false,\n schema: schema2\n };\n}\n// src/webauthn-json/basic/schema.ts\nvar publicKeyCredentialDescriptorSchema = {\n type: required(copyValue),\n id: required(convertValue),\n transports: optional(copyValue)\n};\nvar simplifiedExtensionsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar simplifiedClientExtensionResultsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar credentialCreationOptions = {\n publicKey: required({\n rp: required(copyValue),\n user: required({\n id: required(convertValue),\n name: required(copyValue),\n displayName: required(copyValue)\n }),\n challenge: required(convertValue),\n pubKeyCredParams: required(copyValue),\n timeout: optional(copyValue),\n excludeCredentials: optional([publicKeyCredentialDescriptorSchema]),\n authenticatorSelection: optional(copyValue),\n attestation: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAttestation = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n attestationObject: required(convertValue),\n transports: derived(copyValue, function (response) {\n var _a;\n return ((_a = response.getTransports) == null ? void 0 : _a.call(response)) || [];\n })\n }),\n clientExtensionResults: derived(simplifiedClientExtensionResultsSchema, function (pkc) {\n return pkc.getClientExtensionResults();\n })\n};\nvar credentialRequestOptions = {\n mediation: optional(copyValue),\n publicKey: required({\n challenge: required(convertValue),\n timeout: optional(copyValue),\n rpId: optional(copyValue),\n allowCredentials: optional([publicKeyCredentialDescriptorSchema]),\n userVerification: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAssertion = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n authenticatorData: required(convertValue),\n signature: required(convertValue),\n userHandle: required(convertValue)\n }),\n clientExtensionResults: derived(simplifiedClientExtensionResultsSchema, function (pkc) {\n return pkc.getClientExtensionResults();\n })\n};\n// src/webauthn-json/basic/api.ts\nfunction createRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialCreationOptions, requestJSON);\n}\nfunction createResponseToJSON(credential) {\n return convert(bufferToBase64url, publicKeyCredentialWithAttestation, credential);\n}\nfunction create(requestJSON) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee50() {\n var credential;\n return _regenerator().w(function (_context50) {\n while (1) switch (_context50.n) {\n case 0:\n _context50.n = 1;\n return navigator.credentials.create(createRequestFromJSON(requestJSON));\n case 1:\n credential = _context50.v;\n return _context50.a(2, createResponseToJSON(credential));\n }\n }, _callee50);\n }));\n}\nfunction getRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialRequestOptions, requestJSON);\n}\nfunction getResponseToJSON(credential) {\n return convert(bufferToBase64url, publicKeyCredentialWithAssertion, credential);\n}\nfunction get(requestJSON) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee51() {\n var credential;\n return _regenerator().w(function (_context51) {\n while (1) switch (_context51.n) {\n case 0:\n _context51.n = 1;\n return navigator.credentials.get(getRequestFromJSON(requestJSON));\n case 1:\n credential = _context51.v;\n return _context51.a(2, getResponseToJSON(credential));\n }\n }, _callee51);\n }));\n}\nvar HeadlessWebAuthnClient = /*#__PURE__*/function () {\n function HeadlessWebAuthnClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this10 = this;\n _classCallCheck(this, HeadlessWebAuthnClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.register = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this10, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee52() {\n var _a, _b, startResp, publicKeyCredentialCreationOptions, publicKey, credential, resp;\n return _regenerator().w(function (_context52) {\n while (1) switch (_context52.n) {\n case 0:\n validate('stytch.webauthn.register').isOptionalString('domain', options === null || options === void 0 ? void 0 : options.domain).isOptionalString('authenticator_type', options === null || options === void 0 ? void 0 : options.authenticator_type).isOptionalBoolean('is_passkey', options === null || options === void 0 ? void 0 : options.is_passkey).isOptionalNumber('session_duration_minutes', options === null || options === void 0 ? void 0 : options.session_duration_minutes).isOptionalString('override_id', options === null || options === void 0 ? void 0 : options.override_id).isOptionalString('override_name', options === null || options === void 0 ? void 0 : options.override_name).isOptionalString('override_display_name', options === null || options === void 0 ? void 0 : options.override_display_name).isOptionalBoolean('use_base64_url_encoding', options === null || options === void 0 ? void 0 : options.use_base64_url_encoding);\n _context52.n = 1;\n return this._networkClient.fetchSDK({\n url: '/webauthn/register/start',\n method: 'POST',\n body: {\n domain: (_a = options === null || options === void 0 ? void 0 : options.domain) !== null && _a !== void 0 ? _a : window.location.hostname,\n authenticator_type: (_b = options === null || options === void 0 ? void 0 : options.authenticator_type) !== null && _b !== void 0 ? _b : undefined,\n return_passkey_credential_options: options === null || options === void 0 ? void 0 : options.is_passkey,\n override_id: options === null || options === void 0 ? void 0 : options.override_id,\n override_name: options === null || options === void 0 ? void 0 : options.override_name,\n override_display_name: options === null || options === void 0 ? void 0 : options.override_display_name,\n user_agent: navigator.userAgent,\n use_base64_url_encoding: options === null || options === void 0 ? void 0 : options.use_base64_url_encoding\n }\n });\n case 1:\n startResp = _context52.v;\n publicKeyCredentialCreationOptions = startResp.public_key_credential_creation_options;\n publicKey = JSON.parse(publicKeyCredentialCreationOptions);\n _context52.n = 2;\n return create({\n publicKey: publicKey\n });\n case 2:\n credential = _context52.v;\n _context52.n = 3;\n return this._networkClient.fetchSDK({\n url: '/webauthn/register',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n }\n });\n case 3:\n resp = _context52.v;\n return _context52.a(2, omitUser(resp));\n }\n }, _callee52, this);\n }));\n });\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this10, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee53() {\n var _c, _d, _yield$this$dfpProtec10, dfp_telemetry_id, captcha_token, isLoggedIn, endpoint, startResp, publicKeyCredentialRequestOptions, abortController, credReqOptions, conditionalMediationCredReqOption, credential, authenticationData;\n return _regenerator().w(function (_context53) {\n while (1) switch (_context53.n) {\n case 0:\n validate('stytch.webauthn.authenticate').isOptionalString('domain', options.domain).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalBoolean('is_passkey', options.is_passkey).isOptionalObject('signal', options.signal);\n _context53.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec10 = _context53.v;\n dfp_telemetry_id = _yield$this$dfpProtec10.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec10.captcha_token;\n if (!options.conditional_mediation) {\n _context53.n = 4;\n break;\n }\n _context53.n = 2;\n return this.browserSupportsAutofill();\n case 2:\n if (_context53.v) {\n _context53.n = 3;\n break;\n }\n logger.error('Browser does not support WebAuthn autofill');\n return _context53.a(2, null);\n case 3:\n if (this.checkEligibleInputs()) {\n _context53.n = 4;\n break;\n }\n return _context53.a(2, null);\n case 4:\n isLoggedIn = !!this._subscriptionService.getSession();\n endpoint = isLoggedIn ? '/webauthn/authenticate/start/secondary' : '/webauthn/authenticate/start/primary';\n _context53.n = 5;\n return this._networkClient.fetchSDK({\n url: endpoint,\n method: 'POST',\n body: {\n domain: (_c = options.domain) !== null && _c !== void 0 ? _c : window.location.hostname,\n return_passkey_credential_options: options === null || options === void 0 ? void 0 : options.is_passkey\n }\n });\n case 5:\n startResp = _context53.v;\n publicKeyCredentialRequestOptions = startResp.public_key_credential_request_options;\n abortController = new AbortController();\n credReqOptions = {\n publicKey: JSON.parse(publicKeyCredentialRequestOptions),\n signal: (_d = options.signal) !== null && _d !== void 0 ? _d : abortController.signal\n };\n conditionalMediationCredReqOption = Object.assign(Object.assign({}, credReqOptions), {\n mediation: 'conditional'\n });\n _context53.n = 6;\n return get(options.conditional_mediation ? conditionalMediationCredReqOption : credReqOptions);\n case 6:\n credential = _context53.v;\n _context53.n = 7;\n return this._networkClient.retriableFetchSDK({\n url: '/webauthn/authenticate',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 7:\n authenticationData = _context53.v;\n return _context53.a(2, omitUser(authenticationData));\n }\n }, _callee53, this);\n }));\n });\n this.checkEligibleInputs = function () {\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n var eligibleInputs = document.querySelectorAll(\"input[autocomplete*='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1) {\n logger.error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n return false;\n }\n return true;\n };\n }\n return _createClass(HeadlessWebAuthnClient, [{\n key: \"update\",\n value: function update(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee54() {\n var url;\n return _regenerator().w(function (_context54) {\n while (1) switch (_context54.n) {\n case 0:\n validate('stytch.webauthn.update').isString('webauthn_registration_id', options.webauthn_registration_id).isString('name', options.name);\n url = '/webauthn/update/' + options.webauthn_registration_id;\n _context54.n = 1;\n return this._networkClient.fetchSDK({\n url: url,\n method: 'PUT',\n body: {\n name: options.name\n }\n });\n case 1:\n return _context54.a(2, _context54.v);\n }\n }, _callee54, this);\n }));\n }\n }, {\n key: \"browserSupportsAutofill\",\n value: function browserSupportsAutofill() {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee55() {\n var _t0, _t1, _t10;\n return _regenerator().w(function (_context55) {\n while (1) switch (_context55.n) {\n case 0:\n _context55.n = 1;\n return (_b = (_a = window.PublicKeyCredential) === null || _a === void 0 ? void 0 : _a.isConditionalMediationAvailable) === null || _b === void 0 ? void 0 : _b.call(_a);\n case 1:\n _t1 = _c = _context55.v;\n _t0 = _t1 !== null;\n if (!_t0) {\n _context55.n = 2;\n break;\n }\n _t0 = _c !== void 0;\n case 2:\n if (!_t0) {\n _context55.n = 3;\n break;\n }\n _t10 = _c;\n _context55.n = 4;\n break;\n case 3:\n _t10 = false;\n case 4:\n return _context55.a(2, _t10);\n }\n }, _callee55);\n }));\n }\n }]);\n}();\nvar DefaultDynamicConfig$2 = Promise.resolve({\n pkceRequiredForPasswordResets: false\n});\nvar HeadlessPasswordClient = /*#__PURE__*/function () {\n function HeadlessPasswordClient(_networkClient, _subscriptionService, _pkceManager) {\n var _this11 = this;\n var _config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DefaultDynamicConfig$2;\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n _classCallCheck(this, HeadlessPasswordClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.create = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee56() {\n var _yield$this$dfpProtec11, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context56) {\n while (1) switch (_context56.n) {\n case 0:\n validate('stytch.passwords.create').isString('password', options.password).isString('email', options.email).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context56.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec11 = _context56.v;\n dfp_telemetry_id = _yield$this$dfpProtec11.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec11.captcha_token;\n _context56.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context56.v;\n return _context56.a(2, omitUser(resp));\n }\n }, _callee56, this);\n }));\n });\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee57() {\n var _yield$this$dfpProtec12, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context57) {\n while (1) switch (_context57.n) {\n case 0:\n validate('stytch.passwords.authenticate').isString('password', options.password).isString('email', options.email).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context57.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec12 = _context57.v;\n dfp_telemetry_id = _yield$this$dfpProtec12.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec12.captcha_token;\n _context57.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/authenticate',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context57.v;\n return _context57.a(2, omitUser(resp));\n }\n }, _callee57, this);\n }));\n });\n this.resetByEmail = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee58() {\n var _yield$this$dfpProtec13, dfp_telemetry_id, captcha_token, pkPair, code_verifier, resp;\n return _regenerator().w(function (_context58) {\n while (1) switch (_context58.n) {\n case 0:\n validate('stytch.passwords.resetByEmail').isString('token', options.token).isString('password', options.password).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context58.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec13 = _context58.v;\n dfp_telemetry_id = _yield$this$dfpProtec13.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec13.captcha_token;\n _context58.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context58.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context58.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/email/reset',\n method: 'POST',\n body: {\n token: options.token,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n code_verifier: code_verifier,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context58.v;\n this._pkceManager.clearPKPair();\n return _context58.a(2, omitUser(resp));\n }\n }, _callee58, this);\n }));\n });\n this.resetByExistingPassword = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee59() {\n var _yield$this$dfpProtec14, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context59) {\n while (1) switch (_context59.n) {\n case 0:\n validate('stytch.passwords.resetByExistingPassword').isString('email', options.email).isString('existing_password', options.existing_password).isString('new_password', options.new_password).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context59.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec14 = _context59.v;\n dfp_telemetry_id = _yield$this$dfpProtec14.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec14.captcha_token;\n _context59.n = 2;\n return this._networkClient.retriableFetchSDK({\n url: '/passwords/existing_password/reset',\n method: 'POST',\n body: {\n email: options.email,\n existing_password: options.existing_password,\n new_password: options.new_password,\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 2:\n resp = _context59.v;\n return _context59.a(2, omitUser(resp));\n }\n }, _callee59, this);\n }));\n });\n this.resetBySession = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this11, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee60() {\n var _yield$this$dfpProtec15, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context60) {\n while (1) switch (_context60.n) {\n case 0:\n validate('stytch.passwords.resetBySession').isString('password', options.password);\n _context60.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec15 = _context60.v;\n dfp_telemetry_id = _yield$this$dfpProtec15.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec15.captcha_token;\n return _context60.a(2, this._networkClient.retriableFetchSDK({\n url: '/passwords/session/reset',\n method: 'POST',\n body: {\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee60, this);\n }));\n });\n }\n return _createClass(HeadlessPasswordClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee61() {\n var _yield$this$_config4, pkceRequiredForPasswordResets, keyPair;\n return _regenerator().w(function (_context61) {\n while (1) switch (_context61.n) {\n case 0:\n _context61.n = 1;\n return this._config;\n case 1:\n _yield$this$_config4 = _context61.v;\n pkceRequiredForPasswordResets = _yield$this$_config4.pkceRequiredForPasswordResets;\n if (pkceRequiredForPasswordResets) {\n _context61.n = 2;\n break;\n }\n return _context61.a(2, undefined);\n case 2:\n _context61.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context61.v;\n if (!keyPair) {\n _context61.n = 4;\n break;\n }\n return _context61.a(2, keyPair.code_challenge);\n case 4:\n _context61.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context61.v;\n return _context61.a(2, keyPair.code_challenge);\n }\n }, _callee61, this);\n }));\n }\n }, {\n key: \"resetByEmailStart\",\n value: function resetByEmailStart(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee62() {\n var code_challenge, _yield$this$dfpProtec16, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context62) {\n while (1) switch (_context62.n) {\n case 0:\n validate('stytch.passwords.resetByEmailStart').isString('email', options.email).isOptionalString('login_redirect_url', options.login_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('locale', options.locale);\n _context62.n = 1;\n return this.getCodeChallenge();\n case 1:\n code_challenge = _context62.v;\n _context62.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec16 = _context62.v;\n dfp_telemetry_id = _yield$this$dfpProtec16.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec16.captcha_token;\n return _context62.a(2, this._networkClient.retriableFetchSDK({\n url: '/passwords/email/reset/start',\n method: 'POST',\n body: {\n email: options.email,\n login_redirect_url: options.login_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n locale: options.locale,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee62, this);\n }));\n }\n }, {\n key: \"strengthCheck\",\n value: function strengthCheck(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee63() {\n return _regenerator().w(function (_context63) {\n while (1) switch (_context63.n) {\n case 0:\n validate('stytch.passwords.strengthCheck').isOptionalString('email', options.email).isString('password', options.password);\n return _context63.a(2, this._networkClient.fetchSDK({\n url: '/passwords/strength_check',\n method: 'POST',\n body: {\n email: options.email,\n password: options.password\n }\n }));\n }\n }, _callee63, this);\n }));\n }\n }]);\n}();\nvar HeadlessImpersonationClient = /*#__PURE__*/_createClass(function HeadlessImpersonationClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this12 = this;\n _classCallCheck(this, HeadlessImpersonationClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this12, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee64() {\n var _yield$this$dfpProtec17, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context64) {\n while (1) switch (_context64.n) {\n case 0:\n validate('stytch.impersonation.authenticate').isString('impersonation_token', data.impersonation_token);\n _context64.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec17 = _context64.v;\n dfp_telemetry_id = _yield$this$dfpProtec17.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec17.captcha_token;\n return _context64.a(2, this._networkClient.retriableFetchSDK({\n url: '/impersonation/authenticate',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee64, this);\n }));\n });\n});\nvar WILDCARD_ACTION = '*';\n/**\n * RBACPolicy represents an instance of a parsed Stytch RBAC policy object\n * It contains methods for computing outcomes for various permissions questions\n */\nvar RBACPolicy = /*#__PURE__*/function () {\n function RBACPolicy(roles, resources) {\n var _this13 = this;\n _classCallCheck(this, RBACPolicy);\n this.roles = roles;\n this.resources = resources;\n this.rolesByID = {};\n roles.forEach(function (role) {\n return _this13.rolesByID[role.role_id] = role;\n });\n }\n return _createClass(RBACPolicy, [{\n key: \"mergeWithCustomRoles\",\n value:\n /**\n * Merges organization custom roles with this project policy.\n * Custom roles are additive - they add additional roles on top of the base project policy.\n * Resources remain from the project policy, roles are combined.\n * @param customRoles Array of custom organization roles to add\n * @returns A new RBACPolicy instance with merged roles\n */\n function mergeWithCustomRoles(customRoles) {\n var mergedRoles = [].concat(_toConsumableArray(this.roles), _toConsumableArray(customRoles));\n // Resources come from the project policy - custom roles don't define new resources\n return new RBACPolicy(mergedRoles, this.resources);\n }\n /**\n * isAuthorized returns whether or not a user with a specific set of roles can perform a desired action\n * @example\n * const canDoIt = policy.callerIsAuthorized(roles, 'files', 'create')\n * console.log(canDoIt) // true\n */\n }, {\n key: \"callerIsAuthorized\",\n value: function callerIsAuthorized(memberRoles, resourceId, action) {\n var _this14 = this;\n return !!memberRoles.map(function (roleId) {\n return _this14.rolesByID[roleId];\n })\n // Defense in depth: filter out null/undefined in case memberRoles contains a role that doesn't match the policy\n // This may happen if the member is loaded _before_ a fresh RBAC policy is loaded\n .filter(function (v) {\n return v;\n }).flatMap(function (role) {\n return role.permissions;\n }).filter(function (permission) {\n return permission.resource_id === resourceId;\n }).find(function (permission) {\n return permission.actions.includes(action) || permission.actions.includes(WILDCARD_ACTION);\n });\n }\n /**\n * allPermissions generates a map that allows quick lookup of all the permissions available to the user\n * @example\n * const perms = policy.allPermissions(roles)\n * console.log(perms.files.create) // true\n * console.log(perms.files.delete) // false\n */\n }, {\n key: \"allPermissionsForCaller\",\n value: function allPermissionsForCaller(memberRoles) {\n var _this15 = this;\n var allPermsMap = Object.create(null);\n this.resources.forEach(function (resource) {\n allPermsMap[resource.resource_id] = {};\n resource.actions.forEach(function (action) {\n allPermsMap[resource.resource_id][action] = _this15.callerIsAuthorized(memberRoles, resource.resource_id, action);\n });\n });\n return allPermsMap;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(input) {\n return new RBACPolicy(input.roles, input.resources);\n }\n }]);\n}();\nvar HeadlessRBACClient = /*#__PURE__*/function () {\n function HeadlessRBACClient(cachedConfig, dynamicConfig, _subscriptionService) {\n var _this16 = this;\n _classCallCheck(this, HeadlessRBACClient);\n this._subscriptionService = _subscriptionService;\n this.isAuthorizedSync = function (resourceId, action) {\n var _a;\n return !!((_a = _this16.cachedPolicy) === null || _a === void 0 ? void 0 : _a.callerIsAuthorized(_this16.roleIds(), resourceId, action));\n };\n this.isAuthorized = function (resourceId, action) {\n return _this16.policyPromise.then(function (policy) {\n return policy.callerIsAuthorized(_this16.roleIds(), resourceId, action);\n });\n };\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then(function (data) {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n _this16.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return _this16.cachedPolicy;\n });\n }\n return _createClass(HeadlessRBACClient, [{\n key: \"allPermissions\",\n value: function allPermissions() {\n var _this17 = this;\n return this.policyPromise.then(function (policy) {\n return policy.allPermissionsForCaller(_this17.roleIds());\n });\n }\n }, {\n key: \"roleIds\",\n value: function roleIds() {\n var _a;\n var user = this._subscriptionService.getUser();\n if (!user) {\n return [];\n }\n // Although user.roles is guaranteed to exist for fresh data, there is a chance\n // that the user stored in localstorage clientside comes from before roles were added to\n // the API response - in which case user.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return (_a = user.roles) !== null && _a !== void 0 ? _a : [];\n }\n }]);\n}();\nvar HeadlessIDPClient = /*#__PURE__*/_createClass(function HeadlessIDPClient(_networkClient) {\n var _this18 = this;\n _classCallCheck(this, HeadlessIDPClient);\n this._networkClient = _networkClient;\n this.oauthAuthorizeStart = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee65() {\n return _regenerator().w(function (_context65) {\n while (1) switch (_context65.n) {\n case 0:\n return _context65.a(2, this._networkClient.fetchSDK({\n url: '/idp/oauth/authorize/start',\n method: 'POST',\n body: data\n }));\n }\n }, _callee65, this);\n }));\n };\n this.oauthAuthorizeSubmit = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee66() {\n return _regenerator().w(function (_context66) {\n while (1) switch (_context66.n) {\n case 0:\n return _context66.a(2, this._networkClient.fetchSDK({\n url: '/idp/oauth/authorize/submit',\n method: 'POST',\n body: data\n }));\n }\n }, _callee66, this);\n }));\n };\n this.oauthLogoutStart = function (data) {\n return __awaiter(_this18, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee67() {\n return _regenerator().w(function (_context67) {\n while (1) switch (_context67.n) {\n case 0:\n return _context67.a(2, this._networkClient.fetchSDK({\n url: \"/oauth/logout/start\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee67, this);\n }));\n };\n});\nvar DefaultDynamicConfig$1 = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false\n});\nvar HeadlessB2BMagicLinksClient = /*#__PURE__*/function () {\n function HeadlessB2BMagicLinksClient(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager) {\n var _this19 = this;\n var _config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DefaultDynamicConfig$1;\n var dfpProtectedAuth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : DisabledDFPProtectedAuthProvider();\n _classCallCheck(this, HeadlessB2BMagicLinksClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._passwordResetPKCEManager = _passwordResetPKCEManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.email = {\n invite: function invite(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee68() {\n return _regenerator().w(function (_context68) {\n while (1) switch (_context68.n) {\n case 0:\n validate('stytch.magicLinks.email.invite').isString('email_address', data.email_address).isOptionalString('invite_redirect_url', data.invite_redirect_url).isOptionalString('invite_template_id', data.invite_template_id).isOptionalString('name', data.name).isOptionalString('locale', data.locale).isOptionalStringArray('roles', data.roles).isOptionalNumber('invite_expiration_minutes', data.invite_expiration_minutes);\n return _context68.a(2, this._networkClient.fetchSDK({\n url: '/b2b/magic_links/email/invite',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee68, this);\n }));\n },\n loginOrSignup: function loginOrSignup(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee69() {\n var pkce_code_challenge, requestBody;\n return _regenerator().w(function (_context69) {\n while (1) switch (_context69.n) {\n case 0:\n validate('stytch.magicLinks.email.loginOrSignup').isString('email_address', data.email_address).isString('organization_id', data.organization_id).isOptionalString('login_redirect_url', data.login_redirect_url).isOptionalString('login_template_id', data.login_template_id).isOptionalString('signup_redirect_url', data.signup_redirect_url).isOptionalString('signup_template_id', data.signup_template_id).isOptionalString('locale', data.locale).isOptionalNumber('login_expiration_minutes', data.login_expiration_minutes).isOptionalNumber('signup_expiration_minutes', data.signup_expiration_minutes);\n _context69.n = 1;\n return this.getCodeChallenge();\n case 1:\n pkce_code_challenge = _context69.v;\n requestBody = Object.assign(Object.assign({}, data), {\n pkce_code_challenge: pkce_code_challenge\n });\n return _context69.a(2, this._networkClient.fetchSDK({\n url: '/b2b/magic_links/email/login_or_signup',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee69, this);\n }));\n },\n discovery: {\n send: function send(data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee70() {\n var _yield$this$dfpProtec18, dfp_telemetry_id, captcha_token, pkce_code_challenge, requestBody;\n return _regenerator().w(function (_context70) {\n while (1) switch (_context70.n) {\n case 0:\n validate('stytch.magicLinks.email.discovery.send').isString('email_address', data.email_address).isOptionalString('discovery_redirect_url', data.discovery_redirect_url).isOptionalString('login_template_id', data.login_template_id).isOptionalString('locale', data.locale).isOptionalNumber('discovery_expiration_minutes', data.discovery_expiration_minutes);\n _context70.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec18 = _context70.v;\n dfp_telemetry_id = _yield$this$dfpProtec18.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec18.captcha_token;\n _context70.n = 2;\n return this.getCodeChallenge();\n case 2:\n pkce_code_challenge = _context70.v;\n requestBody = Object.assign(Object.assign({}, data), {\n pkce_code_challenge: pkce_code_challenge,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context70.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee70, this);\n }));\n }\n }\n };\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee71() {\n var passwordResetPKPair, resp, _t11;\n return _regenerator().w(function (_context71) {\n while (1) switch (_context71.p = _context71.n) {\n case 0:\n validate('stytch.magicLinks.authenticate').isString('magic_links_token', data.magic_links_token).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n _context71.n = 1;\n return this._passwordResetPKCEManager.getPKPair();\n case 1:\n passwordResetPKPair = _context71.v;\n resp = null;\n if (!(passwordResetPKPair === null || passwordResetPKPair === void 0 ? void 0 : passwordResetPKPair.code_verifier)) {\n _context71.n = 6;\n break;\n }\n _context71.p = 2;\n _context71.n = 3;\n return this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, data);\n case 3:\n resp = _context71.v;\n _context71.n = 6;\n break;\n case 4:\n _context71.p = 4;\n _t11 = _context71.v;\n if (!_t11.message.includes('pkce')) {\n _context71.n = 5;\n break;\n }\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log('Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.');\n _context71.n = 6;\n break;\n case 5:\n throw _t11;\n case 6:\n if (resp) {\n _context71.n = 8;\n break;\n }\n _context71.n = 7;\n return this.handlePKCEForAuthenticate(this._pkceManager, data);\n case 7:\n resp = _context71.v;\n case 8:\n return _context71.a(2, resp);\n }\n }, _callee71, this, [[2, 4]]);\n }));\n });\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this19, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee72() {\n var pkPair, _yield$this$dfpProtec19, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context72) {\n while (1) switch (_context72.n) {\n case 0:\n validate('stytch.magicLinks.discovery.authenticate').isString('discovery_magic_links_token', data.discovery_magic_links_token);\n _context72.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context72.v;\n _context72.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec19 = _context72.v;\n dfp_telemetry_id = _yield$this$dfpProtec19.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec19.captcha_token;\n requestBody = Object.assign({\n pkce_code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n _context72.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context72.v;\n this._pkceManager.clearPKPair();\n return _context72.a(2, resp);\n }\n }, _callee72, this);\n }));\n })\n };\n }\n return _createClass(HeadlessB2BMagicLinksClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee73() {\n var _yield$this$_config5, pkceRequiredForEmailMagicLinks, keyPair;\n return _regenerator().w(function (_context73) {\n while (1) switch (_context73.n) {\n case 0:\n _context73.n = 1;\n return this._config;\n case 1:\n _yield$this$_config5 = _context73.v;\n pkceRequiredForEmailMagicLinks = _yield$this$_config5.pkceRequiredForEmailMagicLinks;\n if (pkceRequiredForEmailMagicLinks) {\n _context73.n = 2;\n break;\n }\n return _context73.a(2, undefined);\n case 2:\n _context73.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context73.v;\n if (!keyPair) {\n _context73.n = 4;\n break;\n }\n return _context73.a(2, keyPair.code_challenge);\n case 4:\n _context73.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context73.v;\n return _context73.a(2, keyPair.code_challenge);\n }\n }, _callee73, this);\n }));\n }\n }, {\n key: \"handlePKCEForAuthenticate\",\n value: function handlePKCEForAuthenticate(pkceManager, data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee74() {\n var pkPair, _yield$this$dfpProtec20, dfp_telemetry_id, captcha_token, requestBody, resp, _t12, _t13, _t14, _t15, _t16, _t17;\n return _regenerator().w(function (_context74) {\n while (1) switch (_context74.n) {\n case 0:\n _context74.n = 1;\n return pkceManager.getPKPair();\n case 1:\n pkPair = _context74.v;\n _context74.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec20 = _context74.v;\n dfp_telemetry_id = _yield$this$dfpProtec20.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec20.captcha_token;\n _t12 = Object;\n _t13 = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _t14 = dfp_telemetry_id;\n _t15 = captcha_token;\n _context74.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t16 = _context74.v;\n if (_t16) {\n _context74.n = 4;\n break;\n }\n _t16 = undefined;\n case 4:\n _t17 = _t16;\n requestBody = _t12.assign.call(_t12, {\n pkce_code_verifier: _t13,\n dfp_telemetry_id: _t14,\n captcha_token: _t15,\n intermediate_session_token: _t17\n }, data);\n _context74.n = 5;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 5:\n resp = _context74.v;\n pkceManager.clearPKPair();\n return _context74.a(2, resp);\n }\n }, _callee74, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BSelfClient = /*#__PURE__*/_createClass(function HeadlessB2BSelfClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this20 = this;\n _classCallCheck(this, HeadlessB2BSelfClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee75() {\n var resp;\n return _regenerator().w(function (_context75) {\n while (1) switch (_context75.n) {\n case 0:\n _context75.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/me\",\n method: 'GET'\n });\n case 1:\n resp = _context75.v;\n this._subscriptionService.updateMember(resp.member);\n return _context75.a(2, resp.member);\n }\n }, _callee75, this);\n }));\n };\n this.getSync = function () {\n return _this20._subscriptionService.getMember();\n };\n this.getInfo = function () {\n return {\n member: _this20.getSync(),\n fromCache: _this20._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this20._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.member) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.update = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee76() {\n var resp;\n return _regenerator().w(function (_context76) {\n while (1) switch (_context76.n) {\n case 0:\n validate('stytch.self.update').isOptionalString('name', data.name).isOptionalObject('untrusted_metadata', data.untrusted_metadata).isOptionalBoolean('mfa_enrolled', data.mfa_enrolled).isOptionalString('mfa_phone_number', data.mfa_phone_number).isOptionalString('default_mfa_method', data.default_mfa_method);\n _context76.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/update',\n body: data,\n method: 'PUT'\n });\n case 1:\n resp = _context76.v;\n this._subscriptionService.updateMember(resp.member);\n return _context76.a(2, resp);\n }\n }, _callee76, this);\n }));\n };\n this.deleteMFAPhoneNumber = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee77() {\n var resp;\n return _regenerator().w(function (_context77) {\n while (1) switch (_context77.n) {\n case 0:\n _context77.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/deletePhoneNumber',\n method: 'DELETE'\n });\n case 1:\n resp = _context77.v;\n this._subscriptionService.updateMember(resp.member);\n return _context77.a(2, resp);\n }\n }, _callee77, this);\n }));\n };\n this.deleteMFATOTP = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee78() {\n var resp;\n return _regenerator().w(function (_context78) {\n while (1) switch (_context78.n) {\n case 0:\n _context78.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/deleteTOTP\",\n method: 'DELETE'\n });\n case 1:\n resp = _context78.v;\n this._subscriptionService.updateMember(resp.member);\n return _context78.a(2, resp);\n }\n }, _callee78, this);\n }));\n };\n this.deletePassword = function (passwordId) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee79() {\n var resp;\n return _regenerator().w(function (_context79) {\n while (1) switch (_context79.n) {\n case 0:\n _context79.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/passwords/\".concat(passwordId),\n method: 'DELETE'\n });\n case 1:\n resp = _context79.v;\n this._subscriptionService.updateMember(resp.member);\n return _context79.a(2, resp);\n }\n }, _callee79, this);\n }));\n };\n this.unlinkRetiredEmail = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee80() {\n var resp;\n return _regenerator().w(function (_context80) {\n while (1) switch (_context80.n) {\n case 0:\n _context80.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: '/b2b/organizations/members/unlink_retired_email',\n method: 'POST',\n body: data\n });\n case 1:\n resp = _context80.v;\n this._subscriptionService.updateMember(resp.member);\n return _context80.a(2, resp);\n }\n }, _callee80, this);\n }));\n };\n this.startEmailUpdate = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee81() {\n var resp;\n return _regenerator().w(function (_context81) {\n while (1) switch (_context81.n) {\n case 0:\n _context81.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: '/b2b/organizations/members/start_email_update',\n method: 'POST',\n body: data\n });\n case 1:\n resp = _context81.v;\n this._subscriptionService.updateMember(resp.member);\n return _context81.a(2, resp);\n }\n }, _callee81, this);\n }));\n };\n this.getConnectedApps = function () {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee82() {\n return _regenerator().w(function (_context82) {\n while (1) switch (_context82.n) {\n case 0:\n return _context82.a(2, this._networkClient.fetchSDK({\n url: '/b2b/organizations/members/connected_apps',\n method: 'GET'\n }));\n }\n }, _callee82, this);\n }));\n };\n this.revokeConnectedApp = function (data) {\n return __awaiter(_this20, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee83() {\n return _regenerator().w(function (_context83) {\n while (1) switch (_context83.n) {\n case 0:\n return _context83.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/connected_apps/\".concat(data.connected_app_id, \"/revoke\"),\n method: 'POST'\n }));\n }\n }, _callee83, this);\n }));\n };\n});\nvar HeadlessB2BSSOClient = /*#__PURE__*/function () {\n function HeadlessB2BSSOClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, dfpProtectedAuth) {\n var _this21 = this;\n _classCallCheck(this, HeadlessB2BSSOClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee84() {\n var keyPair, _yield$this$dfpProtec21, dfp_telemetry_id, captcha_token, resp;\n return _regenerator().w(function (_context84) {\n while (1) switch (_context84.n) {\n case 0:\n validate('stytch.sso.authenticate').isString('sso_token', options.sso_token).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context84.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context84.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for SSO flow.\\n' + 'Consider using stytch.sso.start() to add PKCE to your SSO flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context84.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec21 = _context84.v;\n dfp_telemetry_id = _yield$this$dfpProtec21.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec21.captcha_token;\n _context84.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/sso/authenticate',\n method: 'POST',\n body: Object.assign(Object.assign({\n pkce_code_verifier: keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier\n }, options), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n }),\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context84.v;\n this._pkceManager.clearPKPair();\n return _context84.a(2, resp);\n }\n }, _callee84, this);\n }));\n });\n this.saml = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee85() {\n return _regenerator().w(function (_context85) {\n while (1) switch (_context85.n) {\n case 0:\n _context85.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/saml',\n method: 'POST',\n body: data\n });\n case 1:\n return _context85.a(2, _context85.v);\n }\n }, _callee85, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee86() {\n return _regenerator().w(function (_context86) {\n while (1) switch (_context86.n) {\n case 0:\n _context86.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context86.a(2, _context86.v);\n }\n }, _callee86, this);\n }));\n },\n updateConnectionByURL: function updateConnectionByURL(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee87() {\n return _regenerator().w(function (_context87) {\n while (1) switch (_context87.n) {\n case 0:\n _context87.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/url\"),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context87.a(2, _context87.v);\n }\n }, _callee87, this);\n }));\n },\n deleteVerificationCertificate: function deleteVerificationCertificate(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee88() {\n return _regenerator().w(function (_context88) {\n while (1) switch (_context88.n) {\n case 0:\n _context88.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/verification_certificates/\").concat(data.certificate_id),\n method: 'DELETE'\n });\n case 1:\n return _context88.a(2, _context88.v);\n }\n }, _callee88, this);\n }));\n },\n deleteEncryptionPrivateKey: function deleteEncryptionPrivateKey(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee89() {\n return _regenerator().w(function (_context89) {\n while (1) switch (_context89.n) {\n case 0:\n _context89.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/saml/\".concat(data.connection_id, \"/encryption_private_key/\").concat(data.private_key_id),\n method: 'DELETE'\n });\n case 1:\n return _context89.a(2, _context89.v);\n }\n }, _callee89, this);\n }));\n }\n };\n this.oidc = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee90() {\n return _regenerator().w(function (_context90) {\n while (1) switch (_context90.n) {\n case 0:\n _context90.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/oidc',\n method: 'POST',\n body: data\n });\n case 1:\n return _context90.a(2, _context90.v);\n }\n }, _callee90, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee91() {\n return _regenerator().w(function (_context91) {\n while (1) switch (_context91.n) {\n case 0:\n _context91.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/oidc/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context91.a(2, _context91.v);\n }\n }, _callee91, this);\n }));\n }\n };\n this.external = {\n createConnection: function createConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee92() {\n return _regenerator().w(function (_context92) {\n while (1) switch (_context92.n) {\n case 0:\n _context92.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso/external',\n method: 'POST',\n body: data\n });\n case 1:\n return _context92.a(2, _context92.v);\n }\n }, _callee92, this);\n }));\n },\n updateConnection: function updateConnection(data) {\n return __awaiter(_this21, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee93() {\n return _regenerator().w(function (_context93) {\n while (1) switch (_context93.n) {\n case 0:\n _context93.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/external/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context93.a(2, _context93.v);\n }\n }, _callee93, this);\n }));\n }\n };\n }\n return _createClass(HeadlessB2BSSOClient, [{\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee94() {\n return _regenerator().w(function (_context94) {\n while (1) switch (_context94.n) {\n case 0:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context94.n = 1;\n break;\n }\n return _context94.a(2, this._config.testAPIURL);\n case 1:\n return _context94.a(2, this._config.liveAPIURL);\n }\n }, _callee94, this);\n }));\n }\n }, {\n key: \"start\",\n value: function start(_ref7) {\n var connection_id = _ref7.connection_id,\n login_redirect_url = _ref7.login_redirect_url,\n signup_redirect_url = _ref7.signup_redirect_url;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee95() {\n var _yield$this$_dynamicC3, pkceRequiredForSso, baseURL, startUrl, keyPair;\n return _regenerator().w(function (_context95) {\n while (1) switch (_context95.n) {\n case 0:\n _context95.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC3 = _context95.v;\n pkceRequiredForSso = _yield$this$_dynamicC3.pkceRequiredForSso;\n _context95.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context95.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/public/sso/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n startUrl.searchParams.set('connection_id', connection_id);\n if (!pkceRequiredForSso) {\n _context95.n = 4;\n break;\n }\n _context95.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context95.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context95.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (login_redirect_url) startUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) startUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n window.location.href = startUrl.toString();\n case 6:\n return _context95.a(2);\n }\n }, _callee95, this);\n }));\n }\n }, {\n key: \"getConnections\",\n value: function getConnections() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee96() {\n return _regenerator().w(function (_context96) {\n while (1) switch (_context96.n) {\n case 0:\n _context96.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/sso',\n method: 'GET'\n });\n case 1:\n return _context96.a(2, _context96.v);\n }\n }, _callee96, this);\n }));\n }\n }, {\n key: \"discoverConnections\",\n value: function discoverConnections(emailAddress) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee97() {\n return _regenerator().w(function (_context97) {\n while (1) switch (_context97.n) {\n case 0:\n _context97.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sso/discovery/connections?email_address=\".concat(encodeURIComponent(emailAddress)),\n method: 'GET'\n });\n case 1:\n return _context97.a(2, _context97.v);\n }\n }, _callee97, this);\n }));\n }\n }, {\n key: \"deleteConnection\",\n value: function deleteConnection(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee98() {\n return _regenerator().w(function (_context98) {\n while (1) switch (_context98.n) {\n case 0:\n return _context98.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/sso/\".concat(connectionId),\n method: 'DELETE'\n }));\n }\n }, _callee98, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BSCIMClient = /*#__PURE__*/function () {\n function HeadlessB2BSCIMClient(_networkClient, _subscriptionService) {\n _classCallCheck(this, HeadlessB2BSCIMClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n }\n return _createClass(HeadlessB2BSCIMClient, [{\n key: \"createConnection\",\n value: function createConnection(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee99() {\n return _regenerator().w(function (_context99) {\n while (1) switch (_context99.n) {\n case 0:\n validate('stytch.scim.createConnection').isOptionalString('display_name', data.display_name).isOptionalString('identity_provider', data.identity_provider);\n _context99.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim',\n method: 'POST',\n body: data\n });\n case 1:\n return _context99.a(2, _context99.v);\n }\n }, _callee99, this);\n }));\n }\n }, {\n key: \"updateConnection\",\n value: function updateConnection(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee100() {\n return _regenerator().w(function (_context100) {\n while (1) switch (_context100.n) {\n case 0:\n validate('stytch.scim.updateConnection').isString('connection_id', data.connection_id).isOptionalString('display_name', data.display_name).isOptionalString('identity_provider', data.identity_provider);\n _context100.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/\".concat(data.connection_id),\n method: 'PUT',\n body: data\n });\n case 1:\n return _context100.a(2, _context100.v);\n }\n }, _callee100, this);\n }));\n }\n }, {\n key: \"deleteConnection\",\n value: function deleteConnection(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee101() {\n return _regenerator().w(function (_context101) {\n while (1) switch (_context101.n) {\n case 0:\n validate('stytch.scim.deleteConnection').isString('connection_id', connectionId);\n _context101.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/\".concat(connectionId),\n method: 'DELETE'\n });\n case 1:\n return _context101.a(2, _context101.v);\n }\n }, _callee101, this);\n }));\n }\n }, {\n key: \"getConnection\",\n value: function getConnection() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee102() {\n return _regenerator().w(function (_context102) {\n while (1) switch (_context102.n) {\n case 0:\n _context102.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim',\n method: 'GET'\n });\n case 1:\n return _context102.a(2, _context102.v);\n }\n }, _callee102, this);\n }));\n }\n }, {\n key: \"getConnectionGroups\",\n value: function getConnectionGroups(data) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee103() {\n return _regenerator().w(function (_context103) {\n while (1) switch (_context103.n) {\n case 0:\n validate('stytch.scim.getConnectionGroups').isOptionalNumber('limit', data.limit).isOptionalString('cursor', data.cursor);\n _context103.n = 1;\n return this._networkClient.fetchSDK({\n url: '/b2b/scim/groups',\n method: 'POST',\n body: data\n });\n case 1:\n return _context103.a(2, _context103.v);\n }\n }, _callee103, this);\n }));\n }\n }, {\n key: \"rotateStart\",\n value: function rotateStart(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee104() {\n return _regenerator().w(function (_context104) {\n while (1) switch (_context104.n) {\n case 0:\n validate('stytch.scim.rotateStart').isString('connectionId', connectionId);\n _context104.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/start\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context104.a(2, _context104.v);\n }\n }, _callee104, this);\n }));\n }\n }, {\n key: \"rotateComplete\",\n value: function rotateComplete(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee105() {\n return _regenerator().w(function (_context105) {\n while (1) switch (_context105.n) {\n case 0:\n validate('stytch.scim.rotateComplete').isString('connectionId', connectionId);\n _context105.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/complete\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context105.a(2, _context105.v);\n }\n }, _callee105, this);\n }));\n }\n }, {\n key: \"rotateCancel\",\n value: function rotateCancel(connectionId) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee106() {\n return _regenerator().w(function (_context106) {\n while (1) switch (_context106.n) {\n case 0:\n validate('stytch.scim.rotateCancel').isString('connectionId', connectionId);\n _context106.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/scim/rotate/cancel\",\n method: 'POST',\n body: {\n connection_id: connectionId\n }\n });\n case 1:\n return _context106.a(2, _context106.v);\n }\n }, _callee106, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BOrganizationClient = /*#__PURE__*/_createClass(function HeadlessB2BOrganizationClient(_networkClient, _apiNetworkClient, _subscriptionService) {\n var _this22 = this;\n _classCallCheck(this, HeadlessB2BOrganizationClient);\n this._networkClient = _networkClient;\n this._apiNetworkClient = _apiNetworkClient;\n this._subscriptionService = _subscriptionService;\n this.get = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee107() {\n var resp;\n return _regenerator().w(function (_context107) {\n while (1) switch (_context107.n) {\n case 0:\n _context107.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'GET'\n });\n case 1:\n resp = _context107.v;\n this._subscriptionService.updateOrganization(resp.organization);\n return _context107.a(2, resp.organization);\n }\n }, _callee107, this);\n }));\n };\n this.getSync = function () {\n return _this22._subscriptionService.getOrganization();\n };\n this.getInfo = function () {\n return {\n organization: _this22.getSync(),\n fromCache: _this22._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this22._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.organization) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.update = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee108() {\n var resp;\n return _regenerator().w(function (_context108) {\n while (1) switch (_context108.n) {\n case 0:\n _context108.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'PUT',\n body: data\n });\n case 1:\n resp = _context108.v;\n this._subscriptionService.updateOrganization(resp.organization);\n return _context108.a(2, resp);\n }\n }, _callee108, this);\n }));\n };\n this[\"delete\"] = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee109() {\n var resp;\n return _regenerator().w(function (_context109) {\n while (1) switch (_context109.n) {\n case 0:\n _context109.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me\",\n method: 'DELETE'\n });\n case 1:\n resp = _context109.v;\n this._subscriptionService.destroyState();\n return _context109.a(2, resp);\n }\n }, _callee109, this);\n }));\n };\n this.getBySlug = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee110() {\n return _regenerator().w(function (_context110) {\n while (1) switch (_context110.n) {\n case 0:\n validate('stytch.organization.getBySlug').isString('organization_slug', data.organization_slug);\n return _context110.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/search\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee110, this);\n }));\n };\n this.getConnectedApps = function () {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee111() {\n return _regenerator().w(function (_context111) {\n while (1) switch (_context111.n) {\n case 0:\n return _context111.a(2, this._networkClient.fetchSDK({\n url: '/b2b/organizations/connected_apps',\n method: 'GET'\n }));\n }\n }, _callee111, this);\n }));\n };\n this.getConnectedApp = function (data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee112() {\n return _regenerator().w(function (_context112) {\n while (1) switch (_context112.n) {\n case 0:\n return _context112.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/connected_apps/\".concat(data.connected_app_id),\n method: 'GET'\n }));\n }\n }, _callee112, this);\n }));\n };\n this.members = {\n create: function create(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee113() {\n return _regenerator().w(function (_context113) {\n while (1) switch (_context113.n) {\n case 0:\n return _context113.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee113, this);\n }));\n },\n search: function search(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee114() {\n return _regenerator().w(function (_context114) {\n while (1) switch (_context114.n) {\n case 0:\n return _context114.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/me/members/search\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee114, this);\n }));\n },\n update: function update(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee115() {\n var response;\n return _regenerator().w(function (_context115) {\n while (1) switch (_context115.n) {\n case 0:\n _context115.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(data.member_id),\n method: 'PUT',\n body: data\n });\n case 1:\n response = _context115.v;\n this.updateMemberIfSelf(response);\n return _context115.a(2, response);\n }\n }, _callee115, this);\n }));\n },\n deletePassword: function deletePassword(passwordId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee116() {\n var response;\n return _regenerator().w(function (_context116) {\n while (1) switch (_context116.n) {\n case 0:\n _context116.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/passwords/\".concat(passwordId),\n method: 'DELETE'\n });\n case 1:\n response = _context116.v;\n this.updateMemberIfSelf(response);\n return _context116.a(2, response);\n }\n }, _callee116, this);\n }));\n },\n deleteMFAPhoneNumber: function deleteMFAPhoneNumber(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee117() {\n var response;\n return _regenerator().w(function (_context117) {\n while (1) switch (_context117.n) {\n case 0:\n _context117.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/mfa_phone_numbers/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context117.v;\n this.updateMemberIfSelf(response);\n return _context117.a(2, response);\n }\n }, _callee117, this);\n }));\n },\n deleteMFATOTP: function deleteMFATOTP(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee118() {\n var response;\n return _regenerator().w(function (_context118) {\n while (1) switch (_context118.n) {\n case 0:\n _context118.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/totp/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context118.v;\n this.updateMemberIfSelf(response);\n return _context118.a(2, response);\n }\n }, _callee118, this);\n }));\n },\n \"delete\": function _delete(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee119() {\n var _a, response;\n return _regenerator().w(function (_context119) {\n while (1) switch (_context119.n) {\n case 0:\n _context119.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(memberId),\n method: 'DELETE'\n });\n case 1:\n response = _context119.v;\n if (memberId === ((_a = this._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n this._subscriptionService.destroyState();\n }\n return _context119.a(2, response);\n }\n }, _callee119, this);\n }));\n },\n reactivate: function reactivate(memberId) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee120() {\n return _regenerator().w(function (_context120) {\n while (1) switch (_context120.n) {\n case 0:\n return _context120.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(memberId, \"/reactivate\"),\n method: 'PUT'\n }));\n }\n }, _callee120, this);\n }));\n },\n unlinkRetiredEmail: function unlinkRetiredEmail(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee121() {\n var member_id, body, response;\n return _regenerator().w(function (_context121) {\n while (1) switch (_context121.n) {\n case 0:\n member_id = data.member_id, body = __rest(data, [\"member_id\"]);\n _context121.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(member_id, \"/unlink_retired_email\"),\n method: 'POST',\n body: body\n });\n case 1:\n response = _context121.v;\n this.updateMemberIfSelf(response);\n return _context121.a(2, response);\n }\n }, _callee121, this);\n }));\n },\n startEmailUpdate: function startEmailUpdate(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee122() {\n var member_id, body, response;\n return _regenerator().w(function (_context122) {\n while (1) switch (_context122.n) {\n case 0:\n member_id = data.member_id, body = __rest(data, [\"member_id\"]);\n _context122.n = 1;\n return this._apiNetworkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(member_id, \"/start_email_update\"),\n method: 'POST',\n body: body\n });\n case 1:\n response = _context122.v;\n this.updateMemberIfSelf(response);\n return _context122.a(2, response);\n }\n }, _callee122, this);\n }));\n },\n getConnectedApps: function getConnectedApps(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee123() {\n return _regenerator().w(function (_context123) {\n while (1) switch (_context123.n) {\n case 0:\n return _context123.a(2, this._networkClient.fetchSDK({\n url: \"b2b/organizations/members/\".concat(data.member_id, \"/connected_apps\"),\n method: 'GET'\n }));\n }\n }, _callee123, this);\n }));\n },\n revokeConnectedApp: function revokeConnectedApp(data) {\n return __awaiter(_this22, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee124() {\n return _regenerator().w(function (_context124) {\n while (1) switch (_context124.n) {\n case 0:\n return _context124.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/\".concat(data.member_id, \"/connected_apps/\").concat(data.connected_app_id, \"/revoke\"),\n method: 'POST'\n }));\n }\n }, _callee124, this);\n }));\n }\n };\n this.updateMemberIfSelf = function (response) {\n var _a;\n if (response.member_id === ((_a = _this22._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n _this22._subscriptionService.updateMember(response.member);\n }\n };\n});\nvar HeadlessB2BOAuthClient = /*#__PURE__*/function () {\n function HeadlessB2BOAuthClient(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, dfpProtectedAuth) {\n var _this23 = this;\n _classCallCheck(this, HeadlessB2BOAuthClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._dynamicConfig = _dynamicConfig;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this23, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee125() {\n var keyPair, _yield$this$dfpProtec22, dfp_telemetry_id, captcha_token, resp, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;\n return _regenerator().w(function (_context125) {\n while (1) switch (_context125.n) {\n case 0:\n validate('stytch.oauth.authenticate').isString('oauth_token', options.oauth_token).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context125.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n keyPair = _context125.v;\n if (!keyPair) {\n logger.warn('No code verifier found in local storage for OAuth flow.\\n' + 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' + 'See https://stytch.com/docs/oauth#guides_pkce for more information.');\n }\n _context125.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec22 = _context125.v;\n dfp_telemetry_id = _yield$this$dfpProtec22.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec22.captcha_token;\n _t18 = this._networkClient;\n _t19 = Object;\n _t20 = keyPair === null || keyPair === void 0 ? void 0 : keyPair.code_verifier;\n _t21 = dfp_telemetry_id;\n _t22 = captcha_token;\n _context125.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t23 = _context125.v;\n if (_t23) {\n _context125.n = 4;\n break;\n }\n _t23 = undefined;\n case 4:\n _t24 = _t23;\n _t25 = _t19.assign.call(_t19, {\n pkce_code_verifier: _t20,\n dfp_telemetry_id: _t21,\n captcha_token: _t22,\n intermediate_session_token: _t24\n }, options);\n _t26 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context125.n = 5;\n return _t18.retriableFetchSDK.call(_t18, {\n url: '/b2b/oauth/authenticate',\n method: 'POST',\n body: _t25,\n retryCallback: _t26\n });\n case 5:\n resp = _context125.v;\n this._pkceManager.clearPKPair();\n return _context125.a(2, resp);\n }\n }, _callee125, this);\n }));\n });\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this23, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee126() {\n var pkPair, _yield$this$dfpProtec23, dfp_telemetry_id, captcha_token, requestBody, resp;\n return _regenerator().w(function (_context126) {\n while (1) switch (_context126.n) {\n case 0:\n validate('stytch.oauth.discovery.authenticate').isString('discovery_oauth_token', data.discovery_oauth_token);\n _context126.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context126.v;\n _context126.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec23 = _context126.v;\n dfp_telemetry_id = _yield$this$dfpProtec23.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec23.captcha_token;\n requestBody = Object.assign({\n pkce_code_verifier: pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n _context126.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/oauth/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context126.v;\n this._pkceManager.clearPKPair();\n return _context126.a(2, resp);\n }\n }, _callee126, this);\n }));\n })\n };\n this.google = {\n start: this.startOAuthFlow(B2BOAuthProviders.Google),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Google)\n }\n };\n this.microsoft = {\n start: this.startOAuthFlow(B2BOAuthProviders.Microsoft),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Microsoft)\n }\n };\n this.hubspot = {\n start: this.startOAuthFlow(B2BOAuthProviders.HubSpot),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.HubSpot)\n }\n };\n this.slack = {\n start: this.startOAuthFlow(B2BOAuthProviders.Slack),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.Slack)\n }\n };\n this.github = {\n start: this.startOAuthFlow(B2BOAuthProviders.GitHub),\n discovery: {\n start: this.startDiscoveryOAuthFlow(B2BOAuthProviders.GitHub)\n }\n };\n }\n return _createClass(HeadlessB2BOAuthClient, [{\n key: \"getBaseApiUrl\",\n value: function getBaseApiUrl() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee127() {\n var _yield$this$_dynamicC4, cnameDomain;\n return _regenerator().w(function (_context127) {\n while (1) switch (_context127.n) {\n case 0:\n _context127.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC4 = _context127.v;\n cnameDomain = _yield$this$_dynamicC4.cnameDomain;\n if (!cnameDomain) {\n _context127.n = 2;\n break;\n }\n return _context127.a(2, \"https://\".concat(cnameDomain));\n case 2:\n if (!isTestPublicToken(this._config.publicToken)) {\n _context127.n = 3;\n break;\n }\n return _context127.a(2, this._config.testAPIURL);\n case 3:\n return _context127.a(2, this._config.liveAPIURL);\n }\n }, _callee127, this);\n }));\n }\n }, {\n key: \"startOAuthFlow\",\n value: function startOAuthFlow(providerType) {\n var _this24 = this;\n return function (_ref8) {\n var organization_id = _ref8.organization_id,\n organization_slug = _ref8.organization_slug,\n login_redirect_url = _ref8.login_redirect_url,\n signup_redirect_url = _ref8.signup_redirect_url,\n custom_scopes = _ref8.custom_scopes,\n provider_params = _ref8.provider_params;\n return __awaiter(_this24, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee128() {\n var _yield$this$_dynamicC5, pkceRequiredForOAuth, baseURL, startUrl, key, keyPair;\n return _regenerator().w(function (_context128) {\n while (1) switch (_context128.n) {\n case 0:\n _context128.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC5 = _context128.v;\n pkceRequiredForOAuth = _yield$this$_dynamicC5.pkceRequiredForOAuth;\n _context128.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context128.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/b2b/public/oauth/\").concat(providerType, \"/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n if (organization_id && organization_id != '') {\n startUrl.searchParams.set('organization_id', organization_id);\n }\n if (organization_slug && organization_slug != '') {\n startUrl.searchParams.set('slug', organization_slug);\n }\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n startUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n startUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (!pkceRequiredForOAuth) {\n _context128.n = 4;\n break;\n }\n _context128.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context128.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context128.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (login_redirect_url) startUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) startUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n window.location.href = startUrl.toString();\n case 6:\n return _context128.a(2);\n }\n }, _callee128, this);\n }));\n };\n }\n }, {\n key: \"startDiscoveryOAuthFlow\",\n value: function startDiscoveryOAuthFlow(providerType) {\n var _this25 = this;\n return function (_ref9) {\n var discovery_redirect_url = _ref9.discovery_redirect_url,\n custom_scopes = _ref9.custom_scopes,\n provider_params = _ref9.provider_params;\n return __awaiter(_this25, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee129() {\n var _yield$this$_dynamicC6, pkceRequiredForOAuth, baseURL, startUrl, key, keyPair;\n return _regenerator().w(function (_context129) {\n while (1) switch (_context129.n) {\n case 0:\n _context129.n = 1;\n return this._dynamicConfig;\n case 1:\n _yield$this$_dynamicC6 = _context129.v;\n pkceRequiredForOAuth = _yield$this$_dynamicC6.pkceRequiredForOAuth;\n _context129.n = 2;\n return this.getBaseApiUrl();\n case 2:\n baseURL = _context129.v;\n startUrl = new URL(\"\".concat(baseURL, \"/v1/b2b/public/oauth/\").concat(providerType, \"/discovery/start\"));\n startUrl.searchParams.set('public_token', this._config.publicToken);\n if (custom_scopes) {\n validate('startOAuthFlow').isStringArray('custom_scopes', custom_scopes);\n startUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validate('startOAuthFlow').isOptionalObject('provider_params', provider_params);\n for (key in provider_params) {\n startUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (!pkceRequiredForOAuth) {\n _context129.n = 4;\n break;\n }\n _context129.n = 3;\n return this._pkceManager.startPKCETransaction();\n case 3:\n keyPair = _context129.v;\n startUrl.searchParams.set('pkce_code_challenge', keyPair.code_challenge);\n _context129.n = 5;\n break;\n case 4:\n this._pkceManager.clearPKPair();\n case 5:\n if (discovery_redirect_url) {\n startUrl.searchParams.set('discovery_redirect_url', discovery_redirect_url);\n }\n window.location.href = startUrl.toString();\n case 6:\n return _context129.a(2);\n }\n }, _callee129, this);\n }));\n };\n }\n }]);\n}();\nvar HeadlessB2BSessionClient = /*#__PURE__*/function () {\n function HeadlessB2BSessionClient(_networkClient, _subscriptionService) {\n var _this26 = this;\n _classCallCheck(this, HeadlessB2BSessionClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.getSync = function () {\n return _this26._subscriptionService.getSession();\n };\n this.getInfo = function () {\n return {\n session: _this26.getSync(),\n fromCache: _this26._subscriptionService.getFromCache()\n };\n };\n this.onChange = function (callback) {\n return _this26._subscriptionService.subscribeToState(function (state) {\n var _a;\n return callback((_a = state === null || state === void 0 ? void 0 : state.session) !== null && _a !== void 0 ? _a : null);\n });\n };\n this.revoke = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee130() {\n var resp, _t27;\n return _regenerator().w(function (_context130) {\n while (1) switch (_context130.p = _context130.n) {\n case 0:\n _context130.p = 0;\n _context130.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sessions/revoke\",\n method: 'POST'\n });\n case 1:\n resp = _context130.v;\n this._subscriptionService.destroyState();\n return _context130.a(2, resp);\n case 2:\n _context130.p = 2;\n _t27 = _context130.v;\n if (options === null || options === void 0 ? void 0 : options.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(_t27.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw _t27;\n case 3:\n return _context130.a(2);\n }\n }, _callee130, this, [[0, 2]]);\n }));\n };\n this.revokeForMember = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee131() {\n return _regenerator().w(function (_context131) {\n while (1) switch (_context131.n) {\n case 0:\n validate('stytch.session.revokeForMember').isString('member_id', options.member_id);\n _context131.n = 1;\n return this._networkClient.fetchSDK({\n url: \"/b2b/sessions/revoke/\".concat(options.member_id),\n method: 'POST'\n });\n case 1:\n return _context131.a(2, _context131.v);\n }\n }, _callee131, this);\n }));\n };\n this._authenticate = function (options) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee132() {\n var _this27 = this;\n var initialSession, isSessionStale, requestBody, resp, _t28;\n return _regenerator().w(function (_context132) {\n while (1) switch (_context132.p = _context132.n) {\n case 0:\n initialSession = this._subscriptionService.getSession();\n isSessionStale = function isSessionStale() {\n var _a;\n return (initialSession === null || initialSession === void 0 ? void 0 : initialSession.member_session_id) !== ((_a = _this27._subscriptionService.getSession()) === null || _a === void 0 ? void 0 : _a.member_session_id);\n };\n _context132.p = 1;\n requestBody = {\n session_duration_minutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n };\n _context132.n = 2;\n return this._networkClient.fetchSDK({\n url: '/b2b/sessions/authenticate',\n body: requestBody,\n method: 'POST'\n });\n case 2:\n resp = _context132.v;\n if (!isSessionStale()) {\n _context132.n = 3;\n break;\n }\n return _context132.a(2, this._authenticate(options));\n case 3:\n return _context132.a(2, resp);\n case 4:\n _context132.p = 4;\n _t28 = _context132.v;\n if (!isSessionStale()) {\n _context132.n = 5;\n break;\n }\n return _context132.a(2, this._authenticate(options));\n case 5:\n if (UNRECOVERABLE_ERROR_TYPES.includes(_t28.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw _t28;\n case 6:\n return _context132.a(2);\n }\n }, _callee132, this, [[1, 4]]);\n }));\n };\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n this.exchange = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee133() {\n return _regenerator().w(function (_context133) {\n while (1) switch (_context133.n) {\n case 0:\n validate('stytch.session.exchange').isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n return _context133.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/exchange',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee133, this);\n }));\n });\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee134() {\n return _regenerator().w(function (_context134) {\n while (1) switch (_context134.n) {\n case 0:\n validate('stytch.session.exchange').isString('organization_id', data.access_token).isNumber('session_duration_minutes', data.session_duration_minutes);\n return _context134.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/exchange_access_token',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee134, this);\n }));\n });\n this.attest = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this26, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee135() {\n return _regenerator().w(function (_context135) {\n while (1) switch (_context135.n) {\n case 0:\n validate('stytch.session.attest').isOptionalString('organization_id', data.organization_id).isString('profile_id', data.profile_id).isString('token', data.token).isOptionalNumber('session_duration_minutes', data.session_duration_minutes);\n return _context135.a(2, this._networkClient.fetchSDK({\n url: '/b2b/sessions/attest',\n body: data,\n method: 'POST'\n }));\n }\n }, _callee135, this);\n }));\n });\n }\n return _createClass(HeadlessB2BSessionClient, [{\n key: \"getTokens\",\n value: function getTokens() {\n return this._subscriptionService.getTokens();\n }\n }, {\n key: \"updateSession\",\n value: function updateSession(tokens) {\n var _a;\n validate('stytch.session.updateSession').isString('session_token', tokens.session_token).isOptionalString('session_jwt', (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : undefined);\n this._subscriptionService.updateTokens(tokens);\n }\n }]);\n}();\nvar HeadlessB2BDiscoveryClient = /*#__PURE__*/_createClass(function HeadlessB2BDiscoveryClient(_networkClient, _subscriptionService) {\n var _this28 = this;\n _classCallCheck(this, HeadlessB2BDiscoveryClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.organizations = {\n list: function list() {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee136() {\n var _t29, _t30, _t31, _t32;\n return _regenerator().w(function (_context136) {\n while (1) switch (_context136.n) {\n case 0:\n _t29 = this._networkClient;\n _context136.n = 1;\n return this._subscriptionService.getIntermediateSessionToken();\n case 1:\n _t30 = _context136.v;\n if (_t30) {\n _context136.n = 2;\n break;\n }\n _t30 = undefined;\n case 2:\n _t31 = _t30;\n _t32 = {\n intermediate_session_token: _t31\n };\n return _context136.a(2, _t29.fetchSDK.call(_t29, {\n url: '/b2b/discovery/organizations',\n body: _t32,\n method: 'POST'\n }));\n }\n }, _callee136, this);\n }));\n },\n create: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee137() {\n var requestBody, _t33, _t34, _t35, _t36;\n return _regenerator().w(function (_context137) {\n while (1) switch (_context137.n) {\n case 0:\n validate('stytch.discovery.organizations.create').isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('organization_name', data.organization_name).isOptionalString('organization_slug', data.organization_slug).isOptionalString('organization_logo_url', data.organization_logo_url).isOptionalString('sso_jit_provisioning', data.sso_jit_provisioning).isOptionalStringArray('email_allowed_domains', data.email_allowed_domains).isOptionalString('email_invites', data.email_invites).isOptionalString('auth_methods', data.auth_methods).isOptionalStringArray('allowed_auth_methods', data.allowed_auth_methods).isOptionalString('mfa_policy', data.mfa_policy);\n _t33 = Object;\n _t34 = Object.assign({}, data);\n _context137.n = 1;\n return this._subscriptionService.getIntermediateSessionToken();\n case 1:\n _t35 = _context137.v;\n if (_t35) {\n _context137.n = 2;\n break;\n }\n _t35 = undefined;\n case 2:\n _t36 = _t35;\n requestBody = _t33.assign.call(_t33, _t34, {\n intermediate_session_token: _t36\n });\n return _context137.a(2, this._networkClient.fetchSDK({\n url: '/b2b/discovery/organizations/create',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee137, this);\n }));\n })\n };\n this.intermediateSessions = {\n exchange: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this28, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee138() {\n var requestBody;\n return _regenerator().w(function (_context138) {\n while (1) switch (_context138.n) {\n case 0:\n validate('stytch.discovery.intermediateSessions.exchange').isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n requestBody = Object.assign(Object.assign({}, data), {\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context138.a(2, this._networkClient.fetchSDK({\n url: '/b2b/discovery/intermediate_sessions/exchange',\n body: requestBody,\n method: 'POST'\n }));\n }\n }, _callee138, this);\n }));\n })\n };\n});\nvar DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForPasswordResets: false\n});\nvar HeadlessB2BPasswordsClient = /*#__PURE__*/function () {\n function HeadlessB2BPasswordsClient(_networkClient, _subscriptionService, _pkceManager) {\n var _this29 = this;\n var _config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DefaultDynamicConfig;\n var dfpProtectedAuth = arguments.length > 4 ? arguments[4] : undefined;\n _classCallCheck(this, HeadlessB2BPasswordsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this._pkceManager = _pkceManager;\n this._config = _config;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee139() {\n var pkPair, code_verifier, _yield$this$dfpProtec24, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context139) {\n while (1) switch (_context139.n) {\n case 0:\n validate('stytch.passwords.authenticate').isString('org_id', options.organization_id).isString('password', options.password).isString('email_address', options.email_address).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context139.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context139.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context139.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec24 = _context139.v;\n dfp_telemetry_id = _yield$this$dfpProtec24.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec24.captcha_token;\n return _context139.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/authenticate',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n locale: options.locale,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee139, this);\n }));\n });\n this.discovery = {\n resetByEmailStart: function resetByEmailStart(options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee140() {\n var pkce_code_challenge, _yield$this$dfpProtec25, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context140) {\n while (1) switch (_context140.n) {\n case 0:\n validate('stytch.passwords.discovery.resetByEmailStart').isString('email', options.email_address).isOptionalString('login_redirect_url', options.discovery_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('verify_email_template_id', options.verify_email_template_id).isOptionalString('locale', options.locale);\n _context140.n = 1;\n return this.getCodeChallenge();\n case 1:\n pkce_code_challenge = _context140.v;\n _context140.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec25 = _context140.v;\n dfp_telemetry_id = _yield$this$dfpProtec25.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec25.captcha_token;\n return _context140.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/discovery/reset/start',\n method: 'POST',\n body: {\n email_address: options.email_address,\n discovery_redirect_url: options.discovery_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n verify_email_template_id: options.verify_email_template_id,\n locale: options.locale,\n pkce_code_challenge: pkce_code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee140, this);\n }));\n },\n resetByEmail: this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee141() {\n var _yield$this$dfpProtec26, dfp_telemetry_id, captcha_token, pkPair, pkce_code_verifier, resp, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;\n return _regenerator().w(function (_context141) {\n while (1) switch (_context141.n) {\n case 0:\n validate('stytch.passwords.discovery.resetByEmail').isString('password_reset_token', options.password_reset_token).isString('password', options.password);\n _context141.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec26 = _context141.v;\n dfp_telemetry_id = _yield$this$dfpProtec26.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec26.captcha_token;\n _context141.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context141.v;\n pkce_code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _t37 = this._networkClient;\n _t38 = options.password_reset_token;\n _t39 = options.password;\n _t40 = captcha_token;\n _t41 = dfp_telemetry_id;\n _t42 = pkce_code_verifier;\n _context141.n = 3;\n return this._subscriptionService.getIntermediateSessionToken();\n case 3:\n _t43 = _context141.v;\n if (_t43) {\n _context141.n = 4;\n break;\n }\n _t43 = undefined;\n case 4:\n _t44 = _t43;\n _t45 = {\n password_reset_token: _t38,\n password: _t39,\n captcha_token: _t40,\n dfp_telemetry_id: _t41,\n pkce_code_verifier: _t42,\n intermediate_session_token: _t44\n };\n _t46 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context141.n = 5;\n return _t37.retriableFetchSDK.call(_t37, {\n url: '/b2b/passwords/discovery/reset',\n method: 'POST',\n body: _t45,\n retryCallback: _t46\n });\n case 5:\n resp = _context141.v;\n this._pkceManager.clearPKPair();\n return _context141.a(2, resp);\n }\n }, _callee141, this);\n }));\n }),\n authenticate: this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee142() {\n var pkPair, code_verifier, _yield$this$dfpProtec27, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context142) {\n while (1) switch (_context142.n) {\n case 0:\n validate('stytch.passwords.discovery.authenticate').isString('password', options.password).isString('email_address', options.email_address);\n _context142.n = 1;\n return this._pkceManager.getPKPair();\n case 1:\n pkPair = _context142.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context142.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec27 = _context142.v;\n dfp_telemetry_id = _yield$this$dfpProtec27.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec27.captcha_token;\n return _context142.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/discovery/authenticate',\n method: 'POST',\n body: {\n email_address: options.email_address,\n password: options.password,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee142, this);\n }));\n })\n };\n this.resetByEmail = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee143() {\n var _yield$this$dfpProtec28, dfp_telemetry_id, captcha_token, pkPair, code_verifier, resp;\n return _regenerator().w(function (_context143) {\n while (1) switch (_context143.n) {\n case 0:\n validate('stytch.passwords.resetByEmail').isString('password_reset_token', options.password_reset_token).isString('password', options.password).isNumber('session_duration_minutes', options.session_duration_minutes).isOptionalString('locale', options.locale);\n _context143.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec28 = _context143.v;\n dfp_telemetry_id = _yield$this$dfpProtec28.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec28.captcha_token;\n _context143.n = 2;\n return this._pkceManager.getPKPair();\n case 2:\n pkPair = _context143.v;\n code_verifier = pkPair === null || pkPair === void 0 ? void 0 : pkPair.code_verifier;\n _context143.n = 3;\n return this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/email/reset',\n method: 'POST',\n body: {\n password_reset_token: options.password_reset_token,\n password: options.password,\n session_duration_minutes: options.session_duration_minutes,\n locale: options.locale,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id,\n code_verifier: code_verifier,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n });\n case 3:\n resp = _context143.v;\n this._pkceManager.clearPKPair();\n return _context143.a(2, resp);\n }\n }, _callee143, this);\n }));\n });\n this.resetByExistingPassword = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee144() {\n var _yield$this$dfpProtec29, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context144) {\n while (1) switch (_context144.n) {\n case 0:\n validate('stytch.passwords.resetByExistingPassword').isString('email', options.email_address).isString('existing_password', options.existing_password).isString('new_password', options.new_password).isOptionalString('locale', options.locale).isNumber('session_duration_minutes', options.session_duration_minutes);\n _context144.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec29 = _context144.v;\n dfp_telemetry_id = _yield$this$dfpProtec29.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec29.captcha_token;\n return _context144.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/existing_password/reset',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n existing_password: options.existing_password,\n new_password: options.new_password,\n locale: options.locale,\n session_duration_minutes: options.session_duration_minutes,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee144, this);\n }));\n });\n this.resetBySession = this._subscriptionService.withUpdateSession(function (options) {\n return __awaiter(_this29, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee145() {\n var _yield$this$dfpProtec30, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context145) {\n while (1) switch (_context145.n) {\n case 0:\n validate('stytch.passwords.resetBySession').isString('password', options.password);\n _context145.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec30 = _context145.v;\n dfp_telemetry_id = _yield$this$dfpProtec30.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec30.captcha_token;\n return _context145.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/session/reset',\n method: 'POST',\n body: {\n password: options.password,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee145, this);\n }));\n });\n }\n return _createClass(HeadlessB2BPasswordsClient, [{\n key: \"getCodeChallenge\",\n value: function getCodeChallenge() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee146() {\n var _yield$this$_config6, pkceRequiredForPasswordResets, keyPair;\n return _regenerator().w(function (_context146) {\n while (1) switch (_context146.n) {\n case 0:\n _context146.n = 1;\n return this._config;\n case 1:\n _yield$this$_config6 = _context146.v;\n pkceRequiredForPasswordResets = _yield$this$_config6.pkceRequiredForPasswordResets;\n if (pkceRequiredForPasswordResets) {\n _context146.n = 2;\n break;\n }\n return _context146.a(2, undefined);\n case 2:\n _context146.n = 3;\n return this._pkceManager.getPKPair();\n case 3:\n keyPair = _context146.v;\n if (!keyPair) {\n _context146.n = 4;\n break;\n }\n return _context146.a(2, keyPair.code_challenge);\n case 4:\n _context146.n = 5;\n return this._pkceManager.startPKCETransaction();\n case 5:\n keyPair = _context146.v;\n return _context146.a(2, keyPair.code_challenge);\n }\n }, _callee146, this);\n }));\n }\n }, {\n key: \"resetByEmailStart\",\n value: function resetByEmailStart(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee147() {\n var code_challenge, _yield$this$dfpProtec31, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context147) {\n while (1) switch (_context147.n) {\n case 0:\n validate('stytch.passwords.resetByEmailStart').isString('email', options.email_address).isOptionalString('login_redirect_url', options.login_redirect_url).isOptionalString('reset_password_redirect_url', options.reset_password_redirect_url).isOptionalString('reset_password_template_id', options.reset_password_template_id).isOptionalNumber('reset_password_expiration_minutes', options.reset_password_expiration_minutes).isOptionalString('verify_email_template_id', options.verify_email_template_id).isOptionalString('locale', options.locale);\n _context147.n = 1;\n return this.getCodeChallenge();\n case 1:\n code_challenge = _context147.v;\n _context147.n = 2;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 2:\n _yield$this$dfpProtec31 = _context147.v;\n dfp_telemetry_id = _yield$this$dfpProtec31.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec31.captcha_token;\n return _context147.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/passwords/email/reset/start',\n method: 'POST',\n body: {\n organization_id: options.organization_id,\n email_address: options.email_address,\n login_redirect_url: options.login_redirect_url,\n reset_password_redirect_url: options.reset_password_redirect_url,\n reset_password_expiration_minutes: options.reset_password_expiration_minutes,\n reset_password_template_id: options.reset_password_template_id,\n verify_email_template_id: options.verify_email_template_id,\n locale: options.locale,\n code_challenge: code_challenge,\n captcha_token: captcha_token,\n dfp_telemetry_id: dfp_telemetry_id\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee147, this);\n }));\n }\n }, {\n key: \"strengthCheck\",\n value: function strengthCheck(options) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee148() {\n return _regenerator().w(function (_context148) {\n while (1) switch (_context148.n) {\n case 0:\n validate('stytch.passwords.strengthCheck').isOptionalString('email', options.email_address).isString('password', options.password);\n return _context148.a(2, this._networkClient.fetchSDK({\n url: '/b2b/passwords/strength_check',\n method: 'POST',\n body: {\n email_address: options.email_address,\n password: options.password\n }\n }));\n }\n }, _callee148, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BOTPsClient = /*#__PURE__*/_createClass(function HeadlessB2BOTPsClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this30 = this;\n _classCallCheck(this, HeadlessB2BOTPsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.sms = {\n send: function send(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee149() {\n var _yield$this$dfpProtec32, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context149) {\n while (1) switch (_context149.n) {\n case 0:\n validate('stytch.otps.sms.send').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isOptionalString('mfa_phone_number', data.mfa_phone_number).isOptionalString('locale', data.locale);\n _context149.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec32 = _context149.v;\n dfp_telemetry_id = _yield$this$dfpProtec32.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec32.captcha_token;\n return _context149.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/sms/send',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee149, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee150() {\n var _yield$this$dfpProtec33, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context150) {\n while (1) switch (_context150.n) {\n case 0:\n validate('stytch.otps.sms.authenticate').isNumber('session_duration_minutes', data.session_duration_minutes).isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('code', data.code).isOptionalString('set_mfa_enrollment', data.set_mfa_enrollment);\n _context150.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec33 = _context150.v;\n dfp_telemetry_id = _yield$this$dfpProtec33.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec33.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context150.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/sms/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee150, this);\n }));\n })\n };\n this.email = {\n loginOrSignup: function loginOrSignup(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee151() {\n var _yield$this$dfpProtec34, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context151) {\n while (1) switch (_context151.n) {\n case 0:\n validate('stytch.otps.email.loginOrSignup').isString('organization_id', data.organization_id).isString('email_address', data.email_address).isOptionalString('login_template_id', data.login_template_id).isOptionalString('signup_template_id', data.signup_template_id).isOptionalString('locale', data.locale).isOptionalNumber('login_expiration_minutes', data.login_expiration_minutes).isOptionalNumber('signup_expiration_minutes', data.signup_expiration_minutes);\n _context151.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec34 = _context151.v;\n dfp_telemetry_id = _yield$this$dfpProtec34.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec34.captcha_token;\n return _context151.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/login_or_signup',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee151, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee152() {\n var _yield$this$dfpProtec35, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context152) {\n while (1) switch (_context152.n) {\n case 0:\n validate('stytch.otps.email.authenticate').isString('code', data.code).isString('email_address', data.email_address).isString('organization_id', data.organization_id).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('locale', data.locale);\n _context152.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec35 = _context152.v;\n dfp_telemetry_id = _yield$this$dfpProtec35.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec35.captcha_token;\n return _context152.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/authenticate',\n body: Object.assign(Object.assign({}, data), {\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee152, this);\n }));\n }),\n discovery: {\n send: function send(data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee153() {\n var _yield$this$dfpProtec36, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context153) {\n while (1) switch (_context153.n) {\n case 0:\n validate('stytch.otps.email.discovery.send').isString('email_address', data.email_address).isOptionalString('login_template_id', data.login_template_id).isOptionalString('locale', data.locale).isOptionalNumber('discovery_expiration_minutes', data.discovery_expiration_minutes);\n _context153.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec36 = _context153.v;\n dfp_telemetry_id = _yield$this$dfpProtec36.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec36.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n });\n return _context153.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee153, this);\n }));\n },\n authenticate: this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this30, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee154() {\n var _yield$this$dfpProtec37, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context154) {\n while (1) switch (_context154.n) {\n case 0:\n validate('stytch.otps.email.discovery.authenticate').isString('code', data.code).isString('email_address', data.email_address);\n _context154.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec37 = _context154.v;\n dfp_telemetry_id = _yield$this$dfpProtec37.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec37.captcha_token;\n requestBody = Object.assign({\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }, data);\n return _context154.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/otps/email/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee154, this);\n }));\n })\n }\n };\n});\nvar HeadlessB2BTOTPsClient = /*#__PURE__*/function () {\n function HeadlessB2BTOTPsClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this31 = this;\n _classCallCheck(this, HeadlessB2BTOTPsClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this31, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee155() {\n var _yield$this$dfpProtec38, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context155) {\n while (1) switch (_context155.n) {\n case 0:\n validate('stytch.totp.authenticate').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('code', data.code).isNumber('session_duration_minutes', data.session_duration_minutes).isOptionalString('set_mfa_enrollment', data.set_mfa_enrollment).isOptionalBoolean('set_default_mfa', data.set_default_mfa);\n _context155.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec38 = _context155.v;\n dfp_telemetry_id = _yield$this$dfpProtec38.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec38.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context155.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/totp/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee155, this);\n }));\n });\n }\n return _createClass(HeadlessB2BTOTPsClient, [{\n key: \"create\",\n value: function create(data) {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee156() {\n var _yield$this$dfpProtec39, dfp_telemetry_id, captcha_token, response, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;\n return _regenerator().w(function (_context156) {\n while (1) switch (_context156.n) {\n case 0:\n validate('stytch.totp.create').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isOptionalNumber('expiration_minutes', data.expiration_minutes);\n _context156.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec39 = _context156.v;\n dfp_telemetry_id = _yield$this$dfpProtec39.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec39.captcha_token;\n _t47 = this._networkClient;\n _t48 = Object;\n _t49 = Object.assign({}, data);\n _t50 = dfp_telemetry_id;\n _t51 = captcha_token;\n _context156.n = 2;\n return this._subscriptionService.getIntermediateSessionToken();\n case 2:\n _t52 = _context156.v;\n if (_t52) {\n _context156.n = 3;\n break;\n }\n _t52 = undefined;\n case 3:\n _t53 = _t52;\n _t54 = _t48.assign.call(_t48, _t49, {\n dfp_telemetry_id: _t50,\n captcha_token: _t51,\n intermediate_session_token: _t53\n });\n _t55 = this.dfpProtectedAuth.retryWithCaptchaAndDFP;\n _context156.n = 4;\n return _t47.retriableFetchSDK.call(_t47, {\n url: '/b2b/totp',\n body: _t54,\n method: 'POST',\n retryCallback: _t55\n });\n case 4:\n response = _context156.v;\n if (response.member_id === ((_a = this._subscriptionService.getMember()) === null || _a === void 0 ? void 0 : _a.member_id)) {\n this._subscriptionService.updateMember(response.member);\n }\n return _context156.a(2, response);\n }\n }, _callee156, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BRecoveryCodesClient = /*#__PURE__*/function () {\n function HeadlessB2BRecoveryCodesClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this32 = this;\n _classCallCheck(this, HeadlessB2BRecoveryCodesClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.recover = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this32, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee157() {\n var _yield$this$dfpProtec40, dfp_telemetry_id, captcha_token, requestBody;\n return _regenerator().w(function (_context157) {\n while (1) switch (_context157.n) {\n case 0:\n validate('stytch.recoveryCodes.recover').isString('organization_id', data.organization_id).isString('member_id', data.member_id).isString('recovery_code', data.recovery_code).isNumber('session_duration_minutes', data.session_duration_minutes);\n _context157.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec40 = _context157.v;\n dfp_telemetry_id = _yield$this$dfpProtec40.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec40.captcha_token;\n requestBody = Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token,\n intermediate_session_token: this._subscriptionService.getIntermediateSessionToken() || undefined\n });\n return _context157.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/recovery_codes/recover',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee157, this);\n }));\n });\n }\n return _createClass(HeadlessB2BRecoveryCodesClient, [{\n key: \"rotate\",\n value: function rotate() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee158() {\n var _yield$this$dfpProtec41, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context158) {\n while (1) switch (_context158.n) {\n case 0:\n _context158.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec41 = _context158.v;\n dfp_telemetry_id = _yield$this$dfpProtec41.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec41.captcha_token;\n return _context158.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/recovery_codes/rotate',\n body: {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n },\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee158, this);\n }));\n }\n }, {\n key: \"get\",\n value: function get() {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee159() {\n return _regenerator().w(function (_context159) {\n while (1) switch (_context159.n) {\n case 0:\n return _context159.a(2, this._networkClient.fetchSDK({\n url: '/b2b/recovery_codes',\n method: 'GET'\n }));\n }\n }, _callee159, this);\n }));\n }\n }]);\n}();\nvar HeadlessB2BRBACClient = /*#__PURE__*/function () {\n function HeadlessB2BRBACClient(cachedConfig, dynamicConfig, _subscriptionService) {\n var _this33 = this;\n _classCallCheck(this, HeadlessB2BRBACClient);\n this._subscriptionService = _subscriptionService;\n this.isAuthorizedSync = function (resourceId, action) {\n var effectivePolicy = _this33.getEffectivePolicySync();\n return !!(effectivePolicy === null || effectivePolicy === void 0 ? void 0 : effectivePolicy.callerIsAuthorized(_this33.roleIds(), resourceId, action));\n };\n this.isAuthorized = function (resourceId, action) {\n return _this33.getEffectivePolicy().then(function (policy) {\n return policy.callerIsAuthorized(_this33.roleIds(), resourceId, action);\n });\n };\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then(function (data) {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n _this33.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return _this33.cachedPolicy;\n });\n }\n /**\n * Gets the effective policy for the current session by merging project policy with org custom roles\n */\n return _createClass(HeadlessB2BRBACClient, [{\n key: \"getEffectivePolicy\",\n value: function getEffectivePolicy() {\n var _a;\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee160() {\n var projectPolicy, organization;\n return _regenerator().w(function (_context160) {\n while (1) switch (_context160.n) {\n case 0:\n _context160.n = 1;\n return this.policyPromise;\n case 1:\n projectPolicy = _context160.v;\n organization = this._subscriptionService.getOrganization(); // If no org or no custom roles, just return project policy\n if ((_a = organization === null || organization === void 0 ? void 0 : organization.custom_roles) === null || _a === void 0 ? void 0 : _a.length) {\n _context160.n = 2;\n break;\n }\n return _context160.a(2, projectPolicy);\n case 2:\n return _context160.a(2, projectPolicy.mergeWithCustomRoles(organization.custom_roles));\n }\n }, _callee160, this);\n }));\n }\n /**\n * Gets the effective policy synchronously for the current session\n * Uses cached policies only\n */\n }, {\n key: \"getEffectivePolicySync\",\n value: function getEffectivePolicySync() {\n var _a;\n if (!this.cachedPolicy) {\n return null;\n }\n var organization = this._subscriptionService.getOrganization();\n // If no custom roles, just return project policy\n if (!((_a = organization === null || organization === void 0 ? void 0 : organization.custom_roles) === null || _a === void 0 ? void 0 : _a.length)) {\n return this.cachedPolicy;\n }\n return this.cachedPolicy.mergeWithCustomRoles(organization.custom_roles);\n }\n }, {\n key: \"allPermissions\",\n value: function allPermissions() {\n var _this34 = this;\n return this.getEffectivePolicy().then(function (policy) {\n return policy.allPermissionsForCaller(_this34.roleIds());\n });\n }\n }, {\n key: \"roleIds\",\n value: function roleIds() {\n var _a;\n var session = this._subscriptionService.getSession();\n if (!session) {\n return [];\n }\n // Although session.roles is guaranteed to exist for fresh data, there is a minuscule chance\n // that the member session stored in localstorage clientside comes from before roles were added to\n // the API response - in which case session.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return (_a = session.roles) !== null && _a !== void 0 ? _a : [];\n }\n }]);\n}();\nvar HeadlessB2BImpersonationClient = /*#__PURE__*/_createClass(function HeadlessB2BImpersonationClient(_networkClient, _subscriptionService, dfpProtectedAuth) {\n var _this35 = this;\n _classCallCheck(this, HeadlessB2BImpersonationClient);\n this._networkClient = _networkClient;\n this._subscriptionService = _subscriptionService;\n this.dfpProtectedAuth = dfpProtectedAuth;\n this.authenticate = this._subscriptionService.withUpdateSession(function (data) {\n return __awaiter(_this35, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee161() {\n var _yield$this$dfpProtec42, dfp_telemetry_id, captcha_token;\n return _regenerator().w(function (_context161) {\n while (1) switch (_context161.n) {\n case 0:\n validate('stytch.impersonation.authenticate').isString('impersonation_token', data.impersonation_token);\n _context161.n = 1;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n case 1:\n _yield$this$dfpProtec42 = _context161.v;\n dfp_telemetry_id = _yield$this$dfpProtec42.dfp_telemetry_id;\n captcha_token = _yield$this$dfpProtec42.captcha_token;\n return _context161.a(2, this._networkClient.retriableFetchSDK({\n url: '/b2b/impersonation/authenticate',\n body: Object.assign(Object.assign({}, data), {\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }),\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP\n }));\n }\n }, _callee161, this);\n }));\n });\n});\nvar HeadlessB2BIDPClient = /*#__PURE__*/_createClass(function HeadlessB2BIDPClient(_networkClient) {\n var _this36 = this;\n _classCallCheck(this, HeadlessB2BIDPClient);\n this._networkClient = _networkClient;\n /**\n * Initiates a request for authorization of a Connected App to access a Member's account.\n *\n * Call this endpoint using the query parameters from an OAuth Authorization request. This endpoint validates various fields (scope, client_id, redirect_uri, prompt, etc...) are correct and returns relevant information for rendering an OAuth Consent Screen.\n *\n * @example\n * const response = await stytch.idp.oauthAuthorizeStart({\n * client_id: 'client_123',\n * redirect_uri: 'https://example.com/callback',\n * scope: 'openid email profile',\n * });\n */\n this.oauthAuthorizeStart = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee162() {\n return _regenerator().w(function (_context162) {\n while (1) switch (_context162.n) {\n case 0:\n return _context162.a(2, this._networkClient.fetchSDK({\n url: '/idp/b2b/oauth/authorize/start',\n method: 'POST',\n body: data\n }));\n }\n }, _callee162, this);\n }));\n };\n /**\n * Completes a request for authorization of a Connected App to access a Member's account.\n *\n * Call this endpoint using the query parameters from an OAuth Authorization request, after previously validating those parameters using the Preflight Check API. Note that this endpoint takes in a few additional parameters the preflight check does not- state, nonce, and code_challenge.\n *\n * If the authorization was successful, the redirect_uri will contain a valid authorization_code embedded as a query parameter. If the authorization was unsuccessful, the redirect_uri will contain an OAuth2.1 error_code. In both cases, redirect the Member to the location for the response to be consumed by the Connected App.\n *\n * Exactly one of the following must be provided to identify the Member granting authorization:\n * organization_id + member_id\n * session_token\n * session_jwt\n *\n * If a session_token or session_jwt is passed, the OAuth Authorization will be linked to the Member's session for tracking purposes. One of these fields must be used if the Connected App intends to complete the Exchange Access Token flow.\n *\n * @example\n * const response = await stytch.idp.oauthAuthorizeSubmit({\n * client_id: 'client_123',\n * redirect_uri: 'https://example.com/callback',\n * scope: 'openid email profile',\n * });\n */\n this.oauthAuthorizeSubmit = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee163() {\n return _regenerator().w(function (_context163) {\n while (1) switch (_context163.n) {\n case 0:\n return _context163.a(2, this._networkClient.fetchSDK({\n url: '/idp/b2b/oauth/authorize/submit',\n method: 'POST',\n body: data\n }));\n }\n }, _callee163, this);\n }));\n };\n this.oauthLogoutStart = function (data) {\n return __awaiter(_this36, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee164() {\n return _regenerator().w(function (_context164) {\n while (1) switch (_context164.n) {\n case 0:\n return _context164.a(2, this._networkClient.fetchSDK({\n url: \"/b2b/oauth/logout/start\",\n method: 'POST',\n body: data\n }));\n }\n }, _callee164, this);\n }));\n };\n});\nvar IframeHostClient = /*#__PURE__*/function () {\n function IframeHostClient(iframeURL) {\n _classCallCheck(this, IframeHostClient);\n this.iframeURL = iframeURL;\n this.createIframe();\n }\n return _createClass(IframeHostClient, [{\n key: \"createIframe\",\n value: function createIframe() {\n var existingIframe = document.querySelector(\"[src~=\\\"\".concat(this.iframeURL, \"\\\"]\"));\n /* If an iframe does not exist yet, create one */\n if (!existingIframe) {\n existingIframe = document.createElement('iframe');\n existingIframe.src = this.iframeURL;\n existingIframe.style.position = 'absolute';\n existingIframe.style.width = '0';\n existingIframe.style.height = '0';\n existingIframe.style.border = '0';\n document.body.appendChild(existingIframe);\n } else {\n logger.warn(MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING);\n }\n /**\n * [NASTY BUG]\n * If we postMessage to an iframe that is _not yet loaded_, chrome will give a cryptic error message\n * Failed to execute 'postMessage' on 'DOMWindow':\n * The target origin provided ('https://js.stytch.com') does not match the recipient window's origin ('http://localhost:3000').\n * There is no builtin way to determine if an iframe is already loaded,\n * so we set a dataset attr in our onload handler and use that to determine loading state\n */\n if (existingIframe.dataset.loaded === 'true') {\n this.frame = Promise.resolve(existingIframe);\n return;\n }\n this.frame = new Promise(function (resolve) {\n existingIframe.addEventListener('load', function () {\n existingIframe.dataset.loaded = 'true';\n resolve(existingIframe);\n }, {\n once: true\n });\n });\n }\n }, {\n key: \"call\",\n value: function call(method, args) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee165() {\n var _this37 = this;\n var frame, channel;\n return _regenerator().w(function (_context165) {\n while (1) switch (_context165.n) {\n case 0:\n _context165.n = 1;\n return this.frame;\n case 1:\n frame = _context165.v;\n channel = new MessageChannel();\n return _context165.a(2, new Promise(function (resolve, reject) {\n var _a;\n channel.port1.onmessage = function (event) {\n var resp = event.data;\n channel.port1.close();\n if (resp.success) {\n resolve(resp.payload);\n } else {\n reject(ErrorMarshaller.unmarshall(resp.error));\n }\n };\n var message = {\n method: method,\n args: args\n };\n (_a = frame.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(message, _this37.iframeURL, [channel.port2]);\n }));\n }\n }, _callee165, this);\n }));\n }\n }]);\n}();\nvar SearchDataManager = /*#__PURE__*/function () {\n function SearchDataManager(_networkClient, dfpProtectedAuth) {\n _classCallCheck(this, SearchDataManager);\n this._networkClient = _networkClient;\n this.dfpProtectedAuth = dfpProtectedAuth;\n }\n return _createClass(SearchDataManager, [{\n key: \"searchUser\",\n value: function searchUser(email) {\n var _this38 = this;\n return this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha().then(function (_ref0) {\n var dfp_telemetry_id = _ref0.dfp_telemetry_id,\n captcha_token = _ref0.captcha_token;\n return _this38._networkClient.fetchSDK({\n url: \"/users/search\",\n method: 'POST',\n body: {\n email: email,\n dfp_telemetry_id: dfp_telemetry_id,\n captcha_token: captcha_token\n }\n });\n });\n }\n }, {\n key: \"searchMember\",\n value: function searchMember(email, organization_id) {\n return this._networkClient.fetchSDK({\n url: \"/b2b/organizations/members/search\",\n method: 'POST',\n body: {\n email_address: email,\n organization_id: organization_id\n }\n });\n }\n }]);\n}(); // We should try refreshing the session if there exists a cached session in\n// state that might be stale. Otherwise, we know there is no session, so there's\n// no need.\nvar shouldTryRefresh = function shouldTryRefresh(state) {\n return !!(state === null || state === void 0 ? void 0 : state.session);\n};\nvar SessionManagerRegistry = /*#__PURE__*/function () {\n function SessionManagerRegistry() {\n _classCallCheck(this, SessionManagerRegistry);\n this.hasWarned = false;\n this.registry = new Map();\n }\n return _createClass(SessionManagerRegistry, [{\n key: \"register\",\n value: function register(key, sessionManager) {\n var otherManager = this.registry.get(key);\n // If there appears to be another registered session manager, issue a\n // warning and cancel its background refresh in favor the newer registration\n if (otherManager && otherManager !== sessionManager) {\n if (!this.hasWarned) {\n logger.warn(MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING);\n this.hasWarned = true;\n }\n otherManager.cancelBackgroundRefresh();\n }\n this.registry.set(key, sessionManager);\n }\n }, {\n key: \"unregister\",\n value: function unregister(publicToken, sessionManager) {\n var otherManager = this.registry.get(publicToken);\n if (otherManager && otherManager === sessionManager) {\n this.registry[\"delete\"](publicToken);\n }\n }\n }]);\n}();\nvar SessionManager = /*#__PURE__*/function () {\n function SessionManager(_subscriptionService, _headlessSessionClient, _publicToken, _options) {\n var _this39 = this;\n _classCallCheck(this, SessionManager);\n this._subscriptionService = _subscriptionService;\n this._headlessSessionClient = _headlessSessionClient;\n this._publicToken = _publicToken;\n this._options = _options;\n // When testing - it's often more useful to set to a shorter duration\n // private static REFRESH_INTERVAL_MS = 1000 * 3;\n this.timeout = null;\n /**\n * We need to listen to a few types of events:\n * - If the user logs in via invoking a .authenticate() call, we should start the background worker\n * - If the user steps up their authentication via another .authenticate call(), we should restart the background worker\n * - If the user logs out, we should terminate the worker\n * - We should ignore session changes that we ourselves caused - so if we already have a timeout, leave it be!\n */\n this._onDataChange = function (state) {\n if (state != null && state.sessionDurationMinutes) {\n _this39.lastAuthenticationSessionDuration = state.sessionDurationMinutes;\n }\n if (shouldTryRefresh(state)) {\n _this39.scheduleBackgroundRefresh();\n } else {\n _this39.cancelBackgroundRefresh();\n }\n };\n // In cases where we cannot get a satisfactory request:\n // - Stytch is hard-down\n // - The user's network is disconnected for an extended period of time\n // we will continue to retry every 4 minutes ad infinum\n this._reauthenticateWithBackoff = function () {\n return __awaiter(_this39, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee166() {\n var count, options, _t56;\n return _regenerator().w(function (_context166) {\n while (1) switch (_context166.p = _context166.n) {\n case 0:\n count = 0;\n case 1:\n if (!true) {\n _context166.n = 7;\n break;\n }\n _context166.p = 2;\n options = {\n session_duration_minutes: this._options.keepSessionAlive ? this.lastAuthenticationSessionDuration : undefined\n };\n _context166.n = 3;\n return this._headlessSessionClient.authenticate(options);\n case 3:\n return _context166.a(2, _context166.v);\n case 4:\n _context166.p = 4;\n _t56 = _context166.v;\n if (!SessionManager.isUnrecoverableError(_t56)) {\n _context166.n = 5;\n break;\n }\n return _context166.a(2, Promise.reject(_t56));\n case 5:\n count++;\n _context166.n = 6;\n return new Promise(function (done) {\n return setTimeout(done, SessionManager.timeoutForAttempt(count));\n });\n case 6:\n _context166.n = 1;\n break;\n case 7:\n return _context166.a(2);\n }\n }, _callee166, this, [[2, 4]]);\n }));\n };\n this._subscriptionService.subscribeToState(this._onDataChange);\n }\n /**\n * The core logic of the session refresh recursive trampoline\n * - Refreshes the currently issued session\n * - Schedules a future refresh if successful\n */\n return _createClass(SessionManager, [{\n key: \"register\",\n value: function register() {\n SessionManager.registry.register(this._publicToken, this);\n }\n }, {\n key: \"unregister\",\n value: function unregister() {\n SessionManager.registry.unregister(this._publicToken, this);\n }\n }, {\n key: \"performBackgroundRefresh\",\n value: function performBackgroundRefresh() {\n var _this40 = this;\n logger.debug('performing background refresh at ', Date.now());\n this._reauthenticateWithBackoff().then(function () {\n _this40.scheduleBackgroundRefresh();\n })[\"catch\"](function (error) {\n logger.warn('Session background refresh failed. Signalling to app that user is logged out.', {\n error: error\n });\n _this40._subscriptionService.destroySession();\n });\n }\n }, {\n key: \"scheduleBackgroundRefresh\",\n value: function scheduleBackgroundRefresh() {\n var _this41 = this;\n /* Highlander rules - there can only ever be one */\n this.cancelBackgroundRefresh();\n this.register();\n logger.debug('Scheduling bg refresh', Date.now());\n this.timeout = setTimeout(function () {\n _this41.performBackgroundRefresh();\n }, SessionManager.REFRESH_INTERVAL_MS);\n }\n }, {\n key: \"cancelBackgroundRefresh\",\n value: function cancelBackgroundRefresh() {\n if (this.timeout !== null) {\n this.unregister();\n logger.debug('Cancelling bg refresh', Date.now());\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n }\n // We start with a backoff of 2000ms and increase exponentially to ~4 minutes (+/- 175 ms for jitter)\n // A short backoff initially helps increase the chance that we refresh the session before the JWT expires\n }], [{\n key: \"timeoutForAttempt\",\n value: function timeoutForAttempt(count) {\n count = Math.min(count, 7);\n var jitter = Math.floor(Math.random() * 350) - 175;\n var delayMS = 2000 * Math.pow(2, count);\n return jitter + delayMS;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"isUnrecoverableError\",\n value: function isUnrecoverableError(error) {\n return UNRECOVERABLE_ERROR_TYPES.includes(error.error_type);\n }\n }]);\n}(); // Three minutes\nSessionManager.REFRESH_INTERVAL_MS = 1000 * 60 * 3;\nSessionManager.registry = new SessionManagerRegistry();\nvar StateChangeClient = /*#__PURE__*/_createClass(function StateChangeClient(_subscriptionService, emptyState) {\n var _this42 = this;\n _classCallCheck(this, StateChangeClient);\n this._subscriptionService = _subscriptionService;\n this.emptyState = emptyState;\n this.onStateChange = function (callback) {\n return _this42._subscriptionService.subscribeToState(function (state) {\n callback(state !== null && state !== void 0 ? state : _this42.emptyState);\n });\n };\n});\nvar LOCAL_STORAGE_KEY_PREFIX = 'stytch_sdk_state_';\nvar getLocalStorageKey = function getLocalStorageKey(publicToken) {\n return \"\".concat(LOCAL_STORAGE_KEY_PREFIX).concat(publicToken);\n};\nvar SubscriptionDataLayer = /*#__PURE__*/function () {\n function SubscriptionDataLayer(_publicToken, _storageClient) {\n var _this43 = this;\n _classCallCheck(this, SubscriptionDataLayer);\n this._publicToken = _publicToken;\n this._storageClient = _storageClient;\n this.syncFromLocalStorage = function () {\n return __awaiter(_this43, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee167() {\n var _this44 = this;\n return _regenerator().w(function (_context167) {\n while (1) switch (_context167.n) {\n case 0:\n return _context167.a(2, this._storageClient.getData(getLocalStorageKey(this._publicToken)).then(function (localData) {\n if (!localData) {\n return null;\n }\n var parsedState;\n try {\n parsedState = JSON.parse(localData);\n } catch (_a) {\n // Overwrite the bad data\n _this44._storageClient.clearData(getLocalStorageKey(_this44._publicToken));\n // this.removeSessionCookie();\n return null;\n }\n var _parsedState = parsedState,\n state = _parsedState.state,\n session_token = _parsedState.session_token,\n session_jwt = _parsedState.session_jwt,\n intermediate_session_token = _parsedState.intermediate_session_token;\n _this44.state = state;\n _this44.session_token = session_token;\n _this44.session_jwt = session_jwt;\n _this44.intermediate_session_token = intermediate_session_token;\n return {\n state: state,\n session_token: session_token,\n session_jwt: session_jwt,\n intermediate_session_token: intermediate_session_token\n };\n })[\"catch\"](function () {\n return null;\n }));\n }\n }, _callee167, this);\n }));\n };\n this.state = null;\n this.session_token = null;\n this.session_jwt = null;\n this.intermediate_session_token = null;\n this.intermediate_session_token_expiration = null;\n this.subscriptions = {};\n }\n return _createClass(SubscriptionDataLayer, [{\n key: \"syncToLocalStorage\",\n value: function syncToLocalStorage() {\n this._storageClient.setData(getLocalStorageKey(this._publicToken), JSON.stringify({\n state: this.state,\n session_token: this.session_token,\n session_jwt: this.session_jwt,\n intermediate_session_token: this.intermediate_session_token\n }));\n }\n }]);\n}();\nvar addSubscriber = function addSubscriber(collection, subscriber) {\n var uniqueId = Math.random().toString(36).slice(-10);\n collection[uniqueId] = subscriber;\n return function () {\n return delete collection[uniqueId];\n };\n};\nvar notifySubscribers = function notifySubscribers(collection, value) {\n Object.values(collection).forEach(function (cb) {\n return cb(value);\n });\n};\nvar SubscriptionService = /*#__PURE__*/function () {\n function SubscriptionService(publicToken, storageClient) {\n _classCallCheck(this, SubscriptionService);\n var _a;\n /**\n * Whether the state was retrieved from the cache and is awaiting a refresh\n */\n this.fromCache = true;\n // TODO: Generalize this for Mobile and Web based SDKs\n this._datalayer = new SubscriptionDataLayer(publicToken, storageClient);\n var session = (_a = this._datalayer.state) === null || _a === void 0 ? void 0 : _a.session;\n if (session && Date.parse(session.expires_at) < Date.now()) {\n this.destroyState();\n return;\n }\n }\n return _createClass(SubscriptionService, [{\n key: \"syncFromDeviceStorage\",\n value: function syncFromDeviceStorage(onCompleteCallback) {\n var _this45 = this;\n this._datalayer.syncFromLocalStorage().then(function (res) {\n var _a;\n if (!res) {\n _this45.setCacheRefreshed();\n } else if (((_a = res.state) === null || _a === void 0 ? void 0 : _a.session) && Date.parse(res.state.session.expires_at) < Date.now()) {\n _this45.destroyState();\n } else {\n // If we retrieved a possibly valid session, indicate whether we\n // intend to refresh it (via a background refresh)\n _this45.updateStateAndTokens(res, {\n fromCache: shouldTryRefresh(res.state)\n });\n }\n })[\"finally\"](function () {\n onCompleteCallback();\n });\n }\n }, {\n key: \"getState\",\n value: function getState() {\n return this._datalayer.state;\n }\n }, {\n key: \"getTokens\",\n value: function getTokens() {\n if (!(typeof this._datalayer.session_token === 'string') || !(typeof this._datalayer.session_jwt === 'string')) {\n return null;\n }\n return {\n session_token: this._datalayer.session_token,\n session_jwt: this._datalayer.session_jwt\n };\n }\n }, {\n key: \"removeIST\",\n value: function removeIST() {\n this._datalayer.intermediate_session_token = null;\n this._datalayer.intermediate_session_token_expiration = null;\n }\n }, {\n key: \"removeSessionTokens\",\n value: function removeSessionTokens() {\n this._datalayer.session_jwt = null;\n this._datalayer.session_token = null;\n }\n }, {\n key: \"getIntermediateSessionToken\",\n value: function getIntermediateSessionToken() {\n if (this._datalayer.intermediate_session_token_expiration && Date.now() > this._datalayer.intermediate_session_token_expiration) {\n this.removeIST();\n }\n return this._datalayer.intermediate_session_token;\n }\n }, {\n key: \"destroyState\",\n value: function destroyState() {\n this.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: null\n });\n }\n }, {\n key: \"destroySession\",\n value: function destroySession() {\n this.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: this.getIntermediateSessionToken()\n });\n }\n }, {\n key: \"_updateStateAndTokensInternal\",\n value: function _updateStateAndTokensInternal(stateDiff, options) {\n var state = stateDiff.state,\n session_token = stateDiff.session_token,\n session_jwt = stateDiff.session_jwt,\n intermediate_session_token = stateDiff.intermediate_session_token;\n var newData = state == null ? null : Object.assign(Object.assign({}, this._datalayer.state), state);\n this._datalayer.state = newData;\n if (newData) {\n this._datalayer.session_token = session_token;\n this._datalayer.session_jwt = session_jwt;\n this.removeIST();\n } else if (intermediate_session_token) {\n this.removeSessionTokens();\n this._datalayer.intermediate_session_token = intermediate_session_token;\n // ISTs are only valid for 10 minutes\n this._datalayer.intermediate_session_token_expiration = Date.now() + 10 * 60 * 1000;\n } else {\n this.removeSessionTokens();\n this.removeIST();\n }\n if (!options.fromCache) {\n this.setCacheRefreshed();\n }\n var notification;\n if (newData == null || options.fromCache) {\n notification = newData;\n } else {\n notification = Object.assign(Object.assign({}, newData), {\n sessionDurationMinutes: options.sessionDurationMinutes\n });\n }\n notifySubscribers(this._datalayer.subscriptions, notification);\n }\n }, {\n key: \"updateStateAndTokens\",\n value: function updateStateAndTokens(stateDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n fromCache: false\n };\n this._updateStateAndTokensInternal(stateDiff, options);\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"updateState\",\n value: function updateState(state) {\n var newState = state ? Object.assign(Object.assign({}, this._datalayer.state), state) : null;\n this._datalayer.state = newState;\n this.setCacheRefreshed();\n notifySubscribers(this._datalayer.subscriptions, newState);\n // Delay notifying other tabs until after we have refreshed ourselves\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"updateTokens\",\n value: function updateTokens(tokens) {\n var _a;\n this._datalayer.session_token = tokens.session_token;\n this._datalayer.session_jwt = (_a = tokens.session_jwt) !== null && _a !== void 0 ? _a : null;\n this._datalayer.syncToLocalStorage();\n }\n }, {\n key: \"subscribeToState\",\n value: function subscribeToState(callback) {\n return addSubscriber(this._datalayer.subscriptions, callback);\n }\n }, {\n key: \"getFromCache\",\n value: function getFromCache() {\n return this.fromCache;\n }\n }, {\n key: \"setCacheRefreshed\",\n value: function setCacheRefreshed() {\n this.fromCache = false;\n }\n }]);\n}();\nvar ConsumerSubscriptionService = /*#__PURE__*/function (_SubscriptionService) {\n function ConsumerSubscriptionService() {\n var _this46;\n _classCallCheck(this, ConsumerSubscriptionService);\n _this46 = _callSuper(this, ConsumerSubscriptionService, arguments);\n _this46.updateSession = function (resp, options) {\n // This is a bit of a hack to get the type inference to work. In practice,\n // opaque tokens are only a concern on web.\n var session = resp.session,\n user = resp.user,\n session_jwt = resp.session_jwt,\n session_token = resp.session_token;\n _this46.updateStateAndTokens({\n state: {\n session: session,\n user: user\n },\n session_jwt: session_jwt,\n session_token: session_token,\n intermediate_session_token: null\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n };\n _this46.withUpdateSession = function (authenticate) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return __awaiter(_this46, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee168() {\n var resp, options;\n return _regenerator().w(function (_context168) {\n while (1) switch (_context168.n) {\n case 0:\n _context168.n = 1;\n return authenticate.apply(void 0, args);\n case 1:\n resp = _context168.v;\n if (resp != null) {\n options = args.find(function (a) {\n return a != null && !(typeof a === 'string');\n });\n this.updateSession(resp, {\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n });\n }\n return _context168.a(2, resp);\n }\n }, _callee168, this);\n }));\n };\n };\n _this46.updateUser = function (user) {\n return _this46.updateState({\n user: user\n });\n };\n _this46.getUser = function () {\n var _a, _b;\n return (_b = (_a = _this46.getState()) === null || _a === void 0 ? void 0 : _a.user) !== null && _b !== void 0 ? _b : null;\n };\n _this46.getSession = function () {\n var _a, _b;\n return (_b = (_a = _this46.getState()) === null || _a === void 0 ? void 0 : _a.session) !== null && _b !== void 0 ? _b : null;\n };\n return _this46;\n }\n _inherits(ConsumerSubscriptionService, _SubscriptionService);\n return _createClass(ConsumerSubscriptionService);\n}(SubscriptionService);\nvar B2BSubscriptionService = /*#__PURE__*/function (_SubscriptionService2) {\n function B2BSubscriptionService() {\n var _this47;\n _classCallCheck(this, B2BSubscriptionService);\n _this47 = _callSuper(this, B2BSubscriptionService, arguments);\n _this47.updateSession = function (originalResp, options) {\n // This is a bit of a hack to get the type inference to work. In practice,\n // opaque tokens are only a concern on web.\n var resp = originalResp;\n if ('member_session' in resp && resp.member_session) {\n _this47.updateStateAndTokens({\n state: {\n session: resp.member_session,\n member: resp.member,\n organization: resp.organization\n },\n session_token: resp.session_token,\n session_jwt: resp.session_jwt,\n intermediate_session_token: null\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n } else {\n _this47.updateStateAndTokens({\n state: null,\n session_token: null,\n session_jwt: null,\n intermediate_session_token: resp.intermediate_session_token\n }, {\n fromCache: false,\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.sessionDurationMinutes\n });\n }\n };\n _this47.withUpdateSession = function (authenticate) {\n return function (options) {\n return __awaiter(_this47, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee169() {\n var resp;\n return _regenerator().w(function (_context169) {\n while (1) switch (_context169.n) {\n case 0:\n _context169.n = 1;\n return authenticate(options);\n case 1:\n resp = _context169.v;\n this.updateSession(resp, {\n sessionDurationMinutes: options === null || options === void 0 ? void 0 : options.session_duration_minutes\n });\n return _context169.a(2, resp);\n }\n }, _callee169, this);\n }));\n };\n };\n _this47.updateMember = function (member) {\n return _this47.updateState({\n member: member\n });\n };\n _this47.getMember = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.member) !== null && _b !== void 0 ? _b : null;\n };\n _this47.updateOrganization = function (organization) {\n return _this47.updateState({\n organization: organization\n });\n };\n _this47.getOrganization = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.organization) !== null && _b !== void 0 ? _b : null;\n };\n _this47.getSession = function () {\n var _a, _b;\n return (_b = (_a = _this47.getState()) === null || _a === void 0 ? void 0 : _a.session) !== null && _b !== void 0 ? _b : null;\n };\n return _this47;\n }\n _inherits(B2BSubscriptionService, _SubscriptionService2);\n return _createClass(B2BSubscriptionService);\n}(SubscriptionService);\nvar VERTICAL_B2B = 'B2B';\nvar VERTICAL_CONSUMER = 'CONSUMER';\nvar createDeepEqual = function createDeepEqual() {\n var _ref1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref1$KEYS_TO_EXCLUDE = _ref1.KEYS_TO_EXCLUDE,\n KEYS_TO_EXCLUDE = _ref1$KEYS_TO_EXCLUDE === void 0 ? [] : _ref1$KEYS_TO_EXCLUDE;\n // If comparing functions, this may need some work. Not sure the\n // best path for this: compare instance (what it currently does),\n // stringify and compare, etc.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var _deepEqual = function deepEqual(a, b) {\n // Ensures type is the same\n if (_typeof(a) !== _typeof(b)) return false;\n // arrays, null, and objects all have type 'object'\n if (a === null || b === null) return a === b;\n if (_typeof(a) === 'object') {\n if (Object.keys(a).length !== Object.keys(b).length || Object.keys(a).some(function (k) {\n return !(k in b);\n })) return false;\n return Object.entries(a).filter(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 1),\n k = _ref11[0];\n return !KEYS_TO_EXCLUDE.includes(k);\n }).every(function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 2),\n k = _ref13[0],\n v = _ref13[1];\n return _deepEqual(v, b[k]);\n });\n }\n // boolean, string, number, undefined\n return a === b;\n };\n return _deepEqual;\n};\nexport { B2BSubscriptionService, CLIENTSIDE_SERVICES_IFRAME_URL, COUNTRIES_LIST, ConsumerSubscriptionService, DEFAULT_INTERVAL_DURATION_MS, DEFAULT_MAX_BATCH_SIZE, DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, DFPProtectedAuthProvider, DisabledDFPProtectedAuthProvider, EmailSentType, ErrorMarshaller, EventLogger, GOOGLE_ONE_TAP_HOST, GOOGLE_ONE_TAP_SCRIPT_URL, HeadlessB2BDiscoveryClient, HeadlessB2BIDPClient, HeadlessB2BImpersonationClient, HeadlessB2BMagicLinksClient, HeadlessB2BOAuthClient, HeadlessB2BOTPsClient, HeadlessB2BOrganizationClient, HeadlessB2BPasswordsClient, HeadlessB2BRBACClient, HeadlessB2BRecoveryCodesClient, HeadlessB2BSCIMClient, HeadlessB2BSSOClient, HeadlessB2BSelfClient, HeadlessB2BSessionClient, HeadlessB2BTOTPsClient, HeadlessCryptoWalletClient, HeadlessIDPClient, HeadlessImpersonationClient, HeadlessMagicLinksClient, HeadlessOAuthClient, HeadlessOTPClient, HeadlessPasswordClient, HeadlessRBACClient, HeadlessSessionClient, HeadlessTOTPClient, HeadlessUserClient, HeadlessWebAuthnClient, IframeHostClient, LIVE_API_URL, MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING, POWERED_BY_STYTCH_IMG_URL, RBACPolicy, RetriableError, RetriableErrorType, STYTCH_DFP_BACKEND_URL, STYTCH_DFP_CDN_URL, STYTCH_SESSION_COOKIE, STYTCH_SESSION_JWT_COOKIE, SearchDataManager, SessionManager, StateChangeClient, SubscriptionDataLayer, SubscriptionService, TEST_API_URL, VERTICAL_B2B, VERTICAL_CONSUMER, WILDCARD_ACTION, arrayUtils, baseFetchSDK, baseSubmitFormSDK, checkB2BNotSSR, checkNotSSR, checkPublicToken, createAppSessionId, createDeepEqual, createEventId, createPersistentId, getDFPBackendURL, getDFPCdnURL, getLiveApiURL, getTestApiURL, isEmailMethod, isPhoneMethod, isTestPublicToken, loadESModule, logger, normalizePromiseLike, omitUser, removeResponseCommon, retriableFetchSDK, validate };\n//# sourceMappingURL=index.esm.js.map\n",null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,"/*! js-cookie v3.0.1 | 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 (key, 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 key = encodeURIComponent(key)\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 key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\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 foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\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 default api;\n","type DeepEqualOpts = {\n KEYS_TO_EXCLUDE?: string[];\n};\n\nexport const createDeepEqual = ({ KEYS_TO_EXCLUDE = [] }: DeepEqualOpts = {}) => {\n // If comparing functions, this may need some work. Not sure the\n // best path for this: compare instance (what it currently does),\n // stringify and compare, etc.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const deepEqual = (a: any, b: any): boolean => {\n // Ensures type is the same\n if (typeof a !== typeof b) return false;\n // arrays, null, and objects all have type 'object'\n if (a === null || b === null) return a === b;\n if (typeof a === 'object') {\n if (Object.keys(a).length !== Object.keys(b).length || Object.keys(a).some((k) => !(k in b))) return false;\n return Object.entries(a)\n .filter(([k]) => !KEYS_TO_EXCLUDE.includes(k))\n .every(([k, v]) => deepEqual(v, b[k]));\n }\n // boolean, string, number, undefined\n return a === b;\n };\n\n return deepEqual;\n};\n",null,null,null,null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","apply","SuppressedError","error","suppressed","message","Error","name","Products","OAuthProviders","Wallets","OneTapPositions","OTPMethods","StytchEventType","RNUIProducts","TEST_API_URL","LIVE_API_URL","CLIENTSIDE_SERVICES_IFRAME_URL","STYTCH_DFP_BACKEND_URL","STYTCH_DFP_CDN_URL","GOOGLE_ONE_TAP_HOST","GOOGLE_ONE_TAP_SCRIPT_URL","concat","MULTIPLE_STYTCH_CLIENTS_DETECTED_WARNING","BOOTSTRAP_CACHE_KEY","DEFAULT_BOOTSTRAP","displayWatermark","projectName","cnameDomain","emailDomains","captchaSettings","enabled","pkceRequiredForEmailMagicLinks","pkceRequiredForPasswordResets","pkceRequiredForOAuth","pkceRequiredForSso","slugPattern","createOrganizationEnabled","passwordConfig","runDFPProtectedAuth","rbacPolicy","siweRequiredForCryptoWallets","vertical","BootstrapDataManager","constructor","_publicToken","_networkClient","_dataLayer","_this19","_classCallCheck2","_bootstrapDataPromise","fetchSDK","url","method","mapBootstrapData","data","setItem","JSON","stringify","logger","_createClass2","key","getSync","cached","getItem","parse","_a","getAsync","response","password_config","ludsComplexity","luds_complexity","ludsMinimumCount","luds_minimum_count","project_name","disable_sdk_watermark","captcha_settings","cname_domain","email_domains","pkce_required_for_email_magic_links","pkce_required_for_password_resets","pkce_required_for_oauth","pkce_required_for_sso","slug_pattern","create_organization_enabled","dfp_protected_auth_enabled","dfpProtectedAuthMode","dfp_protected_auth_mode","_b","rbac_policy","siwe_required_for_crypto_wallets","loadRecaptchaClient","siteKey","loadESModule","window","grecaptcha","enterprise","CaptchaProvider","bootstrapPromise","_this20","executeRecaptcha","_regenerator2","m","_callee0","_yield$this$state4","captchaClient","configured","w","_context0","n","state","v","a","undefined","ready","execute","action","bootstrapData","_callee1","_t3","_t4","_context1","ClientsideServicesProvider","iframeURL","_this21","oneTapStart","req","oneTapSubmit","parsedPhoneNumber","get","_frameClient","IframeHostClient","handlerName","frameClient","HeadlessOAuthClient","_HeadlessOAuthClient$","_subscriptionService","_pkceManager","_dynamicConfig","_config","_oneTap","_this22","_callSuper2","startOneTap","options","_callee10","clientResult","client","onSuccessCallback","_context10","createOneTapClient","success","reason","createOnSuccessHandler","signupRedirectUrl","signup_redirect_url","loginRedirectUrl","login_redirect_url","onSuccess","redirectOnSuccess","render","style","position","floating","onOneTapCancelled","callback","cancelOnTapOutside","cancel_on_tap_outside","googleOneTap","start","_inherits2","BaseHeadlessOAuthClient","NetworkClient","_subscriptionDataLayer","_liveAPIURL","_testAPIURL","additionalTelemetryDataFn","updateSessionToken","baseURL","isTestPublicToken","eventLogger","EventLogger","maxBatchSize","DEFAULT_MAX_BATCH_SIZE","intervalDurationMs","DEFAULT_INTERVAL_DURATION_MS","logEventURL","buildSDKUrl","logEvent","_ref7","details","_ref7$error","createTelemetryBlob","public_token","event_name","error_code","error_description","http_status_code","assign","event_id","createEventId","app_session_id","createAppSessionId","persistent_id","createPersistentId","client_sent_at","Date","toISOString","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","app","identifier","location","hostname","sdk","version","PACKAGE_VERSION","_ref8","body","sessionToken","readSessionCookie","session_token","basicAuthHeader","btoa","xSDKClientHeader","xSDKParentHostHeader","origin","_context11","baseFetchSDK","finalURL","_callee11","submitFormSDK","_ref9","_context68","baseSubmitFormSDK","_callee68","retriableFetchSDK","_ref1","retryCallback","_context69","_callee69","navigatorSupportsFedCM","getConfiguredEmbeddedMode","forceLegacyEmbedded","embeddedOnly","embedded","floatingOrEmbedded","getShouldRenderEmbeddedOneTap","embeddedMode","GoogleOneTapClient","_googleClient","_clientId","cancel","_ref10","_ref10$cancelOnTapOut","shouldRenderEmbeddedOneTap","config","client_id","auto_select","context","itp_support","use_fedcm_for_prompt","prompt_parent_id","initialize","_context70","_this23","prompt","notification","isSkippedMoment","getSkippedReason","isNotDisplayed","_c","_d","getNotDisplayedReason","isDismissedMoment","styleFrame","_callee70","Array","from","document","getElementsByTagName","forEach","frame","src","includes","width","loadGoogleOneTapClient","google","accounts","id","OneTapProvider","clientsideServices","_this24","_ref11","_callee71","credential","_yield$this$submitGoo","redirect_url","_context71","submitGoogleOneTapToken","href","fetchGoogleStart","_yield$this$fetchGoog","_context72","googleClientId","err","StytchAPIError","_t5","error_type","_t6","_t11","_t12","_callee72","googleConfig","publicToken","_ref12","_yield$this$fetchGoog2","_context73","oauthCallbackId","idToken","loginRedirectURL","oauthCallbackID","signupRedirectURL","_callee73","willGoogleOneTapShowEmbedded","ua","arguments","navigator","userAgent","uaContains","searchString","isTabletUA","isMobileUA","PKCE_VERIFIER_STORAGE_KEY","toHex","str","toString","base64URLEncode","buf","_String$fromCharCode","String","fromCharCode","_toConsumableArray2","Uint8Array","replace","PKCEManager","namespace","startPKCETransaction","createProofkeyPair","keyPair","_context74","_callee74","getPKPair","serialized","warn","clearPKPair","removeItem","bytes","Uint32Array","crypto","getRandomValues","codeVerifier","map","join","_context75","subtle","digest","TextEncoder","encode","code_challenge","code_verifier","_callee75","target","source","defaultConverter","read","slice","decodeURIComponent","write","encodeURIComponent","init","converter","defaultAttributes","set","attributes","expires","now","toUTCString","escape","stringifiedAttributes","attributeName","split","cookie","cookies","jar","parts","foundKey","create","remove","withAttributes","withConverter","freeze","api","path","createDeepEqual","_ref13","_ref13$KEYS_TO_EXCLUD","KEYS_TO_EXCLUDE","deepEqual","b","_typeof2","keys","some","k","entries","filter","_ref14","_ref15","_slicedToArray2","every","_ref16","_ref17","isLocalhost","Boolean","match","hasMultipleCookies","cookieName","cookiePairs","matchedCookies","pair","_pair$split","_pair$split2","PERSISTENT_STORAGE_KEY_PREFIX","getPersistentStorageKey","makeSafeStorage","storage","publicKey","persistentStorageKey","safeLocalStorage","globalThis","localStorage","safeSessionStorage","sessionStorage","getKeyBoundStorage","STYTCH_SESSION_COOKIE","STYTCH_SESSION_JWT_COOKIE","STYTCH_INTERMEDIATE_SESSION_TOKEN_COOKIE","SEEN_DOMAINS_KEY","SubscriptionDataLayer","_opaqueTokenCookieName","_jwtCookieName","_cookiePath","_domain","_cookieAvailableToSubdomains","_istCookieName","stateKeysUpdated","Set","subscriptions","_localStorage","browserSessionStorage","cookieOptions","opaqueTokenCookieName","jwtCookieName","domain","availableToSubdomains","istCookieName","localStorageState","parsedState","syncToLocalStorage","Cookies","session_jwt","readIntermediateSessionTokenCookie","writeSessionCookie","stateDiff","cookieOpts","generateCookieOpts","expiresAt","session","expires_at","addSeenDomain","alternateCookieOptions","writeIntermediateSessionTokenCookie","IST","expiresAtTime","removeSessionCookie","removeCookies","removeISTCookie","cookiesToRemove","_this25","trackedDomains","getSeenDomains","allDomains","uniqueDomains","storedDomains","parsed","isArray","push","_ref18","sameSite","secure","host","ConsumerSubscriptionDataLayer","_SubscriptionDataLaye","consumerDataLayerCacheSymbol","Symbol","getConsumerDataLayerCache","wdw","getConsumerDataLayer","dataLayerCache","addSubscriber","collection","subscriber","uniqueId","Math","random","notifySubscribers","values","cb","deepEqualData","BaseSubscriptionService","_datalayer","_ref19","_this26","usingCustomApiEndpoint","fromCache","_listen","parsedValue","newValue","updateState","addEventListener","_this$_datalayer$read","destroySession","getTokens","_this$_datalayer$read2","getIntermediateSessionToken","destroyState","updateStateAndTokens","intermediate_session_token","_updateStateAndTokensInternal","oldStateValue","newStateValue","wasCached","getFromCache","setCacheRefreshed","sessionDurationMinutes","fromExternalSource","hasStateChanged","updateTokens","tokens","diff","subscribeToState","getState","destroy","removeEventListener","syncFromDeviceStorage","ConsumerSubscriptionService","_BaseSubscriptionServ","_this27","updateUser","user","getUser","getSession","updateSession","resp","withUpdateSession","authenticate","_len4","args","_key4","_callee76","_context76","find","session_duration_minutes","internalSymB2C","writeB2CInternals","obj","internals","_defineProperty","buildFinalConfig","clientName","opts","keepSessionAlive","validator","validate","isOptionalBoolean","isOptionalString","endpoints","testAPIURL","getTestApiURL","liveAPIURL","getLiveApiURL","dfpBackendURL","getDFPBackendURL","dfpCdnURL","getDFPCdnURL","clientsideServicesIframeURL","hasCustomApiEndpoint","token","rawOptions","customBaseUrl","endpointOptions","testApiDomain","apiDomain","isHandledTokenType","handledTypes","tokenType","clearStytchTokenParams","removeStytchTokenParams","history","replaceState","title","createAuthUrlHandler","handlers","handledTokenTypes","parseAuthenticateUrl","URL","searchParams","handled","authenticateByUrl","_callee77","clearParams","shouldClearParams","handler","_context77","f","params","StytchHeadlessClient","publicTokenRaw","_this28","checkNotSSR","checkPublicToken","_PUBLIC_TOKEN","_stateChangeClient","StateChangeClient","onStateChange","_this28$_stateChangeC","stytch_user_id","user_id","stytch_session_id","session_id","passwordsPKCEManager","networkClient","bootstrap","captcha","dfpProtectedAuth","DFPProtectedAuthProvider","oneTap","searchManager","SearchDataManager","HeadlessUserClient","HeadlessSessionClient","magicLinks","HeadlessMagicLinksClient","otps","HeadlessOTPClient","oauth","cryptoWallets","HeadlessCryptoWalletClient","totps","HeadlessTOTPClient","webauthn","HeadlessWebAuthnClient","passwords","HeadlessPasswordClient","impersonation","HeadlessImpersonationClient","rbac","HeadlessRBACClient","idp","HeadlessIDPClient","_sessionManager","SessionManager","performBackgroundRefresh","event_callback_registered","error_callback_registered","success_callback_registered","VERTICAL_B2B","_createAuthUrlHandler","magic_links","impersonation_token","dataLayer"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACSF,IAAMC,mBAAmB,GAAG,WAAW;AACvC,IAAMC,iBAAiB,GAAGA,SAApBA,iBAAiBA,CAAA;EAAA,OAAyB;IAC9CC,gBAAgB,EAAE,KAAK;IACvBC,WAAW,EAAE,IAAI;IACjBC,WAAW,EAAE,IAAI;IACjBC,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5BC,eAAe,EAAE;MAAEC,OAAO,EAAE;IAAO,CAAA;IACnCC,8BAA8B,EAAE,KAAK;IACrCC,6BAA6B,EAAE,KAAK;IACpCC,oBAAoB,EAAE,KAAK;IAC3BC,kBAAkB,EAAE,KAAK;IACzBC,WAAW,EAAE,IAAI;IACjBC,yBAAyB,EAAE,KAAK;IAChCC,cAAc,EAAE,IAAI;IACpBC,mBAAmB,EAAE,KAAK;IAC1BC,UAAU,EAAE,IAAI;IAChBC,4BAA4B,EAAE,KAAK;IACnCC,QAAQ,EAAE;EACX,CAAA;AAAA,CAAC;AAAA,IAEWC,oBAAoB;EAG/BC,SAAAA,qBACUC,YAAoB,EACpBC,cAA8B,EAC9BC,UAAoE,EAAA;IAAA,IAAAC,OAAA;IAAAC,gBAAA,OAAAN,oBAAA;IAFpE,IAAY,CAAAE,YAAA,GAAZA,YAAY;IACZ,IAAc,CAAAC,cAAA,GAAdA,cAAc;IACd,IAAU,CAAAC,UAAA,GAAVA,UAAU;IAKlB,IAAI,CAACG,qBAAqB,GAAG,IAAI,CAACJ,cAAc,CAC7CK,QAAQ,CAAmB;MAC1BC,GAAG,yBAAA9B,MAAA,CAAyB,IAAI,CAACuB,YAAY,CAAE;MAC/CQ,MAAM,EAAE;KACT,CAAC,CACDrD,IAAI,CAAC2C,oBAAoB,CAACW,gBAAgB,CAAC,CAC3CtD,IAAI,CAAEuD,UAAAA,IAAI,EAAI;MACbP,OAAI,CAACD,UAAU,CAACS,OAAO,CAAChC,mBAAmB,EAAEiC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;MAClE,OAAOA,IAAI;IACb,CAAC,CAAC,SACI,CAAEpD,UAAAA,KAAc,EAAI;MACxBwD,MAAM,CAACxD,KAAK,CAACA,KAAK,CAAC;MACnB,OAAOsB,iBAAiB,CAAA,CAAE;IAC5B,CAAC,CAAC;EACN;EAAA,OAAAmC,aAAA,CAAAjB,oBAAA;IAAAkB,GAAA;IAAAvE,KAAA,EAiCAwE,SAAAA,OAAOA,CAAAA,EAAA;MACL,IAAMC,MAAM,GAAG,IAAI,CAAChB,UAAU,CAACiB,OAAO,CAACxC,mBAAmB,CAAC;MAC3D,IAAIuC,MAAM,KAAK,IAAI,EAAE;QACnB,OAAOtC,iBAAiB,CAAA,CAAE;MAC5B;MACA,IAAI;QACF,OAAOgC,IAAI,CAACQ,KAAK,CAACF,MAAM,CAAkB;MAC3C,CAAA,CAAC,OAAAG,EAAA,EAAM;QACN,OAAOzC,iBAAiB,CAAA,CAAE;MAC5B;IACF;EAAA;IAAAoC,GAAA;IAAAvE,KAAA,EAEA6E,SAAAA,QAAQA,CAAAA,EAAA;MACN,OAAO,IAAI,CAACjB,qBAAqB;IACnC;EAAA;IAAAW,GAAA;IAAAvE,KAAA,EA7CA,SAAOgE,gBAAgBA,CAACc,QAA0B,EAAA;;MAChD,IAAM9B,cAAc,GAClB8B,QAAQ,CAACC,eAAe,KAAK,IAAI,GAC7B;QACEC,cAAc,EAAEF,QAAQ,CAACC,eAAe,CAACE,eAAe;QACxDC,gBAAgB,EAAEJ,QAAQ,CAACC,eAAe,CAACI;MAC5C,CAAA,GACD,IAAI;MAEV,OAAO;QACL9C,WAAW,EAAEyC,QAAQ,CAACM,YAAY;QAClChD,gBAAgB,EAAE,CAAC0C,QAAQ,CAACO,qBAAqB;QACjD7C,eAAe,EAAEsC,QAAQ,CAACQ,gBAAgB;QAC1ChD,WAAW,EAAEwC,QAAQ,CAACS,YAAY;QAClChD,YAAY,EAAEuC,QAAQ,CAACU,aAAa;QAEpC9C,8BAA8B,EAAEoC,QAAQ,CAACW,mCAAmC;QAC5E9C,6BAA6B,EAAEmC,QAAQ,CAACY,iCAAiC;QACzE9C,oBAAoB,EAAEkC,QAAQ,CAACa,uBAAuB;QACtD9C,kBAAkB,EAAEiC,QAAQ,CAACc,qBAAqB;QAClD9C,WAAW,EAAEgC,QAAQ,CAACe,YAAY;QAClC9C,yBAAyB,EAAE+B,QAAQ,CAACgB,2BAA2B;QAC/D9C,cAAc,EAAdA,cAAc;QACdC,mBAAmB,EAAE,CAAA2B,EAAA,GAAAE,QAAQ,CAACiB,0BAA0B,mCAAI,KAAK;QACjEC,oBAAoB,EAAElB,QAAQ,CAACmB,uBAAuB;QACtD/C,UAAU,EAAE,CAAAgD,EAAA,GAAApB,QAAQ,CAACqB,WAAW,mCAAI,IAAI;QACxChD,4BAA4B,EAAE2B,QAAQ,CAACsB,gCAAgC;QACvEhD,QAAQ,EAAE0B,QAAQ,CAAC1B;OACpB;IACH;EAAA;AAAA;AChEK,SAASxE,MAAMA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACzB,IAAIC,CAAC,GAAG,CAAA,CAAE;EACV,KAAK,IAAIC,CAAC,IAAIH,CAAC,EAAE,IAAII,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACP,CAAC,EAAEG,CAAC,CAAC,IAAIF,CAAC,CAACO,OAAO,CAACL,CAAC,CAAC,GAAG,CAAC,EAC/ED,CAAC,CAACC,CAAC,CAAC,GAAGH,CAAC,CAACG,CAAC,CAAC;EACf,IAAIH,CAAC,IAAI,IAAI,IAAI,OAAOI,MAAM,CAACK,qBAAqB,KAAK,UAAU,EAC/D,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEP,CAAC,GAAGC,MAAM,CAACK,qBAAqB,CAACT,CAAC,CAAC,EAAEU,CAAC,GAAGP,CAAC,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;IACpE,IAAIT,CAAC,CAACO,OAAO,CAACL,CAAC,CAACO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAIN,MAAM,CAACC,SAAS,CAACO,oBAAoB,CAACL,IAAI,CAACP,CAAC,EAAEG,CAAC,CAACO,CAAC,CAAC,CAAC,EAC1ER,CAAC,CAACC,CAAC,CAACO,CAAC,CAAC,CAAC,GAAGV,CAAC,CAACG,CAAC,CAACO,CAAC,CAAC,CAAC;EACzB;EACJ,OAAOR,CAAC;AACZ;AA8DO,SAASW,SAASA,CAACC,OAAO,EAAEC,UAAU,EAAEC,CAAC,EAAEC,SAAS,EAAE;EACzD,SAASC,KAAKA,CAACC,KAAK,EAAE;IAAE,OAAOA,KAAK,YAAYH,CAAC,GAAGG,KAAK,GAAG,IAAIH,CAAC,CAAC,UAAUI,OAAO,EAAE;MAAEA,OAAO,CAACD,KAAK,CAAC;IAAE,CAAC,CAAC;EAAE;EAC3G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAO,CAAC,EAAE,UAAUD,OAAO,EAAEE,MAAM,EAAE;IACvD,SAASC,SAASA,CAACJ,KAAK,EAAE;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAI,CAACN,KAAK,CAAC,CAAC;MAAG,CAAA,CAAC,OAAOlB,CAAC,EAAE;QAAEqB,MAAM,CAACrB,CAAC,CAAC;MAAE;IAAE;IAC1F,SAASyB,QAAQA,CAACP,KAAK,EAAE;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAO,CAAC,CAACE,KAAK,CAAC,CAAC;MAAG,CAAA,CAAC,OAAOlB,CAAC,EAAE;QAAEqB,MAAM,CAACrB,CAAC,CAAC;MAAE;IAAE;IAC7F,SAASuB,IAAIA,CAACG,MAAM,EAAE;MAAEA,MAAM,CAACC,IAAI,GAAGR,OAAO,CAACO,MAAM,CAACR,KAAK,CAAC,GAAGD,KAAK,CAACS,MAAM,CAACR,KAAK,CAAC,CAACU,IAAI,CAACN,SAAS,EAAEG,QAAQ,CAAC;IAAE;IAC7GF,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACa,KAAK,CAAChB,OAAO,EAAEC,UAAU,IAAI,EAAE,CAAC,EAAEU,IAAI,CAAA,CAAE,CAAC;EACzE,CAAC,CAAC;AACN;AAiMuB,OAAOM,eAAe,KAAK,UAAU,GAAGA,eAAe,GAAG,UAAUC,KAAK,EAAEC,UAAU,EAAEC,OAAO,EAAE;EACnH,IAAIjC,CAAC,GAAG,IAAIkC,KAAK,CAACD,OAAO,CAAC;EAC1B,OAAOjC,CAAC,CAACmC,IAAI,GAAG,iBAAiB,EAAEnC,CAAC,CAAC+B,KAAK,GAAGA,KAAK,EAAE/B,CAAC,CAACgC,UAAU,GAAGA,UAAU,EAAEhC,CAAC;AACpF,CAAA;AC5TA,IAAMuH,mBAAmB,GAAIC,SAAvBD,mBAAmBA,CAAIC,OAAe;EAAA,OAC1CC,YAAY,0DAAAvE,MAAA,CAA0DsE,OAAO,GAAI;IAAA,OAAME,MAAM,CAACC,UAAU,CAACC,UAAU;EAAA,EAAC;AAAA;AAAA,IAMzGC,eAAe,gBAAArC,aAAA,CAE1BhB,SAAAA,gBAAoBsD,gBAAwC,EAAA;EAAA,IAAAC,OAAA;EAAAlD,gBAAA,OAAAgD,eAAA;EAAxC,IAAgB,CAAAC,gBAAA,GAAhBA,gBAAgB;EAapC,IAAgB,CAAAE,gBAAA,GAAG;IAAA,OAAWpH,SAAA,CAAAmH,OAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAAE,aAAA,GAAAC,CAAA,CAAA,SAAAC,SAAA;MAAA,IAAAC,kBAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAd,OAAA;MAAA,OAAAS,aAAA,GAAAM,CAAA,WAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAC,CAAA;UAAA;YAAAD,SAAA,CAAAC,CAAA;YACmB,OAAM,IAAI,CAACC,KAAK;UAAA;YAAAN,kBAAA,GAAAI,SAAA,CAAAG,CAAA;YAAvDN,aAAa,GAAAD,kBAAA,CAAbC,aAAa;YAAEC,UAAU,GAAAF,kBAAA,CAAVE,UAAU;YAAEd,OAAAA,GAAAA,kBAAAA,CAAAA,OAAAA;YAAAA,IAC9Bc,UAAU;cAAAE,SAAA,CAAAC,CAAA;cAAA;YAAA;YAAA,OAAAD,SAAA,CAAAI,CAAA,IACNC,SAAS;UAAA;YAAAL,SAAA,CAAAC,CAAA;YAElB,OAAM,IAAIrH,OAAO,CAAQD,UAAAA,OAAO;cAAA,OAAKkH,aAAa,CAACS,KAAK,CAAC3H,OAAO,CAAC;YAAA,EAAC;UAAA;YAAA,OAAAqH,SAAA,CAAAI,CAAA,IAC3DP,aAAa,CAACU,OAAO,CAACvB,OAAO,EAAE;cACpCwB,MAAM,EAAE;YACT,CAAA,CAAC;QAAA;MAAA,GAAAb,QAAA;IAAA,CACH,EAAA;EAAA;EArBC,IAAI,CAACO,KAAK,GAAGZ,gBAAgB,CAAClG,IAAI,CAAQqH,UAAAA,aAAa;IAAA,OAAIrI,SAAA,CAAAmH,OAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAAE,aAAA,GAAAC,CAAA,CAAA,SAAAgB,SAAA;MAAA,IAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAnB,aAAA,GAAAM,CAAA,WAAAc,SAAA;QAAA,kBAAAA,SAAA,CAAAZ,CAAA;UAAA;YAAA,IACpDQ,aAAa,CAACvF,eAAe,CAACC,OAAO;cAAA0F,SAAA,CAAAZ,CAAA;cAAA;YAAA;YAAA,OAAAY,SAAA,CAAAT,CAAA,IACjC;cAAEN,UAAU,EAAE;aAAO;UAAA;YAAAe,SAAA,CAAAZ,CAAA;YAIb,OAAMlB,mBAAmB,CAAC0B,aAAa,CAACvF,eAAe,CAAC8D,OAAO,CAAC;UAAA;YAAA2B,GAAA,GAAAE,SAAA,CAAAV,CAAA;YAAAS,GAAA,GACtEH,aAAa,CAACvF,eAAe,CAAC8D,OAAAA;YAAAA,OAAAA,SAAAA,CAAAA,CAAAA;cAFvCc,UAAU,EAAE,IAAI;cAChBD,aAAa,EAAAc,GAAA;cACb3B,OAAO,EAAA4B;YAAA;QAAA;MAAA,GAAAF,QAAA;IAAA,CAEV,EAAA;EAAA,EAAC;AACJ,CAAA;AAAA,ICpBWI,0BAA0B;EAErC9E,SAAAA,2BAAoB+E,SAAiB,EAAA;IAAA,IAAAC,OAAA;IAAA3E,gBAAA,OAAAyE,0BAAA;IAAjB,IAAS,CAAAC,SAAA,GAATA,SAAS;IAgB7B,IAAA,CAAAE,WAAW,GAAgCC,UAAAA,GAAG;MAAA,OAAKF,OAAI,CAAClJ,IAAI,CAAC,aAAa,EAAEoJ,GAAG,CAAC;IAAA;IAChF,IAAA,CAAAC,YAAY,GAAiCD,UAAAA,GAAG;MAAA,OAAKF,OAAI,CAAClJ,IAAI,CAAC,cAAc,EAAEoJ,GAAG,CAAC;IAAA;IACnF,IAAA,CAAAE,iBAAiB,GAAsCF,UAAAA,GAAG;MAAA,OAAKF,OAAI,CAAClJ,IAAI,CAAC,mBAAmB,EAAEoJ,GAAG,CAAC;IAAA;EAlB1D;EAAA,OAAAlE,aAAA,CAAA8D,0BAAA;IAAA7D,GAAA;IAAAoE,GAAA,EAOxC,SAAAA,IAAA,EAAuB;;MACrB,IAAI,CAACC,YAAY,GAAG,CAAAhE,EAAA,GAAA,IAAI,CAACgE,YAAY,MAAI,IAAA,IAAAhE,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,IAAIiE,gBAAgB,CAAC,IAAI,CAACR,SAAS,CAAC;MAC7E,OAAO,IAAI,CAACO,YAAY;IAC1B;EAAA;IAAArE,GAAA;IAAAvE,KAAA,EAEQZ,SAAAA,IAAIA,CAAO0J,WAAmB,EAAEN,GAAM,EAAA;MAC5C,OAAO,IAAI,CAACO,WAAW,CAAC3J,IAAI,CAAI0J,WAAW,EAAE,CAACN,GAAG,CAAC,CAAC;IACrD;EAAA;AAAA;AAAA,IC2DWQ,mBACX,0BAAAC,qBAAA;EAGA3F,SAAAA,oBACEE,cAA8B,EAC9B0F,oBAAyE,EACzEC,YAA0B,EAC1BC,cAA6B,EAC7BC,OAAe,EACPC,OAAuB,EAAA;IAAA,IAAAC,OAAA;IAAA5F,gBAAA,OAAAqF,mBAAA;IAE/BO,OAAA,GAAAC,WAAA,OAAAR,mBAAA,GAAMxF,cAAc,EAAE0F,oBAAoB,EAAEC,YAAY,EAAEC,cAAc,EAAEC,OAAO;IAFzEE,OAAA,CAAOD,OAAA,GAAPA,OAAO;IAKTC,OAAA,CAAAE,WAAW,GAAUC,UAAAA,OAAiC;MAAA,OAAiChK,SAAA,CAAA6J,OAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAAxC,aAAA,GAAAC,CAAA,CAAA,SAAA2C,UAAA;QAAA,IAAAC,YAAA,EAAAC,MAAA,EAAAC,iBAAA;QAAA,OAAA/C,aAAA,GAAAM,CAAA,WAAA0C,UAAA;UAAA,kBAAAA,UAAA,CAAAxC,CAAA;YAAA;cAAAwC,UAAA,CAAAxC,CAAA;cACxE,OAAM,IAAI,CAAC+B,OAAO,CAACU,kBAAkB,CAAA,CAAE;YAAA;cAAtDJ,YAAY,GAAAG,UAAA,CAAAtC,CAAA;cAAA,IACbmC,YAAY,CAACK,OAAO;gBAAAF,UAAA,CAAAxC,CAAA;gBAAA;cAAA;cAAA,MACjB,IAAIvG,KAAK,4BAAAgB,MAAA,CAA4B4H,YAAY,CAACM,MAAM,CAAE,CAAC;YAAA;cAG3DL,MAAAA,GAAWD,YAAY,CAAvBC,MAAAA;cAEFC,iBAAiB,GAAG,IAAI,CAACR,OAAO,CAACa,sBAAsB,CAAC;gBAC5DC,iBAAiB,EAAEV,OAAO,CAACW,mBAAmB;gBAC9CC,gBAAgB,EAAEZ,OAAO,CAACa,kBAAkB;gBAC5CC,SAAS,EAAE,IAAI,CAAClB,OAAO,CAACmB;cACzB,CAAA,CAAC;cAAA,OAAAV,UAAA,CAAArC,CAAA,IAEKmC,MAAM,CAACa,MAAM,CAAC;gBACnBC,KAAK,EAAE;kBACLC,QAAQ,EAAEvJ,OAAe,CAAAA,eAAA,CAACwJ;gBAC3B,CAAA;gBACDC,iBAAiB,EAAEpB,OAAO,CAACoB,iBAAiB;gBAC5CC,QAAQ,EAAEjB,iBAAiB;gBAC3BkB,kBAAkB,EAAEtB,OAAO,CAACuB;cAC7B,CAAA,CAAC;UAAA;QAAA,GAAAtB,SAAA;MAAA,CACH,EAAA;IAAA;IAEDJ,OAAA,CAAA2B,YAAY,GAA+B;MACzCC,KAAK,EAAE5B,OAAA,CAAKE;KACb;IAAA,OAAAF,OAAA;EA5BD;EAAA6B,UAAA,CAAApC,mBAAA,EAAAC,qBAAA;EAAA,OAAA3E,aAAA,CAAA0E,mBAAA;AAAA,EAZQqC,qBAA8C;;IC1D3CC,aAAa;EAIxBhI,SAAAA,cACUC,YAAoB,EACpBgI,sBAAgF,EACxFC,WAAmB,EACnBC,WAAmB,EACXC,yBAAwD,EAAA;IAAA/H,gBAAA,OAAA2H,aAAA;IAJxD,IAAY,CAAA/H,YAAA,GAAZA,YAAY;IACZ,IAAsB,CAAAgI,sBAAA,GAAtBA,sBAAsB;IAGtB,IAAyB,CAAAG,yBAAA,GAAzBA,yBAAyB;IAcnC,IAAkB,CAAAC,kBAAA,GAAG,YAAK;MACxB,OAAO,IAAI;KACZ;IAdC,IAAI,CAACC,OAAO,GAAGJ,WAAW;IAC1B,IAAIK,iBAAiB,CAACtI,YAAY,CAAC,EAAE;MACnC,IAAI,CAACqI,OAAO,GAAGH,WAAW;IAC5B;IACA,IAAI,CAACK,WAAW,GAAG,IAAIC,WAAW,CAAC;MACjCC,YAAY,EAAEC,sBAAsB;MACpCC,kBAAkB,EAAEC,4BAA4B;MAChDC,WAAW,EAAE,IAAI,CAACC,WAAW,CAAC,SAAS;IACxC,CAAA,CAAC;EACJ;EAAA,OAAA/H,aAAA,CAAAgH,aAAA;IAAA/G,GAAA;IAAAvE,KAAA,EAOAsM,SAAAA,QAAQA,CAAAA,KAAAA,EAQP;MAAA,IAPCrL,IAAI,GAAAsL,KAAA,CAAJtL,IAAI;QACJuL,OAAO,GAAAD,KAAA,CAAPC,OAAO;QAAAC,WAAA,GAAAF,KAAA,CACP1L,KAAK;QAALA,KAAK,GAAA4L,WAAA,cAAG,CAAA,CAAA,GAAAA,WAAA;MAMR,IAAI,CAACX,WAAW,CAACQ,QAAQ,CAAC,IAAI,CAACI,mBAAmB,CAAA,CAAE,EAAE;QACpDC,YAAY,EAAE,IAAI,CAACpJ,YAAY;QAC/BqJ,UAAU,EAAE3L,IAAI;QAChBuL,OAAO,EAAEA,OAAO;QAGhBK,UAAU,EAAEhM,KAAK,CAACgM,UAAU;QAC5BC,iBAAiB,EAAEjM,KAAK,CAACiM,iBAAiB;QAC1CC,gBAAgB,EAAElM,KAAK,CAACkM;MACzB,CAAA,CAAC;IACJ;EAAA;IAAAxI,GAAA;IAAAvE,KAAA,EAEA0M,SAAAA,mBAAmBA,CAAAA,EAAA;MACjB,OACEzN,MAAA,CAAA+N,MAAA,CAAA/N,MAAA,CAAA+N,MAAA,CAAA;QAAAC,QAAQ,EAAEC,aAAa,CAAE,CAAA;QAEzBC,cAAc,EAAEC,kBAAkB,CAAE,CAAA;QACpCC,aAAa,EAAEC,kBAAkB,CAAE,CAAA;QAEnCC,cAAc,EAAE,IAAIC,IAAI,CAAE,CAAA,CAACC,WAAW,CAAE,CAAA;QACxCC,QAAQ,EAAEC,IAAI,CAACC,cAAc,EAAE,CAACC,eAAe,CAAE,CAAA,CAACC;MAAQ,CAAA,EAevD,IAAI,CAACpC,yBAAyB,CAAA,CAAE,CAAA,EAAA;QAGnCqC,GAAG,EAAE;UACHC,UAAU,EAAExH,MAAM,CAACyH,QAAQ,CAACC;QAC7B,CAAA;QACDC,GAAG,EAAE;UAGHH,UAAU,EAAE,0BAA0B;UACtCI,OAAO,EAAEC;;MAEX,CAAA,CAAA;IACJ;EAAA;IAAA9J,GAAA;IAAAvE,KAAA,EAEM6D,SAAAA,QAAQA,CAAAA,KAAAA,EAAgE;MAAA,IAAnCC,GAAG,GAAAwK,KAAA,CAAHxK,GAAG;QAAEyK,IAAI,GAAAD,KAAA,CAAJC,IAAI;QAAExK,MAAAA,GAAAA,KAAAA,CAAAA,MAAAA;;;;;;cAC9CyK,YAAY,GAAG,IAAI,CAACjD,sBAAsB,CAACkD,iBAAiB,CAAA,CAAE,CAACC,aAAa;cAC5EC,eAAe,GAAG,QAAQ,GAAGnI,MAAM,CAACoI,IAAI,CAAC,IAAI,CAACrL,YAAY,GAAG,GAAG,IAAIiL,YAAY,IAAI,IAAI,CAACjL,YAAY,CAAC,CAAC;cACvGsL,gBAAgB,GAAGrI,MAAM,CAACoI,IAAI,CAACzK,IAAI,CAACC,SAAS,CAAC,IAAI,CAACsI,mBAAmB,CAAE,CAAA,CAAC,CAAC;cAC1EoC,oBAAoB,GAAGtI,MAAM,CAACyH,QAAQ,CAACc,MAAM;cAAA,OAAAC,UAAA,CAAAtH,CAAA,IAE5CuH,YAAY,CAAI;gBACrBN,eAAe,EAAfA,eAAe;gBACfJ,IAAI,EAAJA,IAAI;gBACJW,QAAQ,EAAE,IAAI,CAAC7C,WAAW,CAACvI,GAAG,CAAC;gBAC/BC,MAAM,EAANA,MAAM;gBACN8K,gBAAgB,EAAhBA,gBAAgB;gBAChBC,oBAAAA,EAAAA;cACD,CAAA,CAAC;UAAA;QAAA,GAAAK,SAAA;MAAA,CACH,EAAA;IAAA;EAAA;IAAA5K,GAAA;IAAAvE,KAAA,EAEKoP,SAAAA,aAAaA,CAAAA,KAAAA,EAAsC;MAAA,IAAnCtL,GAAG,GAAAuL,KAAA,CAAHvL,GAAG;QAAEyK,IAAI,GAAAc,KAAA,CAAJd,IAAI;QAAExK,MAAAA,GAAAA,KAAAA,CAAAA,MAAAA;;;;;;cACzByK,YAAY,GAAG,IAAI,CAACjD,sBAAsB,CAACkD,iBAAiB,CAAA,CAAE,CAACC,aAAa;cAC5EC,eAAe,GAAG,QAAQ,GAAGnI,MAAM,CAACoI,IAAI,CAAC,IAAI,CAACrL,YAAY,GAAG,GAAG,IAAIiL,YAAY,IAAI,IAAI,CAACjL,YAAY,CAAC,CAAC;cACvGsL,gBAAgB,GAAGrI,MAAM,CAACoI,IAAI,CAACzK,IAAI,CAACC,SAAS,CAAC,IAAI,CAACsI,mBAAmB,CAAE,CAAA,CAAC,CAAC;cAC1EoC,oBAAoB,GAAGtI,MAAM,CAACyH,QAAQ,CAACc,MAAM;cAAA,OAAAO,UAAA,CAAA5H,CAAA,IAE5C6H,iBAAiB,CAAC;gBACvBZ,eAAe,EAAfA,eAAe;gBACfJ,IAAI,EAAJA,IAAI;gBACJW,QAAQ,EAAE,IAAI,CAAC7C,WAAW,CAACvI,GAAG,CAAC;gBAC/BC,MAAM,EAANA,MAAM;gBACN8K,gBAAgB,EAAhBA,gBAAgB;gBAChBC,oBAAAA,EAAAA;cACD,CAAA,CAAC;UAAA;QAAA,GAAAU,SAAA;MAAA,CACH,EAAA;IAAA;EAAA;IAAAjL,GAAA;IAAAvE,KAAA,EAEKyP,SAAAA,iBAAiBA,CAAAA,KAAAA,EAKG;MAAA,IAJxB3L,GAAG,GAAA4L,KAAA,CAAH5L,GAAG;QACHyK,IAAI,GAAAmB,KAAA,CAAJnB,IAAI;QACJxK,MAAM,GAAA2L,KAAA,CAAN3L,MAAM;QACN4L,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA;;;;;;cAEMnB,YAAY,GAAG,IAAI,CAACjD,sBAAsB,CAACkD,iBAAiB,CAAA,CAAE,CAACC,aAAa;cAC5EC,eAAe,GAAG,QAAQ,GAAGnI,MAAM,CAACoI,IAAI,CAAC,IAAI,CAACrL,YAAY,GAAG,GAAG,IAAIiL,YAAY,IAAI,IAAI,CAACjL,YAAY,CAAC,CAAC;cACvGsL,gBAAgB,GAAGrI,MAAM,CAACoI,IAAI,CAACzK,IAAI,CAACC,SAAS,CAAC,IAAI,CAACsI,mBAAmB,CAAE,CAAA,CAAC,CAAC;cAC1EoC,oBAAoB,GAAGtI,MAAM,CAACyH,QAAQ,CAACc,MAAM;cAAA,OAAAa,UAAA,CAAAlI,CAAA,IAE5C+H,kBAAiB,CAAI;gBAC1Bd,eAAe,EAAfA,eAAe;gBACfJ,IAAI,EAAJA,IAAI;gBACJW,QAAQ,EAAE,IAAI,CAAC7C,WAAW,CAACvI,GAAG,CAAC;gBAC/BC,MAAM,EAANA,MAAM;gBACN8K,gBAAgB,EAAhBA,gBAAgB;gBAChBC,oBAAoB,EAApBA,oBAAoB;gBACpBa,aAAAA,EAAAA;cACD,CAAA,CAAC;UAAA;QAAA,GAAAE,SAAA;MAAA,CACH,EAAA;IAAA;EAAA;IAAAtL,GAAA;IAAAvE,KAAA,EAEDqM,SAAAA,WAAWA,CAACvI,GAAW,EAAA;MAErB,UAAA9B,MAAA,CAAU,IAAI,CAAC4J,OAAO,aAAA5J,MAAA,CAAU8B,GAAG;IACrC;EAAA;AAAA;AClKK,IAAMgM,sBAAsB,GAAG,OAAOtJ,MAAM,KAAK,WAAW,IAAI,oBAAoB,IAAIA,MAAM;ACG9F,IAAMuJ,yBAAyB,GAAInF,SAA7BmF,yBAAyBA,CAAInF,QAA4D,EAAI;EACxG,IAAIA,QAAQ,KAAKvJ,OAAe,CAAAA,eAAA,CAAC2O,mBAAmB,EAAE;IACpD,OAAO,OAAO;EAChB;EAEA,IACEpF,QAAQ,KAAKvJ,uBAAe,CAAC4O,YAAY,IACzCrF,QAAQ,KAAKvJ,OAAe,CAAAA,eAAA,CAAC6O,QAAQ,IACrCtF,QAAQ,KAAKvJ,OAAe,CAAAA,eAAA,CAAC8O,kBAAkB,EAC/C;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEM,IAAMC,6BAA6B,GAAIxF,SAAjCwF,6BAA6BA,CAAIxF,QAA4D,EAAI;EAQ5G,IAAMyF,YAAY,GAAGN,yBAAyB,CAACnF,QAAQ,CAAC;EACxD,OAAOyF,YAAY,KAAK,OAAO,IAAKA,YAAY,IAAI,CAACP,sBAAuB;AAC9E,CAAC;AAAA,ICbYQ,kBAAkB;EAC7BhN,SAAAA,mBACUiN,aAA6B,EAC7BC,SAAiB,EAAA;IAAA7M,gBAAA,OAAA2M,kBAAA;IADjB,IAAa,CAAAC,aAAA,GAAbA,aAAa;IACb,IAAS,CAAAC,SAAA,GAATA,SAAS;EAChB;EAAA,OAAAlM,aAAA,CAAAgM,kBAAA;IAAA/L,GAAA;IAAAvE,KAAA,EAEHyQ,SAAAA,MAAMA,CAAAA,EAAA;MACJ,IAAI,CAACF,aAAa,CAACE,MAAM,EAAE;IAC7B;EAAA;IAAAlM,GAAA;IAAAvE,KAAA,EAEM0K,SAAAA,MAAMA,CAAAA,MAAAA,EAUX;MAAA,IATCK,QAAQ,GAAA2F,MAAA,CAAR3F,QAAQ;QACRD,iBAAiB,GAAA4F,MAAA,CAAjB5F,iBAAiB;QACjBH,KAAK,GAAA+F,MAAA,CAAL/F,KAAK;QAAAgG,qBAAA,GAAAD,MAAA,CACL1F,kBAAkB;QAAlBA,kBAAkB,GAAA2F,qBAAA,cAAG,IAAA,GAAAA,qBAAA;;;;;;;cAOfN,YAAY,GAAGN,yBAAyB,CAACpF,KAAK,CAACC,QAAQ,CAAC;cACxDgG,0BAA0B,GAAGR,6BAA6B,CAACzF,KAAK,CAACC,QAAQ,CAAC;cAE1EiG,MAAM,GAAoB;gBAC9BC,SAAS,EAAE,IAAI,CAACN,SAAS;gBACzBzF,QAAQ,EAAEA,QAAQ;gBAClBgG,WAAW,EAAE,KAAK;gBAClBC,OAAO,EAAE,KAAK;gBACdC,WAAW,EAAE,IAAI;gBACjBC,oBAAoB,EAAEb,YAAY,KAAK,OAAO;gBAC9CpF,qBAAqB,EAAED;eACxB;cACD,IAAI4F,0BAA0B,EAAE;gBAC9BC,MAAM,CAACM,gBAAgB,GAAG,sBAAsB;gBAChDN,MAAM,CAAC5F,qBAAqB,GAAG,KAAK;cACtC;cACA,IAAI,CAACsF,aAAa,CAACa,UAAU,CAACP,MAAM,CAAC;cAAA,OAAAQ,UAAA,CAAA3J,CAAA,IAE9B,IAAIxH,OAAO,CAAED,UAAAA,OAAO,EAAI;gBAC7BqR,OAAI,CAACf,aAAa,CAACgB,MAAM,CAAEC,UAAAA,YAAsC,EAAI;;kBACnE,IAAIA,YAAY,CAACC,eAAe,EAAE,EAAE;oBAGlC,IAAMvH,MAAM,GAAG,CAAAhE,EAAA,GAAA,CAAAtB,EAAA,GAAA4M,YAAY,CAACE,gBAAgB,MAAA,IAAA,IAAA9M,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAxF,IAAA,CAAAoS,YAAA,CAAI,MAAI,IAAA,IAAAtL,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,gBAAgB;oBAEpE,IAAIgE,MAAM,KAAK,aAAa,EAAE;sBAC5BY,iBAAiB,KAAjB,IAAA,IAAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,iBAAiB,EAAI;oBACvB;oBACA,OAAO7K,OAAO,CAAC;sBACbgK,OAAO,EAAE,KAAK;sBACdC,MAAAA,EAAAA;oBACD,CAAA,CAAC;kBACJ;kBAQA,IAAK,CAACsH,YAAY,CAACG,cAAc,IAAIf,0BAA0B,KAAK,CAAAgB,EAAA,GAAAJ,YAAY,CAACG,cAAc,MAAI,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAxS,IAAA,CAAAoS,YAAA,CAAA,CAAA,EAAE;oBACnG,OAAOvR,OAAO,CAAC;sBACbgK,OAAO,EAAE,KAAK;sBACdC,MAAM,EAAE,MAAA,CAAA2H,EAAA,GAAAL,YAAY,CAACM,qBAAqB,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAzS,IAAA,CAAAoS,YAAA,CAAI,mCAAI;oBACnD,CAAA,CAAC;kBACJ;kBAEA,IAAI,CAACA,YAAY,CAACO,iBAAiB,EAAE,EAAE;oBACrCT,OAAI,CAACU,UAAU,CAACpB,0BAA0B,CAAC;oBAC3C,OAAO3Q,OAAO,CAAC;sBAAEgK,OAAO,EAAE;oBAAI,CAAE,CAAC;kBACnC;gBACF,CAAC,CAAC;cACJ,CAAC,CAAC;UAAA;QAAA,GAAAgI,SAAA;MAAA,CACH,EAAA;IAAA;EAAA;IAAA1N,GAAA;IAAAvE,KAAA,EAEDgS,SAAAA,UAAUA,CAACpB,0BAAmC,EAAA;MAC5C,IAAI,CAACA,0BAA0B,EAAE;QAC/B;MACF;MACAsB,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAEC,UAAAA,KAAK,EAAI;QACpE,IAAIA,KAAK,CAACC,GAAG,CAACC,QAAQ,CAAC3Q,mBAAmB,CAAC,EAAE;UAC3CyQ,KAAK,CAAC5H,KAAK,CAAC+H,KAAK,GAAG,MAAM;QAC5B;MACF,CAAC,CAAC;IACJ;EAAA;AAAA;ACjGK,IAAMC,sBAAsB,GAAGA,SAAzBA,sBAAsBA,CAAA;EAAA,OACjCpM,YAAY,CAACxE,yBAAyB,EAAE;IAAA,OAAMyE,MAAM,CAACoM,MAAM,CAACC,QAAQ,CAACC,EAAE;EAAA,EAAC;AAAA;AAAA,IAiB7DC,cAAc;EAGzBzP,SAAAA,eACUC,YAAoB,EACpByP,kBAA+B,EAAA;IAAA,IAAAC,OAAA;IAAAtP,gBAAA,OAAAoP,cAAA;IAD/B,IAAY,CAAAxP,YAAA,GAAZA,YAAY;IACZ,IAAkB,CAAAyP,kBAAA,GAAlBA,kBAAkB;IAmB5B,IAAA,CAAA7I,sBAAsB,GACpB,UAAA+I,MAAA;MAAA,IACE5I,gBAAgB,GAAA4I,MAAA,CAAhB5I,gBAAgB;QAChBF,iBAAiB,GAAA8I,MAAA,CAAjB9I,iBAAiB;QACjBI,SAAAA,GAAAA,MAAAA,CAAAA,SAAAA;MAAAA,OAMK1F,UAAAA,QAA4B;QAAA,OAAIpF,SAAA,CAAAuT,OAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAAlM,aAAA,GAAAC,CAAA,CAAA,SAAAmM,UAAA;UAAA,IAAAC,UAAA,EAAAC,qBAAA,EAAAC,YAAA;UAAA,OAAAvM,aAAA,GAAAM,CAAA,WAAAkM,UAAA;YAAA,kBAAAA,UAAA,CAAAhM,CAAA;cAAA;gBAC7B6L,UAAAA,GAAetO,QAAQ,CAAvBsO,UAAAA;gBAAAA,UAAAA,CAAAA,CAAAA;gBACiB,OAAM,IAAI,CAACI,uBAAuB,CAAC;kBAC1DJ,UAAU,EAAVA,UAAU;kBACV9I,gBAAgB,EAAhBA,gBAAgB;kBAChBF,iBAAAA,EAAAA;gBACD,CAAA,CAAC;cAAA;gBAAAiJ,qBAAA,GAAAE,UAAA,CAAA9L,CAAA;gBAJM6L,YAAAA,GAAAA,qBAAAA,CAAAA,YAAAA;gBAKR9I,SAAS,CAAC8I,YAAY,CAAC;cAAA;gBAAA,OAAAC,UAAA,CAAA7L,CAAA;YAAA;UAAA,GAAAyL,SAAA;QAAA,CACxB,EAAA;MAAA;IAAA;IAgCH,IAAA,CAAA1I,iBAAiB,GAAI6I,UAAAA,YAAoB,EAAI;MAC3C9M,MAAM,CAACyH,QAAQ,CAACwF,IAAI,GAAGH,YAAY;KACpC;EAtEE;EAAA,OAAAhP,aAAA,CAAAyO,cAAA;IAAAxO,GAAA;IAAAvE,KAAA,EAEGgK,SAAAA,kBAAkBA,CAAAA,EAAA;;;;;;;;cAGE,OAAM,IAAI,CAAC0J,gBAAgB,EAAE;YAAA;cAAAC,qBAAA,GAAAC,UAAA,CAAAnM,CAAA;cAAhDoM,cAAAA,GAAAA,qBAAAA,CAAAA,cAAAA;cAAAA,UAAAA,CAAAA,CAAAA;cAAAA;YAAAA;cAAAA,UAAAA,CAAAA,CAAAA;cAAAA,GAAAA,GAAAA,UAAAA,CAAAA,CAAAA;cAEGC,GAAG,GAAGC,cAAc,CAAC5B,IAAI,CAAA6B,GAAE,CAAC;cAAA,OAAAJ,UAAA,CAAAlM,CAAA,IAC3B;gBAAEuC,OAAO,EAAE,KAAK;gBAAEC,MAAM,EAAE4J,GAAG,CAACG;eAAY;YAAA;cAAA,MAG/CJ,cAAc,KAAK,EAAE;gBAAAD,UAAA,CAAArM,CAAA;gBAAA;cAAA;cAAA,OAAAqM,UAAA,CAAAlM,CAAA,IAChB;gBAAEuC,OAAO,EAAE,KAAK;gBAAEC,MAAM,EAAE;eAA0B;YAAA;cAAAgK,GAAA,GAE1C5D,kBAAkB;cAAAsD,UAAA,CAAArM,CAAA;cAAC,OAAMoL,sBAAsB,CAAE,CAAA;YAAA;cAAAwB,IAAA,GAAAP,UAAA,CAAAnM,CAAA;cAAA2M,IAAA,GAAEP,cAAc;cAA9EhK,MAAM,OAAAqK,GAAA,CAAAC,IAAA,EAAAC,IAAA;cAAA,OAAAR,UAAA,CAAAlM,CAAA,IACL;gBAAEuC,OAAO,EAAE,IAAI;gBAAEJ,MAAAA,EAAAA;eAAQ;UAAA;QAAA,GAAAwK,SAAA;MAAA,CACjC,EAAA;IAAA;EAAA;IAAA9P,GAAA;IAAAvE,KAAA,EAsBO0T,SAAAA,gBAAgBA,CAAAA,EAAA;MACtB,IAAI,IAAI,CAACY,YAAY,EAAE;QACrB,OAAO,IAAI,CAACA,YAAY;MAC1B;MACA,IAAI,CAACA,YAAY,GAAG,IAAI,CAACtB,kBAAkB,CAACzK,WAAW,CAAC;QACtDgM,WAAW,EAAE,IAAI,CAAChR;MACnB,CAAA,CAAC;MACF,OAAO,IAAI,CAAC+Q,YAAY;IAC1B;EAAA;IAAA/P,GAAA;IAAAvE,KAAA,EAEcwT,SAAAA,uBAAuBA,CAAAA,MAAAA,EAQpC;MAAA,IAPCJ,UAAU,GAAAoB,MAAA,CAAVpB,UAAU;QACV9I,gBAAgB,GAAAkK,MAAA,CAAhBlK,gBAAgB;QAChBF,iBAAAA,GAAAA,MAAAA,CAAAA,iBAAAA;;;;;;;cAM4B,OAAM,IAAI,CAACsJ,gBAAgB,EAAE;YAAA;cAAAe,sBAAA,GAAAC,UAAA,CAAAjN,CAAA;cAAjDkN,eAAAA,GAAAA,sBAAAA,CAAAA,eAAAA;cAAAA,OAAAA,UAAAA,CAAAA,CAAAA,IAED,IAAI,CAAC3B,kBAAkB,CAACvK,YAAY,CAAC;gBAC1C8L,WAAW,EAAE,IAAI,CAAChR,YAAY;gBAC9BqR,OAAO,EAAExB,UAAU;gBACnByB,gBAAgB,EAAEvK,gBAAgB;gBAClCwK,eAAe,EAAEH,eAAe;gBAChCI,iBAAiB,EAAE3K;cACpB,CAAA,CAAC;UAAA;QAAA,GAAA4K,SAAA;MAAA,CACH,EAAA;IAAA;EAAA;IAAAzQ,GAAA;IAAAvE,KAAA,EAYD,SAAOiV,4BAA4BA,CAAAA,EAAyB;MAAA,IAAxBC,EAAE,GAAAC,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAGC,SAAS,CAACC,SAAS;MAC1D,IAAMC,UAAU,GAAGA,SAAbA,UAAUA,CAAID,SAAiB,EAAEE,YAAoB;QAAA,OAAKF,SAAS,CAAChW,OAAO,CAACkW,YAAY,CAAC,KAAK,CAAC,CAAC;MAAA;MAEtG,IAAMC,UAAU,GACdF,UAAU,CAACJ,EAAE,EAAE,MAAM,CAAC,IAAKI,UAAU,CAACJ,EAAE,EAAE,SAAS,CAAC,IAAI,CAACI,UAAU,CAACJ,EAAE,EAAE,QAAQ,CAAE,IAAII,UAAU,CAACJ,EAAE,EAAE,MAAM,CAAC;MAE9G,IAAMO,UAAU,GACdH,UAAU,CAACJ,EAAE,EAAE,MAAM,CAAC,IAAII,UAAU,CAACJ,EAAE,EAAE,QAAQ,CAAC,IAAII,UAAU,CAACJ,EAAE,EAAE,SAAS,CAAC,IAAII,UAAU,CAACJ,EAAE,EAAE,UAAU,CAAC;MAE/G,OAAO,CAACM,UAAU,IAAIC,UAAU;IAClC;EAAA;AAAA;ACjHF,IAAMC,yBAAyB,GAAG,eAAwB;AAE1D,SAASC,KAAKA,CAACpO,CAAS,EAAA;EACtB,IAAIqO,GAAG,GAAGrO,CAAC,CAACsO,QAAQ,CAAC,EAAE,CAAC;EACxB,IAAID,GAAG,CAACpW,MAAM,KAAK,CAAC,EAAE;IACpBoW,GAAG,GAAG,GAAG,GAAGA,GAAG;EACjB;EACA,OAAOA,GAAG;AACZ;AAEA,SAASE,eAAeA,CAACC,GAAgB,EAAA;EAAA,IAAAC,oBAAA;EAKvC,OAAOpH,IAAI,CAACqH,CAAAA,oBAAAA,GAAAA,MAAM,CAACC,YAAY,EAAC9W,IAAI,CAAAuB,KAAA,CAAAqV,oBAAA,GAAC,IAAI,EAAAhU,MAAA,CAAAmU,mBAAA,CAAK,IAAIC,UAAU,CAACL,GAAG,CAAC,GAAC,CAAC,CAChEM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACvB;AAAA,IAEaC,WAAW;EACtBhT,SAAAA,YACUG,UAAoE,EACpE8S,SAAiB,EAAA;IAAA5S,gBAAA,OAAA2S,WAAA;IADjB,IAAU,CAAA7S,UAAA,GAAVA,UAAU;IACV,IAAS,CAAA8S,SAAA,GAATA,SAAS;EAChB;EAAA,OAAAjS,aAAA,CAAAgS,WAAA;IAAA/R,GAAA;IAAAvE,KAAA,EAEKuE,SAAAA,GAAGA,CAAAA,EAAA;MACT,UAAAvC,MAAA,CAAU0T,yBAAyB,OAAA1T,MAAA,CAAI,IAAI,CAACuU,SAAS;IACvD;EAAA;IAAAhS,GAAA;IAAAvE,KAAA,EAEMwW,SAAAA,oBAAoBA,CAAAA,EAAA;;;;;;;cACR,OAAMF,WAAW,CAACG,kBAAkB,EAAE;YAAA;cAAhDC,OAAO,GAAAC,UAAA,CAAAlP,CAAA;cACb,IAAI,CAAChE,UAAU,CAACS,OAAO,CAAC,IAAI,CAACK,GAAG,CAAE,CAAA,EAAEJ,IAAI,CAACC,SAAS,CAACsS,OAAO,CAAC,CAAC;cAAA,OAAAC,UAAA,CAAAjP,CAAA,IACrDgP,OAAO;UAAA;QAAA,GAAAE,SAAA;MAAA,CACf,EAAA;IAAA;EAAA;IAAArS,GAAA;IAAAvE,KAAA,EAED6W,SAAAA,SAASA,CAAAA,EAAA;MACP,IAAMC,UAAU,GAAG,IAAI,CAACrT,UAAU,CAACiB,OAAO,CAAC,IAAI,CAACH,GAAG,CAAA,CAAE,CAAC;MACtD,IAAIuS,UAAU,KAAK,IAAI,EAAE;QACvB,OAAOnP,SAAS;MAClB;MACA,IAAI;QACF,OAAOxD,IAAI,CAACQ,KAAK,CAACmS,UAAU,CAAiB;MAC9C,CAAA,CAAC,OAAAlS,EAAA,EAAM;QACNP,MAAM,CAAC0S,IAAI,CAAC,iDAAiD,CAAC;QAC9D,OAAOpP,SAAS;MAClB;IACF;EAAA;IAAApD,GAAA;IAAAvE,KAAA,EAEAgX,SAAAA,WAAWA,CAAAA,EAAA;MACT,OAAO,IAAI,CAACvT,UAAU,CAACwT,UAAU,CAAC,IAAI,CAAC1S,GAAG,CAAE,CAAA,CAAC;IAC/C;EAAA;IAAAA,GAAA;IAAAvE,KAAA,EAEA,SAAayW,kBAAkBA,CAAAA,EAAA;;;;;;cACvBS,KAAK,GAAG,IAAIC,WAAW,CAAC,EAAE,CAAC;cACjC3Q,MAAM,CAAC4Q,MAAM,CAACC,eAAe,CAACH,KAAK,CAAC;cAC9BI,YAAY,GAAGpF,KAAK,CAACC,IAAI,CAAC+E,KAAK,CAAC,CAACK,GAAG,CAAC5B,KAAK,CAAC,CAAC6B,IAAI,CAAC,EAAE,CAAC;cAAAC,UAAA,CAAAlQ,CAAA;cAE3C,OAAMf,MAAM,CAAC4Q,MAAM,CAACM,MAAM,CAACC,MAAM,CAAC,SAAS,EAAE,IAAIC,WAAW,CAAE,CAAA,CAACC,MAAM,CAACP,YAAY,CAAC,CAAC;YAAA;cAA7FK,MAAM,GAAAF,UAAA,CAAAhQ,CAAA;cAAA,OAAAgQ,UAAA,CAAA/P,CAAA,IAEL;gBACLoQ,cAAc,EAAEhC,eAAe,CAAC6B,MAAM,CAAC;gBACvCI,aAAa,EAAET;eAChB;UAAA;QAAA,GAAAU,SAAA;MAAA,CACF,EAAA;IAAA;EAAA;AAAA;ACrEH;AAEA,SAAShL,MAAMA,CAAEiL,MAAM,EAAE;EACvB,KAAK,IAAI1Y,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4V,SAAS,CAAC3V,MAAM,EAAED,CAAC,EAAE,EAAE;IACzC,IAAI2Y,MAAM,GAAG/C,SAAS,CAAC5V,CAAC,CAAC;IACzB,KAAK,IAAIgF,GAAG,IAAI2T,MAAM,EAAE;MACtBD,MAAM,CAAC1T,GAAG,CAAC,GAAG2T,MAAM,CAAC3T,GAAG,CAAC;IAC1B;EACF;EACD,OAAO0T,MAAM;AACf;AAIA,IAAIE,gBAAgB,GAAG;EACrBC,IAAI,EAAE,SAANA,IAAIA,CAAYpY,KAAK,EAAE;IACrB,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACpBA,KAAK,GAAGA,KAAK,CAACqY,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B;IACD,OAAOrY,KAAK,CAACqW,OAAO,CAAC,kBAAkB,EAAEiC,kBAAkB,CAAC;EAC7D,CAAA;EACDC,KAAK,EAAE,SAAPA,KAAKA,CAAYvY,KAAK,EAAE;IACtB,OAAOwY,kBAAkB,CAACxY,KAAK,CAAC,CAACqW,OAAO,CACtC,0CAA0C,EAC1CiC,kBACD,CAAA;EACF;AACH,CAAC;AAKD,SAASG,IAAIA,CAAEC,SAAS,EAAEC,iBAAiB,EAAE;EAC3C,SAASC,GAAGA,CAAErU,GAAG,EAAEvE,KAAK,EAAE6Y,UAAU,EAAE;IACpC,IAAI,OAAOzG,QAAQ,KAAK,WAAW,EAAE;MACnC;IACD;IAEDyG,UAAU,GAAG7L,MAAM,CAAC,CAAA,CAAE,EAAE2L,iBAAiB,EAAEE,UAAU,CAAC;IAEtD,IAAI,OAAOA,UAAU,CAACC,OAAO,KAAK,QAAQ,EAAE;MAC1CD,UAAU,CAACC,OAAO,GAAG,IAAItL,IAAI,CAACA,IAAI,CAACuL,GAAG,CAAA,CAAE,GAAGF,UAAU,CAACC,OAAO,GAAG,KAAK,CAAC;IACvE;IACD,IAAID,UAAU,CAACC,OAAO,EAAE;MACtBD,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,CAACE,WAAW,CAAA,CAAE;IACtD;IAEDzU,GAAG,GAAGiU,kBAAkB,CAACjU,GAAG,CAAC,CAC1B8R,OAAO,CAAC,sBAAsB,EAAEiC,kBAAkB,CAAC,CACnDjC,OAAO,CAAC,OAAO,EAAE4C,MAAM,CAAC;IAE3B,IAAIC,qBAAqB,GAAG,EAAE;IAC9B,KAAK,IAAIC,aAAa,IAAIN,UAAU,EAAE;MACpC,IAAI,CAACA,UAAU,CAACM,aAAa,CAAC,EAAE;QAC9B;MACD;MAEDD,qBAAqB,IAAI,IAAI,GAAGC,aAAa;MAE7C,IAAIN,UAAU,CAACM,aAAa,CAAC,KAAK,IAAI,EAAE;QACtC;MACD;MASDD,qBAAqB,IAAI,GAAG,GAAGL,UAAU,CAACM,aAAa,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE;IAED,OAAQhH,QAAQ,CAACiH,MAAM,GACrB9U,GAAG,GAAG,GAAG,GAAGmU,SAAS,CAACH,KAAK,CAACvY,KAAK,EAAEuE,GAAG,CAAC,GAAG2U,qBAAqB;EAClE;EAED,SAASvQ,GAAGA,CAAEpE,GAAG,EAAE;IACjB,IAAI,OAAO6N,QAAQ,KAAK,WAAW,IAAK+C,SAAS,CAAC3V,MAAM,IAAI,CAAC+E,GAAI,EAAE;MACjE;IACD;IAID,IAAI+U,OAAO,GAAGlH,QAAQ,CAACiH,MAAM,GAAGjH,QAAQ,CAACiH,MAAM,CAACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;IAChE,IAAIG,GAAG,GAAG,CAAA,CAAE;IACZ,KAAK,IAAIha,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+Z,OAAO,CAAC9Z,MAAM,EAAED,CAAC,EAAE,EAAE;MACvC,IAAIia,KAAK,GAAGF,OAAO,CAAC/Z,CAAC,CAAC,CAAC6Z,KAAK,CAAC,GAAG,CAAC;MACjC,IAAIpZ,KAAK,GAAGwZ,KAAK,CAACnB,KAAK,CAAC,CAAC,CAAC,CAACb,IAAI,CAAC,GAAG,CAAC;MAEpC,IAAI;QACF,IAAIiC,QAAQ,GAAGnB,kBAAkB,CAACkB,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3CD,GAAG,CAACE,QAAQ,CAAC,GAAGf,SAAS,CAACN,IAAI,CAACpY,KAAK,EAAEyZ,QAAQ,CAAC;QAE/C,IAAIlV,GAAG,KAAKkV,QAAQ,EAAE;UACpB;QACD;MACT,CAAO,CAAC,OAAO3a,CAAC,EAAE,CAAE;IACf;IAED,OAAOyF,GAAG,GAAGgV,GAAG,CAAChV,GAAG,CAAC,GAAGgV,GAAG;EAC5B;EAED,OAAOta,MAAM,CAACya,MAAM,CAClB;IACEd,GAAG,EAAEA,GAAG;IACRjQ,GAAG,EAAEA,GAAG;IACRgR,MAAM,EAAE,SAARA,MAAMA,CAAYpV,GAAG,EAAEsU,UAAU,EAAE;MACjCD,GAAG,CACDrU,GAAG,EACH,EAAE,EACFyI,MAAM,CAAC,CAAE,CAAA,EAAE6L,UAAU,EAAE;QACrBC,OAAO,EAAE,CAAC;MACtB,CAAW,CACX,CAAS;IACF,CAAA;IACDc,cAAc,EAAE,SAAhBA,cAAcA,CAAYf,UAAU,EAAE;MACpC,OAAOJ,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE1L,MAAM,CAAC,CAAA,CAAE,EAAE,IAAI,CAAC6L,UAAU,EAAEA,UAAU,CAAC,CAAC;IACrE,CAAA;IACDgB,aAAa,EAAE,SAAfA,aAAaA,CAAYnB,SAAS,EAAE;MAClC,OAAOD,IAAI,CAACzL,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC0L,SAAS,EAAEA,SAAS,CAAC,EAAE,IAAI,CAACG,UAAU,CAAC;IACpE;EACF,CAAA,EACD;IACEA,UAAU,EAAE;MAAE7Y,KAAK,EAAEf,MAAM,CAAC6a,MAAM,CAACnB,iBAAiB;IAAG,CAAA;IACvDD,SAAS,EAAE;MAAE1Y,KAAK,EAAEf,MAAM,CAAC6a,MAAM,CAACpB,SAAS;IAAG;EAC/C,CACF,CAAA;AACH;AAEA,IAAIqB,GAAG,GAAGtB,IAAI,CAACN,gBAAgB,EAAE;EAAE6B,IAAI,EAAE;AAAG,CAAE,CAAC;AC9HxC,IAAMC,eAAe,GAAGA,SAAlBA,eAAeA,CAAA,EAAqD;EAAA,IAAAC,MAAA,GAAA/E,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAP,EAAE;IAAAgF,qBAAA,GAAAD,MAAA,CAA1CE,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,EAAA,GAAAA,qBAAA;EAKlD,IAAME,UAAS,GAAGA,SAAZA,SAASA,CAAI3S,CAAM,EAAE4S,CAAM,EAAc;IAE7C,IAAIC,QAAA,CAAO7S,CAAC,MAAA6S,QAAA,CAAYD,CAAC,GAAE,OAAO,KAAK;IAEvC,IAAI5S,CAAC,KAAK,IAAI,IAAI4S,CAAC,KAAK,IAAI,EAAE,OAAO5S,CAAC,KAAK4S,CAAC;IAC5C,IAAIC,QAAA,CAAO7S,CAAC,MAAK,QAAQ,EAAE;MACzB,IAAIzI,MAAM,CAACub,IAAI,CAAC9S,CAAC,CAAC,CAAClI,MAAM,KAAKP,MAAM,CAACub,IAAI,CAACF,CAAC,CAAC,CAAC9a,MAAM,IAAIP,MAAM,CAACub,IAAI,CAAC9S,CAAC,CAAC,CAAC+S,IAAI,CAAEC,UAAAA,CAAC;QAAA,OAAK,EAAEA,CAAC,IAAIJ,CAAC,CAAC;MAAA,EAAC,EAAE,OAAO,KAAK;MAC1G,OAAOrb,MAAM,CAAC0b,OAAO,CAACjT,CAAC,CAAC,CACrBkT,MAAM,CAAC,UAAAC,MAAA;QAAA,IAAAC,MAAA,GAAAC,eAAA,CAAAF,MAAA;UAAEH,CAAC,GAAAI,MAAA;QAAA,OAAM,CAACV,eAAe,CAAC3H,QAAQ,CAACiI,CAAC,CAAC;MAAA,EAAC,CAC7CM,KAAK,CAAC,UAAAC,MAAA;QAAA,IAAAC,MAAA,GAAAH,eAAA,CAAAE,MAAA;UAAEP,CAAC,GAAAQ,MAAA;UAAEzT,CAAC,GAAAyT,MAAA;QAAA,OAAMb,UAAS,CAAC5S,CAAC,EAAE6S,CAAC,CAACI,CAAC,CAAC,CAAC;MAAA,EAAC;IAC1C;IAEA,OAAOhT,CAAC,KAAK4S,CAAC;GACf;EAED,OAAOD,UAAS;AAClB,CAAC;ACiCM,IAAMc,WAAW,GAAGA,SAAdA,WAAWA,CAAA;EAAA,OACtBC,OAAO,CACL5U,MAAM,CAACyH,QAAQ,CAACC,QAAQ,KAAK,WAAW,IAEtC1H,MAAM,CAACyH,QAAQ,CAACC,QAAQ,KAAK,OAAO,IAEpC1H,MAAM,CAACyH,QAAQ,CAACC,QAAQ,CAACmN,KAAK,CAAC,wDAAwD,CAAC,CAC3F;AAAA;AAII,IAAMC,kBAAkB,GAAIC,SAAtBD,kBAAkBA,CAAIC,UAAkB,EAAI;EACvD,IAAMC,WAAW,GAAGpJ,QAAQ,CAACiH,MAAM,GAAGjH,QAAQ,CAACiH,MAAM,CAACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;EACtE,IAAMqC,cAAc,GAAGD,WAAW,CAACZ,MAAM,CAAEc,UAAAA,IAAI,EAAI;IACjD,IAAAC,WAAA,GAAeD,IAAI,CAACtC,KAAK,CAAC,GAAG,CAAC;MAAAwC,YAAA,GAAAb,eAAA,CAAAY,WAAA;MAAvB1a,IAAI,GAAA2a,YAAA;IACX,OAAOL,UAAU,KAAKta,IAAI;EAC5B,CAAC,CAAC;EAEF,OAAOwa,cAAc,CAACjc,MAAM,GAAG,CAAC;AAClC,CAAC;AC7ED,IAAMqc,6BAA6B,GAAG,mBAAmB;AAqBlD,IAAMC,uBAAuB,GAAGA,SAA1BA,uBAAuBA,CAAIvH,WAAmB,EAAEhQ,GAAe,EAAY;EACtF,UAAAvC,MAAA,CAAU6Z,6BAA6B,EAAA7Z,MAAA,CAAGuS,WAAW,EAAAvS,MAAA,CAAGuC,GAAG,QAAAvC,MAAA,CAAQuC,GAAG,IAAK,EAAE;AAC/E,CAAC;AAcD,SAASwX,eAAeA,CAACC,OAA4B,EAAA;EACnD,IAAIA,OAAO,IAAI,IAAI,EAAE;IACnB,OAAO;MACLtX,OAAOA,WAAPA,OAAOA,CAAAA,EAAA;QACL,OAAO,IAAI;MACZ,CAAA;MACDuS,UAAUA,WAAVA,UAAUA,CAAAA,EAAA,CAET,CAAA;MACD/S,OAAOA,WAAPA,OAAOA,CAAAA,EAAA,CACL;KAEH;EACH;EAEA,OAAO;IACLQ,OAAOA,WAAPA,OAAOA,CAACuX,SAAiB,EAAE1X,GAAe,EAAA;MACxC,IAAM2X,oBAAoB,GAAGJ,uBAAuB,CAACG,SAAS,EAAE1X,GAAG,CAAC;MACpE,IAAI;QACF,OAAOyX,OAAO,CAACtX,OAAO,CAACwX,oBAAoB,CAAC;MAC7C,CAAA,CAAC,OAAAtX,EAAA,EAAM;QAEN,OAAO,IAAI;MACb;IACD,CAAA;IACDV,OAAOA,WAAPA,OAAOA,CAAC+X,SAAiB,EAAE1X,GAAe,EAAEvE,KAAa,EAAA;MACvD,IAAMkc,oBAAoB,GAAGJ,uBAAuB,CAACG,SAAS,EAAE1X,GAAG,CAAC;MACpE,IAAI;QACF,IAAIvE,KAAK,EAAEgc,OAAO,CAAC9X,OAAO,CAACgY,oBAAoB,EAAElc,KAAK,CAAC;MACxD,CAAA,CAAC,OAAA4E,EAAA,EAAM,CACN;IAEH,CAAA;IACDqS,UAAUA,WAAVA,UAAUA,CAACgF,SAAiB,EAAE1X,GAAe,EAAA;MAC3C,IAAM2X,oBAAoB,GAAGJ,uBAAuB,CAACG,SAAS,EAAE1X,GAAG,CAAC;MACpE,IAAI;QACFyX,OAAO,CAAC/E,UAAU,CAACiF,oBAAoB,CAAC;MACzC,CAAA,CAAC,OAAAtX,EAAA,EAAM,CACN;IAEJ;GACD;AACH;AAEO,IAAMuX,gBAAgB,GAAGJ,eAAe,CAACK,UAAU,CAACC,YAAY,CAAC;AACjE,IAAMC,kBAAkB,GAAGP,eAAe,CAACK,UAAU,CAACG,cAAc,CAAC;AAE5D,SAAAC,kBAAkBA,CAACR,OAAiB,EAAEzH,WAAmB,EAAA;EACvE,OAAO;IACL7P,OAAOA,WAAPA,OAAOA,CAACH,GAAe,EAAA;MACrB,OAAOyX,OAAO,CAACtX,OAAO,CAAC6P,WAAW,EAAEhQ,GAAG,CAAC;IACzC,CAAA;IACDL,OAAOA,WAAPA,OAAOA,CAACK,GAAe,EAAEvE,KAAa,EAAA;MACpCgc,OAAO,CAAC9X,OAAO,CAACqQ,WAAW,EAAEhQ,GAAG,EAAEvE,KAAK,CAAC;IACzC,CAAA;IACDiX,UAAUA,WAAVA,UAAUA,CAAC1S,GAAe,EAAA;MACxByX,OAAO,CAAC/E,UAAU,CAAC1C,WAAW,EAAEhQ,GAAG,CAAC;IACtC;GACD;AACH;ACpDA,IAAMkY,qBAAqB,GAAG,gBAAgB;AAC9C,IAAMC,yBAAyB,GAAG,oBAAoB;AACtD,IAAMC,wCAAwC,GAAG,mCAAmC;AACpF,IAAMC,gBAAgB,GAAG,cAAc;AAAA,IAE1BC,qBAAqB;EAehCvZ,SAAAA,sBAAYiR,WAAmB,EAAE7K,OAA6B,EAAA;IAAA/F,gBAAA,OAAAkZ,qBAAA;IAX7C,IAAsB,CAAAC,sBAAA,GAAkB,IAAI;IAC5C,IAAc,CAAAC,cAAA,GAAkB,IAAI;IACpC,IAAW,CAAAC,WAAA,GAAkB,IAAI;IACjC,IAAO,CAAAC,OAAA,GAAkB,IAAI;IAC7B,IAA4B,CAAAC,4BAAA,GAAY,KAAK;IAC7C,IAAc,CAAAC,cAAA,GAAkB,IAAI;IAOnD,IAAI,CAAC5I,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAAC/M,KAAK,GAAG,IAAI;IACjB,IAAI,CAAC4V,gBAAgB,GAAG,IAAIC,GAAG,EAAE;IACjC,IAAI,CAACC,aAAa,GAAG,EAAE;IAGvB,IAAI,CAACC,aAAa,GAAGf,kBAAkB,CAACL,gBAAgB,EAAE5H,WAAW,CAAC;IACtE,IAAI,CAACiJ,qBAAqB,GAAGhB,kBAAkB,CAACF,kBAAkB,EAAE/H,WAAW,CAAC;IAEhF,IAAI7K,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE+T,aAAa,EAAE;MAC1B,IAAI,CAACX,sBAAsB,GAAGpT,OAAO,CAAC+T,aAAa,CAACC,qBAAqB,IAAI,IAAI;MACjF,IAAI,CAACX,cAAc,GAAGrT,OAAO,CAAC+T,aAAa,CAACE,aAAa,IAAI,IAAI;MACjE,IAAI,CAACX,WAAW,GAAGtT,OAAO,CAAC+T,aAAa,CAACzD,IAAI,IAAI,IAAI;MACrD,IAAI,CAACiD,OAAO,GAAGvT,OAAO,CAAC+T,aAAa,CAACG,MAAM,IAAI,IAAI;MACnD,IAAI,CAACV,4BAA4B,GAAGxT,OAAO,CAAC+T,aAAa,CAACI,qBAAqB,IAAI,KAAK;MACxF,IAAI,CAACV,cAAc,GAAGzT,OAAO,CAAC+T,aAAa,CAACK,aAAa,IAAI,IAAI;IACnE;IAEA,IAAMC,iBAAiB,GAAG,IAAI,CAACR,aAAa,CAAC7Y,OAAO,CAAC,EAAE,CAAC;IAExD,IAAI,CAACqZ,iBAAiB,EAAE;MACtB;IACF;IACA,IAAIC,WAAoB;IACxB,IAAI;MACFA,WAAW,GAAG7Z,IAAI,CAACQ,KAAK,CAACoZ,iBAAiB,CAAC;IAC5C,CAAA,CAAC,OAAAnZ,EAAA,EAAM;MAEN,IAAI,CAACqZ,kBAAkB,CAAA,CAAE;MACzB;IACF;IAEA,IAAI,CAACzW,KAAK,GAAGwW,WAAgB;EAC/B;EAAA,OAAA1Z,aAAA,CAAAuY,qBAAA;IAAAtY,GAAA;IAAAoE,GAAA,EAEA,SAAAA,IAAA,EAAmC;;MACjC,OAAO,MAAA,IAAI,CAACmU,sBAAsB,MAAA,IAAA,IAAAlY,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI6X,qBAAqB;IAC7D;EAAA;IAAAlY,GAAA;IAAAoE,GAAA,EAEA,SAAAA,IAAA,EAA2B;;MACzB,OAAO,MAAA,IAAI,CAACoU,cAAc,MAAA,IAAA,IAAAnY,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI8X,yBAAyB;IACzD;EAAA;IAAAnY,GAAA;IAAAoE,GAAA,EAEA,SAAAA,IAAA,EAA2B;;MACzB,OAAO,MAAA,IAAI,CAACwU,cAAc,MAAA,IAAA,IAAAvY,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI+X,wCAAwC;IACxE;EAAA;IAAApY,GAAA;IAAAvE,KAAA,EAEAyO,SAAAA,iBAAiBA,CAAAA,EAAA;MACf,OAAO;QACLC,aAAa,EAAEwP,GAAO,CAACvV,GAAG,CAAC,IAAI,CAAC+U,qBAAqB,CAAC;QACtDS,WAAW,EAAED,GAAO,CAACvV,GAAG,CAAC,IAAI,CAACgV,aAAa;OAC5C;IACH;EAAA;IAAApZ,GAAA;IAAAvE,KAAA,EAEAoe,SAAAA,kCAAkCA,CAAAA,EAAA;MAChC,OAAOF,GAAO,CAACvV,GAAG,CAAC,IAAI,CAACmV,aAAa,CAAC;IACxC;EAAA;IAAAvZ,GAAA;IAAAvE,KAAA,EAEAqe,SAAAA,kBAAkBA,CAACC,SAA6C,EAAA;;MAC9D,IAAQ9W,KAAK,GAAiC8W,SAAS,CAA/C9W,KAAK;QAAEkH,aAAa,GAAkB4P,SAAS,CAAxC5P,aAAa;QAAEyP,WAAAA,GAAgBG,SAAS,CAAzBH,WAAAA;MAE9B,IAAMI,UAAU,GAAG1B,qBAAqB,CAAC2B,kBAAkB,CAAC;QAC1DC,SAAS,EAAE,CAAAvY,EAAA,GAAA,CAAAtB,EAAA,GAAA4C,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkX,OAAO,MAAE,IAAA,IAAA9Z,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAA+Z,UAAU,mCAAI,EAAE;QAC3Cd,qBAAqB,EAAE,IAAI,CAACX,4BAA4B;QACxDlD,IAAI,EAAE,IAAI,CAACgD,WAAW;QACtBY,MAAM,EAAE,IAAI,CAACX;MACd,CAAA,CAAC;MAEF,IAAIsB,UAAU,CAACX,MAAM,EAAE;QACrB,IAAI,CAACgB,aAAa,CAACL,UAAU,CAACX,MAAM,CAAC;MACvC;MAEAM,GAAO,CAACtF,GAAG,CAAC,IAAI,CAAC8E,qBAAqB,EAAEhP,aAAa,EAAE6P,UAAU,CAAC;MAClEL,GAAO,CAACtF,GAAG,CAAC,IAAI,CAAC+E,aAAa,EAAEQ,WAAW,EAAEI,UAAU,CAAC;MASxD,IAAMM,sBAAsB,GAAGhC,qBAAqB,CAAC2B,kBAAkB,CAAC;QACtEC,SAAS,EAAE,CAAA5M,EAAA,GAAA,CAAAD,EAAA,GAAApK,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkX,OAAO,MAAE,IAAA,IAAA9M,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAA+M,UAAU,mCAAI,EAAE;QAC3Cd,qBAAqB,EAAE,CAAC,IAAI,CAACX,4BAA4B;QACzDlD,IAAI,EAAE,IAAI,CAACgD,WAAW;QACtBY,MAAM,EAAE,IAAI,CAACX;MACd,CAAA,CAAC;MAEF,IAAI4B,sBAAsB,CAACjB,MAAM,EAAE;QACjC,IAAI,CAACgB,aAAa,CAACC,sBAAsB,CAACjB,MAAM,CAAC;MACnD;MAEA,IAAItC,kBAAkB,CAAC,IAAI,CAACqC,aAAa,CAAC,EAAE;QAC1CO,GAAO,CAACvE,MAAM,CAAC,IAAI,CAACgE,aAAa,EAAEkB,sBAAsB,CAAC;MAC5D;MAEA,IAAIvD,kBAAkB,CAAC,IAAI,CAACoC,qBAAqB,CAAC,EAAE;QAClDQ,GAAO,CAACvE,MAAM,CAAC,IAAI,CAAC+D,qBAAqB,EAAEmB,sBAAsB,CAAC;MACpE;MAEA,IAAIvD,kBAAkB,CAAC,IAAI,CAACqC,aAAa,CAAC,EAAE;QAC1CtZ,MAAM,CAAC0S,IAAI,CACT,yJAAyJ,CAC1J;MACH;MAEA,IAAIuE,kBAAkB,CAAC,IAAI,CAACoC,qBAAqB,CAAC,EAAE;QAClDrZ,MAAM,CAAC0S,IAAI,CAAC,kDAAkD,CAAC;MACjE;IACF;EAAA;IAAAxS,GAAA;IAAAvE,KAAA,EAEA8e,SAAAA,mCAAmCA,CAACC,GAAW,EAAA;MAE7C,IAAMC,aAAa,GAAG,IAAIxR,IAAI,CAACA,IAAI,CAACuL,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;MACvD,IAAMwF,UAAU,GAAG1B,qBAAqB,CAAC2B,kBAAkB,CAAC;QAC1DC,SAAS,EAAEO,aAAa,CAACnJ,QAAQ,CAAE,CAAA;QACnCgI,qBAAqB,EAAE,IAAI,CAACX,4BAA4B;QACxDlD,IAAI,EAAE,IAAI,CAACgD,WAAW;QACtBY,MAAM,EAAE,IAAI,CAACX;MACd,CAAA,CAAC;MAEFiB,GAAO,CAACtF,GAAG,CAAC,IAAI,CAACkF,aAAa,EAAEiB,GAAG,EAAER,UAAU,CAAC;IAClD;EAAA;IAAAha,GAAA;IAAAvE,KAAA,EAEAif,SAAAA,mBAAmBA,CAAAA,EAAA;MACjB,IAAI,CAACC,aAAa,CAAC,CAAC,IAAI,CAACxB,qBAAqB,EAAE,IAAI,CAACC,aAAa,CAAC,CAAC;IACtE;EAAA;IAAApZ,GAAA;IAAAvE,KAAA,EAEAmf,SAAAA,eAAeA,CAAAA,EAAA;MACb,IAAI,CAACD,aAAa,CAAC,CAAC,IAAI,CAACpB,aAAa,CAAC,CAAC;IAC1C;EAAA;IAAAvZ,GAAA;IAAAvE,KAAA,EAEAkf,SAAAA,aAAaA,CAACE,eAAyB,EAAA;MAAA,IAAAC,OAAA;MAcrC,IAAMC,cAAc,GAAG,IAAI,CAACC,cAAc,EAAE;MAE5C,IAAMC,UAAU,IAAI,IAAI,CAACvC,OAAO,EAAE,IAAI,EAAAjb,MAAA,CAAAmU,mBAAA,CAAKmJ,cAAc,EAAC;MAE1D,IAAMG,aAAa,GAAAtJ,mBAAA,CAAO,IAAIkH,GAAG,CAACmC,UAAU,CAAC,CAAC;MAE9C,CAAC,IAAI,EAAE,KAAK,CAAC,CAAClN,OAAO,CAAEuL,UAAAA,qBAAqB,EAAI;QAC9C,CAACwB,OAAI,CAACrC,WAAW,EAAE,IAAI,CAAC,CAAC1K,OAAO,CAAE0H,UAAAA,IAAI,EAAI;UACxCyF,aAAa,CAACnN,OAAO,CAAEsL,UAAAA,MAAM,EAAI;YAC/B,IAAMW,UAAU,GAAG1B,qBAAqB,CAAC2B,kBAAkB,CAAC;cAC1DC,SAAS,EAAE,IAAIjR,IAAI,CAAC,CAAC,CAAC,CAACqI,QAAQ,CAAE,CAAA;cACjCgI,qBAAqB,EAArBA,qBAAqB;cACrB7D,IAAI,EAAJA,IAAI;cACJ4D,MAAAA,EAAAA;YACD,CAAA,CAAC;YACFwB,eAAe,CAAC9M,OAAO,CAAEiJ,UAAAA,UAAU,EAAI;cACrC2C,GAAO,CAACvE,MAAM,CAAC4B,UAAU,EAAEgD,UAAU,CAAC;YACxC,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EAAA;IAAAha,GAAA;IAAAvE,KAAA,EAEAie,SAAAA,kBAAkBA,CAAAA,EAAA;MAChB,IAAI,CAACV,aAAa,CAACrZ,OAAO,CAAC,EAAE,EAAEC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACoD,KAAK,CAAC,CAAC;IAC5D;EAAA;IAAAjD,GAAA;IAAAvE,KAAA,EAEA0E,SAAAA,OAAOA,CAACH,GAAe,EAAA;MACrB,OAAO,IAAI,CAACgZ,aAAa,CAAC7Y,OAAO,CAACH,GAAG,CAAC;IACxC;EAAA;IAAAA,GAAA;IAAAvE,KAAA,EAEAkE,SAAAA,OAAOA,CAACK,GAAe,EAAEvE,KAAa,EAAA;MACpC,IAAI,CAACud,aAAa,CAACrZ,OAAO,CAACK,GAAG,EAAEvE,KAAK,CAAC;IACxC;EAAA;IAAAuE,GAAA;IAAAvE,KAAA,EAEAiX,SAAAA,UAAUA,CAAC1S,GAAe,EAAA;MACxB,IAAI,CAACgZ,aAAa,CAACtG,UAAU,CAAC1S,GAAG,CAAC;IACpC;EAAA;IAAAA,GAAA;IAAAvE,KAAA,EAKQuf,SAAAA,cAAcA,CAAAA,EAAA;MACpB,IAAMG,aAAa,GAAG,IAAI,CAAChb,OAAO,CAACkY,gBAAgB,CAAC;MAEpD,IAAI,CAAC8C,aAAa,EAAE;QAClB,OAAO,EAAE;MACX;MAEA,IAAI;QACF,IAAMC,MAAM,GAAGxb,IAAI,CAACQ,KAAK,CAAC+a,aAAa,CAAC;QACxC,OAAOxN,KAAK,CAAC0N,OAAO,CAACD,MAAM,CAAC,GAAGA,MAAM,GAAG,EAAE;MAC3C,CAAA,CAAC,OAAA/a,EAAA,EAAM;QACN,OAAO,EAAE;MACX;IACF;EAAA;IAAAL,GAAA;IAAAvE,KAAA,EAKQ4e,SAAAA,aAAaA,CAAChB,MAAqB,EAAA;MACzC,IAAI,CAACA,MAAM,EAAE;QACX;MACF;MAEA,IAAM8B,aAAa,GAAG,IAAI,CAACH,cAAc,EAAE;MAC3C,IAAI,CAACG,aAAa,CAACjN,QAAQ,CAACmL,MAAM,CAAC,EAAE;QACnC8B,aAAa,CAACG,IAAI,CAACjC,MAAM,CAAC;QAC1B,IAAI,CAAC1Z,OAAO,CAAC0Y,gBAAgB,EAAEzY,IAAI,CAACC,SAAS,CAACsb,aAAa,CAAC,CAAC;MAC/D;IACF;EAAA;IAAAnb,GAAA;IAAAvE,KAAA,EAEA,SAAOwe,kBAAkBA,CAAAA,MAAAA,EAUxB;MAAA,IATCxE,IAAI,GAAA8F,MAAA,CAAJ9F,IAAI;QACJ4D,MAAM,GAAAkC,MAAA,CAANlC,MAAM;QACNC,qBAAqB,GAAAiC,MAAA,CAArBjC,qBAAqB;QACrBY,SAAAA,GAAAA,MAAAA,CAAAA,SAAAA;MAOA,IAAMF,UAAU,GAA6B;QAC3CzF,OAAO,EAAE,IAAItL,IAAI,CAACiR,SAAS,CAAC;QAC5BsB,QAAQ,EAAE;OACX;MAED,IAAI/F,IAAI,EAAE;QACRuE,UAAU,CAACvE,IAAI,GAAGA,IAAI;MACxB;MAEA,IAAImB,WAAW,CAAA,CAAE,EAAE;QAGjBoD,UAAU,CAACyB,MAAM,GAAG,KAAK;MAC3B,CAAC,MAAM;QACL,IAAInC,qBAAqB,EAAE;UAKzBU,UAAU,CAACX,MAAM,GAAGA,MAAM,IAAIpX,MAAM,CAACyH,QAAQ,CAACgS,IAAI;QACpD;QACA1B,UAAU,CAACyB,MAAM,GAAG,IAAI;MAC1B;MACA,OAAOzB,UAAU;IACnB;EAAA;AAAA;AAAA,IAGW2B,6BAA8B,0BAAAC,qBAAA;EAAA,SAAAD,8BAAA;IAAAvc,gBAAA,OAAAuc,6BAAA;IAAA,OAAA1W,WAAA,OAAA0W,6BAAA,EAAA/K,SAAA;EAAA;EAAA/J,UAAA,CAAA8U,6BAAA,EAAAC,qBAAA;EAAA,OAAA7b,aAAA,CAAA4b,6BAAA;AAAA,EAAQrD,qBAAoC;AAsBvF,IAAMuD,4BAA4B,GAAGC,MAAM,OAAI,CAAC,oBAAoB,CAAC;AAGrE,IAAMC,yBAAyB,GAAGA,SAA5BA,yBAAyBA,CAAA,EAAgC;EAE7D,IAAMC,GAAG,GAAG/Z,MAAa;EACzB,IAAI,CAAC+Z,GAAG,CAACH,4BAA4B,CAAC,EAAE;IACtCG,GAAG,CAACH,4BAA4B,CAAC,GAAG,EAAE;EACxC;EACA,OAAOG,GAAG,CAACH,4BAA4B,CAAC;AAC1C,CAAC;AAqBM,IAAMI,oBAAoB,GAAGA,SAAvBA,oBAAoBA,CAC/BjM,WAAmB,EACnB7K,OAA6B,EACI;EACjC,IAAM+W,cAAc,GAAGH,yBAAyB,EAAE;EAClD,IAAI,CAACG,cAAc,CAAClM,WAAW,CAAC,EAAE;IAChCkM,cAAc,CAAClM,WAAW,CAAC,GAAG,IAAI2L,6BAA6B,CAAC3L,WAAW,EAAE7K,OAAO,CAAC;EACvF;EACA,OAAO+W,cAAc,CAAClM,WAAW,CAAC;AACpC,CAAC;AAUD,IAAMmM,aAAa,GAAGA,SAAhBA,aAAaA,CAAOC,UAA0B,EAAEC,UAAiC,EAAyB;EAC9G,IAAMC,QAAQ,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAClL,QAAQ,CAAC,EAAE,CAAC,CAACwC,KAAK,CAAC,CAAC,EAAE,CAAC;EACtDsI,UAAU,CAACE,QAAQ,CAAC,GAAGD,UAAU;EACjC,OAAO;IAAA,OAAM,OAAOD,UAAU,CAACE,QAAQ,CAAC;EAAA;AAC1C,CAAC;AAED,IAAMG,iBAAiB,GAAGA,SAApBA,iBAAiBA,CAAOL,UAA0B,EAAE3gB,KAAe,EAAU;EACjFf,MAAM,CAACgiB,MAAM,CAACN,UAAU,CAAC,CAACrO,OAAO,CAAE4O,UAAAA,EAAE;IAAA,OAAKA,EAAE,CAAClhB,KAAK,CAAC;EAAA,EAAC;AACtD,CAAC;AA6CD,IAAMmhB,aAAa,GAAGlH,eAAe,CAAC;EACpCG,eAAe,EAAE,CAAC,kBAAkB;AACrC,CAAA,CAAC;AAAA,IAEWgH,uBAAuB;EAQlC9d,SAAAA,wBACUC,YAAoB,EACpB8d,UAAoC,EAAAC,MAAA,EACmB;IAAA,IAAAC,OAAA;IAAA,IAA7DC,sBAAAA,GAAAA,MAAAA,CAAAA,sBAAAA;IAAAA,gBAAAA,OAAAA,uBAAAA;IAFM,IAAY,CAAAje,YAAA,GAAZA,YAAY;IACZ,IAAU,CAAA8d,UAAA,GAAVA,UAAU;IAJZ,IAAS,CAAAI,SAAA,GAAG,IAAI;IAuBhB,IAAA,CAAAC,OAAO,GAAI5iB,UAAAA,CAAe,EAAI;MACpC,IAAIA,CAAC,CAACyF,GAAG,KAAKuX,uBAAuB,CAACyF,OAAI,CAAChe,YAAY,EAAE,EAAE,CAAC,EAAE;QAC5D;MACF;MAEA,IAAMoe,WAAW,GAAG7iB,CAAC,CAAC8iB,QAAQ,KAAK,IAAI,IAAI9iB,CAAC,CAAC8iB,QAAQ,KAAK,MAAM,GAAG,IAAI,GAAIzd,IAAI,CAACQ,KAAK,CAAC7F,CAAC,CAAC8iB,QAAQ,CAAO;MACvGL,OAAI,CAACM,WAAW,CAACF,WAAW,EAAE,IAAI,CAAC;KACpC;IAvBCnb,MAAM,CAACsb,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACJ,OAAO,CAAC;IAIhD,IAAI,CAACF,sBAAsB,EAAE;MAG3B,IAAAO,qBAAA,GAA0B,IAAI,CAACV,UAAU,CAAC5S,iBAAiB,EAAE;QAArDC,aAAAA,GAAAA,qBAAAA,CAAAA,aAAAA;MACR,IAAI,CAACA,aAAa,EAAE;QAClB,IAAI,CAACsT,cAAc,CAAA,CAAE;QACrB;MACF;IACF;EACF;EAAA,OAAA1d,aAAA,CAAA8c,uBAAA;IAAA7c,GAAA;IAAAvE,KAAA,EAYAiiB,SAAAA,SAASA,CAAAA,EAAA;MACP,IAAAC,sBAAA,GAAuC,IAAI,CAACb,UAAU,CAAC5S,iBAAiB,EAAE;QAAlEC,aAAa,GAAAwT,sBAAA,CAAbxT,aAAa;QAAEyP,WAAAA,GAAAA,sBAAAA,CAAAA,WAAAA;MACvB,IAAI,EAAE,OAAOzP,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,OAAOyP,WAAW,KAAK,QAAQ,CAAC,EAAE;QAC9E,OAAO,IAAkE;MAC3E;MACA,OAAO;QAAEzP,aAAa,EAAbA,aAAa;QAAEyP,WAAAA,EAAAA;OAA2E;IACrG;EAAA;IAAA5Z,GAAA;IAAAvE,KAAA,EAEAmiB,SAAAA,2BAA2BA,CAAAA,EAAA;MACzB,OAAO,IAAI,CAACd,UAAU,CAACjD,kCAAkC,CAAA,CAAE,IAAI,IAAI;IACrE;EAAA;IAAA7Z,GAAA;IAAAvE,KAAA,EAEAoiB,SAAAA,YAAYA,CAAAA,EAAA;MACV,IAAI,CAACC,oBAAoB,CAAC;QACxB7a,KAAK,EAAE,IAAI;QACXkH,aAAa,EAAE,IAAI;QACnByP,WAAW,EAAE,IAAI;QACjBmE,0BAA0B,EAAE;MAC7B,CAAA,CAAC;IACJ;EAAA;IAAA/d,GAAA;IAAAvE,KAAA,EAEAgiB,SAAAA,cAAcA,CAAAA,EAAA;MACZ,IAAI,CAACX,UAAU,CAACpC,mBAAmB,EAAE;MACrC,IAAI,CAAC4C,WAAW,CAAC,IAAI,CAAC;IACxB;EAAA;IAAAtd,GAAA;IAAAvE,KAAA,EAEAuiB,SAAAA,6BAA6BA,CAACjE,SAAiC,EAAE5U,OAAqC,EAAA;MACpG,IAAM8Y,aAAa,GAAG,IAAI,CAACnB,UAAU,CAAC7Z,KAAK;MAC3C,IAAMib,aAAa,GAAGnE,SAAS,CAAC9W,KAAK,KAAK,IAAI,GAAG,IAAI,GAAIvI,MAAA,CAAA+N,MAAA,CAAA/N,MAAA,CAAA+N,MAAA,CAAA,CAAA,CAAA,EAAK,IAAI,CAACqU,UAAU,CAAC7Z,KAAK,CAAA,EAAK8W,SAAS,CAAC9W,KAAK,CAAQ;MAC/G,IAAI,CAAC6Z,UAAU,CAAC7Z,KAAK,GAAGib,aAAa;MACrC,IAAMC,SAAS,GAAG,IAAI,CAACC,YAAY,EAAE;MACrC,IAAI,CAACC,iBAAiB,CAAA,CAAE;MAMxB,IAAIF,SAAS,IAAI,CAACvB,aAAa,CAACqB,aAAa,EAAEC,aAAa,CAAC,EAAE;QAC7D,IAAIjR,YAA+C;QACnD,IAAIiR,aAAa,IAAI,IAAI,IAAI/Y,OAAO,CAAC+X,SAAS,EAAE;UAC9CjQ,YAAY,GAAGiR,aAAa;QAC9B,CAAC,MAAM;UACLjR,YAAY,GAAAvS,MAAA,CAAA+N,MAAA,CAAA/N,MAAA,CAAA+N,MAAA,CAAA,CAAA,CAAA,EACPyV,aAAa,CAChB,EAAA;YAAAI,sBAAsB,EAAEnZ,OAAO,CAACmZ;UAAsB,CAAA,CACvD;QACH;QAEA7B,iBAAiB,CAAC,IAAI,CAACK,UAAU,CAAC/D,aAAa,EAAE9L,YAAY,CAAC;MAChE;IACF;EAAA;IAAAjN,GAAA;IAAAvE,KAAA,EAEAqiB,SAAAA,oBAAoBA,CAClB/D,SAAiC,EAC2B;MAAA,IAA5D5U,OAAA,GAAAyL,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAwC;QAAEsM,SAAS,EAAE;MAAO,CAAA;MAE5D,IAAInD,SAAS,CAAC9W,KAAK,EAAE;QACnB,IAAI,OAAO8W,SAAS,CAAC5P,aAAa,KAAK,QAAQ,EAAE;UAC/C,IAAI,CAAC2S,UAAU,CAAChD,kBAAkB,CAACC,SAAS,CAAC;QAC/C,CAAC,MAAM;UAGL,IAAI,CAAC+C,UAAU,CAACpC,mBAAmB,EAAE;QACvC;QACA,IAAI,CAACoC,UAAU,CAAClC,eAAe,EAAE;MACnC,CAAC,MAAM,IAAIb,SAAS,CAACgE,0BAA0B,EAAE;QAC/C,IAAI,OAAOhE,SAAS,CAACgE,0BAA0B,KAAK,QAAQ,EAAE;UAC5D,IAAI,CAACjB,UAAU,CAACvC,mCAAmC,CAACR,SAAS,CAACgE,0BAA0B,CAAC;QAC3F,CAAC,MAAM;UAGL,IAAI,CAACjB,UAAU,CAAClC,eAAe,EAAE;QACnC;QACA,IAAI,CAACkC,UAAU,CAACpC,mBAAmB,EAAE;MACvC,CAAC,MAAM;QACL,IAAI,CAACoC,UAAU,CAACpC,mBAAmB,EAAE;QACrC,IAAI,CAACoC,UAAU,CAAClC,eAAe,EAAE;MACnC;MAEA,IAAI,CAACoD,6BAA6B,CAACjE,SAAS,EAAE5U,OAAO,CAAC;MAEtD,IAAI,CAAC2X,UAAU,CAACpD,kBAAkB,EAAE;IACtC;EAAA;IAAA1Z,GAAA;IAAAvE,KAAA,EAEA6hB,SAAAA,WAAWA,CAACra,KAAe,EAA4B;MAAA,IAA1Bsb,kBAAkB,GAAA3N,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAG,KAAK;MACrD,IAAMqN,aAAa,GAAG,IAAI,CAACnB,UAAU,CAAC7Z,KAAK;MAC3C,IAAMib,aAAa,GAAGjb,KAAK,KAAK,IAAI,GAAG,IAAI,GAAIvI,MAAA,CAAA+N,MAAA,CAAA/N,MAAA,CAAA+N,MAAA,CAAA,CAAA,CAAA,EAAK,IAAI,CAACqU,UAAU,CAAC7Z,KAAK,CAAA,EAAKA,KAAK,CAAQ;MAC3F,IAAI,CAAC6Z,UAAU,CAAC7Z,KAAK,GAAGib,aAAa;MACrC,IAAMC,SAAS,GAAG,IAAI,CAACC,YAAY,EAAE;MACrC,IAAI,CAACC,iBAAiB,CAAA,CAAE;MAExB,IAAMG,eAAe,GAAG,CAAC5B,aAAa,CAACqB,aAAa,EAAEC,aAAa,CAAC;MACpE,IAAIC,SAAS,IAAIK,eAAe,EAAE;QAChC/B,iBAAiB,CAAC,IAAI,CAACK,UAAU,CAAC/D,aAAa,EAAEmF,aAAa,CAAC;QAK/D,IAAIM,eAAe,IAAI,CAACD,kBAAkB,EAAE;UAE1C,IAAI,CAACzB,UAAU,CAACpD,kBAAkB,EAAE;QACtC;MACF;IACF;EAAA;IAAA1Z,GAAA;IAAAvE,KAAA,EAEAgjB,SAAAA,YAAYA,CAACC,MAA2B,EAAA;MACtC,IAAQvU,aAAa,GAAkBuU,MAAM,CAArCvU,aAAa;QAAEyP,WAAAA,GAAgB8E,MAAM,CAAtB9E,WAAAA;MACvB,IAAM9E,MAAM,GAAG,IAAI,CAACgI,UAAU,CAAC5S,iBAAiB,CAAA,CAAE;MAClD,IAAMyU,IAAI,GAAGjkB,MACR,CAAA+N,MAAA,CAAA/N,MAAA,CAAA+N,MAAA,CAAA,CAAA,CAAA,EAAAqM,MAAM;QACT3K,aAAa,EAAbA,aAAa;QACbyP,WAAAA,EAAAA;QACyB;MAC3B,IAAI,OAAOzP,aAAa,KAAK,QAAQ,IAAI,OAAOyP,WAAW,KAAK,QAAQ,EAAE;QACxE,IAAI,CAACkD,UAAU,CAAChD,kBAAkB,CAAC6E,IAA0C,CAAC;QAC9E,IAAI,CAAC7B,UAAU,CAAClC,eAAe,EAAE;MACnC,CAAC,MAAM;QACL,IAAI,CAACkC,UAAU,CAACpC,mBAAmB,EAAE;MACvC;IACF;EAAA;IAAA1a,GAAA;IAAAvE,KAAA,EAEAmjB,SAAAA,gBAAgBA,CAACpY,QAAsD,EAAA;MACrE,OAAO2V,aAAa,CAAC,IAAI,CAACW,UAAU,CAAC/D,aAAa,EAAEvS,QAAQ,CAAC;IAC/D;EAAA;IAAAxG,GAAA;IAAAvE,KAAA,EAEAojB,SAAAA,QAAQA,CAAAA,EAAA;MACN,OAAO,IAAI,CAAC/B,UAAU,CAAC7Z,KAAK;IAC9B;EAAA;IAAAjD,GAAA;IAAAvE,KAAA,EAEAqjB,SAAAA,OAAOA,CAAAA,EAAA;MACL7c,MAAM,CAAC8c,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC5B,OAAO,CAAC;IACrD;EAAA;IAAAnd,GAAA;IAAAvE,KAAA,EAEAujB,SAAAA,qBAAqBA,CAAAA,EAAA;MACnB,OAAO,IAAI;IACb;EAAA;IAAAhf,GAAA;IAAAvE,KAAA,EAEA2iB,SAAAA,YAAYA,CAAAA,EAAA;MACV,OAAO,IAAI,CAAClB,SAAS;IACvB;EAAA;IAAAld,GAAA;IAAAvE,KAAA,EAEA4iB,SAAAA,iBAAiBA,CAAAA,EAAA;MACf,IAAI,CAACnB,SAAS,GAAG,KAAK;IACxB;EAAA;AAAA;AAAA,IAGW+B,2BACX,0BAAAC,qBAAA;EADFngB,SAAAA,4BAAAA,EAAA;IAAA,IAAAogB,OAAA;IAAA/f,gBAAA,OAAA6f,2BAAA;;IAIEE,OAAA,CAAAC,UAAU,GAAIC,UAAAA,IAAU;MAAA,OAAKF,OAAA,CAAK7B,WAAW,CAAC;QAAE+B,IAAAA,EAAAA;MAAI,CAAE,CAAC;IAAA;IACvDF,OAAA,CAAAG,OAAO,GAAG,YAAM;MAAA,IAAAjf,EAAA,EAAAsB,EAAA;MAAA,OAAA,MAAA,CAAAtB,EAAA,GAAA8e,OAAA,CAAKN,QAAQ,EAAE,MAAE,IAAA,IAAAxe,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAgf,IAAI,mCAAI,IAAI;KAAA;IAC7CF,OAAA,CAAAI,UAAU,GAAG,YAAM;MAAA,IAAAlf,EAAA,EAAAsB,EAAA;MAAA,OAAA,MAAA,CAAAtB,EAAA,GAAA8e,OAAA,CAAKN,QAAQ,EAAE,MAAE,IAAA,IAAAxe,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAA8Z,OAAO,mCAAI,IAAI;KAAA;IACnDgF,OAAA,CAAAK,aAAa,GAAyE,UAACC,IAAI,EAAEta,OAAO,EAAI;MACtG,IAAQgV,OAAO,GAAuCsF,IAAI,CAAlDtF,OAAO;QAAEkF,IAAI,GAAiCI,IAAI,CAAzCJ,IAAI;QAAEzF,WAAW,GAAoB6F,IAAI,CAAnC7F,WAAW;QAAEzP,aAAAA,GAAkBsV,IAAI,CAAtBtV,aAAAA;MAEpC,IAAIA,aAAa,IAAIyP,WAAW,EAAE;QAChCuF,OAAA,CAAKrB,oBAAoB,CACvB;UACE7a,KAAK,EAAE;YAAEkX,OAAO,EAAPA,OAAO;YAAEkF,IAAAA,EAAAA;UAAM,CAAA;UACxBzF,WAAW,EAAXA,WAAW;UACXzP,aAAa,EAAbA,aAAa;UACb4T,0BAA0B,EAAE;SAC7B,EACD;UACEb,SAAS,EAAE,KAAK;UAChBoB,sBAAsB,EAAEnZ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmZ;QAClC,CAAA,CACF;MACH,CAAC,MAAM;QACLa,OAAA,CAAKrB,oBAAoB,CACvB;UACE7a,KAAK,EAAE;YAAEkX,OAAO,EAAPA,OAAO;YAAEkF,IAAAA,EAAAA;UAAM,CAAA;UACxBlV,aAAa,EAAE,IAAI;UACnByP,WAAW,EAAE,IAAI;UACjBmE,0BAA0B,EAAE;SAC7B,EACD;UACEb,SAAS,EAAE,KAAK;UAChBoB,sBAAsB,EAAEnZ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmZ;QAClC,CAAA,CACF;MACH;KACD;IAEDa,OAAA,CAAiBO,iBAAA,GAKbC,UAAAA,YAA6C;MAAA,OAE/C;QAAA,SAAAC,KAAA,GAAAhP,SAAA,CAAA3V,MAAA,EAAU4kB,IAAI,OAAAlS,KAAA,CAAAiS,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;UAAJD,IAAI,CAAAC,KAAA,IAAAlP,SAAA,CAAAkP,KAAA;QAAA;QAAA,OAAI3kB,SAAA,CAAAgkB,OAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAA3c,aAAA,GAAAC,CAAA,CAAA,SAAAsd,UAAA;UAAA,IAAAN,IAAA,EAAAta,OAAA;UAAA,OAAA3C,aAAA,GAAAM,CAAA,WAAAkd,UAAA;YAAA,kBAAAA,UAAA,CAAAhd,CAAA;cAAA;gBAAAgd,UAAA,CAAAhd,CAAA;gBACH,OAAM2c,YAAY,CAAAvjB,KAAA,SAAIyjB,IAAI,CAAC;cAAA;gBAAlCJ,IAAI,GAAAO,UAAA,CAAA9c,CAAA;gBACV,IAAIuc,IAAI,IAAI,IAAI,EAAE;kBACVta,OAAO,GAAG0a,IAAI,CAACI,IAAI,CAAE9c,UAAAA,CAAC;oBAAA,OAAqCA,CAAC,IAAI,IAAI,IAAI,EAAE,OAAOA,CAAC,KAAK,QAAQ,CAAC;kBAAA,EAAC;kBACvG,IAAI,CAACqc,aAAa,CAACC,IAAI,EAAE;oBACvBnB,sBAAsB,EAAEnZ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE+a;kBAClC,CAAA,CAAC;gBACJ;gBAAA,OAAAF,UAAA,CAAA7c,CAAA,IACOsc,IAAI;YAAA;UAAA,GAAAM,SAAA;QAAA,CACZ,EAAA;MAAA;IAAA;IAAA,OAAAZ,OAAA;EACL;EAAAtY,UAAA,CAAAoY,2BAAA,EAAAC,qBAAA;EAAA,OAAAnf,aAAA,CAAAkf,2BAAA;AAAA,EAvDUpC,uBAAkF;AC1lBrF,IAAMsD,cAAc,GAAGrE,MAAM,OAAI,CAAC,sBAAsB,CAAC;AAmBzD,IAAMsE,iBAAiB,GAAGA,SAApBA,iBAAiBA,CAC5BC,GAA0D,EAC1DC,SAAuB,EACrB;EACF5lB,MAAM,CAAC+N,MAAM,CAAC4X,GAAG,EAAAE,eAAA,KACdJ,cAAc,EAAGG,SAAAA,CACnB,CAAC;AACJ,CAAC;AChDM,IAAME,gBAAgB,GAAGA,SAAnBA,gBAAgBA,CAAIC,UAAkB,EAA4C;EAAA,IAA1CC,IAAA,GAAA9P,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAoC,EAAE;;EACzF,IAAQsI,aAAa,GAAuBwH,IAAI,CAAxCxH,aAAa;IAAEyH,gBAAAA,GAAqBD,IAAI,CAAzBC,gBAAAA;EACvB,IAAMC,SAAS,GAAGC,QAAQ,CAACJ,UAAU,CAAC;EAEtCG,SAAS,CAACE,iBAAiB,CAAC,kBAAkB,EAAEH,gBAAgB,CAAC;EAEjE,IAAIzH,aAAa,EAAE;IACjB0H,SAAS,CACNG,gBAAgB,CAAC,qCAAqC,EAAE7H,aAAa,CAACC,qBAAqB,CAAC,CAC5F4H,gBAAgB,CAAC,6BAA6B,EAAE7H,aAAa,CAACE,aAAa,CAAC,CAC5E2H,gBAAgB,CAAC,6BAA6B,EAAE7H,aAAa,CAACK,aAAa,CAAC,CAC5EwH,gBAAgB,CAAC,oBAAoB,EAAE7H,aAAa,CAACzD,IAAI,CAAC,CAC1DsL,gBAAgB,CAAC,sBAAsB,EAAE7H,aAAa,CAACG,MAAM,CAAC;EACnE;EAEA,OAAO;IACLH,aAAa,EAAbA,aAAa;IACbyH,gBAAgB,EAAhBA,gBAAgB;IAChBK,SAAS,EAAE;MACTC,UAAU,EAAEC,aAAa,CAACR,IAAI,CAAC;MAC/BS,UAAU,EAAEC,aAAa,CAACV,IAAI,CAAC;MAC/BW,aAAa,EAAEC,gBAAgB,CAACZ,IAAI,CAAC;MACrCa,SAAS,EAAEC,YAAY,CAACd,IAAI,CAAC;MAC7Be,2BAA2B,EAAE,CAAA9f,EAAA,GAAA,CAAAtB,EAAA,GAAAqgB,IAAI,KAAJ,IAAA,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEM,SAAS,MAAE,IAAA,IAAA3gB,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAohB,2BAA2B,mCAAIrkB;IAC9E;GACF;AACH,CAAC;AAKM,IAAMskB,oBAAoB,GAAGA,SAAvBA,oBAAoBA,CAAIC,KAAa,EAA0C;EAAA,IAAxCC,UAAA,GAAAhR,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAkC,EAAE;EAEtF,IAAQiR,aAAa,GAAsBD,UAAU,CAA7CC,aAAa;IAAEC,eAAAA,GAAoBF,UAAU,CAA9BE,eAAAA;EACvB,OAAOxa,iBAAiB,CAACqa,KAAK,CAAC,GAC3B,CAAC,EAAEE,aAAa,KAAIC,eAAe,KAAf,IAAA,IAAAA,eAAe,KAAf,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,eAAe,CAAEC,aAAa,CAAA,CAAC,GACnD,CAAC,EAAEF,aAAa,KAAIC,eAAe,KAAf,IAAA,IAAAA,eAAe,uBAAfA,eAAe,CAAEE,SAAS,CAAA,CAAC;AACrD,CAAC;AC/CD,SAASC,kBAAkBA,CACzBC,YAAgC,EAChCC,SAAiB,EAAA;EAEjB,OAAOD,YAAY,CAAChU,QAAQ,CAACiU,SAA6B,CAAC;AAC7D;AAEO,IAAMC,sBAAsB,GAAGA,SAAzBA,sBAAsBA,CAAA,EAAQ;EACzC,IAAM7iB,GAAG,GAAG8iB,uBAAuB,CAACpgB,MAAM,CAACyH,QAAQ,CAAC4H,QAAQ,CAAE,CAAA,CAAC;EAC/DrP,MAAM,CAACqgB,OAAO,CAACC,YAAY,CAAC,IAAI,EAAE1U,QAAQ,CAAC2U,KAAK,EAAEjjB,GAAG,CAAC;AACxD,CAAC;AA0CM,IAAMkjB,oBAAoB,GAC/BC,SADWD,oBAAoBA,CAC/BC,QAAwG,EACtG;EACF,IAAMC,iBAAiB,GAAGjoB,MAAM,CAACub,IAAI,CAACyM,QAAQ,CAAuB;EAErE,IAAME,oBAAoB,GAA2CA,SAA/DA,oBAAoBA,CAAA,EAA2E;IAAA,IAA/B1T,IAAI,GAAA0B,SAAA,CAAA3V,MAAA,QAAA2V,SAAA,QAAAxN,SAAA,GAAAwN,SAAA,MAAG3O,MAAM,CAACyH,QAAQ,CAACwF,IAAI;IAC/F,IAAM3P,GAAG,GAAG,IAAIsjB,GAAG,CAAC3T,IAAI,CAAC;IACzB,IAAMiT,SAAS,GAAG5iB,GAAG,CAACujB,YAAY,CAAC1e,GAAG,CAAC,mBAAmB,CAAC;IAC3D,IAAMud,KAAK,GAAGpiB,GAAG,CAACujB,YAAY,CAAC1e,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAACud,KAAK,IAAI,CAACQ,SAAS,EAAE;MACxB,OAAO,IAAI;IACb;IAEA,IAAIF,kBAAkB,CAACU,iBAAiB,EAAER,SAAS,CAAC,EAAE;MACpD,OAAO;QACLY,OAAO,EAAE,IAAI;QACbpB,KAAK,EAALA,KAAK;QACLQ,SAAAA,EAAAA;OACD;IACH;IAEA,OAAO;MACLY,OAAO,EAAE,KAAK;MACdpB,KAAK,EAALA,KAAK;MACLQ,SAAAA,EAAAA;KACD;GACF;EAED,IAAMa,iBAAiB,GAAwCA,SAAzDA,iBAAiBA,CACrB3iB,EAA2B,EAC3B6O,IAA2B;IAAA,OACzB/T,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,eAAAqH,aAAA,GAAAC,CAAA,CAAA,SAAAwgB,UAAA;MAAA,IAAAC,WAAA,EAAA/d,OAAA,EAAAge,iBAAA,EAAA/H,MAAA,EAAAuG,KAAA,EAAAQ,SAAA,EAAAiB,OAAA,EAAA1jB,IAAA;MAAA,OAAA8C,aAAA,GAAAM,CAAA,WAAAugB,UAAA;QAAA,kBAAAA,UAAA,CAAA5oB,CAAA,GAAA4oB,UAAA,CAAArgB,CAAA;UAAA;YAFAkgB,WAAAA,GAAyB7iB,EAAA,CAAzB6iB,WAAAA,EAAgB/d,OAAO,GAAA9K,MAAA,CAAAgG,EAAA,EAAzB,eAA2B,CAAF;YACzB,IAAA6O,IAAA,KAAA,KAAA,CAAA,EAAA;cAAAA,IAAO,GAAAjN,MAAM,CAACyH,QAAQ,CAACwF,IAAI;YAAA;YAErBiU,iBAAiB,GAAGD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAX,KAAA,CAAA,GAAAA,WAAW,GAAIhU,IAAI,KAAKjN,MAAM,CAACyH,QAAQ,CAACwF,IAAI;YAChEkM,MAAM,GAAGwH,oBAAoB,CAAC1T,IAAI,CAAC;YAAA,MACrCkM,MAAM,IAAI,IAAI;cAAAiI,UAAA,CAAArgB,CAAA;cAAA;YAAA;YAAA,OAAAqgB,UAAA,CAAAlgB,CAAA,IAAS,IAAI;UAAA;YAAA,IAC1BiY,MAAM,CAAC2H,OAAO;cAAAM,UAAA,CAAArgB,CAAA;cAAA;YAAA;YAAA,OAAAqgB,UAAA,CAAAlgB,CAAA,IAASiY,MAAM;UAAA;YAE1BuG,KAAK,GAAgBvG,MAAM,CAA3BuG,KAAK,EAAEQ,SAAAA,GAAc/G,MAAM,CAApB+G,SAAAA;YACTiB,OAAO,GAAGV,QAAQ,CAACP,SAA6B,CAAC;YAAAkB,UAAA,CAAA5oB,CAAA;YAAA4oB,UAAA,CAAArgB,CAAA;YAExC,OAAMogB,OAAO,CAACzB,KAAK,EAAExc,OAAO,CAAC;UAAA;YAApCzF,IAAI,GAAA2jB,UAAA,CAAAngB,CAAA;YAAA,OAAAmgB,UAAA,CAAAlgB,CAAA,IACH;cACL4f,OAAO,EAAE,IAAI;cACbZ,SAAS,EAAEA,SAA6B;cACxCziB,IAAAA,EAAAA;aACD;UAAA;YAAA2jB,UAAA,CAAA5oB,CAAA;YAED,IAAI0oB,iBAAiB,EAAE;cACrBf,sBAAsB,EAAE;YAC1B;YAAA,OAAAiB,UAAA,CAAAC,CAAA;UAAA;YAAA,OAAAD,UAAA,CAAAlgB,CAAA;QAAA;MAAA,GAAA8f,SAAA;IAAA,CAEH,EAAA;EAAA;EAED,OAAO;IACLD,iBAAiB,EAAjBA,iBAAiB;IACjBJ,oBAAAA,EAAAA;GACD;AACH,CAAC;AAGK,SAAUP,uBAAuBA,CAACnT,IAAY,EAAA;EAClD,IAAM3P,GAAG,GAAG,IAAIsjB,GAAG,CAAC3T,IAAI,CAAC;EACzB,IAAMqU,MAAM,GAAGhkB,GAAG,CAACujB,YAAY;EAE/BS,MAAM,UAAO,CAAC,OAAO,CAAC;EACtBA,MAAM,UAAO,CAAC,mBAAmB,CAAC;EAElC,OAAOhkB,GAAG;AACZ;AAAA,ICrDaikB,oBAAoB,gBAAAzjB,aAAA,CA0D/BhB,SAAAA,qBAAY0kB,cAAsB,EAAEte,OAA6B,EAAA;EAAA,IAAAue,OAAA;EAAAtkB,gBAAA,OAAAokB,oBAAA;EAC/DG,WAAW,CAAC,sBAAsB,CAAC;EAInCC,gBAAgB,CAACH,cAAc,CAAC;EAChC,IAAMI,aAAa,GAAGJ,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAd,KAAA,CAAA,GAAAA,cAAc,GAAI,EAAE;EAG1C,IAAMnX,MAAM,GAAGkU,gBAAgB,CAAC,IAAI,CAACzhB,WAAW,CAACrC,IAAI,EAAEyI,OAAO,CAAC;EAC/D,IAAM8X,sBAAsB,GAAGyE,oBAAoB,CAACmC,aAAa,EAAE1e,OAAO,CAAC;EAE3E,IAAI,CAACjG,UAAU,GAAG+c,oBAAoB,CAAC4H,aAAa,EAAEvX,MAAM,CAAC;EAC7D,IAAI,CAAC3H,oBAAoB,GAAG,IAAIsa,2BAA2B,CAAC4E,aAAa,EAAE,IAAI,CAAC3kB,UAAU,EAAE;IAC1F+d,sBAAAA,EAAAA;EACD,CAAA,CAAC;EACF,IAAI,CAAC6G,kBAAkB,GAAG,IAAIC,iBAAiB,CAAC,IAAI,CAACpf,oBAAoB,EAAE,CAAA,CAAE,CAAC;EAC9E,IAAI,CAACqf,aAAa,GAAG;IAAA,IAAAC,qBAAA;IAAA,OAAa,CAAAA,qBAAA,GAAAP,OAAI,CAACI,kBAAkB,EAACE,aAAa,CAAA5nB,KAAA,CAAA6nB,qBAAA,EAAArT,SAAQ,CAAC;EAAA;EAEhF,IAAMzJ,yBAAyB,GAAGA,SAA5BA,yBAAyBA,CAAA,EAAQ;;IAAC,OAAC;MACvC+c,cAAc,EAAE,CAAAviB,EAAA,GAAA,CAAAtB,EAAA,GAAAqjB,OAAI,CAACxkB,UAAU,CAAC+D,KAAK,MAAA,IAAA,IAAA5C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEgf,IAAI,MAAA,IAAA,IAAA1d,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEwiB,OAAO;MACpDC,iBAAiB,EAAE,CAAA9W,EAAA,GAAA,CAAAD,EAAA,GAAAqW,OAAI,CAACxkB,UAAU,CAAC+D,KAAK,MAAA,IAAA,IAAAoK,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAE8M,OAAO,MAAA,IAAA,IAAA7M,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAE+W;KACpD;GAAC;EAEF,IAAMC,oBAAoB,GAAG,IAAIvS,WAAW,CAAC,IAAI,CAAC7S,UAAU,EAAE,WAAW,CAAC;EAC1E,IAAMqlB,aAAa,GAAG,IAAIxd,aAAa,CACrC8c,aAAa,EACb,IAAI,CAAC3kB,UAAU,EACfoN,MAAM,CAAC0U,SAAS,CAACG,UAAU,EAC3B7U,MAAM,CAAC0U,SAAS,CAACC,UAAU,EAC3B9Z,yBAAyB,CAC1B;EACD,IAAI,CAAClI,cAAc,GAAGslB,aAAa;EAEnC,IAAMC,SAAS,GAAG,IAAI1lB,oBAAoB,CAAC+kB,aAAa,EAAE,IAAI,CAAC5kB,cAAc,EAAE,IAAI,CAACC,UAAU,CAAC;EAC/F,IAAMulB,OAAO,GAAG,IAAIriB,eAAe,CAACoiB,SAAS,CAAClkB,QAAQ,CAAE,CAAA,CAAC;EACzD,IAAMokB,gBAAgB,GAAG,IAAIC,wBAAwB,CACnDd,aAAa,EACbvX,MAAM,CAAC0U,SAAS,CAACK,aAAa,EAC9B/U,MAAM,CAAC0U,SAAS,CAACO,SAAS,EAC1BiD,SAAS,CAAClkB,QAAQ,CAAA,CAAE,EACpBmkB,OAAO,CAACliB,gBAAgB,CACzB;EACD,IAAMkM,kBAAkB,GAAG,IAAI5K,0BAA0B,CAACyI,MAAM,CAAC0U,SAAS,CAACS,2BAA2B,CAAC;EACvG,IAAMmD,MAAM,GAAG,IAAIpW,cAAc,CAACqV,aAAa,EAAEpV,kBAAkB,CAAC;EACpE,IAAMoW,aAAa,GAAG,IAAIC,iBAAiB,CAAC,IAAI,CAAC7lB,cAAc,EAAEylB,gBAAgB,CAAC;EAElF,IAAI,CAACrF,IAAI,GAAG,IAAI0F,kBAAkB,CAAC,IAAI,CAAC9lB,cAAc,EAAE,IAAI,CAAC0F,oBAAoB,CAAC;EAClF,IAAI,CAACwV,OAAO,GAAG,IAAI6K,qBAAqB,CAAC,IAAI,CAAC/lB,cAAc,EAAE,IAAI,CAAC0F,oBAAoB,CAAC;EACxF,IAAI,CAACsgB,UAAU,GAAG,IAAIC,wBAAwB,CAC5C,IAAI,CAACjmB,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB,IAAIoN,WAAW,CAAC,IAAI,CAAC7S,UAAU,EAAE,aAAa,CAAC,EAC/ColB,oBAAoB,EACpBE,SAAS,CAAClkB,QAAQ,CAAA,CAAE,EACpBokB,gBAAgB,CACjB;EACD,IAAI,CAACS,IAAI,GAAG,IAAIC,iBAAiB,CAC/B,IAAI,CAACnmB,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB8f,OAAO,CAACliB,gBAAgB,EACxBmiB,gBAAgB,CACjB;EACD,IAAI,CAACW,KAAK,GAAG,IAAI5gB,mBAAmB,CAClC,IAAI,CAACxF,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB,IAAIoN,WAAW,CAAC,IAAI,CAAC7S,UAAU,EAAE,OAAO,CAAC,EACzCslB,SAAS,CAAClkB,QAAQ,EAAE,EACpB;IACE0P,WAAW,EAAE6T,aAAa;IAC1B5C,UAAU,EAAE3U,MAAM,CAAC0U,SAAS,CAACC,UAAU;IACvCE,UAAU,EAAE7U,MAAM,CAAC0U,SAAS,CAACG;EAC9B,CAAA,EACDyD,MAAM,CACP;EACD,IAAI,CAACU,aAAa,GAAG,IAAIC,0BAA0B,CACjD,IAAI,CAACtmB,cAAc,EACnB,IAAI,CAACA,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB8f,OAAO,CAACliB,gBAAgB,EACxBmiB,gBAAgB,EAChBF,SAAS,CAAClkB,QAAQ,CAAA,CAAE,CACrB;EACD,IAAI,CAACklB,KAAK,GAAG,IAAIC,kBAAkB,CAAC,IAAI,CAACxmB,cAAc,EAAE,IAAI,CAAC0F,oBAAoB,EAAE+f,gBAAgB,CAAC;EACrG,IAAI,CAACgB,QAAQ,GAAG,IAAIC,sBAAsB,CAAC,IAAI,CAAC1mB,cAAc,EAAE,IAAI,CAAC0F,oBAAoB,EAAE+f,gBAAgB,CAAC;EAC5G,IAAI,CAACkB,SAAS,GAAG,IAAIC,sBAAsB,CACzC,IAAI,CAAC5mB,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB2f,oBAAoB,EACpBE,SAAS,CAAClkB,QAAQ,CAAE,CAAA,EACpBokB,gBAAgB,CACjB;EACD,IAAI,CAACoB,aAAa,GAAG,IAAIC,2BAA2B,CAClD,IAAI,CAAC9mB,cAAc,EACnB,IAAI,CAAC0F,oBAAoB,EACzB+f,gBAAgB,CACjB;EAED,IAAI,CAACsB,IAAI,GAAG,IAAIC,kBAAkB,CAACzB,SAAS,CAACvkB,OAAO,EAAE,EAAEukB,SAAS,CAAClkB,QAAQ,CAAA,CAAE,EAAE,IAAI,CAACqE,oBAAoB,CAAC;EACxG,IAAI,CAACuhB,GAAG,GAAG,IAAIC,iBAAiB,CAAC,IAAI,CAAClnB,cAAc,CAAC;EACrD,IAAI,CAACmnB,eAAe,GAAG,IAAIC,cAAc,CAAC,IAAI,CAAC1hB,oBAAoB,EAAE,IAAI,CAACwV,OAAO,EAAE0J,aAAa,EAAE;IAChGlD,gBAAgB,EAAErU,MAAM,CAACqU;EAC1B,CAAA,CAAC;EAMF,IAAI1D,sBAAsB,IAAI,IAAI,CAAC/d,UAAU,CAACgL,iBAAiB,CAAA,CAAE,CAACC,aAAa,EAAE;IAC/E,IAAI,CAACic,eAAe,CAACE,wBAAwB,EAAE;EACjD;EAEA,IAAI,CAACrnB,cAAc,CAAC8I,QAAQ,CAAC;IAC3BrL,IAAI,EAAE,2BAA2B;IACjCuL,OAAO,EAAE;MACPse,yBAAyB,EAAE,KAAK;MAChCC,yBAAyB,EAAE,KAAK;MAChCC,2BAA2B,EAAE;IAC9B;EACF,CAAA,CAAC;EAEFjC,SAAS,CAAClkB,QAAQ,CAAA,CAAE,CAACnE,IAAI,CAAEqH,UAAAA,aAAa,EAAI;IAC1C,IAAIA,aAAa,CAAC3E,QAAQ,KAAK6nB,YAAY,EAAE;MAC3C5mB,MAAM,CAACxD,KAAK,CACV,iMAAiM,CAClM;IACH;EACF,CAAC,CAAC;EAEF,IAAAqqB,qBAAA,GAAoDlE,oBAAoB,CAAC;MACvEmE,WAAW,EAAEA,SAAbA,WAAWA,CAAGjF,KAAK,EAAExc,OAAO;QAAA,OAAKue,OAAI,CAACuB,UAAU,CAACtF,YAAY,CAACgC,KAAK,EAAExc,OAAO,CAAC;MAAA;MAC7EkgB,KAAK,EAAEA,SAAPA,KAAKA,CAAG1D,KAAK,EAAExc,OAAO;QAAA,OAAKue,OAAI,CAAC2B,KAAK,CAAC1F,YAAY,CAACgC,KAAK,EAAExc,OAAO,CAAC;MAAA;MAClE2gB,aAAa,EAAGnE,SAAhBmE,aAAaA,CAAGnE,KAAa;QAAA,OAAK+B,OAAI,CAACoC,aAAa,CAACnG,YAAY,CAAC;UAAEkH,mBAAmB,EAAElF;SAAO,CAAA;MAAA;IACjG,CAAA,CAAC;IAJMqB,iBAAiB,GAAA2D,qBAAA,CAAjB3D,iBAAiB;IAAEJ,oBAAAA,GAAAA,qBAAAA,CAAAA,oBAAAA;EAM3B,IAAI,CAACI,iBAAiB,GAAGA,iBAAiB;EAC1C,IAAI,CAACJ,oBAAoB,GAAGA,oBAAoB;EAEhDxC,iBAAiB,CAAC,IAAI,EAAE;IACtBoE,SAAS,EAATA,SAAS;IACT/V,kBAAkB,EAAlBA,kBAAkB;IAClBgW,OAAO,EAAPA,OAAO;IACPG,MAAM,EAANA,MAAM;IACNC,aAAa,EAAbA,aAAa;IACb7U,WAAW,EAAE6T,aAAa;IAC1BiD,SAAS,EAAE,IAAI,CAAC5nB,UAAU;IAC1BqlB,aAAa,EAAE,IAAI,CAACtlB;EACrB,CAAA,CAAC;AACJ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[4,14]}
|