@slashid/remix 0.1.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sources":["../src/util.ts","../../../node_modules/.pnpm/@slashid+slashid@3.17.1/node_modules/@slashid/slashid/dist/esmodule/slashid.esm.js","../../../node_modules/.pnpm/@slashid+react@1.17.0_@slashid+slashid@3.17.1_@types+react-dom@18.2.18_@types+react@18.2.46_r_ppji2fth4qons3kze45ezggglm/node_modules/@slashid/react/dist/main.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../src/slashid-provider.tsx","../../../node_modules/.pnpm/@remix-run+router@1.14.1/node_modules/@remix-run/router/dist/router.js","../../../node_modules/.pnpm/@remix-run+server-runtime@2.4.1_typescript@4.9.5/node_modules/@remix-run/server-runtime/dist/mode.js","../../../node_modules/.pnpm/@remix-run+server-runtime@2.4.1_typescript@4.9.5/node_modules/@remix-run/server-runtime/dist/errors.js","../../../node_modules/.pnpm/@remix-run+server-runtime@2.4.1_typescript@4.9.5/node_modules/@remix-run/server-runtime/dist/responses.js","../src/callback.ts","../../../node_modules/.pnpm/url-join@5.0.0/node_modules/url-join/lib/url-join.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/webcrypto.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/buffer_utils.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/base64url.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/util/errors.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/crypto_key.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/invalid_key_input.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/is_key_like.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/is_disjoint.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/is_object.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/check_key_length.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/jwk_to_key.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/key/import.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/check_key_type.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/validate_crit.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/validate_algorithms.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/subtle_dsa.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/get_sign_verify_key.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/verify.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/jws/flattened/verify.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/jws/compact/verify.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/epoch.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/secs.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/lib/jwt_claims_set.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/jwt/verify.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/jwks/local.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/runtime/fetch_jwks.js","../../../node_modules/.pnpm/jose@5.2.0/node_modules/jose/dist/browser/jwks/remote.js","../src/verify.ts","../src/root-loader.tsx","../src/slashid-app.tsx","../src/use-slash-id.ts","../src/styles.tsx","../src/form.tsx"],"sourcesContent":["import {\n LoaderFunctionArgs,\n json,\n type defer,\n} from \"@remix-run/server-runtime\";\nimport { RootAuthLoaderCallbackReturn } from \"./callback\";\nimport { SSR } from \"@slashid/slashid\";\n\nexport const addSlashIdToResponse = async <T extends (...args: any) => any>(\n response: Response,\n slashid: { slashid?: string }\n) => {\n const clone = response.clone();\n const data = (await clone.json()) ?? {};\n\n clone.headers.set(\"content-type\", \"application/json\");\n\n return json({ ...(data || {}), ...slashid }, clone) as ReturnType<\n T & { slashid?: string }\n >;\n};\n\nexport const addSlashIdToDeferredResponse = async <\n T extends (...args: any) => any\n>(\n response: ReturnType<typeof defer>,\n slashid: { slashid?: string }\n) => {\n response.data.slashid = slashid;\n\n return response as ReturnType<T & { slashid?: string }>;\n};\n\nexport function assertCallbackResult(\n callbackReturn: any\n): asserts callbackReturn is Record<string, unknown> | null {\n if (\n Array.isArray(callbackReturn) ||\n (callbackReturn !== null && typeof callbackReturn !== \"object\")\n ) {\n throw new Error(\"Bad callback return type\");\n }\n}\n\nexport const getUserTokenFromCookies = (\n cookies: string | null\n): string | undefined => {\n if (!cookies) return undefined;\n\n const all = cookies\n .split(\";\")\n .filter((cookie) => cookie.includes(\"=\"))\n .map((cookie) => cookie.split(\"=\"))\n .reduce<Record<string, string>>((acc, cur) => {\n const [encodedKey, encodedValue] = cur;\n\n const key = decodeURIComponent(encodedKey.trim());\n const value = decodeURIComponent(encodedValue.trim());\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n const STORAGE_KEY = \"@slashid/USER_TOKEN\";\n\n return all[STORAGE_KEY];\n};\n\ntype BaseUser = typeof SSR.User;\n\n/**\n * Use this function in a loader to check if the user is authenticated.\n * @param request\n * @returns\n */\nexport const getUser = (args: LoaderFunctionArgs): BaseUser | undefined => {\n const { user } = args.context as { user?: BaseUser };\n\n return user;\n};\n\nexport const isResponse = (\n callback: Awaited<RootAuthLoaderCallbackReturn>\n): callback is Response => {\n if (callback === null) return false;\n return (\n typeof callback.body !== \"undefined\" &&\n typeof callback.headers === \"object\" &&\n typeof callback.status === \"number\" &&\n typeof callback.statusText === \"string\"\n );\n};\n\nexport const isRedirect = ({ status }: Response): boolean => {\n return status >= 300 && status < 400;\n};\n","function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n// TODO generate on build from git tag\nvar $b53ace5c1f7fa838$exports = {};\n$b53ace5c1f7fa838$exports = JSON.parse('{\"name\":\"@slashid/slashid\",\"private\":false,\"publishConfig\":{\"access\":\"public\"},\"version\":\"3.17.1\",\"description\":\"Client SDK for the /id platform\",\"homepage\":\"https://slashid.dev\",\"author\":\"SlashID\",\"license\":\"MIT\",\"main\":\"./dist/bundle/slashid.js\",\"module\":\"./dist/esmodule/slashid.esm.js\",\"esmodule\":\"./dist/esmodule/slashid.esm.js\",\"commonjs\":\"./dist/commonjs/slashid.cjs.js\",\"bundle\":\"./dist/bundle/slashid.js\",\"types\":\"./dist/types/slashid.d.ts\",\"exports\":{\".\":{\"require\":\"./dist/commonjs/slashid.cjs.js\",\"import\":\"./dist/esmodule/slashid.esm.js\",\"default\":\"./dist/commonjs/slashid.cjs.js\",\"types\":\"./dist/types/slashid.d.ts\"}},\"targets\":{\"esmodule\":{\"source\":\"src/targets/package.ts\",\"context\":\"browser\",\"isLibrary\":true,\"outputFormat\":\"esmodule\",\"engines\":{\"browsers\":[\"and_chr >= 73\",\"chrome >= 73\",\"and_ff >= 67\",\"android >= 114\",\"edge >= 79\",\"samsung >= 11.2\",\"safari >= 13\",\"ios_saf >= 13.1\",\"opera >= 60\",\"firefox >= 67\",\"unreleased and_chr versions\",\"unreleased chrome versions\",\"unreleased and_ff versions\",\"unreleased android versions\",\"unreleased edge versions\",\"unreleased samsung versions\",\"unreleased safari versions\",\"unreleased ios_saf versions\",\"unreleased opera versions\",\"unreleased firefox versions\"]}},\"commonjs\":{\"source\":\"src/targets/package.ts\",\"context\":\"node\",\"isLibrary\":true,\"outputFormat\":\"commonjs\",\"engines\":{\"node\":\">= 12\"}},\"bundle\":{\"source\":\"src/targets/bundle.ts\",\"context\":\"browser\",\"outputFormat\":\"global\",\"engines\":{\"browsers\":[\"> 0.5%\",\"last 2 versions\",\"not dead\"]}},\"page\":{\"source\":\"static/sdk.html\",\"context\":\"browser\",\"engines\":{\"browsers\":[\"and_chr >= 73\",\"chrome >= 73\",\"and_ff >= 67\",\"android >= 114\",\"edge >= 79\",\"samsung >= 11.2\",\"safari >= 13\",\"ios_saf >= 13.1\",\"opera >= 60\",\"firefox >= 67\",\"unreleased and_chr versions\",\"unreleased chrome versions\",\"unreleased and_ff versions\",\"unreleased android versions\",\"unreleased edge versions\",\"unreleased samsung versions\",\"unreleased safari versions\",\"unreleased ios_saf versions\",\"unreleased opera versions\",\"unreleased firefox versions\"]}},\"types\":{\"source\":\"src/targets/package.ts\"}},\"files\":[\"dist/esmodule\",\"dist/commonjs\",\"dist/types\"],\"keywords\":[\"slashid\",\"SlashID\",\"auth\",\"openid\",\"authentication\",\"jwt\",\"browser\"],\"scripts\":{\"clean\":\"rm -rf dist docs\",\"lint\":\"eslint ./src --ext .ts\",\"format\":\"prettier --config .prettierrc.json \\'src/**/*.ts\\' --write\",\"test:ts\":\"tsc --project tsconfig.json --noEmit\",\"test:unit\":\"jest\",\"test:unit:watch\":\"jest --watch\",\"test:unit:ci\":\"jest --ci\",\"test:integration\":\"playwright test\",\"build\":\"rm -rf dist && parcel build && cp compat/esmodule/package.json dist/esmodule\",\"docs\":\"rm -rf docs && typedoc\",\"dist\":\"npm run lint && npm run build\",\"all\":\"npm run dist && npm run docs\",\"serve:all\":\"parcel serve \\'static/*.html\\' --port 8080\",\"serve:example\":\"parcel serve static/index.html --port 8080\",\"serve:jump\":\"parcel serve static/sdk.html --port 8080\",\"serve:docs\":\"parcel serve docs/index.html --port 8081\",\"push:docs\":\"aws s3 sync docs s3://slashiddoc/sdk/v$(node tools/version.js --major) && (aws cloudfront create-invalidation --distribution-id ETLBNGAAF97EN --paths \\\\\"/*\\\\\")\",\"changeset\":\"changeset\",\"prepublishOnly\":\"npm run all\",\"publish:ci\":\"npm run build && changeset publish\"},\"devDependencies\":{\"@parcel/core\":\"2.9.3\",\"@parcel/packager-ts\":\"2.9.3\",\"@parcel/transformer-babel\":\"2.9.3\",\"@parcel/transformer-js\":\"2.9.3\",\"@parcel/transformer-json\":\"2.9.3\",\"@parcel/transformer-react-refresh-wrap\":\"2.9.3\",\"@parcel/transformer-typescript-types\":\"2.9.3\",\"@playwright/test\":\"^1.25.0\",\"@types/jest\":\"^28.1.7\",\"@types/node\":\"~15.0.2\",\"@types/qrcode\":\"^1.5.0\",\"@typescript-eslint/eslint-plugin\":\"^4.15.1\",\"@typescript-eslint/parser\":\"^4.15.1\",\"danger\":\"^11.2.6\",\"eslint\":\"^7.20.0\",\"eslint-config-prettier\":\"^8.5.0\",\"eslint-plugin-prettier\":\"^4.2.1\",\"isomorphic-fetch\":\"^3.0.0\",\"jest\":\"^28.1.3\",\"jest-environment-jsdom\":\"^28.1.3\",\"jest-fetch-mock\":\"^3.0.3\",\"parcel\":\"^2.7.0\",\"prettier\":\"^2.7.1\",\"ts-jest\":\"^28.0.8\",\"typedoc\":\"^0.23.00\",\"typedoc-plugin-mdn-links\":\"^2.0.0\",\"typedoc-plugin-missing-exports\":\"^1.0.0\",\"typescript\":\"~4.7.0\"},\"dependencies\":{\"@changesets/cli\":\"^2.26.2\",\"@types/uuid\":\"8.3.4\",\"changeset\":\"^0.2.6\",\"docdash\":\"^1.2.0\",\"jwt-decode\":\"^3.1.2\",\"mitt\":\"^3.0.0\",\"qrcode\":\"^1.5.1\",\"querystring-es3\":\"^0.2.1\",\"regenerator-runtime\":\"^0.13.9\",\"url\":\"^0.11.0\",\"uuid\":\"8.3.2\"}}');\n\n\nconst [$0c9d6ccd124360dc$var$major, $0c9d6ccd124360dc$var$minor, $0c9d6ccd124360dc$var$patch] = (0, $b53ace5c1f7fa838$exports.version).split(\".\");\nconst $0c9d6ccd124360dc$export$f9582ef3c55143f = {\n major: $0c9d6ccd124360dc$var$major,\n minor: $0c9d6ccd124360dc$var$minor,\n patch: $0c9d6ccd124360dc$var$patch,\n raw: (0, $b53ace5c1f7fa838$exports.version)\n};\n\n\n/* tslint:disable */ /* eslint-disable */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ const $168d06aed8b3cdb0$export$2812a1fb15aca49c = \"https://api.slashid.com\".replace(/\\/+$/, \"\");\nclass $168d06aed8b3cdb0$export$fa89be98fe0936f2 {\n set config(configuration) {\n this.configuration = configuration;\n }\n get basePath() {\n return this.configuration.basePath != null ? this.configuration.basePath : $168d06aed8b3cdb0$export$2812a1fb15aca49c;\n }\n get fetchApi() {\n return this.configuration.fetchApi;\n }\n get middleware() {\n return this.configuration.middleware || [];\n }\n get queryParamsStringify() {\n return this.configuration.queryParamsStringify || $168d06aed8b3cdb0$export$ac4103b836844853;\n }\n get username() {\n return this.configuration.username;\n }\n get password() {\n return this.configuration.password;\n }\n get apiKey() {\n const apiKey = this.configuration.apiKey;\n if (apiKey) return typeof apiKey === \"function\" ? apiKey : ()=>apiKey;\n return undefined;\n }\n get accessToken() {\n const accessToken = this.configuration.accessToken;\n if (accessToken) return typeof accessToken === \"function\" ? accessToken : async ()=>accessToken;\n return undefined;\n }\n get headers() {\n return this.configuration.headers;\n }\n get credentials() {\n return this.configuration.credentials;\n }\n constructor(configuration = {}){\n this.configuration = configuration;\n }\n}\nconst $168d06aed8b3cdb0$export$ac4f8128ea29c5 = new $168d06aed8b3cdb0$export$fa89be98fe0936f2();\nclass $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n withMiddleware(...middlewares) {\n const next = this.clone();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n withPreMiddleware(...preMiddlewares) {\n const middlewares = preMiddlewares.map((pre)=>({\n pre: pre\n }));\n return this.withMiddleware(...middlewares);\n }\n withPostMiddleware(...postMiddlewares) {\n const middlewares = postMiddlewares.map((post)=>({\n post: post\n }));\n return this.withMiddleware(...middlewares);\n }\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */ isJsonMime(mime) {\n if (!mime) return false;\n return $168d06aed8b3cdb0$export$70edad7ad5bb3f5d.jsonRegex.test(mime);\n }\n async request(context, initOverrides) {\n const { url: url, init: init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && response.status >= 200 && response.status < 300) return response;\n throw new $168d06aed8b3cdb0$export$286baf652d0b1206(response, \"Response returned an error code\");\n }\n async createFetchParams(context, initOverrides) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += \"?\" + this.configuration.queryParamsStringify(context.query);\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach((key)=>headers[key] === undefined ? delete headers[key] : {});\n const initOverrideFn = typeof initOverrides === \"function\" ? initOverrides : async ()=>initOverrides;\n const initParams = {\n method: context.method,\n headers: headers,\n body: context.body,\n credentials: this.configuration.credentials\n };\n const overriddenInit = {\n ...initParams,\n ...await initOverrideFn({\n init: initParams,\n context: context\n })\n };\n const init = {\n ...overriddenInit,\n body: $168d06aed8b3cdb0$var$isFormData(overriddenInit.body) || overriddenInit.body instanceof URLSearchParams || $168d06aed8b3cdb0$var$isBlob(overriddenInit.body) ? overriddenInit.body : JSON.stringify(overriddenInit.body)\n };\n return {\n url: url,\n init: init\n };\n }\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */ clone() {\n const constructor = this.constructor;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n constructor(configuration = $168d06aed8b3cdb0$export$ac4f8128ea29c5){\n this.configuration = configuration;\n this.fetchApi = async (url, init)=>{\n let fetchParams = {\n url: url,\n init: init\n };\n for (const middleware of this.middleware)if (middleware.pre) fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams\n }) || fetchParams;\n let response = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware)if (middleware.onError) response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined\n }) || response;\n if (response === undefined) {\n if (e instanceof Error) throw new $168d06aed8b3cdb0$export$26e841bcf1aeb894(e, \"The request failed and the interceptors did not return an alternative response\");\n else throw e;\n }\n }\n for (const middleware of this.middleware)if (middleware.post) response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone()\n }) || response;\n return response;\n };\n this.middleware = configuration.middleware;\n }\n}\n(()=>{\n $168d06aed8b3cdb0$export$70edad7ad5bb3f5d.jsonRegex = new RegExp(\"^(:?application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$\", \"i\");\n})();\nfunction $168d06aed8b3cdb0$var$isBlob(value) {\n return typeof Blob !== \"undefined\" && value instanceof Blob;\n}\nfunction $168d06aed8b3cdb0$var$isFormData(value) {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\nclass $168d06aed8b3cdb0$export$286baf652d0b1206 extends Error {\n constructor(response, msg){\n super(msg);\n this.response = response;\n this.name = \"ResponseError\";\n }\n}\nclass $168d06aed8b3cdb0$export$26e841bcf1aeb894 extends Error {\n constructor(cause, msg){\n super(msg);\n this.cause = cause;\n this.name = \"FetchError\";\n }\n}\nclass $168d06aed8b3cdb0$export$a27bea7cdb975d70 extends Error {\n constructor(field, msg){\n super(msg);\n this.field = field;\n this.name = \"RequiredError\";\n }\n}\nconst $168d06aed8b3cdb0$export$83cb526776fb323d = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\t\",\n pipes: \"|\"\n};\nfunction $168d06aed8b3cdb0$export$f7e9f41ea797a17(json, key) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\nfunction $168d06aed8b3cdb0$export$ac4103b836844853(params, prefix = \"\") {\n return Object.keys(params).map((key)=>$168d06aed8b3cdb0$var$querystringSingleKey(key, params[key], prefix)).filter((part)=>part.length > 0).join(\"&\");\n}\nfunction $168d06aed8b3cdb0$var$querystringSingleKey(key, value, keyPrefix = \"\") {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map((singleValue)=>encodeURIComponent(String(singleValue))).join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return $168d06aed8b3cdb0$var$querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n if (value instanceof Object) return $168d06aed8b3cdb0$export$ac4103b836844853(value, fullKey);\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\nfunction $168d06aed8b3cdb0$export$825e789796ab7275(data, fn) {\n return Object.keys(data).reduce((acc, key)=>({\n ...acc,\n [key]: fn(data[key])\n }), {});\n}\nfunction $168d06aed8b3cdb0$export$59072c3750441c02(consumes) {\n for (const consume of consumes){\n if (\"multipart/form-data\" === consume.contentType) return true;\n }\n return false;\n}\nclass $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4 {\n async value() {\n return this.transformer(await this.raw.json());\n }\n constructor(raw, transformer = (jsonValue)=>jsonValue){\n this.raw = raw;\n this.transformer = transformer;\n }\n}\nclass $168d06aed8b3cdb0$export$20446dc680588cc3 {\n async value() {\n return undefined;\n }\n constructor(raw){\n this.raw = raw;\n }\n}\nclass $168d06aed8b3cdb0$export$9d707f60a06b41f8 {\n async value() {\n return await this.raw.blob();\n }\n constructor(raw){\n this.raw = raw;\n }\n}\nclass $168d06aed8b3cdb0$export$bf40ae8c274ef99b {\n async value() {\n return await this.raw.text();\n }\n constructor(raw){\n this.raw = raw;\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $0eadbd49a71751c9$export$2caf5cdeee54129b(value) {\n let isInstance = true;\n isInstance = isInstance && \"limit\" in value;\n isInstance = isInstance && \"offset\" in value;\n isInstance = isInstance && \"total_count\" in value;\n return isInstance;\n}\nfunction $0eadbd49a71751c9$export$c449262465ba2bb9(json) {\n return $0eadbd49a71751c9$export$3fe7617ab48f3b5c(json, false);\n}\nfunction $0eadbd49a71751c9$export$3fe7617ab48f3b5c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"limit\": json[\"limit\"],\n \"offset\": json[\"offset\"],\n \"total_count\": json[\"total_count\"]\n };\n}\nfunction $0eadbd49a71751c9$export$9c53a26884a83ec6(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"limit\": value.limit,\n \"offset\": value.offset,\n \"total_count\": value.total_count\n };\n}\n\n\nfunction $39b4d090739e0edb$export$90742f18fb91b1a8(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $39b4d090739e0edb$export$70023f934842ce53(json) {\n return $39b4d090739e0edb$export$9057b09091c07cb0(json, false);\n}\nfunction $39b4d090739e0edb$export$9057b09091c07cb0(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"pagination\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"pagination\") ? undefined : (0, $0eadbd49a71751c9$export$c449262465ba2bb9)(json[\"pagination\"])\n };\n}\nfunction $39b4d090739e0edb$export$a688b751866cf7f3(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"pagination\": (0, $0eadbd49a71751c9$export$9c53a26884a83ec6)(value.pagination)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $a9bac9599bd76c1d$export$6c620df6ac3163e7(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $a9bac9599bd76c1d$export$9a91be5fb3879fb9(json) {\n return $a9bac9599bd76c1d$export$39dc308db371e81(json, false);\n}\nfunction $a9bac9599bd76c1d$export$39dc308db371e81(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"httpcode\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"httpcode\") ? undefined : json[\"httpcode\"],\n \"message\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"message\") ? undefined : json[\"message\"]\n };\n}\nfunction $a9bac9599bd76c1d$export$797f61dd859e886c(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"httpcode\": value.httpcode,\n \"message\": value.message\n };\n}\n\n\nfunction $98d4ae80407991f3$export$2b7c18f96ce69490(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $98d4ae80407991f3$export$53557473c48f27d7(json) {\n return $98d4ae80407991f3$export$488f61d1ca30688d(json, false);\n}\nfunction $98d4ae80407991f3$export$488f61d1ca30688d(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9))\n };\n}\nfunction $98d4ae80407991f3$export$9f307ab67ab58299(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c))\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $6efd4ce2feb2bdc3$export$7962c6bffc1da42 = {\n Proxy: \"proxy\",\n WebauthnCreate: \"webauthn_create\",\n WebauthnGet: \"webauthn_get\",\n Nonce: \"nonce\",\n Otp: \"otp\",\n Oidc: \"oidc\",\n Saml: \"saml\",\n PasswordSet: \"password_set\",\n PasswordVerify: \"password_verify\",\n PasswordReset: \"password_reset\"\n};\nfunction $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3(json) {\n return $6efd4ce2feb2bdc3$export$b1e18bb9237bd017(json, false);\n}\nfunction $6efd4ce2feb2bdc3$export$b1e18bb9237bd017(json, ignoreDiscriminator) {\n return json;\n}\nfunction $6efd4ce2feb2bdc3$export$e418cafec408031e(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $5db1ceb0857c067d$export$bab851ae817d28dd(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $5db1ceb0857c067d$export$703f66b537d92f5c(json) {\n return $5db1ceb0857c067d$export$a4e33e976363db18(json, false);\n}\nfunction $5db1ceb0857c067d$export$a4e33e976363db18(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"challenge\") ? undefined : json[\"challenge\"]\n };\n}\nfunction $5db1ceb0857c067d$export$91e7f239824ee67f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge\": value.challenge\n };\n}\n\n\nfunction $938a3eca74e6d666$export$88b5d910b589cf13(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $938a3eca74e6d666$export$dea5b50d6ead812(json) {\n return $938a3eca74e6d666$export$fe0ec9eae36a9b35(json, false);\n}\nfunction $938a3eca74e6d666$export$fe0ec9eae36a9b35(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $5db1ceb0857c067d$export$703f66b537d92f5c)(json[\"data\"])\n };\n}\nfunction $938a3eca74e6d666$export$2ddc20e282619fc3(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": (0, $5db1ceb0857c067d$export$91e7f239824ee67f)(value.data)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $7531f066927bc183$export$1d9a2093aa5b8546(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $7531f066927bc183$export$bb8ecc995265609e(json) {\n return $7531f066927bc183$export$fe08176e0964d56a(json, false);\n}\nfunction $7531f066927bc183$export$fe08176e0964d56a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"otp\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"otp\") ? undefined : json[\"otp\"]\n };\n}\nfunction $7531f066927bc183$export$6da0bcef5e0a8fdb(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"otp\": value.otp\n };\n}\n\n\nfunction $f449912ebe4a113d$export$3e31be0f0b2d293a(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $f449912ebe4a113d$export$1898d4ed4a0ad45e(json) {\n return $f449912ebe4a113d$export$4285315b0ce1487c(json, false);\n}\nfunction $f449912ebe4a113d$export$4285315b0ce1487c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $7531f066927bc183$export$bb8ecc995265609e)(json[\"data\"])\n };\n}\nfunction $f449912ebe4a113d$export$9e8a349f91c23ca8(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": (0, $7531f066927bc183$export$6da0bcef5e0a8fdb)(value.data)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $4c15086ce037a833$export$3e7a5827055f8c1f(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $4c15086ce037a833$export$531fea8f5c0d835d(json) {\n return $4c15086ce037a833$export$d9419205450c9d50(json, false);\n}\nfunction $4c15086ce037a833$export$d9419205450c9d50(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"password\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"password\") ? undefined : json[\"password\"]\n };\n}\nfunction $4c15086ce037a833$export$b0b890df0497afa3(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"password\": value.password\n };\n}\n\n\nfunction $7129eb840d90c811$export$40bbbf642a3a69ad(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $7129eb840d90c811$export$5d2326fd568db8d0(json) {\n return $7129eb840d90c811$export$d45d032a25047716(json, false);\n}\nfunction $7129eb840d90c811$export$d45d032a25047716(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $4c15086ce037a833$export$531fea8f5c0d835d)(json[\"data\"])\n };\n}\nfunction $7129eb840d90c811$export$7b6f5d07bfad78e9(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": (0, $4c15086ce037a833$export$b0b890df0497afa3)(value.data)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $daf2c31c3fecb469$export$a964533c60d268fd(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $daf2c31c3fecb469$export$fe9d75047753248b(json) {\n return $daf2c31c3fecb469$export$756838b7787a84f1(json, false);\n}\nfunction $daf2c31c3fecb469$export$756838b7787a84f1(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"password\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"password\") ? undefined : json[\"password\"]\n };\n}\nfunction $daf2c31c3fecb469$export$69b7ca2907b53e3d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"password\": value.password\n };\n}\n\n\nfunction $8660c4b56cb27ecd$export$c8ecde44d2fa41f4(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $8660c4b56cb27ecd$export$17063cb6a2c93912(json) {\n return $8660c4b56cb27ecd$export$539bcbef6d641f12(json, false);\n}\nfunction $8660c4b56cb27ecd$export$539bcbef6d641f12(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $daf2c31c3fecb469$export$fe9d75047753248b)(json[\"data\"])\n };\n}\nfunction $8660c4b56cb27ecd$export$751a8f178b8690f0(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": (0, $daf2c31c3fecb469$export$69b7ca2907b53e3d)(value.data)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $532c77d166192e4f$export$486889bd75e3b780(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $532c77d166192e4f$export$3fe1672863804c9d(json) {\n return $532c77d166192e4f$export$f4579e3d10a997c7(json, false);\n}\nfunction $532c77d166192e4f$export$f4579e3d10a997c7(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"password\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"password\") ? undefined : json[\"password\"]\n };\n}\nfunction $532c77d166192e4f$export$27fad2cccc00f212(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"password\": value.password\n };\n}\n\n\nfunction $a81d20114b11fe07$export$52d6565f54833912(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $a81d20114b11fe07$export$6d7d3f7497bac8da(json) {\n return $a81d20114b11fe07$export$10d1c2ecf0d72392(json, false);\n}\nfunction $a81d20114b11fe07$export$10d1c2ecf0d72392(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $532c77d166192e4f$export$3fe1672863804c9d)(json[\"data\"])\n };\n}\nfunction $a81d20114b11fe07$export$b7b281ec8692f580(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": (0, $532c77d166192e4f$export$27fad2cccc00f212)(value.data)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $68761697813975d9$export$a5ca1d3b297dbd23(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $68761697813975d9$export$14a4778736916973(json) {\n return $68761697813975d9$export$dbc4437c51d4130d(json, false);\n}\nfunction $68761697813975d9$export$dbc4437c51d4130d(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : json[\"data\"]\n };\n}\nfunction $68761697813975d9$export$2704f2dae5463d10(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": value.data\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $b1e25c535a095a1e$export$de882eb450d20938(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $b1e25c535a095a1e$export$33a30dd12c6f8c8d(json) {\n return $b1e25c535a095a1e$export$d4d9b4c10592863c(json, false);\n}\nfunction $b1e25c535a095a1e$export$d4d9b4c10592863c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"]),\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : json[\"data\"]\n };\n}\nfunction $b1e25c535a095a1e$export$1181dc7f727e9334(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type),\n \"data\": value.data\n };\n}\n\n\nfunction $ec04d4058abe68eb$export$f2a65bfde9fd2807(json) {\n return $ec04d4058abe68eb$export$f931041f10007c40(json, false);\n}\nfunction $ec04d4058abe68eb$export$f931041f10007c40(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n switch(json[\"challenge_type\"]){\n case \"nonce\":\n return {\n ...(0, $938a3eca74e6d666$export$fe0ec9eae36a9b35)(json, true),\n challenge_type: \"nonce\"\n };\n case \"otp\":\n return {\n ...(0, $f449912ebe4a113d$export$4285315b0ce1487c)(json, true),\n challenge_type: \"otp\"\n };\n case \"password_reset\":\n return {\n ...(0, $7129eb840d90c811$export$d45d032a25047716)(json, true),\n challenge_type: \"password_reset\"\n };\n case \"password_set\":\n return {\n ...(0, $8660c4b56cb27ecd$export$539bcbef6d641f12)(json, true),\n challenge_type: \"password_set\"\n };\n case \"password_verify\":\n return {\n ...(0, $a81d20114b11fe07$export$10d1c2ecf0d72392)(json, true),\n challenge_type: \"password_verify\"\n };\n case \"webauthn_create\":\n return {\n ...(0, $68761697813975d9$export$dbc4437c51d4130d)(json, true),\n challenge_type: \"webauthn_create\"\n };\n case \"webauthn_get\":\n return {\n ...(0, $b1e25c535a095a1e$export$d4d9b4c10592863c)(json, true),\n challenge_type: \"webauthn_get\"\n };\n default:\n throw new Error(`No variant of Attestation exists with 'challenge_type=${json[\"challenge_type\"]}'`);\n }\n}\nfunction $ec04d4058abe68eb$export$d7f719716c0ef239(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n switch(value[\"challenge_type\"]){\n case \"nonce\":\n return (0, $938a3eca74e6d666$export$2ddc20e282619fc3)(value);\n case \"otp\":\n return (0, $f449912ebe4a113d$export$9e8a349f91c23ca8)(value);\n case \"password_reset\":\n return (0, $7129eb840d90c811$export$7b6f5d07bfad78e9)(value);\n case \"password_set\":\n return (0, $8660c4b56cb27ecd$export$751a8f178b8690f0)(value);\n case \"password_verify\":\n return (0, $a81d20114b11fe07$export$b7b281ec8692f580)(value);\n case \"webauthn_create\":\n return (0, $68761697813975d9$export$2704f2dae5463d10)(value);\n case \"webauthn_get\":\n return (0, $b1e25c535a095a1e$export$1181dc7f727e9334)(value);\n default:\n throw new Error(`No variant of Attestation exists with 'challenge_type=${value[\"challenge_type\"]}'`);\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $3631ba6a1c3f226f$export$3115cb5e7f1d8877(value) {\n let isInstance = true;\n isInstance = isInstance && \"challenge_id\" in value;\n isInstance = isInstance && \"challenge_type\" in value;\n return isInstance;\n}\nfunction $3631ba6a1c3f226f$export$514140d1566d2164(json) {\n return $3631ba6a1c3f226f$export$7e04f5374583ac72(json, false);\n}\nfunction $3631ba6a1c3f226f$export$7e04f5374583ac72(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": json[\"challenge_id\"],\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"challenge_type\"])\n };\n}\nfunction $3631ba6a1c3f226f$export$43ad8a418ad29a9f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id,\n \"challenge_type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.challenge_type)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * Allowed login factor\n * @export\n */ const $d180e6976bd68c99$export$8279f5e63c6521d8 = {\n Webauthn: \"webauthn\",\n EmailLink: \"email_link\",\n SmsLink: \"sms_link\",\n OtpViaSms: \"otp_via_sms\",\n OtpViaEmail: \"otp_via_email\",\n Oidc: \"oidc\",\n Saml: \"saml\",\n Api: \"api\",\n DirectId: \"direct_id\",\n Password: \"password\"\n};\nfunction $d180e6976bd68c99$export$67789e1d0e9f3dc1(json) {\n return $d180e6976bd68c99$export$db3563c2b590c7be(json, false);\n}\nfunction $d180e6976bd68c99$export$db3563c2b590c7be(json, ignoreDiscriminator) {\n return json;\n}\nfunction $d180e6976bd68c99$export$6eefe3f1006b48e7(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $1221773f83e5dbf8$export$885886f088cd0586 = {\n EmailAddress: \"email_address\",\n PhoneNumber: \"phone_number\"\n};\nfunction $1221773f83e5dbf8$export$4298639bc743d812(json) {\n return $1221773f83e5dbf8$export$a40e0eed0469a814(json, false);\n}\nfunction $1221773f83e5dbf8$export$a40e0eed0469a814(json, ignoreDiscriminator) {\n return json;\n}\nfunction $1221773f83e5dbf8$export$501f062f75ed6632(value) {\n return value;\n}\n\n\nfunction $c40c5abb0dd863b2$export$fe8bf34cf162832e(value) {\n let isInstance = true;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n return isInstance;\n}\nfunction $c40c5abb0dd863b2$export$11c41aa448e0ad82(json) {\n return $c40c5abb0dd863b2$export$68e40d7b475f3dd1(json, false);\n}\nfunction $c40c5abb0dd863b2$export$68e40d7b475f3dd1(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"type\": (0, $1221773f83e5dbf8$export$4298639bc743d812)(json[\"type\"]),\n \"value\": json[\"value\"]\n };\n}\nfunction $c40c5abb0dd863b2$export$82ff335443c9930(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"type\": (0, $1221773f83e5dbf8$export$501f062f75ed6632)(value.type),\n \"value\": value.value\n };\n}\n\n\nfunction $b875578786480fb6$export$d8b8de51640512f3(value) {\n let isInstance = true;\n isInstance = isInstance && \"handle\" in value;\n isInstance = isInstance && \"timestamp\" in value;\n isInstance = isInstance && \"method\" in value;\n return isInstance;\n}\nfunction $b875578786480fb6$export$6ba513db151a5ff1(json) {\n return $b875578786480fb6$export$80085d460a32fb43(json, false);\n}\nfunction $b875578786480fb6$export$80085d460a32fb43(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"handle\": (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"]),\n \"timestamp\": new Date(json[\"timestamp\"]),\n \"method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"method\"])\n };\n}\nfunction $b875578786480fb6$export$7f86f8f881fe1819(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle),\n \"timestamp\": value.timestamp.toISOString(),\n \"method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $cb37c6bf124abb86$export$17f7ef3862c4dda9(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $cb37c6bf124abb86$export$6e7bcb022586c1f6(json) {\n return $cb37c6bf124abb86$export$ff1bb9fe67f257bd(json, false);\n}\nfunction $cb37c6bf124abb86$export$ff1bb9fe67f257bd(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"])\n };\n}\nfunction $cb37c6bf124abb86$export$9e42112df54de254(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $c3dfd57c89c1e2e4$export$962ec99ccb777e5d(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c3dfd57c89c1e2e4$export$fccc5f59fb10fb43(json) {\n return $c3dfd57c89c1e2e4$export$6ae5a046f2854d1f(json, false);\n}\nfunction $c3dfd57c89c1e2e4$export$6ae5a046f2854d1f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"challenge\") ? undefined : json[\"challenge\"]\n };\n}\nfunction $c3dfd57c89c1e2e4$export$5a6bb73c099af14b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge\": value.challenge\n };\n}\n\n\nfunction $d31daadb48d86051$export$381060df3b43f694(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $d31daadb48d86051$export$12bce9f63d0d1b43(json) {\n return $d31daadb48d86051$export$c89b7013df12088e(json, false);\n}\nfunction $d31daadb48d86051$export$c89b7013df12088e(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : (0, $c3dfd57c89c1e2e4$export$fccc5f59fb10fb43)(json[\"options\"])\n };\n}\nfunction $d31daadb48d86051$export$e8c577ab91ee698f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": (0, $c3dfd57c89c1e2e4$export$5a6bb73c099af14b)(value.options)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $9bd594023bed0442$export$eda7d4da6f3d214f(value) {\n let isInstance = true;\n isInstance = isInstance && \"auth_code_url\" in value;\n return isInstance;\n}\nfunction $9bd594023bed0442$export$c53683eed796cca6(json) {\n return $9bd594023bed0442$export$3bee7ccd7ffe9afb(json, false);\n}\nfunction $9bd594023bed0442$export$3bee7ccd7ffe9afb(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"auth_code_url\": json[\"auth_code_url\"]\n };\n}\nfunction $9bd594023bed0442$export$b34b72165a81ac38(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"auth_code_url\": value.auth_code_url\n };\n}\n\n\nfunction $0f7f42b4792df871$export$c2d3203f268f2103(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n isInstance = isInstance && \"options\" in value;\n return isInstance;\n}\nfunction $0f7f42b4792df871$export$12547b38dcf4ab61(json) {\n return $0f7f42b4792df871$export$52281bb8e2d4eb8a(json, false);\n}\nfunction $0f7f42b4792df871$export$52281bb8e2d4eb8a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": (0, $9bd594023bed0442$export$c53683eed796cca6)(json[\"options\"])\n };\n}\nfunction $0f7f42b4792df871$export$b237322a72e22d30(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": (0, $9bd594023bed0442$export$b34b72165a81ac38)(value.options)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $731c3bb20387fcbc$export$1d66095413b818dc(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $731c3bb20387fcbc$export$ba2757049816016b(json) {\n return $731c3bb20387fcbc$export$11c938a12b9e7a4e(json, false);\n}\nfunction $731c3bb20387fcbc$export$11c938a12b9e7a4e(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"])\n };\n}\nfunction $731c3bb20387fcbc$export$39ee8e97c506a89d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $552b2b986ce10206$export$93aa968ce48fce07(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $552b2b986ce10206$export$dbcbef80979fd2e8(json) {\n return $552b2b986ce10206$export$e5fe87714f320c28(json, false);\n}\nfunction $552b2b986ce10206$export$e5fe87714f320c28(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"])\n };\n}\nfunction $552b2b986ce10206$export$ee2fef0e2b3251ae(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $2cd13ff80d3626b9$export$9a062f703f34347a(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $2cd13ff80d3626b9$export$5477c9fab2d7bd3a(json) {\n return $2cd13ff80d3626b9$export$e4f7639cf60c1778(json, false);\n}\nfunction $2cd13ff80d3626b9$export$e4f7639cf60c1778(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"])\n };\n}\nfunction $2cd13ff80d3626b9$export$8dba8265a6f7070c(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $d6a124919832e9d9$export$15329ecd0bdefeaa(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $d6a124919832e9d9$export$7a5b20871392ef1a(json) {\n return $d6a124919832e9d9$export$b8669a208e58c77c(json, false);\n}\nfunction $d6a124919832e9d9$export$b8669a208e58c77c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"])\n };\n}\nfunction $d6a124919832e9d9$export$3b2df7bcf8c9a0ac(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $e6643d9a3244a168$export$2aa312c401d27633(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $e6643d9a3244a168$export$f1b0b8bf9576e182(json) {\n return $e6643d9a3244a168$export$c12821ff4657af79(json, false);\n}\nfunction $e6643d9a3244a168$export$c12821ff4657af79(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"challenge_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"challenge_id\") ? undefined : json[\"challenge_id\"]\n };\n}\nfunction $e6643d9a3244a168$export$f9c2a4907f4de151(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"challenge_id\": value.challenge_id\n };\n}\n\n\nfunction $ced0e7bcad159a72$export$e4a96b1ac70d6952(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $ced0e7bcad159a72$export$a8e5d6ad8457d255(json) {\n return $ced0e7bcad159a72$export$2886b0dfa544935e(json, false);\n}\nfunction $ced0e7bcad159a72$export$2886b0dfa544935e(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : (0, $e6643d9a3244a168$export$f1b0b8bf9576e182)(json[\"options\"])\n };\n}\nfunction $ced0e7bcad159a72$export$149d00a24fa85ed5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": (0, $e6643d9a3244a168$export$f9c2a4907f4de151)(value.options)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $84d4b0b0bfe56e36$export$651a7485e3024dfa(value) {\n let isInstance = true;\n isInstance = isInstance && \"start_authentication_url\" in value;\n return isInstance;\n}\nfunction $84d4b0b0bfe56e36$export$69d72f503d5a95ba(json) {\n return $84d4b0b0bfe56e36$export$31dc24e629860ee2(json, false);\n}\nfunction $84d4b0b0bfe56e36$export$31dc24e629860ee2(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"start_authentication_url\": json[\"start_authentication_url\"]\n };\n}\nfunction $84d4b0b0bfe56e36$export$9cee4e2f30c94128(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"start_authentication_url\": value.start_authentication_url\n };\n}\n\n\nfunction $ef69dd8298107877$export$bfba04cf17e59ab8(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n isInstance = isInstance && \"options\" in value;\n return isInstance;\n}\nfunction $ef69dd8298107877$export$872d304ec9d9766(json) {\n return $ef69dd8298107877$export$19245043fc4758a9(json, false);\n}\nfunction $ef69dd8298107877$export$19245043fc4758a9(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": (0, $84d4b0b0bfe56e36$export$69d72f503d5a95ba)(json[\"options\"])\n };\n}\nfunction $ef69dd8298107877$export$73be0b9f120503f8(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": (0, $84d4b0b0bfe56e36$export$9cee4e2f30c94128)(value.options)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $f46e79312b38cc71$export$9bc0b18b61797527(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $f46e79312b38cc71$export$b7a0e49579dce760(json) {\n return $f46e79312b38cc71$export$13d6aef7f9d716af(json, false);\n}\nfunction $f46e79312b38cc71$export$13d6aef7f9d716af(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : json[\"options\"]\n };\n}\nfunction $f46e79312b38cc71$export$8189205342ed27d2(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": value.options\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $c35f4da18c4a6ef9$export$9c42d132abe91501(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"authentication_method\" in value;\n return isInstance;\n}\nfunction $c35f4da18c4a6ef9$export$5b300f7354c5b32(json) {\n return $c35f4da18c4a6ef9$export$90f387175041abdf(json, false);\n}\nfunction $c35f4da18c4a6ef9$export$90f387175041abdf(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"type\": (0, $6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3)(json[\"type\"]),\n \"authentication_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"authentication_method\"]),\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : json[\"options\"]\n };\n}\nfunction $c35f4da18c4a6ef9$export$9a8e42c9faeafe3(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"type\": (0, $6efd4ce2feb2bdc3$export$e418cafec408031e)(value.type),\n \"authentication_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.authentication_method),\n \"options\": value.options\n };\n}\n\n\nfunction $dad19632247d7ad3$export$2b369be06dcbfccd(json) {\n return $dad19632247d7ad3$export$c8d0f078679e0082(json, false);\n}\nfunction $dad19632247d7ad3$export$c8d0f078679e0082(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n switch(json[\"type\"]){\n case \"nonce\":\n return {\n ...(0, $d31daadb48d86051$export$c89b7013df12088e)(json, true),\n type: \"nonce\"\n };\n case \"oidc\":\n return {\n ...(0, $0f7f42b4792df871$export$52281bb8e2d4eb8a)(json, true),\n type: \"oidc\"\n };\n case \"otp\":\n return {\n ...(0, $731c3bb20387fcbc$export$11c938a12b9e7a4e)(json, true),\n type: \"otp\"\n };\n case \"password_reset\":\n return {\n ...(0, $552b2b986ce10206$export$e5fe87714f320c28)(json, true),\n type: \"password_reset\"\n };\n case \"password_set\":\n return {\n ...(0, $2cd13ff80d3626b9$export$e4f7639cf60c1778)(json, true),\n type: \"password_set\"\n };\n case \"password_verify\":\n return {\n ...(0, $d6a124919832e9d9$export$b8669a208e58c77c)(json, true),\n type: \"password_verify\"\n };\n case \"proxy\":\n return {\n ...(0, $ced0e7bcad159a72$export$2886b0dfa544935e)(json, true),\n type: \"proxy\"\n };\n case \"saml\":\n return {\n ...(0, $ef69dd8298107877$export$19245043fc4758a9)(json, true),\n type: \"saml\"\n };\n case \"webauthn_create\":\n return {\n ...(0, $f46e79312b38cc71$export$13d6aef7f9d716af)(json, true),\n type: \"webauthn_create\"\n };\n case \"webauthn_get\":\n return {\n ...(0, $c35f4da18c4a6ef9$export$90f387175041abdf)(json, true),\n type: \"webauthn_get\"\n };\n default:\n throw new Error(`No variant of ChallengeListInner exists with 'type=${json[\"type\"]}'`);\n }\n}\nfunction $dad19632247d7ad3$export$6177497a9ebb14ed(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n switch(value[\"type\"]){\n case \"nonce\":\n return (0, $d31daadb48d86051$export$e8c577ab91ee698f)(value);\n case \"oidc\":\n return (0, $0f7f42b4792df871$export$b237322a72e22d30)(value);\n case \"otp\":\n return (0, $731c3bb20387fcbc$export$39ee8e97c506a89d)(value);\n case \"password_reset\":\n return (0, $552b2b986ce10206$export$ee2fef0e2b3251ae)(value);\n case \"password_set\":\n return (0, $2cd13ff80d3626b9$export$8dba8265a6f7070c)(value);\n case \"password_verify\":\n return (0, $d6a124919832e9d9$export$3b2df7bcf8c9a0ac)(value);\n case \"proxy\":\n return (0, $ced0e7bcad159a72$export$149d00a24fa85ed5)(value);\n case \"saml\":\n return (0, $ef69dd8298107877$export$73be0b9f120503f8)(value);\n case \"webauthn_create\":\n return (0, $f46e79312b38cc71$export$8189205342ed27d2)(value);\n case \"webauthn_get\":\n return (0, $c35f4da18c4a6ef9$export$9a8e42c9faeafe3)(value);\n default:\n throw new Error(`No variant of ChallengeListInner exists with 'type=${value[\"type\"]}'`);\n }\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * The type of the credential\n * @export\n */ const $c2a276139e1508e8$export$eca2dc7e6e608a68 = {\n PublicKey: \"public-key\",\n Password: \"password\"\n};\nfunction $c2a276139e1508e8$export$7bbec83240b0eeeb(json) {\n return $c2a276139e1508e8$export$4abdb906a4385f20(json, false);\n}\nfunction $c2a276139e1508e8$export$4abdb906a4385f20(json, ignoreDiscriminator) {\n return json;\n}\nfunction $c2a276139e1508e8$export$ee7a066c014b3dac(value) {\n return value;\n}\n\n\nfunction $e8ad2f0bf89fe2eb$export$f9f494911b7d7d2c(value) {\n let isInstance = true;\n isInstance = isInstance && \"type\" in value;\n return isInstance;\n}\nfunction $e8ad2f0bf89fe2eb$export$a363240b760d24b8(json) {\n return $e8ad2f0bf89fe2eb$export$f8e99b8da07f878d(json, false);\n}\nfunction $e8ad2f0bf89fe2eb$export$f8e99b8da07f878d(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"params\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"params\") ? undefined : json[\"params\"],\n \"type\": (0, $c2a276139e1508e8$export$7bbec83240b0eeeb)(json[\"type\"]),\n \"label\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"label\") ? undefined : json[\"label\"]\n };\n}\nfunction $e8ad2f0bf89fe2eb$export$4363ac567ee6baea(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"params\": value.params,\n \"type\": (0, $c2a276139e1508e8$export$ee7a066c014b3dac)(value.type),\n \"label\": value.label\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $d393f165a83b0afb$export$8e49444f78fbbdb8 = {\n AuthenticationSucceededV1: \"AuthenticationSucceeded_v1\",\n AuthenticationFailedV1: \"AuthenticationFailed_v1\",\n PersonCreatedV1: \"PersonCreated_v1\",\n PersonDeletedV1: \"PersonDeleted_v1\",\n VirtualPageLoadedV1: \"VirtualPageLoaded_v1\",\n SlashIdsdkLoadedV1: \"SlashIDSDKLoaded_v1\",\n PersonIdentifiedV1: \"PersonIdentified_v1\",\n PersonLoggedOutV1: \"PersonLoggedOut_v1\",\n TokenMintedV1: \"TokenMinted_v1\",\n GateServerStartedV1: \"GateServerStarted_v1\",\n GateRequestHandledV1: \"GateRequestHandled_v1\"\n};\nfunction $d393f165a83b0afb$export$9b4cd0a6cee9140c(json) {\n return $d393f165a83b0afb$export$97ba4f6074fb0666(json, false);\n}\nfunction $d393f165a83b0afb$export$97ba4f6074fb0666(json, ignoreDiscriminator) {\n return json;\n}\nfunction $d393f165a83b0afb$export$ca1aceefe82885b(value) {\n return value;\n}\n\n\nfunction $f73411540e836a6c$export$aaae14f4a8a8cf0a(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n return isInstance;\n}\nfunction $f73411540e836a6c$export$79bd163dd2c25c4(json) {\n return $f73411540e836a6c$export$73ef40828bd37093(json, false);\n}\nfunction $f73411540e836a6c$export$73ef40828bd37093(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"])\n };\n}\nfunction $f73411540e836a6c$export$234c0234de4b43e3(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n\nfunction $fe91a0ee8cd31d25$export$d77fc2e077575409(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n isInstance = isInstance && \"failed_authn_method\" in value;\n isInstance = isInstance && \"failure_reason\" in value;\n return isInstance;\n}\nfunction $fe91a0ee8cd31d25$export$2cd8fd49b27feed9(json) {\n return $fe91a0ee8cd31d25$export$8c07b43d35ce3886(json, false);\n}\nfunction $fe91a0ee8cd31d25$export$8c07b43d35ce3886(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"]),\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"],\n \"authenticated_methods\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authenticated_methods\") ? undefined : json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"failed_authn_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"failed_authn_method\"]),\n \"failure_reason\": json[\"failure_reason\"],\n \"failure_detail\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"failure_detail\") ? undefined : json[\"failure_detail\"],\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"]),\n \"challenge_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"challenge_id\") ? undefined : json[\"challenge_id\"]\n };\n}\nfunction $fe91a0ee8cd31d25$export$a72f46cfd2ab2833(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name),\n \"person_id\": value.person_id,\n \"authenticated_methods\": value.authenticated_methods === undefined ? undefined : value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"failed_authn_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.failed_authn_method),\n \"failure_reason\": value.failure_reason,\n \"failure_detail\": value.failure_detail,\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle),\n \"challenge_id\": value.challenge_id\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n\nfunction $a5d8de5bca3957eb$export$fa4ead11c5330b8d(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n isInstance = isInstance && \"person_id\" in value;\n isInstance = isInstance && \"success_authn_method\" in value;\n isInstance = isInstance && \"authenticated_methods\" in value;\n return isInstance;\n}\nfunction $a5d8de5bca3957eb$export$4642b1d23b6be353(json) {\n return $a5d8de5bca3957eb$export$d696d44164fdec7a(json, false);\n}\nfunction $a5d8de5bca3957eb$export$d696d44164fdec7a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"]),\n \"person_id\": json[\"person_id\"],\n \"success_authn_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"success_authn_method\"]),\n \"authenticated_methods\": json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"])\n };\n}\nfunction $a5d8de5bca3957eb$export$5209219e6db8ba4(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name),\n \"person_id\": value.person_id,\n \"success_authn_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.success_authn_method),\n \"authenticated_methods\": value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $eec3bf88135a9003$export$ec6d262ccd90fe6f(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n isInstance = isInstance && \"person_id\" in value;\n return isInstance;\n}\nfunction $eec3bf88135a9003$export$2f267e9b92087f95(json) {\n return $eec3bf88135a9003$export$8d03546989de3ff9(json, false);\n}\nfunction $eec3bf88135a9003$export$8d03546989de3ff9(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"]),\n \"person_id\": json[\"person_id\"]\n };\n}\nfunction $eec3bf88135a9003$export$cb23567fd98fa46d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name),\n \"person_id\": value.person_id\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $a8919be709d7e1bd$export$204f5264bda28033(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n isInstance = isInstance && \"person_id\" in value;\n return isInstance;\n}\nfunction $a8919be709d7e1bd$export$16a16565bf100b(json) {\n return $a8919be709d7e1bd$export$a7e31c5db69cadbe(json, false);\n}\nfunction $a8919be709d7e1bd$export$a7e31c5db69cadbe(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"]),\n \"person_id\": json[\"person_id\"]\n };\n}\nfunction $a8919be709d7e1bd$export$a76e314527c05f59(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name),\n \"person_id\": value.person_id\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $e22d1c537c1da7c9$export$6a02cd736d48817f(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n return isInstance;\n}\nfunction $e22d1c537c1da7c9$export$191664532e9f2da8(json) {\n return $e22d1c537c1da7c9$export$7b634e670fe42f2(json, false);\n}\nfunction $e22d1c537c1da7c9$export$7b634e670fe42f2(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"])\n };\n}\nfunction $e22d1c537c1da7c9$export$2da1f0d71339461d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $1cb67901b3f3a3fc$export$7b2e88c7a989e0f8(value) {\n let isInstance = true;\n isInstance = isInstance && \"event_name\" in value;\n return isInstance;\n}\nfunction $1cb67901b3f3a3fc$export$414cfaf175ea12ce(json) {\n return $1cb67901b3f3a3fc$export$a607e0ecea8fe77d(json, false);\n}\nfunction $1cb67901b3f3a3fc$export$a607e0ecea8fe77d(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$9b4cd0a6cee9140c)(json[\"event_name\"]),\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"]\n };\n}\nfunction $1cb67901b3f3a3fc$export$1fc7ada93ab359fd(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"event_name\": (0, $d393f165a83b0afb$export$ca1aceefe82885b)(value.event_name),\n \"person_id\": value.person_id\n };\n}\n\n\nfunction $1d78f18e8764654e$export$28fb86dbbcde5730(json) {\n return $1d78f18e8764654e$export$d7da6a32c8ada00c(json, false);\n}\nfunction $1d78f18e8764654e$export$d7da6a32c8ada00c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n switch(json[\"event_name\"]){\n case \"AuthenticationFailed_v1\":\n return {\n ...(0, $fe91a0ee8cd31d25$export$8c07b43d35ce3886)(json, true),\n event_name: \"AuthenticationFailed_v1\"\n };\n case \"AuthenticationSucceeded_v1\":\n return {\n ...(0, $a5d8de5bca3957eb$export$d696d44164fdec7a)(json, true),\n event_name: \"AuthenticationSucceeded_v1\"\n };\n case \"PersonIdentified_v1\":\n return {\n ...(0, $eec3bf88135a9003$export$8d03546989de3ff9)(json, true),\n event_name: \"PersonIdentified_v1\"\n };\n case \"PersonLoggedOut_v1\":\n return {\n ...(0, $a8919be709d7e1bd$export$a7e31c5db69cadbe)(json, true),\n event_name: \"PersonLoggedOut_v1\"\n };\n case \"SlashIDSDKLoaded_v1\":\n return {\n ...(0, $e22d1c537c1da7c9$export$7b634e670fe42f2)(json, true),\n event_name: \"SlashIDSDKLoaded_v1\"\n };\n case \"VirtualPageLoaded_v1\":\n return {\n ...(0, $1cb67901b3f3a3fc$export$a607e0ecea8fe77d)(json, true),\n event_name: \"VirtualPageLoaded_v1\"\n };\n default:\n throw new Error(`No variant of EventPostRequestEventData exists with 'event_name=${json[\"event_name\"]}'`);\n }\n}\nfunction $1d78f18e8764654e$export$55abdab594c922a4(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n switch(value[\"event_name\"]){\n case \"AuthenticationFailed_v1\":\n return (0, $fe91a0ee8cd31d25$export$a72f46cfd2ab2833)(value);\n case \"AuthenticationSucceeded_v1\":\n return (0, $a5d8de5bca3957eb$export$5209219e6db8ba4)(value);\n case \"PersonIdentified_v1\":\n return (0, $eec3bf88135a9003$export$cb23567fd98fa46d)(value);\n case \"PersonLoggedOut_v1\":\n return (0, $a8919be709d7e1bd$export$a76e314527c05f59)(value);\n case \"SlashIDSDKLoaded_v1\":\n return (0, $e22d1c537c1da7c9$export$2da1f0d71339461d)(value);\n case \"VirtualPageLoaded_v1\":\n return (0, $1cb67901b3f3a3fc$export$1fc7ada93ab359fd)(value);\n default:\n throw new Error(`No variant of EventPostRequestEventData exists with 'event_name=${value[\"event_name\"]}'`);\n }\n}\n\n\nfunction $9eee0f736eff090c$export$896a897404de84ee(value) {\n let isInstance = true;\n isInstance = isInstance && \"organization_id\" in value;\n isInstance = isInstance && \"analytics_correlation_id\" in value;\n isInstance = isInstance && \"window_location\" in value;\n isInstance = isInstance && \"user_agent\" in value;\n isInstance = isInstance && \"event_data\" in value;\n return isInstance;\n}\nfunction $9eee0f736eff090c$export$81b8afe50a73d799(json) {\n return $9eee0f736eff090c$export$538e9b4cae762a1f(json, false);\n}\nfunction $9eee0f736eff090c$export$538e9b4cae762a1f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"organization_id\": json[\"organization_id\"],\n \"analytics_correlation_id\": json[\"analytics_correlation_id\"],\n \"window_location\": json[\"window_location\"],\n \"user_agent\": json[\"user_agent\"],\n \"event_data\": (0, $1d78f18e8764654e$export$28fb86dbbcde5730)(json[\"event_data\"])\n };\n}\nfunction $9eee0f736eff090c$export$66614e5f3c5485b5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"organization_id\": value.organization_id,\n \"analytics_correlation_id\": value.analytics_correlation_id,\n \"window_location\": value.window_location,\n \"user_agent\": value.user_agent,\n \"event_data\": (0, $1d78f18e8764654e$export$55abdab594c922a4)(value.event_data)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $5f60ac724ebd3909$export$38907e3292bc1ea8(value) {\n let isInstance = true;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"id\" in value;\n return isInstance;\n}\nfunction $5f60ac724ebd3909$export$3724b7510e24ce33(json) {\n return $5f60ac724ebd3909$export$7c9a38e4a1e85b4b(json, false);\n}\nfunction $5f60ac724ebd3909$export$7c9a38e4a1e85b4b(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"params\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"params\") ? undefined : json[\"params\"],\n \"type\": (0, $c2a276139e1508e8$export$7bbec83240b0eeeb)(json[\"type\"]),\n \"label\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"label\") ? undefined : json[\"label\"],\n \"id\": json[\"id\"],\n \"last_used\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"last_used\") ? undefined : new Date(json[\"last_used\"])\n };\n}\nfunction $5f60ac724ebd3909$export$79e5093d45899443(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"params\": value.params,\n \"type\": (0, $c2a276139e1508e8$export$ee7a066c014b3dac)(value.type),\n \"label\": value.label,\n \"id\": value.id,\n \"last_used\": value.last_used === undefined ? undefined : value.last_used.toISOString()\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $066ea58e59349fe9$export$585bd5390caa0673(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n return isInstance;\n}\nfunction $066ea58e59349fe9$export$c61033671013cfcf(json) {\n return $066ea58e59349fe9$export$ed547179f9925bd5(json, false);\n}\nfunction $066ea58e59349fe9$export$ed547179f9925bd5(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"last_used\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"last_used\") ? undefined : new Date(json[\"last_used\"])\n };\n}\nfunction $066ea58e59349fe9$export$7eeab357882a49a2(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"last_used\": value.last_used === undefined ? undefined : value.last_used.toISOString()\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $d47b7440d51128d8$export$96d4e4cf27d59030 = {\n Google: \"google\",\n Github: \"github\",\n Bitbucket: \"bitbucket\",\n Gitlab: \"gitlab\",\n Facebook: \"facebook\",\n Line: \"line\",\n Azuread: \"azuread\",\n Okta: \"okta\"\n};\nfunction $d47b7440d51128d8$export$272e68d050da029c(json) {\n return $d47b7440d51128d8$export$2ec5a77196a86283(json, false);\n}\nfunction $d47b7440d51128d8$export$2ec5a77196a86283(json, ignoreDiscriminator) {\n return json;\n}\nfunction $d47b7440d51128d8$export$a580c37c81d39e5c(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * Determines whether the OIDC call should fetch groups data.\n * @export\n */ const $c41e576d640a3178$export$940d1b18414d4add = {\n True: \"true\",\n False: \"false\"\n};\nfunction $c41e576d640a3178$export$ae2357be849f0edb(json) {\n return $c41e576d640a3178$export$c74e2e8e7051ac34(json, false);\n}\nfunction $c41e576d640a3178$export$c74e2e8e7051ac34(json, ignoreDiscriminator) {\n return json;\n}\nfunction $c41e576d640a3178$export$b42e5b86fe0f6b7a(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * Determines how the OIDC login page is presented to the user; defaults to popup.\n * @export\n */ const $d978296a495364e5$export$947f28fa7e24f5f5 = {\n Popup: \"popup\",\n Redirect: \"redirect\"\n};\nfunction $d978296a495364e5$export$1565a9e6f4df9f73(json) {\n return $d978296a495364e5$export$24cd40860efc684b(json, false);\n}\nfunction $d978296a495364e5$export$24cd40860efc684b(json, ignoreDiscriminator) {\n return json;\n}\nfunction $d978296a495364e5$export$970d15fc8587f099(value) {\n return value;\n}\n\n\nfunction $5a60a1ef94cb77c3$export$4f622a4d4faaed73(value) {\n let isInstance = true;\n isInstance = isInstance && \"client_id\" in value;\n isInstance = isInstance && \"provider\" in value;\n return isInstance;\n}\nfunction $5a60a1ef94cb77c3$export$55789d35f259e162(json) {\n return $5a60a1ef94cb77c3$export$9a6f82502338cf90(json, false);\n}\nfunction $5a60a1ef94cb77c3$export$9a6f82502338cf90(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"client_id\": json[\"client_id\"],\n \"provider\": (0, $d47b7440d51128d8$export$272e68d050da029c)(json[\"provider\"]),\n \"ux_mode\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"ux_mode\") ? undefined : (0, $d978296a495364e5$export$1565a9e6f4df9f73)(json[\"ux_mode\"]),\n \"redirect_target\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"redirect_target\") ? undefined : json[\"redirect_target\"],\n \"requires_groups\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"requires_groups\") ? undefined : (0, $c41e576d640a3178$export$ae2357be849f0edb)(json[\"requires_groups\"]),\n \"pkce_code_challenge\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"pkce_code_challenge\") ? undefined : json[\"pkce_code_challenge\"],\n \"csrf_token\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"csrf_token\") ? undefined : json[\"csrf_token\"]\n };\n}\nfunction $5a60a1ef94cb77c3$export$c452db75c4efa107(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"client_id\": value.client_id,\n \"provider\": (0, $d47b7440d51128d8$export$a580c37c81d39e5c)(value.provider),\n \"ux_mode\": (0, $d978296a495364e5$export$970d15fc8587f099)(value.ux_mode),\n \"redirect_target\": value.redirect_target,\n \"requires_groups\": (0, $c41e576d640a3178$export$b42e5b86fe0f6b7a)(value.requires_groups),\n \"pkce_code_challenge\": value.pkce_code_challenge,\n \"csrf_token\": value.csrf_token\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * Determines how the SSO login page is presented to the user; defaults to popup.\n * @export\n */ const $13463f5a948e6169$export$6dc0f627c99c13a9 = {\n Popup: \"popup\",\n Redirect: \"redirect\"\n};\nfunction $13463f5a948e6169$export$9f582d126e097dfd(json) {\n return $13463f5a948e6169$export$be52b3ff0e8c895d(json, false);\n}\nfunction $13463f5a948e6169$export$be52b3ff0e8c895d(json, ignoreDiscriminator) {\n return json;\n}\nfunction $13463f5a948e6169$export$bac7eaac8cc3a2f6(value) {\n return value;\n}\n\n\nfunction $29485475e30fbd17$export$a75b0e545407f1d9(value) {\n let isInstance = true;\n isInstance = isInstance && \"provider_credentials_id\" in value;\n return isInstance;\n}\nfunction $29485475e30fbd17$export$f5a4bb1f0d9842b5(json) {\n return $29485475e30fbd17$export$29382291ad0763af(json, false);\n}\nfunction $29485475e30fbd17$export$29382291ad0763af(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"provider_credentials_id\": json[\"provider_credentials_id\"],\n \"ux_mode\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"ux_mode\") ? undefined : (0, $13463f5a948e6169$export$9f582d126e097dfd)(json[\"ux_mode\"]),\n \"redirect_target\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"redirect_target\") ? undefined : json[\"redirect_target\"],\n \"pkce_code_challenge\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"pkce_code_challenge\") ? undefined : json[\"pkce_code_challenge\"],\n \"csrf_token\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"csrf_token\") ? undefined : json[\"csrf_token\"]\n };\n}\nfunction $29485475e30fbd17$export$a811b2d26736ed97(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"provider_credentials_id\": value.provider_credentials_id,\n \"ux_mode\": (0, $13463f5a948e6169$export$bac7eaac8cc3a2f6)(value.ux_mode),\n \"redirect_target\": value.redirect_target,\n \"pkce_code_challenge\": value.pkce_code_challenge,\n \"csrf_token\": value.csrf_token\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $fd99e17397a87416$export$c1ff3c79d2429507 = {\n None: \"none\",\n Indirect: \"indirect\",\n Direct: \"direct\"\n};\nfunction $fd99e17397a87416$export$5a312d017eee0d3e(json) {\n return $fd99e17397a87416$export$e734f3544dd52101(json, false);\n}\nfunction $fd99e17397a87416$export$e734f3544dd52101(json, ignoreDiscriminator) {\n return json;\n}\nfunction $fd99e17397a87416$export$1b6988785f1528c4(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $db804c8fc7fc378a$export$51952aaa367c79db = {\n Any: \"any\",\n Platform: \"platform\",\n CrossPlatform: \"cross_platform\"\n};\nfunction $db804c8fc7fc378a$export$c466d5bdc96128fd(json) {\n return $db804c8fc7fc378a$export$29d83669df3c633c(json, false);\n}\nfunction $db804c8fc7fc378a$export$29d83669df3c633c(json, ignoreDiscriminator) {\n return json;\n}\nfunction $db804c8fc7fc378a$export$4eab872925fbdd55(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $5d22f1c59e3d2c7d$export$df3e12f65ba023ba = {\n Discouraged: \"discouraged\",\n Preferred: \"preferred\",\n Required: \"required\"\n};\nfunction $5d22f1c59e3d2c7d$export$48180f46ce0fdeef(json) {\n return $5d22f1c59e3d2c7d$export$a2a5e890ec53e8c(json, false);\n}\nfunction $5d22f1c59e3d2c7d$export$a2a5e890ec53e8c(json, ignoreDiscriminator) {\n return json;\n}\nfunction $5d22f1c59e3d2c7d$export$ab058d07d3f47953(value) {\n return value;\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $4422b127d07e08ac$export$1bc598454e9d0dfc = {\n Discouraged: \"discouraged\",\n Preferred: \"preferred\",\n Required: \"required\"\n};\nfunction $4422b127d07e08ac$export$2f6b567f7a129d2(json) {\n return $4422b127d07e08ac$export$bf309234c5a66b70(json, false);\n}\nfunction $4422b127d07e08ac$export$bf309234c5a66b70(json, ignoreDiscriminator) {\n return json;\n}\nfunction $4422b127d07e08ac$export$191e871d68094046(value) {\n return value;\n}\n\n\nfunction $28a0fc7152f59fd1$export$be6248ff0e0e157f(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $28a0fc7152f59fd1$export$b6dfeaa8eedeb41b(json) {\n return $28a0fc7152f59fd1$export$fee9c51fd9d40010(json, false);\n}\nfunction $28a0fc7152f59fd1$export$fee9c51fd9d40010(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"scope\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"scope\") ? undefined : json[\"scope\"],\n \"available_credential_ids\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"available_credential_ids\") ? undefined : json[\"available_credential_ids\"],\n \"attachment\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"attachment\") ? undefined : (0, $db804c8fc7fc378a$export$c466d5bdc96128fd)(json[\"attachment\"]),\n \"user_verification\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"user_verification\") ? undefined : (0, $4422b127d07e08ac$export$2f6b567f7a129d2)(json[\"user_verification\"]),\n \"resident_key\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"resident_key\") ? undefined : (0, $5d22f1c59e3d2c7d$export$48180f46ce0fdeef)(json[\"resident_key\"]),\n \"attestation\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"attestation\") ? undefined : (0, $fd99e17397a87416$export$5a312d017eee0d3e)(json[\"attestation\"])\n };\n}\nfunction $28a0fc7152f59fd1$export$143dc34f19152636(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"scope\": value.scope,\n \"available_credential_ids\": value.available_credential_ids,\n \"attachment\": (0, $db804c8fc7fc378a$export$4eab872925fbdd55)(value.attachment),\n \"user_verification\": (0, $4422b127d07e08ac$export$191e871d68094046)(value.user_verification),\n \"resident_key\": (0, $5d22f1c59e3d2c7d$export$ab058d07d3f47953)(value.resident_key),\n \"attestation\": (0, $fd99e17397a87416$export$1b6988785f1528c4)(value.attestation)\n };\n}\n\n\nfunction $763d426bb5dfc23e$export$d0c68b16e37ea6b7(json) {\n return $763d426bb5dfc23e$export$35996414b62a8dd5(json, false);\n}\nfunction $763d426bb5dfc23e$export$35996414b62a8dd5(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n ...(0, $5a60a1ef94cb77c3$export$9a6f82502338cf90)(json, true),\n ...(0, $29485475e30fbd17$export$29382291ad0763af)(json, true),\n ...(0, $28a0fc7152f59fd1$export$fee9c51fd9d40010)(json, true)\n };\n}\nfunction $763d426bb5dfc23e$export$ba0c7e27b8aa00e(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n if ((0, $5a60a1ef94cb77c3$export$4f622a4d4faaed73)(value)) return (0, $5a60a1ef94cb77c3$export$c452db75c4efa107)(value);\n if ((0, $29485475e30fbd17$export$a75b0e545407f1d9)(value)) return (0, $29485475e30fbd17$export$a811b2d26736ed97)(value);\n if ((0, $28a0fc7152f59fd1$export$be6248ff0e0e157f)(value)) return (0, $28a0fc7152f59fd1$export$143dc34f19152636)(value);\n return {};\n}\n\n\nfunction $ed86b74be8b8eb89$export$e5c50aee111b9e06(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $ed86b74be8b8eb89$export$f532260b06e67d79(json) {\n return $ed86b74be8b8eb89$export$46af48a00ab1f3b5(json, false);\n}\nfunction $ed86b74be8b8eb89$export$46af48a00ab1f3b5(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"method\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"method\") ? undefined : (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"method\"]),\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : (0, $763d426bb5dfc23e$export$d0c68b16e37ea6b7)(json[\"options\"])\n };\n}\nfunction $ed86b74be8b8eb89$export$288f5f309e052c1d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.method),\n \"options\": (0, $763d426bb5dfc23e$export$ba0c7e27b8aa00e)(value.options)\n };\n}\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * \n * @export\n */ const $9cbd7336b515f5ff$export$93b980a799206137 = {\n None: \"none\",\n Necessary: \"necessary\",\n Analytics: \"analytics\",\n Marketing: \"marketing\",\n Retargeting: \"retargeting\",\n Tracking: \"tracking\"\n};\nfunction $9cbd7336b515f5ff$export$84b3f9c7224f9426(json) {\n return $9cbd7336b515f5ff$export$2b6529f2847f83f3(json, false);\n}\nfunction $9cbd7336b515f5ff$export$2b6529f2847f83f3(json, ignoreDiscriminator) {\n return json;\n}\nfunction $9cbd7336b515f5ff$export$44aa2b641bcf85ed(value) {\n return value;\n}\n\n\nfunction $ee0ffc5480251ffa$export$b97766b7c6c0cc46(value) {\n let isInstance = true;\n isInstance = isInstance && \"consent_level\" in value;\n isInstance = isInstance && \"created_at\" in value;\n return isInstance;\n}\nfunction $ee0ffc5480251ffa$export$40975273e0c4497a(json) {\n return $ee0ffc5480251ffa$export$b727b488f0f7a4e4(json, false);\n}\nfunction $ee0ffc5480251ffa$export$b727b488f0f7a4e4(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"consent_level\": (0, $9cbd7336b515f5ff$export$84b3f9c7224f9426)(json[\"consent_level\"]),\n \"created_at\": new Date(json[\"created_at\"])\n };\n}\nfunction $ee0ffc5480251ffa$export$780e4ae93000f66b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"consent_level\": (0, $9cbd7336b515f5ff$export$44aa2b641bcf85ed)(value.consent_level),\n \"created_at\": value.created_at.toISOString()\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $918afe7ca221f314$export$3b26bc4ccb5a8638(value) {\n let isInstance = true;\n isInstance = isInstance && \"consent_levels\" in value;\n return isInstance;\n}\nfunction $918afe7ca221f314$export$e6ed4604e88d95a3(json) {\n return $918afe7ca221f314$export$f4394eac4a865068(json, false);\n}\nfunction $918afe7ca221f314$export$f4394eac4a865068(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"consent_levels\": json[\"consent_levels\"].map((0, $9cbd7336b515f5ff$export$84b3f9c7224f9426))\n };\n}\nfunction $918afe7ca221f314$export$13e148a83364b95(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"consent_levels\": value.consent_levels.map((0, $9cbd7336b515f5ff$export$44aa2b641bcf85ed))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $d72477ff18746529$export$d0fc3d616092a245(value) {\n let isInstance = true;\n isInstance = isInstance && \"consents\" in value;\n return isInstance;\n}\nfunction $d72477ff18746529$export$b9e34caf47c08b2(json) {\n return $d72477ff18746529$export$afe857fd8914318a(json, false);\n}\nfunction $d72477ff18746529$export$afe857fd8914318a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"consents\": json[\"consents\"].map((0, $ee0ffc5480251ffa$export$40975273e0c4497a))\n };\n}\nfunction $d72477ff18746529$export$2321b26b111a9baa(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"consents\": value.consents.map((0, $ee0ffc5480251ffa$export$780e4ae93000f66b))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $6df6f0c3c1503c39$export$7d97f8bab00baf95(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $6df6f0c3c1503c39$export$b860effd636f4c33(json) {\n return $6df6f0c3c1503c39$export$d11a34d219cd35f6(json, false);\n}\nfunction $6df6f0c3c1503c39$export$d11a34d219cd35f6(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $6df6f0c3c1503c39$export$98b678070add2b13(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $c21a4c23e308478a$export$6d703eb338efaa24(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c21a4c23e308478a$export$4f985c243ccb3ab0(json) {\n return $c21a4c23e308478a$export$f52ac33af3fbf944(json, false);\n}\nfunction $c21a4c23e308478a$export$f52ac33af3fbf944(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $c21a4c23e308478a$export$3586ed5109c54e4e(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $38e4ceff1a16944f$export$6e1216be97f1c012(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $38e4ceff1a16944f$export$16028d5073b65888(json) {\n return $38e4ceff1a16944f$export$9423100a03fc92a1(json, false);\n}\nfunction $38e4ceff1a16944f$export$9423100a03fc92a1(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $38e4ceff1a16944f$export$aa51becaf6dd0f05(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $6115b36e46be379a$export$e78e3d6610df84fb(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $6115b36e46be379a$export$b48d82c5343ce8a7(json) {\n return $6115b36e46be379a$export$6f6b61ec87bb033f(json, false);\n}\nfunction $6115b36e46be379a$export$6f6b61ec87bb033f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $6115b36e46be379a$export$1e0323cc20438eff(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $39cb95385236689b$export$bb6ed6ccec47107b(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $39cb95385236689b$export$fc7f4a9925d556ff(json) {\n return $39cb95385236689b$export$95db559018dc2213(json, false);\n}\nfunction $39cb95385236689b$export$95db559018dc2213(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $39cb95385236689b$export$b016b87aa3f94563(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $d3001f4b8045257b$export$cdb44509daf8c358(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $d3001f4b8045257b$export$e41063b26bc3f620(json) {\n return $d3001f4b8045257b$export$e6d55d1ff20eadfe(json, false);\n}\nfunction $d3001f4b8045257b$export$e6d55d1ff20eadfe(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $d3001f4b8045257b$export$4c01681119b0eac1(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $de585f0e4fd9d86f$export$2374e01db22e717d(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $de585f0e4fd9d86f$export$859624b73bf55232(json) {\n return $de585f0e4fd9d86f$export$ebb02bfda1ac3737(json, false);\n}\nfunction $de585f0e4fd9d86f$export$ebb02bfda1ac3737(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $de585f0e4fd9d86f$export$5b37eff911dd0edc(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $74a6cc842dc6251c$export$136a779897fe1f5b(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $74a6cc842dc6251c$export$359c01b7eff378b4(json) {\n return $74a6cc842dc6251c$export$92a0db4cde933e25(json, false);\n}\nfunction $74a6cc842dc6251c$export$92a0db4cde933e25(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $74a6cc842dc6251c$export$82c2a4ab6c984457(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n\nfunction $1c6e04be56d36e82$export$6b31ef8e968a4ecf(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $1c6e04be56d36e82$export$d8f7fb0a0d937eb3(json) {\n return $1c6e04be56d36e82$export$357be021b1018458(json, false);\n}\nfunction $1c6e04be56d36e82$export$357be021b1018458(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : (0, $d72477ff18746529$export$b9e34caf47c08b2)(json[\"result\"])\n };\n}\nfunction $1c6e04be56d36e82$export$2fd73e9f9376edfe(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $d72477ff18746529$export$2321b26b111a9baa)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $85e76430877e7a17$export$62b9844af6fdbf48(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $85e76430877e7a17$export$866d0d81ea17fdbd(json) {\n return $85e76430877e7a17$export$d470afdbb0e73d29(json, false);\n}\nfunction $85e76430877e7a17$export$d470afdbb0e73d29(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : (0, $d72477ff18746529$export$b9e34caf47c08b2)(json[\"result\"])\n };\n}\nfunction $85e76430877e7a17$export$ef2841fd65a884dd(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $d72477ff18746529$export$2321b26b111a9baa)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $7f29a4ab971b3e8e$export$ae4845536494fe7b(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"org_name\" in value;\n isInstance = isInstance && \"tenant_name\" in value;\n return isInstance;\n}\nfunction $7f29a4ab971b3e8e$export$3638d863f491f1bd(json) {\n return $7f29a4ab971b3e8e$export$796c1adabeaa853a(json, false);\n}\nfunction $7f29a4ab971b3e8e$export$796c1adabeaa853a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"org_name\": json[\"org_name\"],\n \"tenant_name\": json[\"tenant_name\"]\n };\n}\nfunction $7f29a4ab971b3e8e$export$4148c267d26f471c(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"org_name\": value.org_name,\n \"tenant_name\": value.tenant_name\n };\n}\n\n\nfunction $2aab34e5b640ab49$export$380d898eedd33f73(value) {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"org_name\" in value;\n isInstance = isInstance && \"tenant_name\" in value;\n return isInstance;\n}\nfunction $2aab34e5b640ab49$export$e3c48c2a714dee12(json) {\n return $2aab34e5b640ab49$export$18255b16eead3caf(json, false);\n}\nfunction $2aab34e5b640ab49$export$18255b16eead3caf(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"id\": json[\"id\"],\n \"org_name\": json[\"org_name\"],\n \"tenant_name\": json[\"tenant_name\"],\n \"managed_organizations\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"managed_organizations\") ? undefined : json[\"managed_organizations\"].map((0, $7f29a4ab971b3e8e$export$3638d863f491f1bd))\n };\n}\nfunction $2aab34e5b640ab49$export$7173796126a26aa2(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"id\": value.id,\n \"org_name\": value.org_name,\n \"tenant_name\": value.tenant_name,\n \"managed_organizations\": value.managed_organizations === undefined ? undefined : value.managed_organizations.map((0, $7f29a4ab971b3e8e$export$4148c267d26f471c))\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $b8c6905b3321bf04$export$ccf05bcd0a2c5126(value) {\n let isInstance = true;\n isInstance = isInstance && \"active\" in value;\n isInstance = isInstance && \"person_id\" in value;\n isInstance = isInstance && \"region\" in value;\n return isInstance;\n}\nfunction $b8c6905b3321bf04$export$7a11cc6365c7aa2d(json) {\n return $b8c6905b3321bf04$export$43fdfaf085711574(json, false);\n}\nfunction $b8c6905b3321bf04$export$43fdfaf085711574(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"active\": json[\"active\"],\n \"person_id\": json[\"person_id\"],\n \"roles\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"roles\") ? undefined : json[\"roles\"],\n \"region\": json[\"region\"],\n \"handles\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handles\") ? undefined : json[\"handles\"].map((0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)),\n \"groups\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"groups\") ? undefined : json[\"groups\"],\n \"attributes\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"attributes\") ? undefined : json[\"attributes\"]\n };\n}\nfunction $b8c6905b3321bf04$export$44957b028259275f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"active\": value.active,\n \"person_id\": value.person_id,\n \"roles\": value.roles,\n \"region\": value.region,\n \"handles\": value.handles === undefined ? undefined : value.handles.map((0, $c40c5abb0dd863b2$export$82ff335443c9930)),\n \"groups\": value.groups,\n \"attributes\": value.attributes\n };\n}\n\n\nfunction $d75afd2454a10ab3$export$e1acc152de27b1c1(value) {\n let isInstance = true;\n isInstance = isInstance && \"person\" in value;\n isInstance = isInstance && \"organizations\" in value;\n isInstance = isInstance && \"handles\" in value;\n isInstance = isInstance && \"credentials\" in value;\n return isInstance;\n}\nfunction $d75afd2454a10ab3$export$4acec490369f0cc7(json) {\n return $d75afd2454a10ab3$export$7f6a248c6f964d4a(json, false);\n}\nfunction $d75afd2454a10ab3$export$7f6a248c6f964d4a(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"person\": (0, $b8c6905b3321bf04$export$7a11cc6365c7aa2d)(json[\"person\"]),\n \"organizations\": json[\"organizations\"].map((0, $2aab34e5b640ab49$export$e3c48c2a714dee12)),\n \"handles\": json[\"handles\"].map((0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)),\n \"credentials\": json[\"credentials\"].map((0, $5f60ac724ebd3909$export$3724b7510e24ce33))\n };\n}\nfunction $d75afd2454a10ab3$export$70aee247e356fb65(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"person\": (0, $b8c6905b3321bf04$export$44957b028259275f)(value.person),\n \"organizations\": value.organizations.map((0, $2aab34e5b640ab49$export$7173796126a26aa2)),\n \"handles\": value.handles.map((0, $c40c5abb0dd863b2$export$82ff335443c9930)),\n \"credentials\": value.credentials.map((0, $5f60ac724ebd3909$export$79e5093d45899443))\n };\n}\n\n\nfunction $9df250add66fe5a4$export$c01002c6bb4b91f7(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $9df250add66fe5a4$export$bfd68bd3621b7ea1(json) {\n return $9df250add66fe5a4$export$9f278e8bd0ab65d2(json, false);\n}\nfunction $9df250add66fe5a4$export$9f278e8bd0ab65d2(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": (0, $d75afd2454a10ab3$export$4acec490369f0cc7)(json[\"result\"])\n };\n}\nfunction $9df250add66fe5a4$export$56dc6bc5985d68ce(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $d75afd2454a10ab3$export$70aee247e356fb65)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $729793c8ad52691c$export$46f1d8d771c9bb10(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $729793c8ad52691c$export$28563f0581741ddd(json) {\n return $729793c8ad52691c$export$d6156d968a3a0af0(json, false);\n}\nfunction $729793c8ad52691c$export$d6156d968a3a0af0(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": (0, $d75afd2454a10ab3$export$4acec490369f0cc7)(json[\"result\"])\n };\n}\nfunction $729793c8ad52691c$export$81708d05a0b8dd46(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $d75afd2454a10ab3$export$70aee247e356fb65)(value.result)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $dfabc59cb06d24b7$export$470028e44ead592d(value) {\n let isInstance = true;\n isInstance = isInstance && \"datetime\" in value;\n isInstance = isInstance && \"count\" in value;\n return isInstance;\n}\nfunction $dfabc59cb06d24b7$export$9ae946eeb7d2d068(json) {\n return $dfabc59cb06d24b7$export$2b902a04e44db2c3(json, false);\n}\nfunction $dfabc59cb06d24b7$export$2b902a04e44db2c3(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"datetime\": new Date(json[\"datetime\"]),\n \"count\": json[\"count\"]\n };\n}\nfunction $dfabc59cb06d24b7$export$5e2f6f2efef84b5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"datetime\": value.datetime.toISOString(),\n \"count\": value.count\n };\n}\n\n\nfunction $a317423da2cf7078$export$ad23a0f83a316e8(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $a317423da2cf7078$export$d1a0267c9cd050b1(json) {\n return $a317423da2cf7078$export$9ca7a1c71a73c7b6(json, false);\n}\nfunction $a317423da2cf7078$export$9ca7a1c71a73c7b6(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"created_persons\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"created_persons\") ? undefined : json[\"created_persons\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"deleted_persons\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"deleted_persons\") ? undefined : json[\"deleted_persons\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"active_persons\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"active_persons\") ? undefined : json[\"active_persons\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"active_persons_total\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"active_persons_total\") ? undefined : json[\"active_persons_total\"],\n \"returning_persons\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"returning_persons\") ? undefined : json[\"returning_persons\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"returning_persons_total\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"returning_persons_total\") ? undefined : json[\"returning_persons_total\"],\n \"authentications\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authentications\") ? undefined : json[\"authentications\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"successful_authentications\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"successful_authentications\") ? undefined : json[\"successful_authentications\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"successful_mfa\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"successful_mfa\") ? undefined : json[\"successful_mfa\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"failed_authentications\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"failed_authentications\") ? undefined : json[\"failed_authentications\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"failed_authentications_by_reason\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"failed_authentications_by_reason\") ? undefined : json[\"failed_authentications_by_reason\"],\n \"failed_mfa\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"failed_mfa\") ? undefined : json[\"failed_mfa\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"person_retention\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_retention\") ? undefined : json[\"person_retention\"],\n \"gate_server_starts\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"gate_server_starts\") ? undefined : json[\"gate_server_starts\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"gate_requests_handled\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"gate_requests_handled\") ? undefined : json[\"gate_requests_handled\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068))\n };\n}\nfunction $a317423da2cf7078$export$11b5bdcaac9cbacf(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"created_persons\": value.created_persons === undefined ? undefined : value.created_persons.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"deleted_persons\": value.deleted_persons === undefined ? undefined : value.deleted_persons.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"active_persons\": value.active_persons === undefined ? undefined : value.active_persons.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"active_persons_total\": value.active_persons_total,\n \"returning_persons\": value.returning_persons === undefined ? undefined : value.returning_persons.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"returning_persons_total\": value.returning_persons_total,\n \"authentications\": value.authentications === undefined ? undefined : value.authentications.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"successful_authentications\": value.successful_authentications === undefined ? undefined : value.successful_authentications.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"successful_mfa\": value.successful_mfa === undefined ? undefined : value.successful_mfa.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"failed_authentications\": value.failed_authentications === undefined ? undefined : value.failed_authentications.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"failed_authentications_by_reason\": value.failed_authentications_by_reason,\n \"failed_mfa\": value.failed_mfa === undefined ? undefined : value.failed_mfa.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"person_retention\": value.person_retention,\n \"gate_server_starts\": value.gate_server_starts === undefined ? undefined : value.gate_server_starts.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"gate_requests_handled\": value.gate_requests_handled === undefined ? undefined : value.gate_requests_handled.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5))\n };\n}\n\n\nfunction $70733e07da03f887$export$971608348d0fb0f4(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $70733e07da03f887$export$2fc6c9fe8c3c59d0(json) {\n return $70733e07da03f887$export$ff9f6860e33bd2a0(json, false);\n}\nfunction $70733e07da03f887$export$ff9f6860e33bd2a0(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": (0, $a317423da2cf7078$export$d1a0267c9cd050b1)(json[\"result\"])\n };\n}\nfunction $70733e07da03f887$export$72146de9eb66981f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $a317423da2cf7078$export$11b5bdcaac9cbacf)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $134bce6dc9a41f80$export$9ca835fd9523ced9(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $134bce6dc9a41f80$export$e4a23b6603a96faa(json) {\n return $134bce6dc9a41f80$export$74b46b7c0ea9d0c7(json, false);\n}\nfunction $134bce6dc9a41f80$export$74b46b7c0ea9d0c7(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": (0, $a317423da2cf7078$export$d1a0267c9cd050b1)(json[\"result\"])\n };\n}\nfunction $134bce6dc9a41f80$export$3de7e6548db80735(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $a317423da2cf7078$export$11b5bdcaac9cbacf)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $3b96434239f63c5f$export$95d176615216f45b(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $3b96434239f63c5f$export$98fd440fa1097925(json) {\n return $3b96434239f63c5f$export$4fbede7b8de492e6(json, false);\n}\nfunction $3b96434239f63c5f$export$4fbede7b8de492e6(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"billable_persons\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"billable_persons\") ? undefined : json[\"billable_persons\"].map((0, $dfabc59cb06d24b7$export$9ae946eeb7d2d068)),\n \"billable_persons_total\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"billable_persons_total\") ? undefined : json[\"billable_persons_total\"]\n };\n}\nfunction $3b96434239f63c5f$export$b4faaead8a04c01f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"billable_persons\": value.billable_persons === undefined ? undefined : value.billable_persons.map((0, $dfabc59cb06d24b7$export$5e2f6f2efef84b5)),\n \"billable_persons_total\": value.billable_persons_total\n };\n}\n\n\nfunction $187256421eb9b5cb$export$6bfb37099391ab90(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $187256421eb9b5cb$export$1da8bec36382d2b9(json) {\n return $187256421eb9b5cb$export$154c0ed8cf64fcd2(json, false);\n}\nfunction $187256421eb9b5cb$export$154c0ed8cf64fcd2(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": (0, $3b96434239f63c5f$export$98fd440fa1097925)(json[\"result\"])\n };\n}\nfunction $187256421eb9b5cb$export$419a8db6c1c04d5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $3b96434239f63c5f$export$b4faaead8a04c01f)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $0f92023d825a2f6e$export$a1cb3fb4fb907455(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $0f92023d825a2f6e$export$b86d74e097669c3e(json) {\n return $0f92023d825a2f6e$export$22162959cd08a639(json, false);\n}\nfunction $0f92023d825a2f6e$export$22162959cd08a639(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": (0, $3b96434239f63c5f$export$98fd440fa1097925)(json[\"result\"])\n };\n}\nfunction $0f92023d825a2f6e$export$c55eac9a1e71950b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $3b96434239f63c5f$export$b4faaead8a04c01f)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $84e44e75922d87c6$export$fa01e4739dcca2cf(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $84e44e75922d87c6$export$38478e6caf9c9de9(json) {\n return $84e44e75922d87c6$export$c2bd0afcb86bf051(json, false);\n}\nfunction $84e44e75922d87c6$export$c2bd0afcb86bf051(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"]),\n \"factor\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"factor\") ? undefined : (0, $ed86b74be8b8eb89$export$f532260b06e67d79)(json[\"factor\"])\n };\n}\nfunction $84e44e75922d87c6$export$7eb26765f35a90a8(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle),\n \"factor\": (0, $ed86b74be8b8eb89$export$288f5f309e052c1d)(value.factor)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $380ee0e54cbf9dab$export$5156413c1767706(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $380ee0e54cbf9dab$export$62ec57aaaf69c325(json) {\n return $380ee0e54cbf9dab$export$6704fc837c56e008(json, false);\n}\nfunction $380ee0e54cbf9dab$export$6704fc837c56e008(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"aud\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"aud\") ? undefined : json[\"aud\"],\n \"id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"id\") ? undefined : json[\"id\"],\n \"iat\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iat\") ? undefined : json[\"iat\"],\n \"exp\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"exp\") ? undefined : json[\"exp\"],\n \"nbf\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"nbf\") ? undefined : json[\"nbf\"],\n \"iss\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iss\") ? undefined : json[\"iss\"],\n \"sub\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"sub\") ? undefined : json[\"sub\"]\n };\n}\nfunction $380ee0e54cbf9dab$export$b0e56383df8f8631(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"aud\": value.aud,\n \"id\": value.id,\n \"iat\": value.iat,\n \"exp\": value.exp,\n \"nbf\": value.nbf,\n \"iss\": value.iss,\n \"sub\": value.sub\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $873f9b029e0942b3$export$3cdc7edd85c8dd5a(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $873f9b029e0942b3$export$b24b1d4888c474da(json) {\n return $873f9b029e0942b3$export$cc8a8306664e6d55(json, false);\n}\nfunction $873f9b029e0942b3$export$cc8a8306664e6d55(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $5db1ceb0857c067d$export$703f66b537d92f5c)(json[\"data\"])\n };\n}\nfunction $873f9b029e0942b3$export$4fe3d4133308b7c9(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": (0, $5db1ceb0857c067d$export$91e7f239824ee67f)(value.data)\n };\n}\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $4d9089e055715ba9$export$992eed8a6dc763f5(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $4d9089e055715ba9$export$a18cf712bd45ac97(json) {\n return $4d9089e055715ba9$export$aa3b4373dabfa6da(json, false);\n}\nfunction $4d9089e055715ba9$export$aa3b4373dabfa6da(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : (0, $c3dfd57c89c1e2e4$export$fccc5f59fb10fb43)(json[\"options\"])\n };\n}\nfunction $4d9089e055715ba9$export$400fa13a042f6924(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": (0, $c3dfd57c89c1e2e4$export$5a6bb73c099af14b)(value.options)\n };\n}\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ const $eda6afdba158b369$export$74642ff6513c42f0 = {\n AccessToken: \"access_token\",\n RefreshToken: \"refresh_token\"\n};\nfunction $eda6afdba158b369$export$3299428192128c4e(value) {\n let isInstance = true;\n isInstance = isInstance && \"client_id\" in value;\n isInstance = isInstance && \"token\" in value;\n isInstance = isInstance && \"token_type\" in value;\n return isInstance;\n}\nfunction $eda6afdba158b369$export$2b054aa42fb96c00(json) {\n return $eda6afdba158b369$export$9e8b1a926c948613(json, false);\n}\nfunction $eda6afdba158b369$export$9e8b1a926c948613(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"client_id\": json[\"client_id\"],\n \"token\": json[\"token\"],\n \"token_type\": json[\"token_type\"]\n };\n}\nfunction $eda6afdba158b369$export$5934f2de036cb99d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"client_id\": value.client_id,\n \"token\": value.token,\n \"token_type\": value.token_type\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $a91468cfc41e7e6c$export$bc60811295b47e4e(value) {\n let isInstance = true;\n isInstance = isInstance && \"options\" in value;\n return isInstance;\n}\nfunction $a91468cfc41e7e6c$export$9984c8cd0b910e9c(json) {\n return $a91468cfc41e7e6c$export$241b7b3328a03c29(json, false);\n}\nfunction $a91468cfc41e7e6c$export$241b7b3328a03c29(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": (0, $9bd594023bed0442$export$c53683eed796cca6)(json[\"options\"])\n };\n}\nfunction $a91468cfc41e7e6c$export$357c37d480a91e65(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": (0, $9bd594023bed0442$export$b34b72165a81ac38)(value.options)\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $328e3a407db6ef0b$export$e26a136d65cee927(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $328e3a407db6ef0b$export$84e021f7a0eb6ab5(json) {\n return $328e3a407db6ef0b$export$218cb66d03299a1b(json, false);\n}\nfunction $328e3a407db6ef0b$export$218cb66d03299a1b(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"provider\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"provider\") ? undefined : (0, $d47b7440d51128d8$export$272e68d050da029c)(json[\"provider\"]),\n \"client_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"client_id\") ? undefined : json[\"client_id\"],\n \"expires_at\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"expires_at\") ? undefined : json[\"expires_at\"],\n \"oidc_groups\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"oidc_groups\") ? undefined : json[\"oidc_groups\"]\n };\n}\nfunction $328e3a407db6ef0b$export$bc00e6b89e4a031e(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"provider\": (0, $d47b7440d51128d8$export$a580c37c81d39e5c)(value.provider),\n \"client_id\": value.client_id,\n \"expires_at\": value.expires_at,\n \"oidc_groups\": value.oidc_groups\n };\n}\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $0e43494cb4f817df$export$c9fce3a1ba8fd0ee(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $0e43494cb4f817df$export$3463e42fa9b6a88c(json) {\n return $0e43494cb4f817df$export$70a75f760fb7cb7c(json, false);\n}\nfunction $0e43494cb4f817df$export$70a75f760fb7cb7c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $7531f066927bc183$export$bb8ecc995265609e)(json[\"data\"])\n };\n}\nfunction $0e43494cb4f817df$export$196215f12cb74627(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": (0, $7531f066927bc183$export$6da0bcef5e0a8fdb)(value.data)\n };\n}\n\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $c4291f98abfe1fd2$export$3550f01f94f5c17(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c4291f98abfe1fd2$export$af53474ab270dfae(json) {\n return $c4291f98abfe1fd2$export$fa3203514d63fcc1(json, false);\n}\nfunction $c4291f98abfe1fd2$export$fa3203514d63fcc1(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"managed_organizations\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"managed_organizations\") ? undefined : json[\"managed_organizations\"].map((0, $7f29a4ab971b3e8e$export$3638d863f491f1bd))\n };\n}\nfunction $c4291f98abfe1fd2$export$a217d03c5ca1bf6c(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"managed_organizations\": value.managed_organizations === undefined ? undefined : value.managed_organizations.map((0, $7f29a4ab971b3e8e$export$4148c267d26f471c))\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $4c307f8ff36ae117$export$6707878f78a03c0f(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $4c307f8ff36ae117$export$60c8307d1c1a9fd8(json) {\n return $4c307f8ff36ae117$export$9e91f01d1413f61f(json, false);\n}\nfunction $4c307f8ff36ae117$export$9e91f01d1413f61f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $4c15086ce037a833$export$531fea8f5c0d835d)(json[\"data\"])\n };\n}\nfunction $4c307f8ff36ae117$export$e18048175cbdd79a(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": (0, $4c15086ce037a833$export$b0b890df0497afa3)(value.data)\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $0087d6f9bb33ac70$export$3d1cd71a473477ba(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $0087d6f9bb33ac70$export$98a577534b89f722(json) {\n return $0087d6f9bb33ac70$export$837c0e64928faf53(json, false);\n}\nfunction $0087d6f9bb33ac70$export$837c0e64928faf53(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $daf2c31c3fecb469$export$fe9d75047753248b)(json[\"data\"])\n };\n}\nfunction $0087d6f9bb33ac70$export$5c1c1aacf11dde9f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": (0, $daf2c31c3fecb469$export$69b7ca2907b53e3d)(value.data)\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $cd117a59faf2b326$export$c8aabbf1c095dcb8(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $cd117a59faf2b326$export$ad6473b4ca3115eb(json) {\n return $cd117a59faf2b326$export$d798a84430a4dfeb(json, false);\n}\nfunction $cd117a59faf2b326$export$d798a84430a4dfeb(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : (0, $532c77d166192e4f$export$3fe1672863804c9d)(json[\"data\"])\n };\n}\nfunction $cd117a59faf2b326$export$41ec95f257603eed(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": (0, $532c77d166192e4f$export$27fad2cccc00f212)(value.data)\n };\n}\n\n\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $c1d470802eb5d4dd$export$2564becf3d7df8bf(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c1d470802eb5d4dd$export$c5ad9a62b0e0f9c1(json) {\n return $c1d470802eb5d4dd$export$92265434404f74f(json, false);\n}\nfunction $c1d470802eb5d4dd$export$92265434404f74f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $c1d470802eb5d4dd$export$43e020afdf5de077(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $a01b82c1a1c297f8$export$77aad5febf7b6771(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $a01b82c1a1c297f8$export$6739b895c3ed7a1a(json) {\n return $a01b82c1a1c297f8$export$c89ff73594d954ad(json, false);\n}\nfunction $a01b82c1a1c297f8$export$c89ff73594d954ad(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"]\n };\n}\nfunction $a01b82c1a1c297f8$export$6f3ed69a87600774(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n\nfunction $c5a2fdac9e1dddc8$export$8e4dc0011f92ce98(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c5a2fdac9e1dddc8$export$af4b4231cf2b0254(json) {\n return $c5a2fdac9e1dddc8$export$2e7094b7545fa908(json, false);\n}\nfunction $c5a2fdac9e1dddc8$export$2e7094b7545fa908(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"].map((0, $dad19632247d7ad3$export$2b369be06dcbfccd))\n };\n}\nfunction $c5a2fdac9e1dddc8$export$343f21e1ccb9a347(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": value.result === undefined ? undefined : value.result.map((0, $dad19632247d7ad3$export$6177497a9ebb14ed))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $5a3ff3336bb6598b$export$f12da6d5709d3764(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $5a3ff3336bb6598b$export$1518025bae65a77f(json) {\n return $5a3ff3336bb6598b$export$98a0e5d64eb47e94(json, false);\n}\nfunction $5a3ff3336bb6598b$export$98a0e5d64eb47e94(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : json[\"result\"].map((0, $dad19632247d7ad3$export$2b369be06dcbfccd))\n };\n}\nfunction $5a3ff3336bb6598b$export$c8e4cba504bb3f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": value.result === undefined ? undefined : value.result.map((0, $dad19632247d7ad3$export$6177497a9ebb14ed))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nconst $bcf9a87696b945ac$export$80cd9ef7a7c5d538 = {\n InvalidTokenContent: \"invalid_token_content\",\n Expired: \"expired\",\n InvalidIssuer: \"invalid_issuer\",\n NotEnoughFactors: \"not_enough_factors\",\n PersonNotActive: \"person_not_active\"\n};\nfunction $bcf9a87696b945ac$export$38dbf72c17eda641(value) {\n let isInstance = true;\n isInstance = isInstance && \"valid\" in value;\n return isInstance;\n}\nfunction $bcf9a87696b945ac$export$1d7fdf6b6870e0e7(json) {\n return $bcf9a87696b945ac$export$be603d3798694712(json, false);\n}\nfunction $bcf9a87696b945ac$export$be603d3798694712(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"valid\": json[\"valid\"],\n \"invalidity_reason\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"invalidity_reason\") ? undefined : json[\"invalidity_reason\"],\n \"expires_in_seconds\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"expires_in_seconds\") ? undefined : json[\"expires_in_seconds\"],\n \"expires_at\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"expires_at\") ? undefined : new Date(json[\"expires_at\"])\n };\n}\nfunction $bcf9a87696b945ac$export$6ada45142b7d15a5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"valid\": value.valid,\n \"invalidity_reason\": value.invalidity_reason,\n \"expires_in_seconds\": value.expires_in_seconds,\n \"expires_at\": value.expires_at === undefined ? undefined : value.expires_at.toISOString()\n };\n}\n\n\nfunction $61bff2e9c70d970f$export$edb1cba5f52eec11(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $61bff2e9c70d970f$export$6b84b521d90710d5(json) {\n return $61bff2e9c70d970f$export$16e23935a5c17df6(json, false);\n}\nfunction $61bff2e9c70d970f$export$16e23935a5c17df6(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : (0, $bcf9a87696b945ac$export$1d7fdf6b6870e0e7)(json[\"result\"])\n };\n}\nfunction $61bff2e9c70d970f$export$22872bcd4560fb07(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $bcf9a87696b945ac$export$6ada45142b7d15a5)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $7b24e8beff14850b$export$29dc583d45d57047(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $7b24e8beff14850b$export$48a3482177fed5ac(json) {\n return $7b24e8beff14850b$export$589a447ab99ae7ec(json, false);\n}\nfunction $7b24e8beff14850b$export$589a447ab99ae7ec(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"result\") ? undefined : (0, $bcf9a87696b945ac$export$1d7fdf6b6870e0e7)(json[\"result\"])\n };\n}\nfunction $7b24e8beff14850b$export$135e1e1d76ff992b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $bcf9a87696b945ac$export$6ada45142b7d15a5)(value.result)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $c0a5dac8e6ae16e3$export$f285e59419fd2fb3(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c0a5dac8e6ae16e3$export$b314fb5008156cf9(json) {\n return $c0a5dac8e6ae16e3$export$90113d5e575f3e93(json, false);\n}\nfunction $c0a5dac8e6ae16e3$export$90113d5e575f3e93(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : (0, $e6643d9a3244a168$export$f1b0b8bf9576e182)(json[\"options\"])\n };\n}\nfunction $c0a5dac8e6ae16e3$export$c182f3ca9657c70b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": (0, $e6643d9a3244a168$export$f9c2a4907f4de151)(value.options)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\n\nfunction $38a16b083a989950$export$fe0e3a34c423c852(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $38a16b083a989950$export$5cffeb8ce2443b10(json) {\n return $38a16b083a989950$export$2e5f50cb2cd6002e(json, false);\n}\nfunction $38a16b083a989950$export$2e5f50cb2cd6002e(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"meta\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"meta\") ? undefined : (0, $39b4d090739e0edb$export$70023f934842ce53)(json[\"meta\"]),\n \"errors\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"errors\") ? undefined : json[\"errors\"].map((0, $a9bac9599bd76c1d$export$9a91be5fb3879fb9)),\n \"result\": (0, $d72477ff18746529$export$b9e34caf47c08b2)(json[\"result\"])\n };\n}\nfunction $38a16b083a989950$export$c38eda6721591941(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"meta\": (0, $39b4d090739e0edb$export$a688b751866cf7f3)(value.meta),\n \"errors\": value.errors === undefined ? undefined : value.errors.map((0, $a9bac9599bd76c1d$export$797f61dd859e886c)),\n \"result\": (0, $d72477ff18746529$export$2321b26b111a9baa)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $c7b976729a4762c3$export$51fa51c0103cfbbf(value) {\n let isInstance = true;\n isInstance = isInstance && \"result\" in value;\n return isInstance;\n}\nfunction $c7b976729a4762c3$export$3bb77053894fc4a6(json) {\n return $c7b976729a4762c3$export$880a014c76b8cd74(json, false);\n}\nfunction $c7b976729a4762c3$export$880a014c76b8cd74(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"result\": (0, $d72477ff18746529$export$b9e34caf47c08b2)(json[\"result\"])\n };\n}\nfunction $c7b976729a4762c3$export$5626195bc79ee293(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"result\": (0, $d72477ff18746529$export$2321b26b111a9baa)(value.result)\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ /**\n * Authentication factor that can be recovered\n * @export\n */ const $9931288c5449801f$export$bb5e6ee25b0fc7c3 = {\n Password: \"password\"\n};\nfunction $9931288c5449801f$export$398fba7e85f1db2c(json) {\n return $9931288c5449801f$export$f62e5af70cc4ea0(json, false);\n}\nfunction $9931288c5449801f$export$f62e5af70cc4ea0(json, ignoreDiscriminator) {\n return json;\n}\nfunction $9931288c5449801f$export$423270bccf3787e0(value) {\n return value;\n}\n\n\nfunction $0172a9322b470861$export$d49ddc28a4137c80(value) {\n let isInstance = true;\n isInstance = isInstance && \"method\" in value;\n return isInstance;\n}\nfunction $0172a9322b470861$export$dfa0f361ed82900(json) {\n return $0172a9322b470861$export$8db160ece1e2bbd6(json, false);\n}\nfunction $0172a9322b470861$export$8db160ece1e2bbd6(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"method\": (0, $9931288c5449801f$export$398fba7e85f1db2c)(json[\"method\"])\n };\n}\nfunction $0172a9322b470861$export$8b7251cbcbbc3a83(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"method\": (0, $9931288c5449801f$export$423270bccf3787e0)(value.method)\n };\n}\n\n\nfunction $84e191c0f546a725$export$837a073b52aa896c(value) {\n let isInstance = true;\n isInstance = isInstance && \"factor\" in value;\n return isInstance;\n}\nfunction $84e191c0f546a725$export$40275694f4ecf42f(json) {\n return $84e191c0f546a725$export$5b2c6615cebf0a90(json, false);\n}\nfunction $84e191c0f546a725$export$5b2c6615cebf0a90(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"]),\n \"factor\": (0, $0172a9322b470861$export$dfa0f361ed82900)(json[\"factor\"])\n };\n}\nfunction $84e191c0f546a725$export$e61274da9e6eaaa0(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle),\n \"factor\": (0, $0172a9322b470861$export$8b7251cbcbbc3a83)(value.factor)\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $ecf09734584c221e$export$99cb3a4329850078(value) {\n let isInstance = true;\n isInstance = isInstance && \"options\" in value;\n return isInstance;\n}\nfunction $ecf09734584c221e$export$ca6deba59c41f6e0(json) {\n return $ecf09734584c221e$export$1a2701dfb3b4eec7(json, false);\n}\nfunction $ecf09734584c221e$export$1a2701dfb3b4eec7(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": (0, $84d4b0b0bfe56e36$export$69d72f503d5a95ba)(json[\"options\"])\n };\n}\nfunction $ecf09734584c221e$export$98d488ef4d19985b(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": (0, $84d4b0b0bfe56e36$export$9cee4e2f30c94128)(value.options)\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $76f71712ce860cab$export$af8ad63b24036d8d(value) {\n let isInstance = true;\n isInstance = isInstance && \"failed_authn_method\" in value;\n isInstance = isInstance && \"failure_reason\" in value;\n return isInstance;\n}\nfunction $76f71712ce860cab$export$300326b172827b0c(json) {\n return $76f71712ce860cab$export$ac521d7c41732b54(json, false);\n}\nfunction $76f71712ce860cab$export$ac521d7c41732b54(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"],\n \"authenticated_methods\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authenticated_methods\") ? undefined : json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"failed_authn_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"failed_authn_method\"]),\n \"failure_reason\": json[\"failure_reason\"],\n \"failure_detail\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"failure_detail\") ? undefined : json[\"failure_detail\"],\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"]),\n \"challenge_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"challenge_id\") ? undefined : json[\"challenge_id\"]\n };\n}\nfunction $76f71712ce860cab$export$37bb3fad6986a94c(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"person_id\": value.person_id,\n \"authenticated_methods\": value.authenticated_methods === undefined ? undefined : value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"failed_authn_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.failed_authn_method),\n \"failure_reason\": value.failure_reason,\n \"failure_detail\": value.failure_detail,\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle),\n \"challenge_id\": value.challenge_id\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $c5615adf82904551$export$ff0d9c59c3b68253(value) {\n let isInstance = true;\n isInstance = isInstance && \"person_id\" in value;\n isInstance = isInstance && \"success_authn_method\" in value;\n isInstance = isInstance && \"authenticated_methods\" in value;\n return isInstance;\n}\nfunction $c5615adf82904551$export$1de24f5e60a15df0(json) {\n return $c5615adf82904551$export$69fa0609e59723dd(json, false);\n}\nfunction $c5615adf82904551$export$69fa0609e59723dd(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"person_id\": json[\"person_id\"],\n \"success_authn_method\": (0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)(json[\"success_authn_method\"]),\n \"authenticated_methods\": json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"handle\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"handle\") ? undefined : (0, $c40c5abb0dd863b2$export$11c41aa448e0ad82)(json[\"handle\"])\n };\n}\nfunction $c5615adf82904551$export$f5276c9c6afb7e2a(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"person_id\": value.person_id,\n \"success_authn_method\": (0, $d180e6976bd68c99$export$6eefe3f1006b48e7)(value.success_authn_method),\n \"authenticated_methods\": value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"handle\": (0, $c40c5abb0dd863b2$export$82ff335443c9930)(value.handle)\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $e313ab86073460bb$export$7db73d95148cf77a(value) {\n let isInstance = true;\n isInstance = isInstance && \"person_id\" in value;\n return isInstance;\n}\nfunction $e313ab86073460bb$export$28a36daef148624(json) {\n return $e313ab86073460bb$export$3d32ce4ef809ef18(json, false);\n}\nfunction $e313ab86073460bb$export$3d32ce4ef809ef18(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"person_id\": json[\"person_id\"]\n };\n}\nfunction $e313ab86073460bb$export$3e384c2a34bf5318(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"person_id\": value.person_id\n };\n}\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $f05b12d9691ad1a7$export$e66798f9e2038917(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $f05b12d9691ad1a7$export$8000b319c10d802c(json) {\n return $f05b12d9691ad1a7$export$9210c16714199377(json, false);\n}\nfunction $f05b12d9691ad1a7$export$9210c16714199377(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"]\n };\n}\nfunction $f05b12d9691ad1a7$export$f4c31a0617114016(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"person_id\": value.person_id\n };\n}\n\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $9d3e80ffc7ac450e$export$2d9264c742d6943a(value) {\n let isInstance = true;\n isInstance = isInstance && \"user_token\" in value;\n return isInstance;\n}\nfunction $9d3e80ffc7ac450e$export$a365a919a100fd83(json) {\n return $9d3e80ffc7ac450e$export$223ead298c9cf3bd(json, false);\n}\nfunction $9d3e80ffc7ac450e$export$223ead298c9cf3bd(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"aud\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"aud\") ? undefined : json[\"aud\"],\n \"id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"id\") ? undefined : json[\"id\"],\n \"iat\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iat\") ? undefined : json[\"iat\"],\n \"exp\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"exp\") ? undefined : json[\"exp\"],\n \"nbf\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"nbf\") ? undefined : json[\"nbf\"],\n \"iss\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iss\") ? undefined : json[\"iss\"],\n \"sub\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"sub\") ? undefined : json[\"sub\"],\n \"user_token\": json[\"user_token\"],\n \"oidc_tokens\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"oidc_tokens\") ? undefined : json[\"oidc_tokens\"].map((0, $328e3a407db6ef0b$export$84e021f7a0eb6ab5))\n };\n}\nfunction $9d3e80ffc7ac450e$export$1ecabdf4344007a6(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"aud\": value.aud,\n \"id\": value.id,\n \"iat\": value.iat,\n \"exp\": value.exp,\n \"nbf\": value.nbf,\n \"iss\": value.iss,\n \"sub\": value.sub,\n \"user_token\": value.user_token,\n \"oidc_tokens\": value.oidc_tokens === undefined ? undefined : value.oidc_tokens.map((0, $328e3a407db6ef0b$export$bc00e6b89e4a031e))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nfunction $c8b658e42a2585ea$export$ec40b7b9801f6682(value) {\n let isInstance = true;\n isInstance = isInstance && \"user_token\" in value;\n return isInstance;\n}\nfunction $c8b658e42a2585ea$export$2f0f11e7f8715b67(json) {\n return $c8b658e42a2585ea$export$4b92f85337c705db(json, false);\n}\nfunction $c8b658e42a2585ea$export$4b92f85337c705db(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"user_token\": json[\"user_token\"],\n \"oidc_tokens\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"oidc_tokens\") ? undefined : json[\"oidc_tokens\"].map((0, $328e3a407db6ef0b$export$84e021f7a0eb6ab5))\n };\n}\nfunction $c8b658e42a2585ea$export$481ac3afcbf710dc(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"user_token\": value.user_token,\n \"oidc_tokens\": value.oidc_tokens === undefined ? undefined : value.oidc_tokens.map((0, $328e3a407db6ef0b$export$bc00e6b89e4a031e))\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $c513f5b618fe51fa$export$ae58097fa9f3a0a(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $c513f5b618fe51fa$export$fc5843c172697631(json) {\n return $c513f5b618fe51fa$export$eec2f87507b4c61c(json, false);\n}\nfunction $c513f5b618fe51fa$export$eec2f87507b4c61c(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"aud\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"aud\") ? undefined : json[\"aud\"],\n \"id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"id\") ? undefined : json[\"id\"],\n \"iat\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iat\") ? undefined : json[\"iat\"],\n \"exp\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"exp\") ? undefined : json[\"exp\"],\n \"nbf\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"nbf\") ? undefined : json[\"nbf\"],\n \"iss\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"iss\") ? undefined : json[\"iss\"],\n \"sub\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"sub\") ? undefined : json[\"sub\"],\n \"prev_token_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"prev_token_id\") ? undefined : json[\"prev_token_id\"],\n \"oid\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"oid\") ? undefined : json[\"oid\"],\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"],\n \"first_token\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"first_token\") ? undefined : json[\"first_token\"],\n \"authentications\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authentications\") ? undefined : json[\"authentications\"].map((0, $b875578786480fb6$export$6ba513db151a5ff1)),\n \"authenticated_methods\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authenticated_methods\") ? undefined : json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"groups_claim_name\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"groups_claim_name\") ? undefined : json[\"groups_claim_name\"]\n };\n}\nfunction $c513f5b618fe51fa$export$2bf0bd3743394bdb(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"aud\": value.aud,\n \"id\": value.id,\n \"iat\": value.iat,\n \"exp\": value.exp,\n \"nbf\": value.nbf,\n \"iss\": value.iss,\n \"sub\": value.sub,\n \"prev_token_id\": value.prev_token_id,\n \"oid\": value.oid,\n \"person_id\": value.person_id,\n \"first_token\": value.first_token,\n \"authentications\": value.authentications === undefined ? undefined : value.authentications.map((0, $b875578786480fb6$export$7f86f8f881fe1819)),\n \"authenticated_methods\": value.authenticated_methods === undefined ? undefined : value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"groups_claim_name\": value.groups_claim_name\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\n\nfunction $898991713100d07c$export$da6f60378a4ffae8(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $898991713100d07c$export$49405bd05d18e505(json) {\n return $898991713100d07c$export$2480706e273e736f(json, false);\n}\nfunction $898991713100d07c$export$2480706e273e736f(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"prev_token_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"prev_token_id\") ? undefined : json[\"prev_token_id\"],\n \"oid\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"oid\") ? undefined : json[\"oid\"],\n \"person_id\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"person_id\") ? undefined : json[\"person_id\"],\n \"first_token\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"first_token\") ? undefined : json[\"first_token\"],\n \"authentications\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authentications\") ? undefined : json[\"authentications\"].map((0, $b875578786480fb6$export$6ba513db151a5ff1)),\n \"authenticated_methods\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"authenticated_methods\") ? undefined : json[\"authenticated_methods\"].map((0, $d180e6976bd68c99$export$67789e1d0e9f3dc1)),\n \"groups_claim_name\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"groups_claim_name\") ? undefined : json[\"groups_claim_name\"]\n };\n}\nfunction $898991713100d07c$export$db3aaa7b1ac3a014(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"prev_token_id\": value.prev_token_id,\n \"oid\": value.oid,\n \"person_id\": value.person_id,\n \"first_token\": value.first_token,\n \"authentications\": value.authentications === undefined ? undefined : value.authentications.map((0, $b875578786480fb6$export$7f86f8f881fe1819)),\n \"authenticated_methods\": value.authenticated_methods === undefined ? undefined : value.authenticated_methods.map((0, $d180e6976bd68c99$export$6eefe3f1006b48e7)),\n \"groups_claim_name\": value.groups_claim_name\n };\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ function $7be8f15fd333c945$export$574081f636b3004e(value) {\n let isInstance = true;\n isInstance = isInstance && \"token\" in value;\n return isInstance;\n}\nfunction $7be8f15fd333c945$export$c19b74f1215c1f46(json) {\n return $7be8f15fd333c945$export$aa09d6fd184f9d48(json, false);\n}\nfunction $7be8f15fd333c945$export$aa09d6fd184f9d48(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"token\": json[\"token\"]\n };\n}\nfunction $7be8f15fd333c945$export$3bd7d2b6a8fd413d(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"token\": value.token\n };\n}\n\n\n\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $dc5640f6c84d057d$export$c299debc1fd57374(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $dc5640f6c84d057d$export$8bb7916af0b399b2(json) {\n return $dc5640f6c84d057d$export$bb89284bfca19542(json, false);\n}\nfunction $dc5640f6c84d057d$export$bb89284bfca19542(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : json[\"data\"]\n };\n}\nfunction $dc5640f6c84d057d$export$78aee5059ba243e5(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": value.data\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $bf6159f97f58abf0$export$176b39ec143d1fa5(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $bf6159f97f58abf0$export$dd121604c80f6b91(json) {\n return $bf6159f97f58abf0$export$bf4d1968fec6776(json, false);\n}\nfunction $bf6159f97f58abf0$export$bf4d1968fec6776(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : json[\"options\"]\n };\n}\nfunction $bf6159f97f58abf0$export$53def36f1267104f(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": value.options\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $0bc96e39e3abdd76$export$e42a4717d53762e1(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $0bc96e39e3abdd76$export$5f684fa44a8dceb7(json) {\n return $0bc96e39e3abdd76$export$31dcda022f0c7fb(json, false);\n}\nfunction $0bc96e39e3abdd76$export$31dcda022f0c7fb(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"data\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"data\") ? undefined : json[\"data\"]\n };\n}\nfunction $0bc96e39e3abdd76$export$b1f525fb87b155b2(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"data\": value.data\n };\n}\n\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \nfunction $a6729f073297e947$export$296c3704751db5b5(value) {\n let isInstance = true;\n return isInstance;\n}\nfunction $a6729f073297e947$export$e0d1ba043a76cd7a(json) {\n return $a6729f073297e947$export$d2cacb72e6566efc(json, false);\n}\nfunction $a6729f073297e947$export$d2cacb72e6566efc(json, ignoreDiscriminator) {\n if (json === undefined || json === null) return json;\n return {\n \"options\": !(0, $168d06aed8b3cdb0$export$f7e9f41ea797a17)(json, \"options\") ? undefined : json[\"options\"]\n };\n}\nfunction $a6729f073297e947$export$9d871e645ef89b11(value) {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n \"options\": value.options\n };\n}\n\n\n\n\n\n\n\nclass $de791efae2088fc4$export$95d3101c7670792a extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * Delete attributes from a single bucket\n */ async deleteAttributesBucketNameRaw(requestParameters, initOverrides) {\n if (requestParameters.bucketName === null || requestParameters.bucketName === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"bucketName\", \"Required parameter requestParameters.bucketName was null or undefined when calling deleteAttributesBucketName.\");\n const queryParameters = {};\n if (requestParameters.attributes) queryParameters[\"attributes\"] = requestParameters.attributes.join($168d06aed8b3cdb0$export$83cb526776fb323d[\"csv\"]);\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attributes/{bucket_name}`.replace(`{${\"bucket_name\"}}`, encodeURIComponent(String(requestParameters.bucketName))),\n method: \"DELETE\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $98d4ae80407991f3$export$53557473c48f27d7)(jsonValue));\n }\n /**\n * Delete attributes from a single bucket\n */ async deleteAttributesBucketName(requestParameters, initOverrides) {\n const response = await this.deleteAttributesBucketNameRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Retrieve attributes from multiple buckets\n */ async getAttributesRaw(requestParameters, initOverrides) {\n const queryParameters = {};\n if (requestParameters.buckets) queryParameters[\"buckets\"] = requestParameters.buckets.join($168d06aed8b3cdb0$export$83cb526776fb323d[\"csv\"]);\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attributes`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $6df6f0c3c1503c39$export$b860effd636f4c33)(jsonValue));\n }\n /**\n * Retrieve attributes from multiple buckets\n */ async getAttributes(requestParameters = {}, initOverrides) {\n const response = await this.getAttributesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Retrieve attributes from a single bucket\n */ async getAttributesBucketNameRaw(requestParameters, initOverrides) {\n if (requestParameters.bucketName === null || requestParameters.bucketName === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"bucketName\", \"Required parameter requestParameters.bucketName was null or undefined when calling getAttributesBucketName.\");\n const queryParameters = {};\n if (requestParameters.attributes) queryParameters[\"attributes\"] = requestParameters.attributes.join($168d06aed8b3cdb0$export$83cb526776fb323d[\"csv\"]);\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attributes/{bucket_name}`.replace(`{${\"bucket_name\"}}`, encodeURIComponent(String(requestParameters.bucketName))),\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $38e4ceff1a16944f$export$16028d5073b65888)(jsonValue));\n }\n /**\n * Retrieve attributes from a single bucket\n */ async getAttributesBucketName(requestParameters, initOverrides) {\n const response = await this.getAttributesBucketNameRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Create or modify attributes in multiple buckets\n */ async putAttributesRaw(requestParameters, initOverrides) {\n if (requestParameters.body === null || requestParameters.body === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"body\", \"Required parameter requestParameters.body was null or undefined when calling putAttributes.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attributes`,\n method: \"PUT\",\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.body\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $98d4ae80407991f3$export$53557473c48f27d7)(jsonValue));\n }\n /**\n * Create or modify attributes in multiple buckets\n */ async putAttributes(requestParameters, initOverrides) {\n const response = await this.putAttributesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Create or modify attributes in a single bucket\n */ async putAttributesBucketNameRaw(requestParameters, initOverrides) {\n if (requestParameters.bucketName === null || requestParameters.bucketName === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"bucketName\", \"Required parameter requestParameters.bucketName was null or undefined when calling putAttributesBucketName.\");\n if (requestParameters.body === null || requestParameters.body === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"body\", \"Required parameter requestParameters.body was null or undefined when calling putAttributesBucketName.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attributes/{bucket_name}`.replace(`{${\"bucket_name\"}}`, encodeURIComponent(String(requestParameters.bucketName))),\n method: \"PUT\",\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.body\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $98d4ae80407991f3$export$53557473c48f27d7)(jsonValue));\n }\n /**\n * Create or modify attributes in a single bucket\n */ async putAttributesBucketName(requestParameters, initOverrides) {\n const response = await this.putAttributesBucketNameRaw(requestParameters, initOverrides);\n return await response.value();\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $8dabc67a561e7dc0$export$872437fb2a17cd0e extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n */ async getChallengeChallengeIdRaw(requestParameters, initOverrides) {\n if (requestParameters.challengeId === null || requestParameters.challengeId === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"challengeId\", \"Required parameter requestParameters.challengeId was null or undefined when calling getChallengeChallengeId.\");\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/challenge/{challenge_id}`.replace(`{${\"challenge_id\"}}`, encodeURIComponent(String(requestParameters.challengeId))),\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $39cb95385236689b$export$fc7f4a9925d556ff)(jsonValue));\n }\n /**\n */ async getChallengeChallengeId(requestParameters, initOverrides) {\n const response = await this.getChallengeChallengeIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async getChallengeChallengeIdV2Raw(requestParameters, initOverrides) {\n if (requestParameters.challengeId === null || requestParameters.challengeId === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"challengeId\", \"Required parameter requestParameters.challengeId was null or undefined when calling getChallengeChallengeIdV2.\");\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/challenge/{challenge_id}/v2`.replace(`{${\"challenge_id\"}}`, encodeURIComponent(String(requestParameters.challengeId))),\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $de585f0e4fd9d86f$export$859624b73bf55232)(jsonValue));\n }\n /**\n */ async getChallengeChallengeIdV2(requestParameters, initOverrides) {\n const response = await this.getChallengeChallengeIdV2Raw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async getChallengePackChallengePackIdRaw(requestParameters, initOverrides) {\n if (requestParameters.challengePackId === null || requestParameters.challengePackId === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"challengePackId\", \"Required parameter requestParameters.challengePackId was null or undefined when calling getChallengePackChallengePackId.\");\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/challenge_pack/{challenge_pack_id}`.replace(`{${\"challenge_pack_id\"}}`, encodeURIComponent(String(requestParameters.challengePackId))),\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $c5a2fdac9e1dddc8$export$af4b4231cf2b0254)(jsonValue));\n }\n /**\n */ async getChallengePackChallengePackId(requestParameters, initOverrides) {\n const response = await this.getChallengePackChallengePackIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Retrieve details of the person and all the organizations they belong to, including: - The organization of the request: the person must be a member of the organization you authenticate with for you to be allowed to retrieve this list - Any other organizations that share the person pool with the organization specified in the request and to which the person also belongs. A hierarchy of organizations can be created using [this API endpoint](/docs/api/post-organizations-suborganizations). When organizations are configured to share a person pool, if the same person registers with multiple organizations in the pool using the same handle, all organizations will see the same person ID for that person. \n * Retrieve the person details and list of organizations\n */ async getMeRaw(initOverrides) {\n const queryParameters = {};\n const headerParameters = {};\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/me`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $9df250add66fe5a4$export$bfd68bd3621b7ea1)(jsonValue));\n }\n /**\n * Retrieve details of the person and all the organizations they belong to, including: - The organization of the request: the person must be a member of the organization you authenticate with for you to be allowed to retrieve this list - Any other organizations that share the person pool with the organization specified in the request and to which the person also belongs. A hierarchy of organizations can be created using [this API endpoint](/docs/api/post-organizations-suborganizations). When organizations are configured to share a person pool, if the same person registers with multiple organizations in the pool using the same handle, all organizations will see the same person ID for that person. \n * Retrieve the person details and list of organizations\n */ async getMe(initOverrides) {\n const response = await this.getMeRaw(initOverrides);\n return await response.value();\n }\n /**\n * Given a token for a Person in an Organization, return a new token for the same user in the Organization specified in the SlashID-OrgID request header. For the call to succeed the following conditions must be met: - the token must be valid at the time of the request - the two Organizations must share the same person pool - the user must be a member of both Organizations This operation does not count as an authentication, so the new token will have the same expiration time as the original. \n * Get a new token for the specified Organization ID\n */ async getTokenRaw(requestParameters, initOverrides) {\n if (requestParameters.slashIDOrgID === null || requestParameters.slashIDOrgID === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"slashIDOrgID\", \"Required parameter requestParameters.slashIDOrgID was null or undefined when calling getToken.\");\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (requestParameters.slashIDOrgID !== undefined && requestParameters.slashIDOrgID !== null) headerParameters[\"SlashID-OrgID\"] = String(requestParameters.slashIDOrgID);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/token`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $de585f0e4fd9d86f$export$859624b73bf55232)(jsonValue));\n }\n /**\n * Given a token for a Person in an Organization, return a new token for the same user in the Organization specified in the SlashID-OrgID request header. For the call to succeed the following conditions must be met: - the token must be valid at the time of the request - the two Organizations must share the same person pool - the user must be a member of both Organizations This operation does not count as an authentication, so the new token will have the same expiration time as the original. \n * Get a new token for the specified Organization ID\n */ async getToken(requestParameters, initOverrides) {\n const response = await this.getTokenRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async postAttestationRaw(requestParameters, initOverrides) {\n if (requestParameters.attestation === null || requestParameters.attestation === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"attestation\", \"Required parameter requestParameters.attestation was null or undefined when calling postAttestation.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attestation`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $ec04d4058abe68eb$export$d7f719716c0ef239)(requestParameters.attestation)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $39cb95385236689b$export$fc7f4a9925d556ff)(jsonValue));\n }\n /**\n */ async postAttestation(requestParameters, initOverrides) {\n const response = await this.postAttestationRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async postAttestationV2Raw(requestParameters, initOverrides) {\n if (requestParameters.attestation === null || requestParameters.attestation === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"attestation\", \"Required parameter requestParameters.attestation was null or undefined when calling postAttestationV2.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/attestation/v2`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $ec04d4058abe68eb$export$d7f719716c0ef239)(requestParameters.attestation)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $de585f0e4fd9d86f$export$859624b73bf55232)(jsonValue));\n }\n /**\n */ async postAttestationV2(requestParameters, initOverrides) {\n const response = await this.postAttestationV2Raw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async postDirectIdRaw(requestParameters, initOverrides) {\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/direct-id`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $c1d470802eb5d4dd$export$c5ad9a62b0e0f9c1)(jsonValue));\n }\n /**\n */ async postDirectId(requestParameters = {}, initOverrides) {\n const response = await this.postDirectIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async postIdRaw(requestParameters, initOverrides) {\n if (requestParameters.slashIDOrgID === null || requestParameters.slashIDOrgID === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"slashIDOrgID\", \"Required parameter requestParameters.slashIDOrgID was null or undefined when calling postId.\");\n if (requestParameters.iDRequest === null || requestParameters.iDRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"iDRequest\", \"Required parameter requestParameters.iDRequest was null or undefined when calling postId.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDOrgID !== undefined && requestParameters.slashIDOrgID !== null) headerParameters[\"SlashID-OrgID\"] = String(requestParameters.slashIDOrgID);\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/id`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $84e44e75922d87c6$export$7eb26765f35a90a8)(requestParameters.iDRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $c5a2fdac9e1dddc8$export$af4b4231cf2b0254)(jsonValue));\n }\n /**\n */ async postId(requestParameters, initOverrides) {\n const response = await this.postIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n */ async postRecoverRaw(requestParameters, initOverrides) {\n if (requestParameters.slashIDOrgID === null || requestParameters.slashIDOrgID === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"slashIDOrgID\", \"Required parameter requestParameters.slashIDOrgID was null or undefined when calling postRecover.\");\n if (requestParameters.recoverRequest === null || requestParameters.recoverRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"recoverRequest\", \"Required parameter requestParameters.recoverRequest was null or undefined when calling postRecover.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDOrgID !== undefined && requestParameters.slashIDOrgID !== null) headerParameters[\"SlashID-OrgID\"] = String(requestParameters.slashIDOrgID);\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/recover`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $84e191c0f546a725$export$e61274da9e6eaaa0)(requestParameters.recoverRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $c5a2fdac9e1dddc8$export$af4b4231cf2b0254)(jsonValue));\n }\n /**\n */ async postRecover(requestParameters, initOverrides) {\n const response = await this.postRecoverRaw(requestParameters, initOverrides);\n return await response.value();\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $6d6044a55374bf35$export$9d7eae2d04d44e94 extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * Post information that can used to build and publish an event originating from the SlashID SDK\n * Publish an event from the SDK\n */ async postActionsSdkRaw(requestParameters, initOverrides) {\n if (requestParameters.eventPostRequest === null || requestParameters.eventPostRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"eventPostRequest\", \"Required parameter requestParameters.eventPostRequest was null or undefined when calling postActionsSdk.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/actions/sdk`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $9eee0f736eff090c$export$66614e5f3c5485b5)(requestParameters.eventPostRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$20446dc680588cc3(response);\n }\n /**\n * Post information that can used to build and publish an event originating from the SlashID SDK\n * Publish an event from the SDK\n */ async postActionsSdk(requestParameters, initOverrides) {\n await this.postActionsSdkRaw(requestParameters, initOverrides);\n }\n /**\n * Post information that can used to build and publish an event. Deprecated, use `/actions`.\n * Publish an event\n */ async postEventsRaw(requestParameters, initOverrides) {\n if (requestParameters.eventPostRequest === null || requestParameters.eventPostRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"eventPostRequest\", \"Required parameter requestParameters.eventPostRequest was null or undefined when calling postEvents.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/events`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $9eee0f736eff090c$export$66614e5f3c5485b5)(requestParameters.eventPostRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$20446dc680588cc3(response);\n }\n /**\n * Post information that can used to build and publish an event. Deprecated, use `/actions`.\n * Publish an event\n */ async postEvents(requestParameters, initOverrides) {\n await this.postEventsRaw(requestParameters, initOverrides);\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $e758e522c3e01abb$export$f2ae3e6781ddb521 extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * Removes the specified GDPR consent, or all consents.\n * Remove GDPR consent of current user\n */ async deleteConsentGdprRaw(requestParameters, initOverrides) {\n const queryParameters = {};\n if (requestParameters.consentLevels) queryParameters[\"consent_levels\"] = requestParameters.consentLevels;\n if (requestParameters.deleteAll !== undefined) queryParameters[\"deleteAll\"] = requestParameters.deleteAll;\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/consent/gdpr`,\n method: \"DELETE\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$20446dc680588cc3(response);\n }\n /**\n * Removes the specified GDPR consent, or all consents.\n * Remove GDPR consent of current user\n */ async deleteConsentGdpr(requestParameters = {}, initOverrides) {\n await this.deleteConsentGdprRaw(requestParameters, initOverrides);\n }\n /**\n * Returns the GDPR consent levels and timestamp for current person, if it exists. \n * Get GDPR consent of current user\n */ async getConsentGdprRaw(requestParameters, initOverrides) {\n const queryParameters = {};\n const headerParameters = {};\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/consent/gdpr`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $1c6e04be56d36e82$export$d8f7fb0a0d937eb3)(jsonValue));\n }\n /**\n * Returns the GDPR consent levels and timestamp for current person, if it exists. \n * Get GDPR consent of current user\n */ async getConsentGdpr(requestParameters = {}, initOverrides) {\n const response = await this.getConsentGdprRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Stores the GDPR consent levels and timestamp. Returns the consent levels and the timestamp at which the consent information was received. This will overwrite existing GDPR consent levels for the specified person. The consent levels indicate the types of data classes the person has allowed during their use of your services, in accordance with GDPR. \n * Store GDPR consent of current user\n */ async postConsentGdprRaw(requestParameters, initOverrides) {\n if (requestParameters.gDPRConsentRequest === null || requestParameters.gDPRConsentRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"gDPRConsentRequest\", \"Required parameter requestParameters.gDPRConsentRequest was null or undefined when calling postConsentGdpr.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/consent/gdpr`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $918afe7ca221f314$export$13e148a83364b95)(requestParameters.gDPRConsentRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $38a16b083a989950$export$5cffeb8ce2443b10)(jsonValue));\n }\n /**\n * Stores the GDPR consent levels and timestamp. Returns the consent levels and the timestamp at which the consent information was received. This will overwrite existing GDPR consent levels for the specified person. The consent levels indicate the types of data classes the person has allowed during their use of your services, in accordance with GDPR. \n * Store GDPR consent of current user\n */ async postConsentGdpr(requestParameters, initOverrides) {\n const response = await this.postConsentGdprRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * Stores the GDPR consent levels and timestamp. Returns the consent levels and the timestamp at which the consent information was received. This will overwrite existing GDPR consent levels for the specified person. The consent levels indicate the types of data classes the person has allowed during their use of your services, in accordance with GDPR. \n * Set GDPR consent of current user\n */ async putConsentGdprRaw(requestParameters, initOverrides) {\n if (requestParameters.gDPRConsentRequest === null || requestParameters.gDPRConsentRequest === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"gDPRConsentRequest\", \"Required parameter requestParameters.gDPRConsentRequest was null or undefined when calling putConsentGdpr.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/consent/gdpr`,\n method: \"PUT\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $918afe7ca221f314$export$13e148a83364b95)(requestParameters.gDPRConsentRequest)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $38a16b083a989950$export$5cffeb8ce2443b10)(jsonValue));\n }\n /**\n * Stores the GDPR consent levels and timestamp. Returns the consent levels and the timestamp at which the consent information was received. This will overwrite existing GDPR consent levels for the specified person. The consent levels indicate the types of data classes the person has allowed during their use of your services, in accordance with GDPR. \n * Set GDPR consent of current user\n */ async putConsentGdpr(requestParameters, initOverrides) {\n const response = await this.putConsentGdprRaw(requestParameters, initOverrides);\n return await response.value();\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $958065e8019cd589$export$635f2ea50ea7a4cd extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * Revoke a previously obtained OAuth access or refresh token for an IdP This endpoint is deprecated. Please use /sso/oidc/tokens/revoke/v2 instead. \n * Revoke an OAuth token obtained through SSO with OIDC (deprecated)\n */ async postSsoOidcTokensRevokeRaw(requestParameters, initOverrides) {\n if (requestParameters.oAuthTokenRevokeReq === null || requestParameters.oAuthTokenRevokeReq === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"oAuthTokenRevokeReq\", \"Required parameter requestParameters.oAuthTokenRevokeReq was null or undefined when calling postSsoOidcTokensRevoke.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/sso/oidc/tokens/revoke`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $eda6afdba158b369$export$5934f2de036cb99d)(requestParameters.oAuthTokenRevokeReq)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$20446dc680588cc3(response);\n }\n /**\n * Revoke a previously obtained OAuth access or refresh token for an IdP This endpoint is deprecated. Please use /sso/oidc/tokens/revoke/v2 instead. \n * Revoke an OAuth token obtained through SSO with OIDC (deprecated)\n */ async postSsoOidcTokensRevoke(requestParameters, initOverrides) {\n await this.postSsoOidcTokensRevokeRaw(requestParameters, initOverrides);\n }\n}\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $471d4c7ebb479710$export$536cc970372a085 extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * This endpoint is private and meant for console metrics. \n * Get event-based statistics about organization activity\n */ async getStatsRaw(requestParameters, initOverrides) {\n if (requestParameters.slashIDOrgID === null || requestParameters.slashIDOrgID === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"slashIDOrgID\", \"Required parameter requestParameters.slashIDOrgID was null or undefined when calling getStats.\");\n if (requestParameters.bin === null || requestParameters.bin === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"bin\", \"Required parameter requestParameters.bin was null or undefined when calling getStats.\");\n if (requestParameters.start === null || requestParameters.start === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"start\", \"Required parameter requestParameters.start was null or undefined when calling getStats.\");\n const queryParameters = {};\n if (requestParameters.bin !== undefined) queryParameters[\"bin\"] = requestParameters.bin;\n if (requestParameters.start !== undefined) queryParameters[\"start\"] = requestParameters.start.toISOString();\n if (requestParameters.end !== undefined) queryParameters[\"end\"] = requestParameters.end.toISOString();\n const headerParameters = {};\n if (requestParameters.slashIDOrgID !== undefined && requestParameters.slashIDOrgID !== null) headerParameters[\"SlashID-OrgID\"] = String(requestParameters.slashIDOrgID);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/stats`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $70733e07da03f887$export$2fc6c9fe8c3c59d0)(jsonValue));\n }\n /**\n * This endpoint is private and meant for console metrics. \n * Get event-based statistics about organization activity\n */ async getStats(requestParameters, initOverrides) {\n const response = await this.getStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n /**\n * This endpoint is private and meant for console metrics. \n * Get event-based statistics about billable organization activity. Aggregated stats are bound at the 1st day of each month\n */ async getStatsBillingRaw(requestParameters, initOverrides) {\n if (requestParameters.slashIDOrgID === null || requestParameters.slashIDOrgID === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"slashIDOrgID\", \"Required parameter requestParameters.slashIDOrgID was null or undefined when calling getStatsBilling.\");\n if (requestParameters.start === null || requestParameters.start === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"start\", \"Required parameter requestParameters.start was null or undefined when calling getStatsBilling.\");\n const queryParameters = {};\n if (requestParameters.start !== undefined) queryParameters[\"start\"] = requestParameters.start.toISOString();\n if (requestParameters.end !== undefined) queryParameters[\"end\"] = requestParameters.end.toISOString();\n const headerParameters = {};\n if (requestParameters.slashIDOrgID !== undefined && requestParameters.slashIDOrgID !== null) headerParameters[\"SlashID-OrgID\"] = String(requestParameters.slashIDOrgID);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/stats/billing`,\n method: \"GET\",\n headers: headerParameters,\n query: queryParameters\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $187256421eb9b5cb$export$1da8bec36382d2b9)(jsonValue));\n }\n /**\n * This endpoint is private and meant for console metrics. \n * Get event-based statistics about billable organization activity. Aggregated stats are bound at the 1st day of each month\n */ async getStatsBilling(requestParameters, initOverrides) {\n const response = await this.getStatsBillingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n}\nconst $471d4c7ebb479710$export$32c133930031d4c3 = {\n NUMBER_60: 60,\n NUMBER_1440: 1440\n};\n\n\n/* tslint:disable */ /* eslint-disable */ /**\n * SlashID API v1.1\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * Do not edit the class manually.\n */ \n\nclass $01183d3ef1e1dae1$export$72bb25602803ae5f extends $168d06aed8b3cdb0$export$70edad7ad5bb3f5d {\n /**\n * This endpoint validates a SlashID user token. The response indicates whether the token is valid and its expiration time if so. If the token is not valid, the reason is returned. \n * Validate a user token\n */ async postTokenValidateRaw(requestParameters, initOverrides) {\n if (requestParameters.validateTokenReq === null || requestParameters.validateTokenReq === undefined) throw new $168d06aed8b3cdb0$export$a27bea7cdb975d70(\"validateTokenReq\", \"Required parameter requestParameters.validateTokenReq was null or undefined when calling postTokenValidate.\");\n const queryParameters = {};\n const headerParameters = {};\n headerParameters[\"Content-Type\"] = \"application/json\";\n if (requestParameters.slashIDSdkVersion !== undefined && requestParameters.slashIDSdkVersion !== null) headerParameters[\"SlashID-SdkVersion\"] = String(requestParameters.slashIDSdkVersion);\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"Bearer\", []);\n if (tokenString) headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n const response = await this.request({\n path: `/token/validate`,\n method: \"POST\",\n headers: headerParameters,\n query: queryParameters,\n body: (0, $7be8f15fd333c945$export$3bd7d2b6a8fd413d)(requestParameters.validateTokenReq)\n }, initOverrides);\n return new $168d06aed8b3cdb0$export$9a41a2c2c33dd8d4(response, (jsonValue)=>(0, $61bff2e9c70d970f$export$6b84b521d90710d5)(jsonValue));\n }\n /**\n * This endpoint validates a SlashID user token. The response indicates whether the token is valid and its expiration time if so. If the token is not valid, the reason is returned. \n * Validate a user token\n */ async postTokenValidate(requestParameters, initOverrides) {\n const response = await this.postTokenValidateRaw(requestParameters, initOverrides);\n return await response.value();\n }\n}\n\n\n\n\n\n\n\nfunction $1d209ce78d67cb65$var$getCenteredWindowParams() {\n const width = 400;\n const height = 600;\n const left = window.screenX + (window.innerWidth - width) / 2;\n const top = window.screenY + (window.innerHeight - height) / 2;\n return `width=${width},height=${height},top=${top},left=${left},resizable,scrollbars=yes,status=1`;\n}\nfunction $1d209ce78d67cb65$export$5d0606a13b21f3f8() {\n const windowParams = $1d209ce78d67cb65$var$getCenteredWindowParams();\n const myWindow = window.open(window.location.href, \"/id:popup\", windowParams);\n if (!myWindow) // TODO standardise error handling\n throw new Error(\"SlashId: Popup blocked, please consider redirect instead\");\n const redirectMessage = '<div style=\"position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);\">You will be redirected in a moment...</div>';\n try {\n var _myWindow_document;\n myWindow === null || myWindow === void 0 ? void 0 : (_myWindow_document = myWindow.document) === null || _myWindow_document === void 0 ? void 0 : _myWindow_document.write(redirectMessage);\n } catch (e) {\n console.error(e);\n if (myWindow.document && myWindow.document.body) myWindow.document.body.innerHTML = redirectMessage;\n } finally{\n myWindow.blur();\n }\n const setWindowUrl = (url)=>{\n if (myWindow) {\n myWindow.location = url;\n myWindow.focus();\n }\n return myWindow;\n };\n return [\n myWindow,\n setWindowUrl\n ];\n}\n\n\n/**\n * Compare two complete URLs and check if they are the same looking only at the origin and the pathname.\n * This ignores query params and fragments.\n * @param {URL} base\n * @param {URL} comparison\n * @returns {boolean}\n */ function $3943e8c808f9150b$export$ca8daecbc0756b1b(base, comparison) {\n return base.origin + base.pathname === comparison.origin + comparison.pathname;\n}\nfunction $3943e8c808f9150b$export$fc99885b7e473d08(input) {\n let url;\n try {\n url = new URL(input);\n } catch (_) {\n return false;\n }\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n}\n\n\nconst $561d3dd760db35d2$var$ACCEPTED_BASE_URL_PROTOCOLS = [\n \"http:\",\n \"https:\"\n];\nfunction $561d3dd760db35d2$export$7586e69c60094c9d(obj) {\n if (!obj) throw new TypeError(\"options cannot be null\");\n if (obj.baseURL) {\n if (typeof obj.baseURL !== \"string\") throw new TypeError(\"'baseURL' must be a string\");\n let url;\n try {\n url = new URL(obj.baseURL);\n } catch (_) {\n throw new TypeError(\"'baseURL' must be a valid URL\");\n }\n if ($561d3dd760db35d2$var$ACCEPTED_BASE_URL_PROTOCOLS.indexOf(url.protocol) === -1) throw new TypeError(\"'baseURL' must be either an http or https URL\");\n }\n if (obj.sdkURL) {\n if (typeof obj.sdkURL !== \"string\") throw new TypeError(\"'sdkURL' must be a string\");\n try {\n new URL(obj.sdkURL);\n } catch (_) {\n throw new TypeError(\"'sdkURL' must be a valid URL\");\n }\n }\n const { analyticsEnabled: analyticsEnabled = true, oid: oid } = obj;\n if (analyticsEnabled && !oid) throw new Error(\"Analytics require the 'oid' parameter to be set when instantiating SlashID()\");\n}\nclass $561d3dd760db35d2$export$1fd9c30e1b817ee4 {\n constructor(obj){\n this.getOTP = obj === null || obj === void 0 ? void 0 : obj.getOTP;\n }\n}\nfunction $561d3dd760db35d2$export$af64486b3e452a98(authenticationFactor) {\n if (authenticationFactor.method !== \"oidc\") throw new Error(`Can't create OIDC extras for method: ${authenticationFactor.method}`);\n let extras = {};\n const { client_id: client_id, provider: provider } = authenticationFactor.options;\n let { ux_mode: ux_mode, redirect_target: redirect_target } = authenticationFactor.options;\n if (!ux_mode) ux_mode = (0, $d978296a495364e5$export$947f28fa7e24f5f5).Popup;\n if (ux_mode === (0, $d978296a495364e5$export$947f28fa7e24f5f5).Redirect) {\n if (!redirect_target) redirect_target = window.location.href;\n if (!(0, $3943e8c808f9150b$export$fc99885b7e473d08)(redirect_target)) throw new Error(`If OIDC ux_mode was set to \"redirect\" a \"redirect_target\" is required, got ${redirect_target}`);\n }\n if (ux_mode === (0, $d978296a495364e5$export$947f28fa7e24f5f5).Popup) {\n const [popup, setPopupUrl] = (0, $1d209ce78d67cb65$export$5d0606a13b21f3f8)();\n extras = {\n ...extras,\n popup: popup,\n setPopupUrl: setPopupUrl\n };\n }\n return {\n ...authenticationFactor,\n options: {\n ...authenticationFactor.options,\n client_id: client_id,\n provider: provider,\n ux_mode: ux_mode,\n redirect_target: redirect_target\n },\n extras: extras\n };\n}\nfunction $561d3dd760db35d2$export$98f5d2f2dc6acbbd(authenticationFactor) {\n if (authenticationFactor.method !== \"saml\") throw new Error(`Can't create SAML extras for method: ${authenticationFactor.method}`);\n let extras = {};\n let { ux_mode: ux_mode, redirect_target: redirect_target } = authenticationFactor.options;\n if (!ux_mode) ux_mode = (0, $13463f5a948e6169$export$6dc0f627c99c13a9).Popup;\n if (ux_mode === (0, $13463f5a948e6169$export$6dc0f627c99c13a9).Redirect) {\n if (!redirect_target) redirect_target = window.location.href;\n if (!(0, $3943e8c808f9150b$export$fc99885b7e473d08)(redirect_target)) throw new Error(`If SAML ux_mode was set to \"redirect\" a \"redirect_target\" is required, got ${redirect_target}`);\n }\n if (ux_mode === (0, $13463f5a948e6169$export$6dc0f627c99c13a9).Popup) {\n const [popup, setPopupUrl] = (0, $1d209ce78d67cb65$export$5d0606a13b21f3f8)();\n extras = {\n ...extras,\n popup: popup,\n setPopupUrl: setPopupUrl\n };\n }\n return {\n ...authenticationFactor,\n options: {\n ...authenticationFactor.options,\n ux_mode: ux_mode,\n redirect_target: redirect_target\n },\n extras: extras\n };\n}\n\n\nfunction $50a898cc017f886c$var$e(e) {\n this.message = e;\n}\n$50a898cc017f886c$var$e.prototype = new Error, $50a898cc017f886c$var$e.prototype.name = \"InvalidCharacterError\";\nvar $50a898cc017f886c$var$r = \"undefined\" != typeof window && window.atob && window.atob.bind(window) || function(r) {\n var t = String(r).replace(/=+$/, \"\");\n if (t.length % 4 == 1) throw new $50a898cc017f886c$var$e(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n for(var n, o, a = 0, i = 0, c = \"\"; o = t.charAt(i++); ~o && (n = a % 4 ? 64 * n + o : o, a++ % 4) && (c += String.fromCharCode(255 & n >> (-2 * a & 6))))o = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);\n return c;\n};\nfunction $50a898cc017f886c$var$t(e) {\n var t = e.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch(t.length % 4){\n case 0:\n break;\n case 2:\n t += \"==\";\n break;\n case 3:\n t += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n try {\n return function(e) {\n return decodeURIComponent($50a898cc017f886c$var$r(e).replace(/(.)/g, function(e, r) {\n var t = r.charCodeAt(0).toString(16).toUpperCase();\n return t.length < 2 && (t = \"0\" + t), \"%\" + t;\n }));\n }(t);\n } catch (e) {\n return $50a898cc017f886c$var$r(t);\n }\n}\nfunction $50a898cc017f886c$export$b9721ef022f71a68(e) {\n this.message = e;\n}\nfunction $50a898cc017f886c$var$o(e, r) {\n if (\"string\" != typeof e) throw new $50a898cc017f886c$export$b9721ef022f71a68(\"Invalid token specified\");\n var o = !0 === (r = r || {}).header ? 0 : 1;\n try {\n return JSON.parse($50a898cc017f886c$var$t(e.split(\".\")[o]));\n } catch (e) {\n throw new $50a898cc017f886c$export$b9721ef022f71a68(\"Invalid token specified: \" + e.message);\n }\n}\n$50a898cc017f886c$export$b9721ef022f71a68.prototype = new Error, $50a898cc017f886c$export$b9721ef022f71a68.prototype.name = \"InvalidTokenError\";\nvar $50a898cc017f886c$export$2e2bcd8739ae039 = $50a898cc017f886c$var$o;\n\n\n\n\n\nconst $36a5d67002440f9c$export$d7905dc64d88e9a = {\n end_user_read_write: \"end_user_read_write\",\n end_user_read_only: \"end_user_read_only\",\n end_user_no_access: \"end_user_no_access\",\n \"person_pool-end_user_read_write\": \"person_pool-end_user_read_write\",\n \"person_pool-end_user_read_only\": \"person_pool-end_user_read_only\",\n \"person_pool-end_user_no_access\": \"person_pool-end_user_no_access\"\n};\nclass $36a5d67002440f9c$export$356eb44c374cfc19 {\n /**\n * Retrieve attributes for a person from the bucket\n *\n * @param attributeNames You can optionally filter which attributes to retrieve by supplying a list of attribute names. If you don't the method returns all attributes.\n *\n * @returns A map from `string` to basic types containing user data previously associated with {@link set}.\n * @throws `Error` if the operation fails.\n */ async get(attributeNames) {\n const response = await this.user.getAttributesClient().getAttributesBucketName({\n bucketName: this.bucketName,\n attributes: attributeNames,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n });\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * Set attributes for a person in the bucket\n *\n * @param attributes A serializable object to associate with the user credential.\n * @throws `Error` if the operation fails.\n */ async set(attributes) {\n const response = await this.user.getAttributesClient().putAttributesBucketName({\n bucketName: this.bucketName,\n body: attributes,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n });\n const errors = response.errors;\n if (errors) throw errors;\n return;\n }\n /**\n * Delete person attributes from the bucket\n *\n * @param attributeNames You must specify which data attributes to delete by supplying a list of filter strings.\n * @throws `Error` if the operation fails.\n */ async delete(attributeNames) {\n const response = await this.user.getAttributesClient().deleteAttributesBucketName({\n bucketName: this.bucketName,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw,\n attributes: attributeNames\n }, {\n cache: \"no-cache\"\n });\n const errors = response.errors;\n if (errors) throw errors;\n return;\n }\n constructor({ user: user, bucketName: bucketName }){\n this.user = user;\n this.bucketName = bucketName;\n }\n}\n\n\nfunction $0a8aed675f99e0c3$var$isTokenContainer(token) {\n if (!token) return false;\n if (typeof token.user_token === \"string\") return true;\n return false;\n}\nclass $0a8aed675f99e0c3$export$d3bddec52a513503 {\n get decoded() {\n if (!this._token) throw new Error(\"Cannot call methods on unauthenticated user\");\n try {\n return (0, $50a898cc017f886c$export$2e2bcd8739ae039)(this._token);\n } catch (e) {\n throw new TypeError(e.toString());\n }\n }\n /**\n * The claims of the user token.\n * @returns {api.UserToken}\n */ get tokenClaims() {\n return this.decoded;\n }\n get decodedTokenContainer() {\n if (!this._tokenContainer) return;\n try {\n return (0, $50a898cc017f886c$export$2e2bcd8739ae039)(this._tokenContainer);\n } catch (e) {\n throw new TypeError(e.toString());\n }\n }\n /**\n * If the user instance is created with a {@link Types.TokenContainer} this will return the claims of the token container.\n * Otherwise it will return undefined.\n * @returns {api.TokenContainer | undefined}\n */ get tokenContainerClaims() {\n return this.decodedTokenContainer;\n }\n updateClient(token) {\n var _this__clientOptions;\n this._token = token;\n const clientConfig = new (0, $168d06aed8b3cdb0$export$fa89be98fe0936f2)({\n ...(0, $168d06aed8b3cdb0$export$ac4f8128ea29c5),\n ...((_this__clientOptions = this._clientOptions) === null || _this__clientOptions === void 0 ? void 0 : _this__clientOptions.baseURL) && {\n basePath: this._clientOptions.baseURL\n },\n accessToken: token\n });\n this._apiClient = new $8dabc67a561e7dc0$export$872437fb2a17cd0e(clientConfig);\n this._attrsClient = new $de791efae2088fc4$export$95d3101c7670792a(clientConfig);\n this._tokenClient = new (0, $01183d3ef1e1dae1$export$72bb25602803ae5f)(clientConfig);\n this._personConsentsApi = new $e758e522c3e01abb$export$f2ae3e6781ddb521(clientConfig);\n }\n /**\n * This user's ID. Use this property in your backend services when interacting with the [SlashID User Management API](https://developer.slashid.dev/docs/category/api/persons).\n */ get ID() {\n return this.decoded.person_id;\n }\n /**\n * The entire, signed authentication token of this user.\n */ get token() {\n var _this__token;\n return (_this__token = this._token) !== null && _this__token !== void 0 ? _this__token : \"\";\n }\n /**\n * The entire token container\n * @returns either the token container string or an empty string\n */ get tokenContainer() {\n return this._tokenContainer || \"\";\n }\n /**\n * The organization ID this user belongs to.\n */ get oid() {\n return this.decoded.oid;\n }\n /**\n * Indicates whether the user has been just registered, otherwise it's a returning user.\n */ get firstLogin() {\n return this.decoded.first_token;\n }\n /**\n * Indicates which authentication methods the user has been verified with. It can contain multiple items in case of multi factor authentication.\n */ get authentication() {\n return this.decoded.authenticated_methods || [];\n }\n /**\n * Indicates which authentication methods the user has been verified with, including the handles used for each method.\n */ get authentications() {\n return this.decoded.authentications || [];\n }\n /**\n * Create a DirectID based on your token\n * @returns directID token\n */ async createDirectID() {\n const { result: directID } = await this._apiClient.postDirectId({\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n });\n return directID;\n }\n /**\n * Log out of the current session. Clears the SlashID token.\n */ async logout() {\n // TODO revoke the SlashID token, for now just clear it\n this.updateClient(undefined);\n this._tokenContainer = undefined;\n }\n /**\n * Resolves to a token validity info object which tells if the token is genuine and if it has expired yet.\n * @returns {Promise} Token validity info\n */ async validateToken() {\n var _this__tokenClient;\n const response = await ((_this__tokenClient = this._tokenClient) === null || _this__tokenClient === void 0 ? void 0 : _this__tokenClient.postTokenValidate({\n validateTokenReq: {\n token: this.token\n },\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n }));\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * Get an array of group names that the user belongs to.\n */ getGroups() {\n const groupsClaimName = this.decoded.groups_claim_name || \"groups\";\n const token = this.decoded;\n return token[groupsClaimName];\n }\n /**\n * Exposes the attributes client so the Bucket instance can access it\n */ getAttributesClient() {\n return this._attrsClient;\n }\n /**\n * Creates a {@link Types.Bucket} object used to access attributes.\n *\n * @param bucketName name of the bucket we want to access - uses \"end_user_read_write\" as default.\n * You can pass in any string that corresponds to a name of a bucket set up for your organization.\n * You can use any of the preset bucket names with corresponding permissions and scopes - {@link Types.DefaultBucketName}.\n * @returns\n */ getBucket(bucketName = (0, $36a5d67002440f9c$export$d7905dc64d88e9a).end_user_read_write) {\n const bucket = new (0, $36a5d67002440f9c$export$356eb44c374cfc19)({\n user: this,\n bucketName: bucketName\n });\n return bucket;\n }\n /**\n * @deprecated Use {@link getBucket} instead.\n */ async get(attributeNames) {\n const endUserReadWriteBucket = this.getBucket();\n return endUserReadWriteBucket.get(attributeNames);\n }\n /**\n * @deprecated Use {@link getBucket} instead.\n */ async set(attributes) {\n const endUserReadWriteBucket = this.getBucket();\n return endUserReadWriteBucket.set(attributes);\n }\n /**\n * @deprecated Use {@link getBucket} instead.\n */ async delete(attributeNames) {\n const endUserReadWriteBucket = this.getBucket();\n return endUserReadWriteBucket.delete(attributeNames);\n }\n /**\n * Fetch the GDPR consent levels for the current user.\n * @returns {Promise} GDPR consent info\n */ async getGDPRConsent() {\n const response = await this._personConsentsApi.getConsentGdpr({\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n });\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * Set the GDPR consent levels for the current user.\n * This will overwrite any existing consent levels and set the consent levels to only the ones included with the request.\n *\n * @param {api.GDPRConsentRequest} request with consentLevels to set\n * @returns {Promise} GDPR consent info\n */ async setGDPRConsent({ consentLevels: consentLevels }) {\n const response = await this._personConsentsApi.putConsentGdpr({\n gDPRConsentRequest: {\n consent_levels: consentLevels\n },\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n });\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * Add the GDPR consent levels to the current user.\n * Consent levels not included in the request will not be changed.\n *\n * @param {api.GDPRConsentRequest} request with consent levels to add\n * @returns {Promise} GDPR consent info\n */ async addGDPRConsent({ consentLevels: consentLevels }) {\n const response = await this._personConsentsApi.postConsentGdpr({\n gDPRConsentRequest: {\n consent_levels: consentLevels\n },\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n });\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * Remove the GDPR consent levels from the current user.\n * Consent levels not included in the request will not be changed.\n *\n * @param {api.ConsentGdprDeleteRequest} request with consentLevels to remove\n */ async removeGDPRConsent({ consentLevels: consentLevels }) {\n return this._personConsentsApi.deleteConsentGdpr({\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw,\n consentLevels: consentLevels\n });\n }\n /**\n * Remove all stored GDPR consent levels from the current user.\n * Consent levels not included in the request will not be changed, unless deleteAll flag is set to true.\n */ async removeGDPRConsentAll() {\n return this._personConsentsApi.deleteConsentGdpr({\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw,\n deleteAll: true\n });\n }\n /**\n * Get the organizations the user belongs to.\n * @returns {Promise} A list of organizations the user belongs to\n */ async getOrganizations() {\n const response = await this._apiClient.getMe();\n const errors = response.errors;\n if (errors) throw errors;\n return response.result.organizations;\n }\n /**\n * Fetch all the handles associated with this user from the SlashID API.\n * @returns {Promise} A list of handles available for the user\n */ async getHandles() {\n const { errors: errors, result: result } = await this._apiClient.getMe();\n if (errors) throw errors;\n return result.handles;\n }\n /**\n * Given an organization ID, get a new token for the same user in the Organization specified by the Organization ID.\n *\n * For the call to succeed the following conditions must be met:\n * - the token must be valid at the time of the request\n * - the two Organizations must share the same person pool\n * - the user must be a member of both Organizations\n *\n * This operation does not count as an authentication, so the new token will have the same expiration time as the original.\n * @param oid\n * @returns {Promise} A new token for the specified Organization ID\n */ async getTokenForOrganization(oid) {\n const response = await this._apiClient.getToken({\n slashIDOrgID: oid,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n });\n const errors = response.errors;\n if (errors) throw errors;\n return response.result;\n }\n /**\n * User objects stringify to their token value for convenience:\n *\n * @example\n * ```js\n * user.toString() === \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiSm9obiBTbWl0aCIsImlhdCI6MTUxNjIzOTAyMn0.dzKuKf6u9G7Crk9tsFnS2cey1zglWTFQv_hjWjmtXms\"\n * ```\n */ toString() {\n var _this__tokenContainer, _ref;\n return (_ref = (_this__tokenContainer = this._tokenContainer) !== null && _this__tokenContainer !== void 0 ? _this__tokenContainer : this._token) !== null && _ref !== void 0 ? _ref : \"\";\n }\n /**\n * User objects encode to JSON as a string containing their token value.\n *\n * @example\n * ```js\n * JSON.stringify(user) === \"\\\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiSm9obiBTbWl0aCIsImlhdCI6MTUxNjIzOTAyMn0.dzKuKf6u9G7Crk9tsFnS2cey1zglWTFQv_hjWjmtXms\\\"\"\n * ```\n */ toJSON() {\n var _this__tokenContainer, _ref;\n return `${(_ref = (_this__tokenContainer = this._tokenContainer) !== null && _this__tokenContainer !== void 0 ? _this__tokenContainer : this._token) !== null && _ref !== void 0 ? _ref : \"\"}`;\n }\n /**\n * Reconstruct an authenticated user from its token value.\n *\n * @param token A user {@link token} value.\n * @param optionsOrSid SlashID instance or SlashID connection options. It is preferred to pass in the SlashID instance\n *\n * @throws `TypeError` If the given `optionsOrSid`, if defined, fail validation, or\n * the given token cannot be decoded.\n */ constructor(token, options){\n try {\n // try JSON-decode it, just in case this is somehow coming back from a\n // previous JSON.stringify(user) without having been JSON-parsed first\n token = JSON.parse(token);\n } catch (_) {\n // ignored\n }\n if (typeof token !== \"string\") throw new TypeError(\"token must be a string\");\n try {\n const decodedToken = (0, $50a898cc017f886c$export$2e2bcd8739ae039)(token);\n if ($0a8aed675f99e0c3$var$isTokenContainer(decodedToken)) {\n this._token = decodedToken.user_token;\n this._tokenContainer = token;\n } else this._token = token;\n } catch (e) {\n throw new TypeError(e.toString());\n }\n this._clientOptions = options;\n const clientConfig = new (0, $168d06aed8b3cdb0$export$fa89be98fe0936f2)({\n ...(0, $168d06aed8b3cdb0$export$ac4f8128ea29c5),\n ...(options === null || options === void 0 ? void 0 : options.baseURL) && {\n basePath: options.baseURL\n },\n accessToken: this._token\n });\n this._apiClient = new $8dabc67a561e7dc0$export$872437fb2a17cd0e(clientConfig);\n this._attrsClient = new $de791efae2088fc4$export$95d3101c7670792a(clientConfig);\n this._tokenClient = new (0, $01183d3ef1e1dae1$export$72bb25602803ae5f)(clientConfig);\n this._personConsentsApi = new $e758e522c3e01abb$export$f2ae3e6781ddb521(clientConfig);\n }\n}\n\n\n\nconst $962c828014ed43f3$export$61f12a353e32d6b4 = \"challenges\";\nconst $962c828014ed43f3$export$b1acc9d748d757e8 = \"sidcp\";\n\n\nvar $6c3db34ca8f899b2$export$80edbf15fa61a4db;\n(function(MessageType) {\n MessageType[MessageType[\"StorageGetItem\"] = 0] = \"StorageGetItem\";\n MessageType[MessageType[\"StorageSetItem\"] = 1] = \"StorageSetItem\";\n MessageType[MessageType[\"Ping\"] = 2] = \"Ping\";\n MessageType[MessageType[\"ChallengeWebauthnCreate\"] = 3] = \"ChallengeWebauthnCreate\";\n MessageType[MessageType[\"ChallengeWebauthnGet\"] = 4] = \"ChallengeWebauthnGet\";\n})($6c3db34ca8f899b2$export$80edbf15fa61a4db || ($6c3db34ca8f899b2$export$80edbf15fa61a4db = {}));\nclass $6c3db34ca8f899b2$export$e863b19988e8aafd {\n constructor(){\n this.id = $6c3db34ca8f899b2$var$randomId();\n this.type = $6c3db34ca8f899b2$export$80edbf15fa61a4db.Ping;\n }\n}\nclass $6c3db34ca8f899b2$export$612749e00a84ad10 {\n constructor(id, error){\n this.id = id;\n this.error = error;\n }\n}\nclass $6c3db34ca8f899b2$export$561665cd9d5caa15 {\n constructor(options, challenge){\n this.type = $6c3db34ca8f899b2$export$80edbf15fa61a4db.ChallengeWebauthnCreate;\n this.id = $6c3db34ca8f899b2$var$randomId();\n this.slashIDOptions = options;\n this.challenge = challenge;\n }\n}\nclass $6c3db34ca8f899b2$export$8b7d42a6791cdca9 {\n constructor(id, attestation, error){\n this.id = id;\n this.attestation = attestation;\n this.error = error;\n }\n}\nclass $6c3db34ca8f899b2$export$b2a6577196c1aa92 {\n constructor(options, challenge){\n this.type = $6c3db34ca8f899b2$export$80edbf15fa61a4db.ChallengeWebauthnGet;\n this.id = $6c3db34ca8f899b2$var$randomId();\n this.slashIDOptions = options;\n this.challenge = challenge;\n }\n}\nclass $6c3db34ca8f899b2$export$85b72b60e2ec2ca5 {\n constructor(id, attestation, error){\n this.id = id;\n this.attestation = attestation;\n this.error = error;\n }\n}\nclass $6c3db34ca8f899b2$export$f01d2f4fd62a4592 {\n constructor(key){\n this.type = $6c3db34ca8f899b2$export$80edbf15fa61a4db.StorageGetItem;\n this.id = $6c3db34ca8f899b2$var$randomId();\n this.key = key;\n }\n}\nclass $6c3db34ca8f899b2$export$b622fa8237033579 {\n constructor(id, value, error){\n this.id = id;\n this.value = value;\n this.error = error;\n }\n}\nclass $6c3db34ca8f899b2$export$cbc7b39b5c005822 {\n constructor(key, value){\n this.id = $6c3db34ca8f899b2$var$randomId();\n this.type = $6c3db34ca8f899b2$export$80edbf15fa61a4db.StorageSetItem;\n this.key = key;\n this.value = value;\n }\n}\nclass $6c3db34ca8f899b2$export$b19581adb4c22a0e {\n constructor(id, error){\n this.id = id;\n this.error = error;\n }\n}\nfunction $6c3db34ca8f899b2$var$randomId() {\n const rndArray = new Uint32Array(1);\n window.crypto.getRandomValues(rndArray);\n return rndArray[0];\n}\n\n\n// Map from the string values above to method option types\nclass $f02bc98e6bb876be$var$FactorMethodOptionsTypeMap {\n}\n\n\n\n\nvar $91e59605951c3712$exports = {};\n\n$parcel$export($91e59605951c3712$exports, \"InvalidAuthenticationMethodError\", function () { return $91e59605951c3712$export$91b533cbc711414e; });\n$parcel$export($91e59605951c3712$exports, \"isResponseError\", function () { return $91e59605951c3712$export$a98b3b17ec378e54; });\n$parcel$export($91e59605951c3712$exports, \"isRateLimitError\", function () { return $91e59605951c3712$export$a8908c3867f6f20b; });\n$parcel$export($91e59605951c3712$exports, \"isTimeoutError\", function () { return $91e59605951c3712$export$f47339bf28a93789; });\n$parcel$export($91e59605951c3712$exports, \"isBadPasskeyScopeError\", function () { return $91e59605951c3712$export$62f820c3bd739e62; });\n$parcel$export($91e59605951c3712$exports, \"isThrownResponse\", function () { return $91e59605951c3712$export$5f71bfa25cb0590e; });\n$parcel$export($91e59605951c3712$exports, \"isTimeoutInPayload\", function () { return $91e59605951c3712$export$df846a7dbca1e3d2; });\n$parcel$export($91e59605951c3712$exports, \"isRateLimitInPayload\", function () { return $91e59605951c3712$export$dbb6fdd470346077; });\n$parcel$export($91e59605951c3712$exports, \"RateLimitError\", function () { return $91e59605951c3712$export$5db8ebadb53b7f77; });\n$parcel$export($91e59605951c3712$exports, \"clientGeneratedErrorSlugs\", function () { return $91e59605951c3712$export$f0f443d58d6f855d; });\n$parcel$export($91e59605951c3712$exports, \"isClientGeneratedErrorSlug\", function () { return $91e59605951c3712$export$6fbf0ec11a25c8b2; });\n$parcel$export($91e59605951c3712$exports, \"ensureError\", function () { return $91e59605951c3712$export$f0ff5c81573c8df0; });\n$parcel$export($91e59605951c3712$exports, \"createEventFromError\", function () { return $91e59605951c3712$export$7f84d4628fc07381; });\nclass $91e59605951c3712$export$91b533cbc711414e extends Error {\n constructor(method, message){\n super(`Authentication method '${method}': ${message}`);\n }\n}\nfunction $91e59605951c3712$export$a98b3b17ec378e54(error) {\n return error.name === \"ResponseError\" && error.response instanceof Response;\n}\nfunction $91e59605951c3712$export$a8908c3867f6f20b(error) {\n var _error_response;\n return ((_error_response = error.response) === null || _error_response === void 0 ? void 0 : _error_response.status) === 429;\n}\nasync function $91e59605951c3712$export$f47339bf28a93789(error) {\n var _error_response, _error_response1, _errors, _errors_;\n return (((_error_response = error.response) === null || _error_response === void 0 ? void 0 : _error_response.status) === 401 || ((_error_response1 = error.response) === null || _error_response1 === void 0 ? void 0 : _error_response1.status) === 403) && $91e59605951c3712$export$a98b3b17ec378e54(error) && ((_errors = (await error.response.clone().json()).errors) === null || _errors === void 0 ? void 0 : (_errors_ = _errors[0]) === null || _errors_ === void 0 ? void 0 : _errors_.message) === \"authentication has expired\";\n}\nasync function $91e59605951c3712$export$62f820c3bd739e62(error) {\n var _error_response, _errors, _errors_;\n const regexp = /selected scope '(.*?)' is not equal to or a registrable domain suffix of origin '(.*?)'/;\n return ((_error_response = error.response) === null || _error_response === void 0 ? void 0 : _error_response.status) === 400 && $91e59605951c3712$export$a98b3b17ec378e54(error) && regexp.test((_errors = (await error.response.clone().json()).errors) === null || _errors === void 0 ? void 0 : (_errors_ = _errors[0]) === null || _errors_ === void 0 ? void 0 : _errors_.message);\n}\nfunction $91e59605951c3712$export$5f71bfa25cb0590e(response) {\n return typeof response === \"object\" && Array.isArray(response.errors) && response.errors.every((error)=>{\n return typeof error.httpcode === \"number\" && typeof error.message === \"string\";\n });\n}\nfunction $91e59605951c3712$export$df846a7dbca1e3d2(response) {\n return response.errors.some((error)=>error.message === \"authentication has expired\");\n}\nfunction $91e59605951c3712$export$dbb6fdd470346077(response) {\n return response.errors.some((error)=>error.httpcode === 429);\n}\nclass $91e59605951c3712$export$5db8ebadb53b7f77 extends Error {\n static async fromResponseError(responseError) {\n const responseBody = await responseError.response.clone().json();\n const rateLimitErrorObject = responseBody.errors.find((error)=>error.httpcode === 429);\n if (!rateLimitErrorObject) return new $91e59605951c3712$export$5db8ebadb53b7f77(responseError);\n return new $91e59605951c3712$export$5db8ebadb53b7f77(responseError, rateLimitErrorObject.message);\n }\n constructor(responseError, message){\n super(message || `Too many requests!`);\n this.name = \"RateLimitError\";\n this.response = responseError.response;\n }\n}\nconst $91e59605951c3712$export$f0f443d58d6f855d = [\n \"incorrect_otp_code_via_email\",\n \"incorrect_otp_code_via_sms\",\n \"incorrect_otp_code\",\n \"bad_passkey_scope\",\n \"rate_limit_exceeded\",\n \"thrown_response\",\n \"timeout\",\n \"client_side_error\",\n \"unspecified\"\n];\nconst $91e59605951c3712$export$6fbf0ec11a25c8b2 = (text)=>{\n return $91e59605951c3712$export$f0f443d58d6f855d.includes(text);\n};\nfunction $91e59605951c3712$export$f0ff5c81573c8df0(value) {\n if (value instanceof Error) return value;\n let stringified = \"[Unable to stringify the thrown value]\";\n try {\n stringified = JSON.stringify(value);\n } catch {\n // ignore\n }\n const error = new Error(`Non-Error thrown: ${stringified}`);\n return error;\n}\nasync function $91e59605951c3712$var$getErrorMessage(error) {\n if ($91e59605951c3712$export$a98b3b17ec378e54(error) || $91e59605951c3712$export$5f71bfa25cb0590e(error)) {\n let payload;\n try {\n if ($91e59605951c3712$export$a98b3b17ec378e54(error)) payload = await error.response.clone().json();\n else payload = error;\n return JSON.stringify(payload);\n } catch (e) {\n return $91e59605951c3712$export$f0ff5c81573c8df0(error).message;\n }\n }\n return $91e59605951c3712$export$f0ff5c81573c8df0(error).message;\n}\nasync function $91e59605951c3712$export$7f84d4628fc07381(error, { authenticationFactor: authenticationFactor, handle: handle, previousToken: previousToken, challengeId: challengeId }) {\n const errorType = await (async ()=>{\n if (!$91e59605951c3712$export$a98b3b17ec378e54(error) && !$91e59605951c3712$export$5f71bfa25cb0590e(error)) return null;\n if ($91e59605951c3712$export$a8908c3867f6f20b(error)) return \"rate_limit_exceeded\";\n if (await $91e59605951c3712$export$f47339bf28a93789(error)) return \"timeout\";\n if (await $91e59605951c3712$export$62f820c3bd739e62(error)) return \"bad_passkey_scope\";\n // in some cases the response object itself is thrown, so we need to inspect the payload to determine the error type\n if ($91e59605951c3712$export$5f71bfa25cb0590e(error)) {\n // special case for thrown responses with a timeout error in the payload\n if ($91e59605951c3712$export$df846a7dbca1e3d2(error)) return \"timeout\";\n // special case for thrown responses with a rate limit error in the payload\n if ($91e59605951c3712$export$dbb6fdd470346077(error)) return \"rate_limit_exceeded\";\n }\n return \"unspecified\";\n })();\n const event = {\n authenticationFactor: authenticationFactor,\n handle: handle,\n errorText: errorType || \"client_side_error\",\n previousToken: previousToken,\n challengeId: challengeId,\n failureDetail: await $91e59605951c3712$var$getErrorMessage(error)\n };\n return event;\n}\n\n\n/**\n * @ignore\n *\n * @param str Base64 string with URL-safe alphabet as described\n * in https://datatracker.ietf.org/doc/html/rfc4648#section-5, either\n * padded or unpadded.\n * @returns typed array of the decoded data\n */ function $aae5e813cb61d169$export$2f872c0f2117be69(str) {\n const urlEncodedStr = str.replace(/_/g, \"/\").replace(/-/g, \"+\");\n const binStr = atob(urlEncodedStr);\n return Uint8Array.from(binStr, (c)=>c.charCodeAt(0));\n}\nfunction $aae5e813cb61d169$export$c564cdbbe6da493(data, urlSafe = true) {\n const binStr = String.fromCharCode(...data);\n const str = btoa(binStr);\n if (urlSafe) return str.replace(/\\//g, \"_\").replace(/\\+/g, \"-\").replace(/=/g, \"\");\n else return str;\n}\n\n\nfunction $be25baf6593a301c$export$e772c8ff12451969(ms) {\n return new Promise((resolve)=>setTimeout(resolve, ms));\n}\n\n\nfunction $dd770638bb60b80a$export$2e2bcd8739ae039(n) {\n return {\n all: n = n || new Map,\n on: function(t, e) {\n var i = n.get(t);\n i ? i.push(e) : n.set(t, [\n e\n ]);\n },\n off: function(t, e) {\n var i = n.get(t);\n i && (e ? i.splice(i.indexOf(e) >>> 0, 1) : n.set(t, []));\n },\n emit: function(t, e) {\n var i = n.get(t);\n i && i.slice().map(function(n) {\n n(e);\n }), (i = n.get(\"*\")) && i.slice().map(function(n) {\n n(t, e);\n });\n }\n };\n}\n\n\n\nasync function $185870848aa59297$export$d245da411ccc251b() {\n const hadFocus = document.hasFocus();\n // Polling document.hasFocus() is not ideal but its result reliably changes\n // when the window gets focus, unlike the \"focus\" and \"focusin\" events, which\n // only get triggered when an input field gets focus.\n while(!hadFocus && !document.hasFocus())await $be25baf6593a301c$export$e772c8ff12451969(50);\n return hadFocus;\n}\nconst $185870848aa59297$export$32deff8ed92da53f = {\n PopupBlocked: \"Popup blocked\",\n BadOAuthURL: \"Bad OAuth sign in URL\"\n};\nconst $185870848aa59297$export$af2e6529191b5a73 = {\n PopupBlocked: \"Popup blocked\",\n BadAuthURL: \"Bad authentication URL\"\n};\nconst $185870848aa59297$export$4b60518ae108432a = {\n ApiCallFailed: \"API call failed\"\n};\nfunction $185870848aa59297$export$2d39cf9e3832749f(event) {\n return event.errorText === \"client_side_error\";\n}\nconst $185870848aa59297$var$PUBLIC_READ_EVENTS = [\n \"otpSmsSent\",\n \"otpCodeSent\",\n \"otpIncorrectCodeSubmitted\",\n \"oauthFlowStarted\",\n \"oauthFlowFailed\",\n \"userAuthenticatedFromURL\",\n \"idFlowSucceeded\",\n \"idFlowStarted\",\n \"idFlowFailed\",\n \"webAuthnChallengeProcessed\"\n];\nconst $185870848aa59297$var$PUBLIC_WRITE_EVENTS = [\n \"otpCodeSubmitted\"\n];\nconst $185870848aa59297$var$PRIVATE_EVENTS = [\n \"clientSideError\"\n];\nfunction $185870848aa59297$export$ab1e84ca8f5ea7e(evt) {\n return $185870848aa59297$var$PUBLIC_READ_EVENTS.includes(evt);\n}\nfunction $185870848aa59297$export$fdd1788388ec077b(evt) {\n return $185870848aa59297$var$PUBLIC_WRITE_EVENTS.includes(evt);\n}\nfunction $185870848aa59297$export$a447b62f94c26639(evt) {\n return $185870848aa59297$var$PRIVATE_EVENTS.includes(evt);\n}\nfunction $185870848aa59297$export$6f5e8f34570e3ad1() {\n const emitter = (0, $dd770638bb60b80a$export$2e2bcd8739ae039)();\n return emitter;\n}\n\n\n\n\nasync function $98dcef32dd30b893$export$ccfc10b8bad1155a(win) {\n // eslint-disable-next-line\n const pong = new Promise(async (resolve, reject)=>{\n const request = new $6c3db34ca8f899b2$export$e863b19988e8aafd();\n let ponged = false;\n const responseListener = (event)=>{\n const response = event.data;\n if (response.id !== request.id) return;\n window.removeEventListener(\"message\", responseListener);\n if (response.error) reject(response.error);\n else {\n ponged = true;\n resolve(win);\n }\n };\n window.addEventListener(\"message\", responseListener);\n while(!ponged){\n win.postMessage(request, \"*\");\n await $be25baf6593a301c$export$e772c8ff12451969(50);\n }\n });\n return pong;\n}\n\n\n\n\n\nclass $b16ebbc972dd3e11$export$68371093923cfc31 {\n async getRemoteWindow() {\n var _this_remote;\n const win = (_this_remote = this.remote) === null || _this_remote === void 0 ? void 0 : _this_remote.contentWindow;\n if (!win) throw new Error(\"this context has no remote\");\n if (this.remoteReady) return win;\n await $98dcef32dd30b893$export$ccfc10b8bad1155a(win);\n this.remoteReady = true;\n return win;\n }\n async processEvent(event) {\n let sourceWindow = null;\n if (window.parent && event.source === window.parent) sourceWindow = window.parent;\n if (!sourceWindow) return;\n switch(event.data.type){\n case $6c3db34ca8f899b2$export$80edbf15fa61a4db.StorageGetItem:\n {\n const msg = event.data;\n try {\n const value = await this.localGetItem(msg.key);\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$b622fa8237033579(event.data.id, value), \"*\");\n } catch (e) {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$b622fa8237033579(event.data.id, null, e), \"*\");\n }\n }\n break;\n case $6c3db34ca8f899b2$export$80edbf15fa61a4db.StorageSetItem:\n {\n const msg = event.data;\n try {\n await this.localSetItem(msg.key, msg.value);\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$b19581adb4c22a0e(event.data.id), \"*\");\n } catch (e) {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$b19581adb4c22a0e(event.data.id, e), \"*\");\n }\n }\n break;\n default:\n break;\n }\n }\n async localGetItem(key) {\n return window.localStorage.getItem(key);\n }\n async remoteGetItem(key) {\n let remoteValue = null;\n if (this.remote) remoteValue = await new Promise((resolve, reject)=>{\n const request = new $6c3db34ca8f899b2$export$f01d2f4fd62a4592(key);\n const responseListener = (event)=>{\n const response = event.data;\n if (response.id !== request.id) return;\n window.removeEventListener(\"message\", responseListener);\n if (response.error) reject(response.error);\n else resolve(response.value);\n };\n window.addEventListener(\"message\", responseListener);\n this.getRemoteWindow().then((win)=>{\n win.postMessage(request, \"*\");\n });\n });\n return remoteValue;\n }\n async localSetItem(key, value) {\n return window.localStorage.setItem(key, value);\n }\n async remoteSetItem(key, value) {\n if (this.remote) await new Promise((resolve, reject)=>{\n const request = new $6c3db34ca8f899b2$export$cbc7b39b5c005822(key, value);\n const responseListener = (event)=>{\n const response = event.data;\n if (response.id !== request.id) return;\n window.removeEventListener(\"message\", responseListener);\n if (response.error) reject(response.error);\n else resolve();\n };\n window.addEventListener(\"message\", responseListener);\n this.getRemoteWindow().then((win)=>{\n win.postMessage(request, \"*\");\n });\n });\n }\n constructor(iframe, remoteOrigin){\n this.remoteReady = false;\n this.remote = iframe;\n this.remoteOrigin = remoteOrigin;\n if (!this.remote) // we are the remote => expect request messages\n window.addEventListener(\"message\", this.processEvent.bind(this));\n }\n}\nclass $b16ebbc972dd3e11$var$StorageBase {\n constructor(store){\n this.store = store;\n }\n}\nclass $b16ebbc972dd3e11$export$720664048a0262dc extends $b16ebbc972dd3e11$var$StorageBase {\n stringify(identifiers) {\n return JSON.stringify(identifiers);\n }\n parse(value) {\n if (!value) return [];\n const identifiers = JSON.parse(value);\n return identifiers;\n }\n async getAll() {\n const localIdentifiers = this.parse(await this.store.localGetItem($b16ebbc972dd3e11$export$720664048a0262dc.LOCAL_STORAGE_IDENTIFIERS_KEY));\n const remoteIdentifiers = this.parse(await this.store.remoteGetItem($b16ebbc972dd3e11$export$720664048a0262dc.LOCAL_STORAGE_IDENTIFIERS_KEY));\n return $b16ebbc972dd3e11$export$720664048a0262dc.merge(localIdentifiers, remoteIdentifiers);\n }\n async add(identifier) {\n const identifiers = await this.getAll();\n const updatedIdentifiers = this.stringify($b16ebbc972dd3e11$export$720664048a0262dc.merge(identifiers, [\n identifier\n ]));\n await this.store.localSetItem($b16ebbc972dd3e11$export$720664048a0262dc.LOCAL_STORAGE_IDENTIFIERS_KEY, updatedIdentifiers);\n await this.store.remoteSetItem($b16ebbc972dd3e11$export$720664048a0262dc.LOCAL_STORAGE_IDENTIFIERS_KEY, updatedIdentifiers);\n }\n static identifiersEqual(id1, id2) {\n return id1.type === id2.type && id1.value === id2.value;\n }\n static merge(ids1, ids2) {\n return ids1.concat(...ids2).reduce((acc, cur)=>{\n for (const id of acc){\n if ($b16ebbc972dd3e11$export$720664048a0262dc.identifiersEqual(id, cur)) return acc;\n }\n acc.push(cur);\n return acc;\n }, []);\n }\n}\n(()=>{\n $b16ebbc972dd3e11$export$720664048a0262dc.LOCAL_STORAGE_IDENTIFIERS_KEY = \"SLASHID_IDENTIFIERS\";\n})();\nclass $b16ebbc972dd3e11$var$CredentialsStorageBase extends $b16ebbc972dd3e11$var$StorageBase {\n static identifiersEqual(id1, id2) {\n return id1 === id2;\n }\n static merge(ids1, ids2) {\n return ids1.concat(...ids2).reduce((acc, cur)=>{\n for (const id of acc){\n if ($b16ebbc972dd3e11$var$CredentialsStorageBase.identifiersEqual(id, cur)) return acc;\n }\n acc.push(cur);\n return acc;\n }, []);\n }\n}\nclass $b16ebbc972dd3e11$export$24dd33171b764b1e extends $b16ebbc972dd3e11$var$CredentialsStorageBase {\n stringify(credIds) {\n return JSON.stringify(credIds);\n }\n parse(value) {\n if (!value) return [];\n let parsed = null;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n return [\n value\n ];\n }\n if (!Array.isArray(parsed)) return [];\n const credIds = parsed.filter((item)=>typeof item === \"string\");\n return credIds;\n }\n async getAll() {\n const localCredIds = this.parse(await this.store.localGetItem($b16ebbc972dd3e11$export$24dd33171b764b1e.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY));\n const remoteCredIds = this.parse(await this.store.remoteGetItem($b16ebbc972dd3e11$export$24dd33171b764b1e.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY));\n return $b16ebbc972dd3e11$export$24dd33171b764b1e.merge(localCredIds, remoteCredIds);\n }\n async add(credId) {\n const credIds = await this.getAll();\n const updatedCredIds = this.stringify($b16ebbc972dd3e11$export$24dd33171b764b1e.merge(credIds, [\n credId\n ]));\n await this.store.localSetItem($b16ebbc972dd3e11$export$24dd33171b764b1e.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY, updatedCredIds);\n await this.store.remoteSetItem($b16ebbc972dd3e11$export$24dd33171b764b1e.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY, updatedCredIds);\n }\n}\n(()=>{\n $b16ebbc972dd3e11$export$24dd33171b764b1e.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY = \"SLASHID_WEBAUTHN_CREDENTIAL_ID\";\n})();\nclass $b16ebbc972dd3e11$export$28d449e9c93b4ea6 extends $b16ebbc972dd3e11$var$CredentialsStorageBase {\n stringify(credIdsMap) {\n return JSON.stringify(credIdsMap);\n }\n parse(value) {\n if (!value) return {};\n let parsed = null;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n return {};\n }\n if (typeof parsed !== \"object\") return {};\n const credIdsMap = {};\n for (const scope of Object.keys(parsed)){\n if (typeof scope !== \"string\") continue;\n if (!Array.isArray(parsed[scope])) continue;\n const credIds = parsed[scope].filter((item)=>typeof item === \"string\");\n credIdsMap[scope] = credIds;\n }\n return credIdsMap;\n }\n async getAll() {\n const localCredIdsMap = this.parse(await this.store.localGetItem($b16ebbc972dd3e11$export$28d449e9c93b4ea6.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY_V2));\n return localCredIdsMap;\n }\n async get(scope) {\n if (!this.store.remoteOrigin || this.store.remoteOrigin.endsWith(scope)) return this.v1Storage.getAll();\n const localCredIds = (await this.getAll())[scope] || [];\n return localCredIds;\n }\n async add(scope, credId) {\n if (!this.store.remoteOrigin || this.store.remoteOrigin.endsWith(scope)) {\n this.v1Storage.add(credId);\n return;\n }\n const localCredIdsMap = await this.getAll();\n const localCredIds = localCredIdsMap[scope] || [];\n for (const id of localCredIds)if (id === credId) {\n console.warn(`Attempted to add already present credential ID: scope=${scope} credId=${credId}`);\n return;\n }\n localCredIds.push(credId);\n localCredIdsMap[scope] = localCredIds;\n const updatedCredIdsMap = this.stringify(localCredIdsMap);\n await this.store.localSetItem($b16ebbc972dd3e11$export$28d449e9c93b4ea6.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY_V2, updatedCredIdsMap);\n }\n constructor(store){\n super(store);\n this.v1Storage = new $b16ebbc972dd3e11$export$24dd33171b764b1e(store);\n }\n}\n(()=>{\n $b16ebbc972dd3e11$export$28d449e9c93b4ea6.LOCAL_STORAGE_WEBAUTHN_CREDENTIAL_ID_KEY_V2 = \"SLASHID_WEBAUTHN_CREDENTIAL_ID_V2\";\n})();\n\n\n\n\n\nclass $31425f702a7b168e$export$ec7121d802e738bd extends (0, $0a8aed675f99e0c3$export$d3bddec52a513503) {\n /**\n * Request the user to authenticate with the given method. This method is essentially equivalent to\n * {@link SlashID.id}, but since the user is already authenticated you can omit the `handle` or\n * `authenticationFactor` parameters, depending on the desired outcome. Please refer to the examples\n * for the use cases this method covers.\n *\n * @param handle A user handle, either a new one to be associated to the user, or an existing\n * one to deliver the authetication request to.\n *\n * @param authenticationFactor The authentication factor, please to refer to {@link SlashID.id}\n * documentation for details.\n *\n * @throws `slashid.errors.InvalidAuthenticationMethodError` if the chosen method is\n * incompatible with the given handle or is not available on the current device.\n * `Error` if the operation fails otherwise.\n *\n * @example\n *\n * One thing you can do with `mfa()` is attach other handles to the user.\n * For example, the user has already authenticated via e-mail magic link with\n * {@link SlashID.id}, but you want to also attach their phone number. In that case all\n * the method requires is the handle, not\n *\n * ```js\n * await user.mfa({\n * type: \"phone_number\",\n * value: \"+13337777777\"\n * })\n * ```\n *\n * SlashID will send a challenge SMS to the phone number to verify it. If `mfa()` returns\n * without throwing any error the procedure is complete and the user object will have been\n * updated with a refreshed {@link token}. For future authentications the user will be able\n * to use the newly-attached phone number as an alternative to the e-mail address. Consider\n * though that this call only verified ownership of the phone number and added it to the user\n * handles, as such the {@link authentication} array stays unchanged.\n *\n * If you want to step-up the user authentication, or simply re-authenticate the user,\n * you can do so by also providing an authentication factor. For example let's assume\n * you want to send a magic link to one of the user's e-mail address:\n *\n * ```js\n * await user.mfa({\n * type: \"email_address\",\n * value: \"...\" // one previously-attached address, or a new one to be attached\n * }, {\n * method: \"email_link\"\n * })\n * ```\n *\n * If the e-mail address provided above was not attached to the user, SlashID will verify it\n * and also perform the authentication. Once again, when `mfa()` returns the user will have\n * a refreshed {@link token}, but this time its {@link authentication} array will also include\n * `\"email_link\"` in addition to the method chosen for the first authentication with\n * {@link SlashID.id}.\n *\n * The only edge case to note is that for performing MFA with WebAuthn authentication\n * there's no need to specify an handle, as the ceremony happens on the current device:\n *\n * ```js\n * await user.mfa(undefined, {\n * method: \"webauthn\"\n * })\n * ```\n */ async mfa(handleOrFactor, authenticationFactor) {\n let handle = undefined;\n if (!handleOrFactor) throw new Error(\"at least one of PersonHandle or Factor is required\");\n if (handleOrFactor.type && handleOrFactor.value) handle = handleOrFactor;\n if (handleOrFactor.method) authenticationFactor = handleOrFactor;\n // On WebAuthn, if the key does not exist on the authenticator:\n // - Firefox throws \"InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable\"\n // - Chrome throws \"NotAllowedError: The operation either timed out or was not allowed. See: https://www.w3.org/TR/webauthn-2/#sctn-privacy-considerations-client.\"\n const updatedUser = await this._slashid._id(this.decoded.oid, handle, authenticationFactor, this._token);\n this.updateClient(updatedUser._token);\n return;\n }\n constructor(token, optionsOrSid){\n // both the options and SlashID instances have the same fields (baseURL, sdkURL, oid)\n super(token, optionsOrSid);\n this._slashid = optionsOrSid instanceof (0, $708a5f26294b10cd$export$261888861cdb8a55) ? optionsOrSid : new (0, $708a5f26294b10cd$export$261888861cdb8a55)(optionsOrSid);\n this._slashid.updateClient(this._token);\n }\n}\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 $223ce62d92e952f1$var$getRandomValues;\nvar $223ce62d92e952f1$var$rnds8 = new Uint8Array(16);\nfunction $223ce62d92e952f1$export$2e2bcd8739ae039() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!$223ce62d92e952f1$var$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 $223ce62d92e952f1$var$getRandomValues = typeof crypto !== \"undefined\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== \"undefined\" && typeof msCrypto.getRandomValues === \"function\" && msCrypto.getRandomValues.bind(msCrypto);\n if (!$223ce62d92e952f1$var$getRandomValues) throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n }\n return $223ce62d92e952f1$var$getRandomValues($223ce62d92e952f1$var$rnds8);\n}\n\n\nvar $19a53ccdb45819f0$export$2e2bcd8739ae039 = /^(?:[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;\n\n\nfunction $98dbfcf47d2aa778$var$validate(uuid) {\n return typeof uuid === \"string\" && (0, $19a53ccdb45819f0$export$2e2bcd8739ae039).test(uuid);\n}\nvar $98dbfcf47d2aa778$export$2e2bcd8739ae039 = $98dbfcf47d2aa778$var$validate;\n\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */ var $1a32167e8210dffc$var$byteToHex = [];\nfor(var $1a32167e8210dffc$var$i = 0; $1a32167e8210dffc$var$i < 256; ++$1a32167e8210dffc$var$i)$1a32167e8210dffc$var$byteToHex.push(($1a32167e8210dffc$var$i + 0x100).toString(16).substr(1));\nfunction $1a32167e8210dffc$var$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 = ($1a32167e8210dffc$var$byteToHex[arr[offset + 0]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 1]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 2]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 3]] + \"-\" + $1a32167e8210dffc$var$byteToHex[arr[offset + 4]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 5]] + \"-\" + $1a32167e8210dffc$var$byteToHex[arr[offset + 6]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 7]] + \"-\" + $1a32167e8210dffc$var$byteToHex[arr[offset + 8]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 9]] + \"-\" + $1a32167e8210dffc$var$byteToHex[arr[offset + 10]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 11]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 12]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 13]] + $1a32167e8210dffc$var$byteToHex[arr[offset + 14]] + $1a32167e8210dffc$var$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 (!(0, $98dbfcf47d2aa778$export$2e2bcd8739ae039)(uuid)) throw TypeError(\"Stringified UUID is invalid\");\n return uuid;\n}\nvar $1a32167e8210dffc$export$2e2bcd8739ae039 = $1a32167e8210dffc$var$stringify;\n\n\nfunction $9d6b13a2a5a8c65c$var$v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || (0, $223ce62d92e952f1$export$2e2bcd8739ae039))(); // 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)buf[offset + i] = rnds[i];\n return buf;\n }\n return (0, $1a32167e8210dffc$export$2e2bcd8739ae039)(rnds);\n}\nvar $9d6b13a2a5a8c65c$export$2e2bcd8739ae039 = $9d6b13a2a5a8c65c$var$v4;\n\n\n\nconst $44a66ad005cdacec$var$CORRELATION_ID_STORAGE_KEY = \"@slashid/EVENTS_CORRELATION_ID\";\nclass $44a66ad005cdacec$export$2b3af6baec22bd98 {\n subscribeToDomainEvents() {\n this.sdk.subscribe(\"idFlowSucceeded\", (e)=>this.trackAuthenticationSuccess(e));\n this.sdk.subscribe(\"idFlowFailed\", (e)=>this.trackAuthenticationFailure(e));\n this.sdk.subscribe(\"otpIncorrectCodeSubmitted\", (e)=>{\n var _e_factor;\n const reason = (()=>{\n var _e_factor, _e_factor1;\n if (((_e_factor = e.factor) === null || _e_factor === void 0 ? void 0 : _e_factor.method) === \"otp_via_email\") return \"incorrect_otp_code_via_email\";\n if (((_e_factor1 = e.factor) === null || _e_factor1 === void 0 ? void 0 : _e_factor1.method) === \"otp_via_sms\") return \"incorrect_otp_code_via_sms\";\n return \"incorrect_otp_code\";\n })();\n this.trackAuthenticationFailure({\n errorText: reason,\n authenticationFactor: {\n method: (_e_factor = e.factor) === null || _e_factor === void 0 ? void 0 : _e_factor.method\n },\n challengeId: e.challengeId\n });\n });\n const internal = (0, $708a5f26294b10cd$export$5f74d2b45f2a2732)(this.sdk);\n internal.subscribe(\"clientSideError\", (event)=>{\n this.trackAuthenticationFailure({\n ...event,\n errorText: \"client_side_error\"\n });\n });\n }\n getCorrelationID() {\n let correlationID = sessionStorage.getItem($44a66ad005cdacec$var$CORRELATION_ID_STORAGE_KEY);\n if (!correlationID) {\n correlationID = (0, $9d6b13a2a5a8c65c$export$2e2bcd8739ae039)();\n sessionStorage.setItem($44a66ad005cdacec$var$CORRELATION_ID_STORAGE_KEY, correlationID);\n }\n return correlationID;\n }\n getFlowID() {\n // TODO get this from the SDK\n return (0, $9d6b13a2a5a8c65c$export$2e2bcd8739ae039)();\n }\n createEventMetadata({ location: location = window.location.href } = {}) {\n var _this_user;\n var _this_sdk_oid, _ref;\n return {\n organization_id: (_ref = (_this_sdk_oid = this.sdk.oid) !== null && _this_sdk_oid !== void 0 ? _this_sdk_oid : (_this_user = this.user) === null || _this_user === void 0 ? void 0 : _this_user.oid) !== null && _ref !== void 0 ? _ref : \"\",\n analytics_correlation_id: this.getCorrelationID(),\n window_location: location,\n user_agent: navigator.userAgent\n };\n }\n sendEvent(payload) {\n const blob = new Blob([\n JSON.stringify(payload)\n ], {\n type: \"application/json\"\n });\n navigator.sendBeacon(`${this.sdk.baseURL}/actions/sdk`, blob);\n }\n trackPersonIdentified({ user: user }) {\n const personIdentifiedEvent = {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).PersonIdentifiedV1,\n person_id: user.ID\n };\n const payload = {\n ...this.createEventMetadata(),\n event_data: personIdentifiedEvent\n };\n this.sendEvent(payload);\n }\n trackPersonLoggedOut(e) {\n const user = this.sdk.getUser(e.token);\n const personLoggedOut = {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).PersonLoggedOutV1,\n person_id: user.ID\n };\n const payload = {\n ...this.createEventMetadata(),\n event_data: personLoggedOut\n };\n this.sendEvent(payload);\n }\n trackAuthenticationSuccess(e) {\n var _e_authenticationFactor;\n const user = this.sdk.getUser(e.token);\n this.identify(user);\n const authenticationSucceededEvent = {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).AuthenticationSucceededV1,\n person_id: user.ID,\n success_authn_method: (_e_authenticationFactor = e.authenticationFactor) === null || _e_authenticationFactor === void 0 ? void 0 : _e_authenticationFactor.method,\n authenticated_methods: user.authentication,\n ...e.handle && {\n handle: e.handle\n }\n };\n const payload = {\n ...this.createEventMetadata(),\n event_data: authenticationSucceededEvent\n };\n this.sendEvent(payload);\n }\n trackAuthenticationFailure(e) {\n var _e_authenticationFactor, _this_user;\n const authenticationFailedEvent = {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).AuthenticationFailedV1,\n failed_authn_method: (_e_authenticationFactor = e.authenticationFactor) === null || _e_authenticationFactor === void 0 ? void 0 : _e_authenticationFactor.method,\n authenticated_methods: (_this_user = this.user) === null || _this_user === void 0 ? void 0 : _this_user.authentication,\n failure_reason: e.errorText,\n ...e.handle && {\n handle: e.handle\n },\n ...e.challengeId && {\n challenge_id: e.challengeId\n },\n ...e.failureDetail && {\n failure_detail: e.failureDetail\n }\n };\n const payload = {\n ...this.createEventMetadata({}),\n event_data: authenticationFailedEvent\n };\n this.sendEvent(payload);\n }\n trackSdkLoaded() {\n const payload = {\n ...this.createEventMetadata(),\n event_data: {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).SlashIdsdkLoadedV1\n }\n };\n this.sendEvent(payload);\n }\n /**\n * Identifies a user for the purpose of user activity tracking. Where possible\n * user identification is done automatically.\n *\n * @param user The user being identified.\n */ identify(user) {\n this.user = user;\n this.trackPersonIdentified({\n user: user\n });\n }\n /**\n * Logs the user out from the point-of-view of the {@link Types.Analytics} class only,\n * this method does not have a side-effect which affects the logged in state of the user.\n *\n * After removing a stored token this method should be called to record the log out event.\n */ logout() {\n const user = this.user;\n if (!user) return;\n this.trackPersonLoggedOut({\n token: user.token\n });\n this.user = undefined;\n }\n /**\n * Tracks a virtual page view\n *\n * A virtual page view allows you to track a page view, even when a page is not physically\n * loaded in the browser. For example, when navigating using a client-side router in a\n * single page application, or navigating within a sub-section of a page (like a tabbed pane,\n * or navigation drawer) without changing the page itself.\n *\n * The exact meaning of a virtual page view will vary by implementation, it depends on your\n * routing paradigm and what you're trying to track. You will need to implement this event\n * in a way which makes sense for your product.\n *\n * @param options.url The URL of the page to track as the subject of the virtual page view.\n */ trackVirtualPageView(options) {\n const { url: url = window.location.href } = options;\n const virtualPageLoadEvent = {\n event_name: (0, $d393f165a83b0afb$export$8e49444f78fbbdb8).VirtualPageLoadedV1\n };\n const payload = {\n ...this.createEventMetadata({\n location: url\n }),\n event_data: virtualPageLoadEvent\n };\n this.sendEvent(payload);\n }\n constructor(options){\n this.sdk = options.sdk;\n this.eventsAPI = new (0, $6d6044a55374bf35$export$9d7eae2d04d44e94)(new (0, $168d06aed8b3cdb0$export$fa89be98fe0936f2)({\n ...(0, $168d06aed8b3cdb0$export$ac4f8128ea29c5),\n basePath: this.sdk.baseURL\n }));\n this.user = options.user;\n this.subscribeToDomainEvents();\n this.trackSdkLoaded();\n }\n}\n\n\nconst $708a5f26294b10cd$var$SlashIDIFrameID = \"__SlashID_iframe\";\nconst $708a5f26294b10cd$var$PRIVATE_PUBLISH = Symbol();\nconst $708a5f26294b10cd$var$PRIVATE_SUBSCRIBE = Symbol();\nconst $708a5f26294b10cd$var$PRIVATE_UNSUBSCRIBE = Symbol();\nconst $708a5f26294b10cd$export$5f74d2b45f2a2732 = (sid)=>({\n publish: (type, event)=>sid[$708a5f26294b10cd$var$PRIVATE_PUBLISH](type, event),\n subscribe: (type, handler)=>sid[$708a5f26294b10cd$var$PRIVATE_SUBSCRIBE](type, handler),\n unsubscribe: (type, handler)=>sid[$708a5f26294b10cd$var$PRIVATE_UNSUBSCRIBE](type, handler)\n });\nclass $708a5f26294b10cd$export$261888861cdb8a55 {\n /**\n * Get an instance of the Analytics class. Use the instance to track virtual page views.\n * @throws `Error` If analytics is not enabled or oid is not set.\n * @returns Analytics instance\n */ getAnalytics() {\n if (!this.analytics) throw new Error(\"Analytics has to be enabled and oid has to be set to use this method\");\n return this.analytics;\n }\n static async canGetPublicKeyCredentialsInIFrame() {\n const jsWindow = window;\n const isChrome = !!jsWindow.chrome && (!!jsWindow.chrome.webstore || !!jsWindow.chrome.runtime);\n return isChrome;\n }\n /**\n * Publish an event to the SDK. Currently available events are listed in {@link Types.PublicWriteEvents}.\n * @param type\n * @param event\n */ publish(type, event) {\n if (!$185870848aa59297$export$fdd1788388ec077b(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.emit(type, event);\n }\n /**\n * Variant of [publish] for private events\n */ [$708a5f26294b10cd$var$PRIVATE_PUBLISH](type, event) {\n if (!$185870848aa59297$export$a447b62f94c26639(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.emit(type, event);\n }\n /**\n * Subscribe to the events published by the SDK. Currently available events are listed in {@link Types.PublicReadEvents}.\n * @param type\n * @param handler\n */ subscribe(type, handler) {\n if (!$185870848aa59297$export$ab1e84ca8f5ea7e(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.on(type, handler);\n }\n /**\n * Variant of [subscribe] for private events\n */ [$708a5f26294b10cd$var$PRIVATE_SUBSCRIBE](type, handler) {\n if (!$185870848aa59297$export$a447b62f94c26639(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.on(type, handler);\n }\n /**\n * Unsubscribe from the SDK events. Currently available events are listed in {@link Types.PublicReadEvents}.\n * @param type\n * @param handler\n */ unsubscribe(type, handler) {\n if (!$185870848aa59297$export$ab1e84ca8f5ea7e(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.off(type, handler);\n }\n /**\n * Variant of [subscribe] for private events\n */ [$708a5f26294b10cd$var$PRIVATE_UNSUBSCRIBE](type, handler) {\n if (!$185870848aa59297$export$a447b62f94c26639(type)) throw new Error(`Unsupported event name: ${type}`);\n this.emitter.off(type, handler);\n }\n /**\n * @ignore\n */ updateClient(token) {\n this.authnClient = new $8dabc67a561e7dc0$export$872437fb2a17cd0e(new (0, $168d06aed8b3cdb0$export$fa89be98fe0936f2)({\n ...(0, $168d06aed8b3cdb0$export$ac4f8128ea29c5),\n basePath: this.baseURL,\n accessToken: token\n }));\n }\n /**\n * @ignore\n *\n * Removes reference to any old user token\n */ resetClient() {\n this.updateClient(undefined);\n }\n /**\n * Get a Promise that resolves to an array of challenge objects.\n */ async getChallengesFromURL() {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n let challengeObjs = undefined;\n const challengePackId = urlParams.get($962c828014ed43f3$export$b1acc9d748d757e8);\n const encodedChallenges = urlParams.get($962c828014ed43f3$export$61f12a353e32d6b4);\n if (challengePackId && encodedChallenges) throw new Error(\"found both 'challenges' and 'sidcp' URL query parameters\");\n if (challengePackId) {\n // we got a challenge pack ID => get the challenges\n const response = await this.authnClient.getChallengePackChallengePackId({\n challengePackId: challengePackId,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n });\n if (response.errors) throw response;\n challengeObjs = response.result;\n } else if (encodedChallenges) {\n // check whether challenges are encoded directly in the params\n const challengesData = $aae5e813cb61d169$export$2f872c0f2117be69(encodedChallenges);\n const challengesStr = new TextDecoder(\"utf-8\").decode(challengesData);\n challengeObjs = JSON.parse(challengesStr);\n }\n return challengeObjs;\n }\n /**\n * Process authentication challenges from the URL query parameters.\n * You can use this in conjunction with the Direct-ID API to allow your users to land on your\n * target page already authenticated.\n *\n * @returns The authenticated user from the `challenges` URL parameter, if present, `null` otherwise.\n */ async getUserFromURL() {\n // processing challenges consumes them, it's not idempotent => on success we memoize the result\n if (!this.urlChallengesUser) {\n let challengeObjs;\n try {\n challengeObjs = await this.getChallengesFromURL();\n } catch (e) {\n await this.processError(e, {});\n throw e;\n }\n if (challengeObjs) {\n var _this_urlChallengesUser_authentications;\n let token = undefined;\n for (const challengeObj of challengeObjs){\n const challenge = challengeObj;\n try {\n token = await this.processChallenge(challenge, undefined);\n } catch (e) {\n await this.processError(e, {\n challengeId: challenge.id,\n authenticationFactor: {\n method: challenge.authentication_method\n }\n });\n throw e;\n }\n this.updateClient(token);\n }\n this.urlChallengesUser = new (0, $0a8aed675f99e0c3$export$d3bddec52a513503)(token, {\n baseURL: this.baseURL,\n sdkURL: this.sdkURL\n });\n if ((_this_urlChallengesUser_authentications = this.urlChallengesUser.authentications) === null || _this_urlChallengesUser_authentications === void 0 ? void 0 : _this_urlChallengesUser_authentications.length) {\n const lastAuthentication = this.urlChallengesUser.authentications[this.urlChallengesUser.authentications.length - 1];\n this.emitter.emit(\"idFlowSucceeded\", {\n token: token,\n authenticationFactor: {\n method: lastAuthentication.method\n },\n handle: lastAuthentication.handle\n });\n }\n }\n }\n if (this.urlChallengesUser) this.emitter.emit(\"userAuthenticatedFromURL\", {\n token: this.urlChallengesUser.token\n });\n return this.urlChallengesUser;\n }\n async processEvent(event) {\n let sourceWindow = null;\n if (window.opener && event.source === window.opener) sourceWindow = window.opener;\n if (window.parent && event.source === window.parent) sourceWindow = window.parent;\n if (!sourceWindow) return;\n if (event.data.type === $6c3db34ca8f899b2$export$80edbf15fa61a4db.Ping) {\n const request = event.data;\n try {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$612749e00a84ad10(request.id), \"*\");\n } catch (e) {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$612749e00a84ad10(request.id, e.toString()), \"*\");\n }\n }\n if (event.data.type === $6c3db34ca8f899b2$export$80edbf15fa61a4db.ChallengeWebauthnCreate) {\n const request = event.data;\n try {\n const attestation = await this.processWebAuthnCreateChallenge(request.challenge);\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$8b7d42a6791cdca9(request.id, attestation), \"*\");\n } catch (e) {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$8b7d42a6791cdca9(request.id, null, e.toString()), \"*\");\n }\n }\n if (event.data.type === $6c3db34ca8f899b2$export$80edbf15fa61a4db.ChallengeWebauthnGet) {\n const request = event.data;\n try {\n const attestation = await this.processWebAuthnGetChallenge(request.challenge);\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$85b72b60e2ec2ca5(request.id, attestation), \"*\");\n } catch (e) {\n sourceWindow.postMessage(new $6c3db34ca8f899b2$export$85b72b60e2ec2ca5(request.id, null, e.toString()), \"*\");\n }\n }\n }\n async listenForEvents() {\n window.addEventListener(\"message\", this.processEvent.bind(this));\n }\n setupIFrame() {\n const sdkURLStr = this.getSDKUrl().toString();\n // No need, we're already in the target context\n if ((0, $3943e8c808f9150b$export$ca8daecbc0756b1b)(new URL(window.location.href), new URL(this.sdkURL))) return null;\n // Try to find an existing one by ID\n let slashIDIFrame = document.getElementById($708a5f26294b10cd$var$SlashIDIFrameID);\n if (slashIDIFrame && slashIDIFrame.src !== sdkURLStr) {\n slashIDIFrame.remove();\n slashIDIFrame = null;\n }\n if (!slashIDIFrame) {\n // Not found, create an invisible one\n slashIDIFrame = document.createElement(\"iframe\");\n slashIDIFrame.id = $708a5f26294b10cd$var$SlashIDIFrameID;\n slashIDIFrame.allow = \"publickey-credentials-get *\";\n slashIDIFrame.src = sdkURLStr;\n slashIDIFrame.style.display = \"none\";\n document.body.appendChild(slashIDIFrame);\n }\n return slashIDIFrame;\n }\n /**\n * List the available authentication methods for the chosen handle type. Currently available\n * authentication methods are listed in {@link Types.FactorMethod}. Before choosing a method to pass\n * to {@link id} you should consult the result of this method. In particular the availability of\n * the {@link Types.FactorMethod['Webauthn']} method depends on the current device configuration and\n * might not always be available.\n *\n * It's important to note that you can rely on some authentication methods to always be available:\n *\n * - for {@link PersonHandleType['EmailAddress']}: {@link Types.FactorMethod['OtpViaEmail']} and\n * {@link Types.FactorMethod['EmailLink']} are always available;\n * - for {@link PersonHandleType['PhoneNumber']}: {@link Types.FactorMethod['OtpViaSms']} and\n * {@link Types.FactorMethod['SmsLink']} are always available;\n *\n * On the contrary, the availability of {@link Types.FactorMethod['Webauthn']} depends exclusively on the\n * current device configuration.\n *\n * @remarks The availability of authetication methods can vary over time, you probably should not\n * cache or store the result and instead invoke the method any time you need to authenticate a user.\n *\n * @example\n *\n * SlashID supports a number of handle types, each in turn supporting a set of\n * authentication methods. Supposing you identify your users with e-mail addresses,\n * you should check the authentication methods available on the current device before\n * kicking off the authentication flow:\n *\n * ```js\n * const availableMethods = sid.getAvailableAuthenticationMethods(\"email_address\")\n * // => availableMethods === [\"webauthn\", \"email_link\"]\n * ```\n *\n * At this point you can choose which method to use in {@link id}. You could decide based on\n * one or a combination of:\n *\n * - Your static preference: e.g. require WebAuthn, prefer WebAuthn ({@link Types.FactorMethod['Webauthn']})\n * if available, otherwise fallback to magic link via e-mail ({@link Types.FactorMethod['EmailLink']})\n * ```\n * const chosenMethod = availableMethods.includes(\"webauthn\") ? \"webauthn\" : \"email_link\"\n * ```\n * - User's choice: you could present your users with a selection of the available methods;\n *\n * In general the SlashID SDK does not impose any restriction on how you decide to choose which\n * authentication method to use.\n *\n * @param handleType Available handle types are ``\"email_address\"``, ``\"phone_number\"``\n * @returns An array of the available authentication methods on this device.\n */ async getAvailableAuthenticationMethods(handleType) {\n const availableMethods = [];\n switch(handleType){\n case $1221773f83e5dbf8$export$885886f088cd0586.EmailAddress:\n availableMethods.push($d180e6976bd68c99$export$8279f5e63c6521d8.EmailLink, $d180e6976bd68c99$export$8279f5e63c6521d8.OtpViaEmail);\n break;\n case $1221773f83e5dbf8$export$885886f088cd0586.PhoneNumber:\n availableMethods.push($d180e6976bd68c99$export$8279f5e63c6521d8.SmsLink, $d180e6976bd68c99$export$8279f5e63c6521d8.OtpViaSms);\n break;\n default:\n throw new Error(`unhandled handle type: ${handleType}`);\n }\n if (navigator && window.PublicKeyCredential) availableMethods.unshift($d180e6976bd68c99$export$8279f5e63c6521d8.Webauthn);\n return availableMethods;\n }\n /**\n * Preferred way of creating a {@link Types.BaseUser} instance based on an existing token.\n *\n * @param token A user {@link Types.UserTokenText} value.\n * @returns User instance\n */ getUser(token) {\n const user = new (0, $31425f702a7b168e$export$ec7121d802e738bd)(token, this);\n return user;\n }\n /**\n * Identify a user. This method implements the SlashID authentication flow.\n * In particular the flow is:\n *\n * - **passwordless**: all you need to specify to authenticate a user is their handle,\n * be it an e-mail address or phone number, and how they wish to authenticate; please see\n * the parameters documentation for more details;\n *\n * - **unified**: it does not require you to differentiate between first registration and\n * subsequent logins attempts. The SlashID service takes care of the distinction and will\n * perform the necessary verification ceremonies on your behalf under the hood.\n *\n * - **synchronous**: on successful return the user has verified their identity; even when\n * the authentication spans multiple devices and is comprised of multiple steps (e.g\n * clicking a magic link on the provided e-mail address and creating a new biometric\n * credential on the current device), this method will not return until all steps have\n * completed or errors have been encountered.\n *\n *\n * Before utilizing any authentication method you should check whether it is available with {@link getAvailableAuthenticationMethods}.\n *\n * The currently available options for the `authenticationFactor.method` field are:\n *\n * - **``\"webauthn\"``**: Authenticate the user via WebAuthn on this device. If available this\n * usually entails built-in biometric authentication or the use of an external FIDO key, with a\n * preference for the former. Please also see the [WebAuthn scope](#webauthn_scope) and\n * [WebAuthn attachment](#webauthn_attachment) sections below for details.\n *\n * - **``\"email_link\"``**: Deliver a magic link via e-mail.\n *\n * - **``\"otp_via_email\"``**: Deliver an OTP security code via e-mail. This authentication method requires you to {@link publish} an\n * `otpCodeSubmitted` event to the SDK. The event payload must be a string containing the OTP\n * value, which your user will receive via e-mail.\n *\n * - **``\"sms_link\"``**: Deliver a magic link via SMS.\n *\n * - **``\"otp_via_sms\"``**: Deliver an OTP security code via SMS. This authentication method requires you to {@link publish} an\n * `otpCodeSubmitted` event to the SDK. The event payload must be a string containing the OTP\n * value, which your user will receive via SMS.\n *\n * - **``oidc``**: Authenticate the user using OIDC through a preconfigured Identity Provider.\n *\n * <a name=\"webauthn_scope\"></a>\n * <b>WebAuthn scope</b>\n *\n * In case you have chosen the WebAuthn method, you have the option to specify a `scope`\n * in the `options` field. This field allows you to control the breadth of your users' WebAuthn credentials.\n * The field is optional, but if specified it can either be your domain or any \"registrable domain suffix\" of it.\n * E.g. if your domain is `shop.domain.com` you have two options to choose from:\n *\n * - `shop.domain.com`: scope your users to the current domain. Credentials created here will not be shared with sibling domains such as `services.domain.com`;\n * - `domain.com`: scope your users to the least specific domain. Credentials created here will be allowed to access all subdomains such as `services.domain.com`;\n *\n * Please consult the HTML spec for the formal definition of [registrable domain suffix](https://html.spec.whatwg.org/multipage/origin.html#is-a-registrable-domain-suffix-of-or-is-equal-to)\n * if you need detailed information. When not specified the `scope` option defaults to the current origin, `shop.domain.com`\n * in the example above.\n *\n * <a name=\"webauthn_attachment\"></a>\n * <b>WebAuthn attachment</b>\n *\n * Users can perform WebAuthn either with built-in authenticators (FaceID, TouchID, fingerprint readers, etc.)\n * or external security keys, and in case you have a preference you can control which authenticator type to use\n * by specifying an `attachment` option field in the `options` field.\n * The field is optional and has 3 allowed values from the {@link WebAuthnAuthenticatorAttachment} enum:\n *\n * - `\"platform\"`: mandate use of built-in authenticators;\n * - `\"cross-platform\"`: mandate use of external security keys;\n * - `\"any\"`: the default value if unspecified, allows both types;\n *\n * If left unspecified (or explicitly set to `\"any\"`) the user will be prompted with a system dialog to choose\n * which type of authenticator they prefer. By providing one of the other options instead (e.g. `\"platform\"`)\n * you explicitly limit the authenticator types the user can choose from. On most devices this results in the\n * most seamless WebAuthn user experience possible, as the system dialog will not be shown and the user will be\n * prompted to authenticate directly.\n *\n * @param oid Your organization ID.\n * @param handle How the user wishes to identify, e.g. their e-mail address.\n * @param authenticationFactor How to verify the user's identity matches the handle.\n *\n * @throws `slashid.errors.InvalidAuthenticationMethodError` if the chosen method is\n * incompatible with the given handle or is not available on the current device.\n *\n * @fires {@link Types.IdFlowSucceededEvent} when the flow resolves successfully\n *\n * @returns The authenticated user.\n *\n * @example\n *\n * Authenticating a user is as simple as:\n *\n * ```js\n * const user = await slashID.id({\n * type: \"phone_number\",\n * value: \"+13337777777\",\n * }, {\n * method: \"webauthn\"\n * })\n * ```\n *\n * At this point the user has been authenticated; either registered or logged in.\n *\n * You can use it in a header in your HTTP requests:\n *\n * ```js\n * const response = await fetch(url, {\n * ...\n * headers: {\n * 'Authorization': `Bearer ${user.token}`,\n * ...\n * }\n * });\n * ```\n *\n * You can collect and associate user attributes:\n *\n * ```js\n * const userDetails = { name: \"...\", streetAddress: \"...\" }\n * await user.set(userDetails)\n * ```\n *\n * You can perform multi-factor authentication before proceeding with your application logic:\n *\n * ```js\n * await user.mfa({\n * type: \"email_address\",\n * value: \"my.email@example.com\"\n * }, {\n * method: \"email_link\"\n * })\n * ```\n */ async id(oid, handle, authenticationFactor) {\n return this._id(oid, handle, authenticationFactor);\n }\n /**\n * @internal\n */ async _id(oid, handle, authenticationFactor, prevToken) {\n this.resetClient();\n if (prevToken) this.updateClient(prevToken);\n try {\n if (authenticationFactor) switch(authenticationFactor.method){\n case $d180e6976bd68c99$export$8279f5e63c6521d8.Webauthn.toString():\n {\n if (!(navigator && window.PublicKeyCredential)) throw new $91e59605951c3712$export$91b533cbc711414e($d180e6976bd68c99$export$8279f5e63c6521d8.Webauthn, \"The WebAuthn API is not available in the current environment\");\n let opts = authenticationFactor.options;\n if (!opts) opts = {};\n // default to local scope\n if (!opts.scope) opts.scope = window.location.hostname;\n const knownCredIds = await this.credentialStorage.get(opts.scope);\n if (knownCredIds) opts.available_credential_ids = knownCredIds;\n // fallback to default SlashID WebAuthn options if not provided explicitly\n if (!opts.attachment) opts.attachment = $db804c8fc7fc378a$export$51952aaa367c79db.Any;\n if (!opts.user_verification) opts.user_verification = $4422b127d07e08ac$export$1bc598454e9d0dfc.Preferred;\n if (!opts.resident_key) opts.resident_key = $5d22f1c59e3d2c7d$export$df3e12f65ba023ba.Preferred;\n if (!opts.attestation) opts.attestation = $fd99e17397a87416$export$c1ff3c79d2429507.None;\n if (opts.attachment === $db804c8fc7fc378a$export$51952aaa367c79db.Platform) {\n const hasPlatformAuthenticator = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n if (!hasPlatformAuthenticator) throw new $91e59605951c3712$export$91b533cbc711414e($d180e6976bd68c99$export$8279f5e63c6521d8.Webauthn, `This device has no authenticator available with attachment '${opts.attachment}'`);\n }\n authenticationFactor.options = opts;\n }\n break;\n case $d180e6976bd68c99$export$8279f5e63c6521d8.EmailLink.toString():\n case $d180e6976bd68c99$export$8279f5e63c6521d8.OtpViaEmail.toString():\n if (handle && handle.type !== $1221773f83e5dbf8$export$885886f088cd0586.EmailAddress) throw new $91e59605951c3712$export$91b533cbc711414e(authenticationFactor.method, `A handle of type '${$1221773f83e5dbf8$export$885886f088cd0586.EmailAddress}' is required, got '${handle.type}' instead`);\n break;\n case $d180e6976bd68c99$export$8279f5e63c6521d8.SmsLink.toString():\n case $d180e6976bd68c99$export$8279f5e63c6521d8.OtpViaSms.toString():\n if (handle && handle.type !== $1221773f83e5dbf8$export$885886f088cd0586.PhoneNumber) throw new $91e59605951c3712$export$91b533cbc711414e(authenticationFactor.method, `A handle of type '${$1221773f83e5dbf8$export$885886f088cd0586.PhoneNumber}' is required, got '${handle.type}' instead`);\n authenticationFactor.options = new (0, $561d3dd760db35d2$export$1fd9c30e1b817ee4)(authenticationFactor.options);\n break;\n case $d180e6976bd68c99$export$8279f5e63c6521d8.Oidc.toString():\n {\n //OIDC should not be used with handles\n if (handle) throw new $91e59605951c3712$export$91b533cbc711414e(authenticationFactor.method, `OIDC should not be used with handles`);\n authenticationFactor = (0, $561d3dd760db35d2$export$af64486b3e452a98)(authenticationFactor);\n const cleanUpAfterError = ()=>{\n var _oidcOptions_extras, _oidcOptions_extras1;\n const oidcOptions = authenticationFactor;\n if (oidcOptions === null || oidcOptions === void 0 ? void 0 : (_oidcOptions_extras = oidcOptions.extras) === null || _oidcOptions_extras === void 0 ? void 0 : _oidcOptions_extras.popup) oidcOptions === null || oidcOptions === void 0 ? void 0 : (_oidcOptions_extras1 = oidcOptions.extras) === null || _oidcOptions_extras1 === void 0 ? void 0 : _oidcOptions_extras1.popup.close();\n this.emitter.off(\"oauthFlowFailed\", cleanUpAfterError);\n };\n this.emitter.on(\"oauthFlowFailed\", cleanUpAfterError);\n }\n break;\n case $d180e6976bd68c99$export$8279f5e63c6521d8.Saml.toString():\n {\n if (handle) throw new $91e59605951c3712$export$91b533cbc711414e(authenticationFactor.method, `SAML should not be used with handles`);\n authenticationFactor = (0, $561d3dd760db35d2$export$98f5d2f2dc6acbbd)(authenticationFactor);\n const cleanUpAfterError = ()=>{\n var _saml_extras, _saml_extras1;\n const saml = authenticationFactor;\n if (saml === null || saml === void 0 ? void 0 : (_saml_extras = saml.extras) === null || _saml_extras === void 0 ? void 0 : _saml_extras.popup) saml === null || saml === void 0 ? void 0 : (_saml_extras1 = saml.extras) === null || _saml_extras1 === void 0 ? void 0 : _saml_extras1.popup.close();\n this.emitter.off(\"popupFailed\", cleanUpAfterError);\n };\n this.emitter.on(\"popupFailed\", cleanUpAfterError);\n }\n break;\n default:\n break;\n }\n const factor = {\n method: authenticationFactor === null || authenticationFactor === void 0 ? void 0 : authenticationFactor.method,\n options: authenticationFactor === null || authenticationFactor === void 0 ? void 0 : authenticationFactor.options\n };\n this.emitter.emit(\"idFlowStarted\", {\n authenticationFactor: authenticationFactor\n });\n const response = await this.authnClient.postId({\n slashIDOrgID: oid,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw,\n iDRequest: {\n handle: handle,\n factor: factor\n }\n }, {\n cache: \"no-cache\"\n });\n if (response.errors) throw response;\n const challenges = response.result;\n if (!challenges) throw new Error(\"no challenges in ID response\");\n let token = prevToken;\n for (const challenge of challenges){\n token = await this.processChallenge(challenge, authenticationFactor);\n if (token) this.updateClient(token);\n }\n if (handle) try {\n this.identifiersStorage.add(handle);\n } catch (e) {\n console.warn(e);\n }\n /**\n *\n * @event {@link Types.IdFlowSucceededEvent}\n */ this.emitter.emit(\"idFlowSucceeded\", {\n token: `${token}`,\n authenticationFactor: authenticationFactor,\n handle: handle\n });\n return this.getUser(token);\n } catch (e) {\n await this.processError(e, {\n authenticationFactor: authenticationFactor,\n handle: handle,\n previousToken: prevToken\n });\n if ($91e59605951c3712$export$a98b3b17ec378e54(e) && $91e59605951c3712$export$a8908c3867f6f20b(e)) {\n const rateLimitError = await $91e59605951c3712$export$5db8ebadb53b7f77.fromResponseError(e);\n throw rateLimitError;\n } else throw e;\n } finally{\n this.resetClient();\n }\n }\n /**\n * List the handles previously used to authenticate successfully.\n *\n * @remarks Use of this method is in no way required to authenticate with SlashID. The SDK\n * provides it to allow you to more easily implement loging suggestion drop-down lists\n * and similar UX niceties, by e.g. tying it to a `<datalist>`:\n *\n * ```js\n * const handles = await sid.getAvailableIdentifiers()\n * const options = handles.map((handle) => {\n * const option = document.createElement(\"option\")\n * option.value = handle.value\n * return option\n * })\n * const datalist = document.getElementById(\"available_identifiers\")\n * datalist.replaceChildren(...options)\n *\n * ...\n *\n * <input ... list=\"available_identifiers\" />\n * ```\n *\n * Depending on browser settings, it may not be possible to discover these\n * identifiers.\n *\n * @returns An array of identifiers of previously-authenticated users.\n */ async getAvailableIdentifiers() {\n try {\n return this.identifiersStorage.getAll();\n } catch (e) {\n console.warn(e);\n return [];\n }\n }\n async processChallenge(challenge, authnFactor) {\n let attestation;\n switch(challenge.type){\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Proxy:\n return this.processProxyChallenge(challenge);\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Nonce:\n attestation = await this.processNonceChallenge(challenge);\n break;\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Otp:\n {\n const otpOpts = new (0, $561d3dd760db35d2$export$1fd9c30e1b817ee4)(authnFactor === null || authnFactor === void 0 ? void 0 : authnFactor.options);\n attestation = await this.processOTPChallenge(challenge, otpOpts);\n break;\n }\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.WebauthnGet:\n attestation = await this.processWebAuthnGetChallenge(challenge);\n break;\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.WebauthnCreate:\n attestation = await this.processWebAuthnCreateChallenge(challenge);\n break;\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Oidc:\n return this.processOIDCChallenge(challenge, authnFactor);\n case $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Saml:\n return this.processSAMLChallenge(challenge, authnFactor);\n default:\n throw new Error(\"unhandled challenge type: \" + challenge.toString());\n }\n let response;\n try {\n response = await this.authnClient.postAttestationV2({\n // @ts-expect-error challenge_type is typed as possible undefined\n attestation: attestation,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n });\n } catch (e) {\n if (e.response instanceof Response) response = await e.response.json();\n else throw e;\n }\n if (response.errors && response.errors.length) {\n if (response.errors[0].httpcode === 401 && challenge.type === $6efd4ce2feb2bdc3$export$7962c6bffc1da42.Otp) {\n // unlike all other challenges OTPs are potentially subject to user errors => retry on Unauthorized\n this.emitter.emit(\"otpIncorrectCodeSubmitted\", {\n factor: authnFactor,\n challengeId: challenge.id\n });\n return this.processChallenge(challenge, authnFactor);\n }\n throw response;\n }\n const userToken = response.result;\n if (!userToken) throw new Error(\"no user token in attestation response\");\n if (challenge.type === $6efd4ce2feb2bdc3$export$7962c6bffc1da42.WebauthnCreate) {\n const options = challenge.options;\n this.credentialStorage.add(options.rp.id, attestation.data.rawId);\n }\n return userToken;\n }\n async processProxyChallenge(challenge) {\n let userToken = undefined;\n while(!userToken){\n await $be25baf6593a301c$export$e772c8ff12451969(1000);\n // TODO review\n const response = await this.authnClient.getChallengeChallengeIdV2({\n challengeId: challenge.options.challenge_id,\n slashIDSdkVersion: (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw\n }, {\n cache: \"no-cache\"\n });\n if (response.errors) {\n if (response.errors.length !== 1 || response.errors[0].httpcode !== 202) throw response;\n }\n userToken = response.result;\n }\n return userToken;\n }\n async processNonceChallenge(challenge) {\n var _challenge_options;\n const attestation = {\n challenge_id: challenge.id,\n challenge_type: challenge.type,\n data: {\n challenge: (_challenge_options = challenge.options) === null || _challenge_options === void 0 ? void 0 : _challenge_options.challenge\n }\n };\n return attestation;\n }\n async processOTPChallenge(challenge, otpFactorOptions) {\n this.emitter.emit(\"otpSmsSent\");\n this.emitter.emit(\"otpCodeSent\");\n const handleOtpInput = new Promise((resolve)=>{\n const getOtp = (event)=>{\n this.emitter.off(\"otpCodeSubmitted\", getOtp);\n resolve(event);\n };\n this.emitter.on(\"otpCodeSubmitted\", getOtp);\n });\n // backward compatibility - in case a client sends in getOTP we wrap it with the event\n if (typeof otpFactorOptions.getOTP === \"function\") otpFactorOptions.getOTP().then((otp)=>this.emitter.emit(\"otpCodeSubmitted\", otp));\n const otpCode = await handleOtpInput;\n if (!otpCode) throw new Error(\"no OTP code provided\");\n const attestation = {\n challenge_id: challenge.id,\n challenge_type: challenge.type,\n data: {\n otp: otpCode\n }\n };\n return attestation;\n }\n async processWebAuthnGetChallenge(challenge) {\n // Calling WebAuthn API needs focus\n const hadFocus = await $185870848aa59297$export$d245da411ccc251b();\n const options = challenge.options;\n if (!this.isLocalScope(options.rpId)) {\n const sdkURL = this.getSDKUrl();\n let sdkWindow;\n if (await $708a5f26294b10cd$export$261888861cdb8a55.canGetPublicKeyCredentialsInIFrame()) {\n sdkWindow = this.iframe.contentWindow;\n if (!sdkWindow) throw new Error(\"cannot get global id iframe\");\n } else {\n // Empirically if we don't wait here the \"popup\"\n // on Chrome is created but doesn't get focus\n if (!hadFocus) await $be25baf6593a301c$export$e772c8ff12451969(200);\n // no target, features args => should open a tab, not a popup\n sdkWindow = window.open(sdkURL.toString());\n if (!sdkWindow) throw new Error(\"cannot open global id window\");\n }\n const attestationPromise = new Promise((resolve, reject)=>{\n const request = new $6c3db34ca8f899b2$export$b2a6577196c1aa92({\n baseURL: this.baseURL,\n sdkURL: this.sdkURL\n }, challenge);\n const responseListener = (event)=>{\n const response = event.data;\n if (response.id !== request.id) return;\n // has no effect on an IFrame\n sdkWindow.close();\n window.removeEventListener(\"message\", responseListener);\n if (response.error) reject(response.error);\n else resolve(response.attestation);\n };\n window.addEventListener(\"message\", responseListener);\n // TODO handle retries\n $98dcef32dd30b893$export$ccfc10b8bad1155a(sdkWindow).then((win)=>{\n win.postMessage(request, sdkURL.origin);\n });\n });\n return attestationPromise;\n } else {\n const decodedOptions = {\n challenge: $aae5e813cb61d169$export$2f872c0f2117be69(options.challenge),\n extensions: options.extensions,\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification\n };\n const allowCredentials = options.allowCredentials;\n if (allowCredentials) {\n decodedOptions.allowCredentials = new Array(allowCredentials.length);\n for(let idx = 0; idx < allowCredentials.length; idx++){\n const credential = allowCredentials[idx];\n decodedOptions.allowCredentials[idx] = {\n id: $aae5e813cb61d169$export$2f872c0f2117be69(credential.id),\n type: credential.type,\n transports: credential.transports\n };\n }\n }\n const credential = await navigator.credentials.get({\n publicKey: decodedOptions\n });\n if (!credential) throw new Error(\"could not create assert credential\");\n const attestationResponse = credential.response;\n const rawId = $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(credential.rawId));\n const encodedCredential = {\n id: credential.id,\n rawId: rawId,\n type: credential.type,\n clientExtensionResults: credential.getClientExtensionResults(),\n response: {\n clientDataJSON: $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.clientDataJSON)),\n authenticatorData: $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.authenticatorData)),\n signature: $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.signature)),\n userHandle: attestationResponse.userHandle ? $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.userHandle)) : null\n }\n };\n const attestation = {\n challenge_id: challenge.id,\n challenge_type: challenge.type,\n data: encodedCredential\n };\n this.emitter.emit(\"webAuthnChallengeProcessed\", {\n credentialId: rawId\n });\n return attestation;\n }\n }\n async processWebAuthnCreateChallenge(challenge) {\n // Calling WebAuthn API needs focus\n const hadFocus = await $185870848aa59297$export$d245da411ccc251b();\n const options = challenge.options;\n if (!this.isLocalScope(options.rp.id)) {\n // Empirically if we don't wait here the \"popup\"\n // on Chrome is created but doesn't get focus\n if (!hadFocus) await $be25baf6593a301c$export$e772c8ff12451969(200);\n const attestationPromise = new Promise((resolve, reject)=>{\n const sdkURL = this.getSDKUrl();\n // no target, features args => should open a tab, not a popup\n const sdkWindow = window.open(sdkURL.toString());\n if (!sdkWindow) {\n reject(new Error(\"cannot open global id window\"));\n return;\n }\n const request = new $6c3db34ca8f899b2$export$561665cd9d5caa15({\n baseURL: this.baseURL,\n sdkURL: this.sdkURL\n }, challenge);\n const responseListener = (event)=>{\n const response = event.data;\n if (response.id !== request.id) return;\n sdkWindow.close();\n window.removeEventListener(\"message\", responseListener);\n if (response.error) reject(response.error);\n else resolve(response.attestation);\n };\n window.addEventListener(\"message\", responseListener);\n // TODO handle retries\n $98dcef32dd30b893$export$ccfc10b8bad1155a(sdkWindow).then((win)=>{\n win.postMessage(request, sdkURL.origin);\n });\n });\n return attestationPromise;\n } else {\n const decodedOptions = {\n challenge: $aae5e813cb61d169$export$2f872c0f2117be69(options.challenge),\n rp: options.rp,\n user: {\n id: $aae5e813cb61d169$export$2f872c0f2117be69(options.user.id),\n name: options.user.name,\n displayName: options.user.displayName\n },\n pubKeyCredParams: options.pubKeyCredParams,\n authenticatorSelection: options.authenticatorSelection,\n timeout: options.timeout,\n extensions: options.extensions,\n attestation: options.attestation\n };\n const excludeCredentials = options.excludeCredentials;\n if (excludeCredentials) {\n decodedOptions.excludeCredentials = new Array(excludeCredentials.length);\n for(let idx = 0; idx < excludeCredentials.length; idx++){\n const credential = excludeCredentials[idx];\n decodedOptions.excludeCredentials[idx] = {\n id: $aae5e813cb61d169$export$2f872c0f2117be69(credential.id),\n type: credential.type,\n transports: credential.transports\n };\n }\n }\n const credential = await navigator.credentials.create({\n publicKey: decodedOptions\n });\n if (!credential) throw new Error(\"cannot create credential\");\n const attestationResponse = credential.response;\n const rawId = $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(credential.rawId));\n const encodedCredential = {\n id: credential.id,\n rawId: rawId,\n type: credential.type,\n clientExtensionResults: credential.getClientExtensionResults(),\n response: {\n attestationObject: $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.attestationObject)),\n clientDataJSON: $aae5e813cb61d169$export$c564cdbbe6da493(new Uint8Array(attestationResponse.clientDataJSON))\n }\n };\n const attestation = {\n challenge_id: challenge.id,\n challenge_type: challenge.type,\n data: encodedCredential\n };\n this.emitter.emit(\"webAuthnChallengeProcessed\", {\n credentialId: rawId\n });\n return attestation;\n }\n }\n async processOIDCChallenge(challenge, authenticationFactor) {\n if (authenticationFactor.options.ux_mode === (0, $d978296a495364e5$export$947f28fa7e24f5f5).Popup) {\n var _challenge_options;\n const handle = authenticationFactor.extras.setPopupUrl(challenge.options.auth_code_url);\n if (!(challenge === null || challenge === void 0 ? void 0 : (_challenge_options = challenge.options) === null || _challenge_options === void 0 ? void 0 : _challenge_options.auth_code_url)) {\n var _challenge_options1;\n this.emitter.emit(\"oauthFlowFailed\", {\n ...authenticationFactor.options,\n reason: $185870848aa59297$export$32deff8ed92da53f.BadOAuthURL\n });\n throw new Error(`Bad OAuth URL - got ${challenge === null || challenge === void 0 ? void 0 : (_challenge_options1 = challenge.options) === null || _challenge_options1 === void 0 ? void 0 : _challenge_options1.auth_code_url}`);\n }\n if (!handle) {\n this.emitter.emit(\"oauthFlowFailed\", {\n ...authenticationFactor.options,\n reason: $185870848aa59297$export$32deff8ed92da53f.PopupBlocked\n });\n throw new Error(\"OIDC flow unsuccesful!\");\n }\n } else if (authenticationFactor.options.ux_mode === (0, $d978296a495364e5$export$947f28fa7e24f5f5).Redirect) window.location.assign(challenge.options.auth_code_url);\n else throw new Error(`Unsupported OAuth ux_mode - got ${authenticationFactor.options.ux_mode}`);\n this.emitter.emit(\"oauthFlowStarted\", authenticationFactor.options);\n // no token yet - proxy challenge will result with a token\n return \"\";\n }\n async processSAMLChallenge(challenge, authenticationFactor) {\n if (authenticationFactor.options.ux_mode === $13463f5a948e6169$export$6dc0f627c99c13a9.Popup) {\n var _challenge_options;\n const popup = authenticationFactor.extras.setPopupUrl(challenge.options.start_authentication_url);\n if (!(challenge === null || challenge === void 0 ? void 0 : (_challenge_options = challenge.options) === null || _challenge_options === void 0 ? void 0 : _challenge_options.start_authentication_url)) {\n var _challenge_options1;\n this.emitter.emit(\"popupFailed\", {\n reason: $185870848aa59297$export$af2e6529191b5a73.BadAuthURL\n });\n throw new Error(`Bad authentication URL - got ${challenge === null || challenge === void 0 ? void 0 : (_challenge_options1 = challenge.options) === null || _challenge_options1 === void 0 ? void 0 : _challenge_options1.start_authentication_url}`);\n }\n if (!popup) {\n this.emitter.emit(\"popupFailed\", {\n reason: $185870848aa59297$export$af2e6529191b5a73.PopupBlocked\n });\n throw new Error(\"SAML flow unsuccesful!\");\n }\n } else if (authenticationFactor.options.ux_mode === $13463f5a948e6169$export$6dc0f627c99c13a9.Redirect) window.location.assign(challenge.options.start_authentication_url);\n else throw new Error(`Unsupported SAML ux_mode - got ${authenticationFactor.options.ux_mode}`);\n // no token yet - proxy challenge will result with a token\n return \"\";\n }\n getSDKUrl() {\n const sdkURL = new URL(this.sdkURL);\n sdkURL.searchParams.append(\"v\", (0, $0c9d6ccd124360dc$export$f9582ef3c55143f).raw);\n return sdkURL;\n }\n isLocalScope(rpID) {\n return window.location.hostname.endsWith(rpID);\n }\n /**\n * Examine the error object and publish the proper event as a reaction to it.\n */ async processError(error, { authenticationFactor: authenticationFactor, handle: handle, previousToken: previousToken, challengeId: challengeId }) {\n const errorEvent = await $91e59605951c3712$export$7f84d4628fc07381(error, {\n authenticationFactor: authenticationFactor,\n handle: handle,\n previousToken: previousToken,\n challengeId: challengeId\n });\n if ($185870848aa59297$export$2d39cf9e3832749f(errorEvent)) {\n // TODO: dedupe this in @slashid/react\n const internal = $708a5f26294b10cd$export$5f74d2b45f2a2732(this);\n internal.publish(\"clientSideError\", errorEvent);\n } else this.emitter.emit(\"idFlowFailed\", errorEvent);\n }\n /**\n * @example\n *\n * For production you can simply create your _SlashID_ instance with:\n *\n * ```js\n * import * as slashid from \"slashid\"\n * const sid = new slashid.SlashID()\n * ```\n *\n * If you want to experiment and connect to the sandbox environment instead:\n *\n * ```js\n * const sid = new slashid.SlashID({\n * baseURL: \"https://api.sandbox.slashid.com/auth\"\n * })\n * ```\n *\n * @param options Your SlashID connection options.\n * @throws `TypeError` If the given `options`, if defined, fail validation\n */ constructor(options){\n if (options) (0, $561d3dd760db35d2$export$7586e69c60094c9d)(options);\n const { baseURL: baseURL = \"https://api.sandbox.slashid.com\", sdkURL: sdkURL = \"https://cdn.sandbox.slashid.com/sdk.html\", oid: oid, analyticsEnabled: analyticsEnabled = true } = options !== null && options !== void 0 ? options : {};\n this.baseURL = baseURL;\n this.sdkURL = sdkURL;\n this.oid = oid;\n this.authnClient = new $8dabc67a561e7dc0$export$872437fb2a17cd0e(new (0, $168d06aed8b3cdb0$export$fa89be98fe0936f2)({\n ...(0, $168d06aed8b3cdb0$export$ac4f8128ea29c5),\n basePath: this.baseURL\n }));\n this.iframe = this.setupIFrame();\n const crossDomainStore = new (0, $b16ebbc972dd3e11$export$68371093923cfc31)(this.iframe, this.getSDKUrl().origin);\n this.identifiersStorage = new (0, $b16ebbc972dd3e11$export$720664048a0262dc)(crossDomainStore);\n this.credentialStorage = new (0, $b16ebbc972dd3e11$export$28d449e9c93b4ea6)(crossDomainStore);\n this.urlChallengesUser = null;\n this.emitter = $185870848aa59297$export$6f5e8f34570e3ad1();\n this.analytics = analyticsEnabled ? new (0, $44a66ad005cdacec$export$2b3af6baec22bd98)({\n sdk: this\n }) : undefined;\n this.listenForEvents();\n }\n}\n\n\n\n\n\n\nconst $6fc43efda371d022$export$8f376290db229087 = {\n User: (0, $0a8aed675f99e0c3$export$d3bddec52a513503)\n};\n// re-exporting does not work without creating a new object\nconst $6fc43efda371d022$export$30f3b02011db23c0 = {\n ...$91e59605951c3712$exports\n};\n// for naming consistency - namespaces are PascalCase\nconst $6fc43efda371d022$export$b8e9cd941e8016ac = {\n ...$91e59605951c3712$exports\n};\n\n\nexport {$6fc43efda371d022$export$8f376290db229087 as SSR, $6fc43efda371d022$export$30f3b02011db23c0 as errors, $6fc43efda371d022$export$b8e9cd941e8016ac as Errors, $708a5f26294b10cd$export$261888861cdb8a55 as SlashID, $708a5f26294b10cd$export$5f74d2b45f2a2732 as __INTERNAL_ONLY, $31425f702a7b168e$export$ec7121d802e738bd as User, $0c9d6ccd124360dc$export$f9582ef3c55143f as version, $db804c8fc7fc378a$export$51952aaa367c79db as WebAuthnAuthenticatorAttachment, $1221773f83e5dbf8$export$885886f088cd0586 as PersonHandleType};\n//# sourceMappingURL=slashid.esm.js.map\n","var Os = Object.defineProperty;\nvar Ps = (e, t, n) => t in e ? Os(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar Xo = (e, t, n) => (Ps(e, typeof t != \"symbol\" ? t + \"\" : t, n), n);\nimport * as U from \"react\";\nimport D, { createContext as Be, useState as G, useRef as Y, useCallback as ee, useEffect as B, useMemo as ce, useLayoutEffect as jt, forwardRef as X, createElement as O, useContext as Mt, Children as Re, isValidElement as en, cloneElement as io, Fragment as fn, useReducer as Zr } from \"react\";\nimport { User as Tt, SlashID as Ts, Errors as Jo } from \"@slashid/slashid\";\nimport * as js from \"react-dom\";\nimport Ls, { flushSync as Yr, createPortal as so } from \"react-dom\";\nvar Gn = { exports: {} }, Ot = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Qo;\nfunction Rs() {\n if (Qo)\n return Ot;\n Qo = 1;\n var e = D, t = Symbol.for(\"react.element\"), n = Symbol.for(\"react.fragment\"), o = Object.prototype.hasOwnProperty, r = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, a = { key: !0, ref: !0, __self: !0, __source: !0 };\n function s(i, l, d) {\n var u, f = {}, b = null, v = null;\n d !== void 0 && (b = \"\" + d), l.key !== void 0 && (b = \"\" + l.key), l.ref !== void 0 && (v = l.ref);\n for (u in l)\n o.call(l, u) && !a.hasOwnProperty(u) && (f[u] = l[u]);\n if (i && i.defaultProps)\n for (u in l = i.defaultProps, l)\n f[u] === void 0 && (f[u] = l[u]);\n return { $$typeof: t, type: i, key: b, ref: v, props: f, _owner: r.current };\n }\n return Ot.Fragment = n, Ot.jsx = s, Ot.jsxs = s, Ot;\n}\nvar Pt = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar er;\nfunction As() {\n return er || (er = 1, process.env.NODE_ENV !== \"production\" && function() {\n var e = D, t = Symbol.for(\"react.element\"), n = Symbol.for(\"react.portal\"), o = Symbol.for(\"react.fragment\"), r = Symbol.for(\"react.strict_mode\"), a = Symbol.for(\"react.profiler\"), s = Symbol.for(\"react.provider\"), i = Symbol.for(\"react.context\"), l = Symbol.for(\"react.forward_ref\"), d = Symbol.for(\"react.suspense\"), u = Symbol.for(\"react.suspense_list\"), f = Symbol.for(\"react.memo\"), b = Symbol.for(\"react.lazy\"), v = Symbol.for(\"react.offscreen\"), g = Symbol.iterator, p = \"@@iterator\";\n function y(m) {\n if (m === null || typeof m != \"object\")\n return null;\n var P = g && m[g] || m[p];\n return typeof P == \"function\" ? P : null;\n }\n var C = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function h(m) {\n {\n for (var P = arguments.length, L = new Array(P > 1 ? P - 1 : 0), J = 1; J < P; J++)\n L[J - 1] = arguments[J];\n x(\"error\", m, L);\n }\n }\n function x(m, P, L) {\n {\n var J = C.ReactDebugCurrentFrame, fe = J.getStackAddendum();\n fe !== \"\" && (P += \"%s\", L = L.concat([fe]));\n var me = L.map(function(se) {\n return String(se);\n });\n me.unshift(\"Warning: \" + P), Function.prototype.apply.call(console[m], console, me);\n }\n }\n var _ = !1, S = !1, w = !1, $ = !1, E = !1, j;\n j = Symbol.for(\"react.module.reference\");\n function R(m) {\n return !!(typeof m == \"string\" || typeof m == \"function\" || m === o || m === a || E || m === r || m === d || m === u || $ || m === v || _ || S || w || typeof m == \"object\" && m !== null && (m.$$typeof === b || m.$$typeof === f || m.$$typeof === s || m.$$typeof === i || m.$$typeof === l || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n m.$$typeof === j || m.getModuleId !== void 0));\n }\n function A(m, P, L) {\n var J = m.displayName;\n if (J)\n return J;\n var fe = P.displayName || P.name || \"\";\n return fe !== \"\" ? L + \"(\" + fe + \")\" : L;\n }\n function W(m) {\n return m.displayName || \"Context\";\n }\n function V(m) {\n if (m == null)\n return null;\n if (typeof m.tag == \"number\" && h(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof m == \"function\")\n return m.displayName || m.name || null;\n if (typeof m == \"string\")\n return m;\n switch (m) {\n case o:\n return \"Fragment\";\n case n:\n return \"Portal\";\n case a:\n return \"Profiler\";\n case r:\n return \"StrictMode\";\n case d:\n return \"Suspense\";\n case u:\n return \"SuspenseList\";\n }\n if (typeof m == \"object\")\n switch (m.$$typeof) {\n case i:\n var P = m;\n return W(P) + \".Consumer\";\n case s:\n var L = m;\n return W(L._context) + \".Provider\";\n case l:\n return A(m, m.render, \"ForwardRef\");\n case f:\n var J = m.displayName || null;\n return J !== null ? J : V(m.type) || \"Memo\";\n case b: {\n var fe = m, me = fe._payload, se = fe._init;\n try {\n return V(se(me));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var M = Object.assign, F = 0, K, ne, de, q, k, T, H;\n function z() {\n }\n z.__reactDisabledLog = !0;\n function te() {\n {\n if (F === 0) {\n K = console.log, ne = console.info, de = console.warn, q = console.error, k = console.group, T = console.groupCollapsed, H = console.groupEnd;\n var m = {\n configurable: !0,\n enumerable: !0,\n value: z,\n writable: !0\n };\n Object.defineProperties(console, {\n info: m,\n log: m,\n warn: m,\n error: m,\n group: m,\n groupCollapsed: m,\n groupEnd: m\n });\n }\n F++;\n }\n }\n function ve() {\n {\n if (F--, F === 0) {\n var m = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: M({}, m, {\n value: K\n }),\n info: M({}, m, {\n value: ne\n }),\n warn: M({}, m, {\n value: de\n }),\n error: M({}, m, {\n value: q\n }),\n group: M({}, m, {\n value: k\n }),\n groupCollapsed: M({}, m, {\n value: T\n }),\n groupEnd: M({}, m, {\n value: H\n })\n });\n }\n F < 0 && h(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var pe = C.ReactCurrentDispatcher, N;\n function Z(m, P, L) {\n {\n if (N === void 0)\n try {\n throw Error();\n } catch (fe) {\n var J = fe.stack.trim().match(/\\n( *(at )?)/);\n N = J && J[1] || \"\";\n }\n return `\n` + N + m;\n }\n }\n var be = !1, ae;\n {\n var oe = typeof WeakMap == \"function\" ? WeakMap : Map;\n ae = new oe();\n }\n function ue(m, P) {\n if (!m || be)\n return \"\";\n {\n var L = ae.get(m);\n if (L !== void 0)\n return L;\n }\n var J;\n be = !0;\n var fe = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var me;\n me = pe.current, pe.current = null, te();\n try {\n if (P) {\n var se = function() {\n throw Error();\n };\n if (Object.defineProperty(se.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(se, []);\n } catch (Fe) {\n J = Fe;\n }\n Reflect.construct(m, [], se);\n } else {\n try {\n se.call();\n } catch (Fe) {\n J = Fe;\n }\n m.call(se.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (Fe) {\n J = Fe;\n }\n m();\n }\n } catch (Fe) {\n if (Fe && J && typeof Fe.stack == \"string\") {\n for (var ie = Fe.stack.split(`\n`), ke = J.stack.split(`\n`), Ce = ie.length - 1, ye = ke.length - 1; Ce >= 1 && ye >= 0 && ie[Ce] !== ke[ye]; )\n ye--;\n for (; Ce >= 1 && ye >= 0; Ce--, ye--)\n if (ie[Ce] !== ke[ye]) {\n if (Ce !== 1 || ye !== 1)\n do\n if (Ce--, ye--, ye < 0 || ie[Ce] !== ke[ye]) {\n var Pe = `\n` + ie[Ce].replace(\" at new \", \" at \");\n return m.displayName && Pe.includes(\"<anonymous>\") && (Pe = Pe.replace(\"<anonymous>\", m.displayName)), typeof m == \"function\" && ae.set(m, Pe), Pe;\n }\n while (Ce >= 1 && ye >= 0);\n break;\n }\n }\n } finally {\n be = !1, pe.current = me, ve(), Error.prepareStackTrace = fe;\n }\n var ut = m ? m.displayName || m.name : \"\", Yo = ut ? Z(ut) : \"\";\n return typeof m == \"function\" && ae.set(m, Yo), Yo;\n }\n function $e(m, P, L) {\n return ue(m, !1);\n }\n function we(m) {\n var P = m.prototype;\n return !!(P && P.isReactComponent);\n }\n function Ae(m, P, L) {\n if (m == null)\n return \"\";\n if (typeof m == \"function\")\n return ue(m, we(m));\n if (typeof m == \"string\")\n return Z(m);\n switch (m) {\n case d:\n return Z(\"Suspense\");\n case u:\n return Z(\"SuspenseList\");\n }\n if (typeof m == \"object\")\n switch (m.$$typeof) {\n case l:\n return $e(m.render);\n case f:\n return Ae(m.type, P, L);\n case b: {\n var J = m, fe = J._payload, me = J._init;\n try {\n return Ae(me(fe), P, L);\n } catch {\n }\n }\n }\n return \"\";\n }\n var Ie = Object.prototype.hasOwnProperty, Je = {}, Vt = C.ReactDebugCurrentFrame;\n function ct(m) {\n if (m) {\n var P = m._owner, L = Ae(m.type, m._source, P ? P.type : null);\n Vt.setExtraStackFrame(L);\n } else\n Vt.setExtraStackFrame(null);\n }\n function lt(m, P, L, J, fe) {\n {\n var me = Function.call.bind(Ie);\n for (var se in m)\n if (me(m, se)) {\n var ie = void 0;\n try {\n if (typeof m[se] != \"function\") {\n var ke = Error((J || \"React class\") + \": \" + L + \" type `\" + se + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof m[se] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw ke.name = \"Invariant Violation\", ke;\n }\n ie = m[se](P, se, J, L, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (Ce) {\n ie = Ce;\n }\n ie && !(ie instanceof Error) && (ct(fe), h(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", J || \"React class\", L, se, typeof ie), ct(null)), ie instanceof Error && !(ie.message in Je) && (Je[ie.message] = !0, ct(fe), h(\"Failed %s type: %s\", L, ie.message), ct(null));\n }\n }\n }\n var ds = Array.isArray;\n function Sn(m) {\n return ds(m);\n }\n function us(m) {\n {\n var P = typeof Symbol == \"function\" && Symbol.toStringTag, L = P && m[Symbol.toStringTag] || m.constructor.name || \"Object\";\n return L;\n }\n }\n function fs(m) {\n try {\n return Do(m), !1;\n } catch {\n return !0;\n }\n }\n function Do(m) {\n return \"\" + m;\n }\n function Fo(m) {\n if (fs(m))\n return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", us(m)), Do(m);\n }\n var qt = C.ReactCurrentOwner, vs = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, Vo, Bo, En;\n En = {};\n function ps(m) {\n if (Ie.call(m, \"ref\")) {\n var P = Object.getOwnPropertyDescriptor(m, \"ref\").get;\n if (P && P.isReactWarning)\n return !1;\n }\n return m.ref !== void 0;\n }\n function ms(m) {\n if (Ie.call(m, \"key\")) {\n var P = Object.getOwnPropertyDescriptor(m, \"key\").get;\n if (P && P.isReactWarning)\n return !1;\n }\n return m.key !== void 0;\n }\n function gs(m, P) {\n if (typeof m.ref == \"string\" && qt.current && P && qt.current.stateNode !== P) {\n var L = V(qt.current.type);\n En[L] || (h('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', V(qt.current.type), m.ref), En[L] = !0);\n }\n }\n function hs(m, P) {\n {\n var L = function() {\n Vo || (Vo = !0, h(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", P));\n };\n L.isReactWarning = !0, Object.defineProperty(m, \"key\", {\n get: L,\n configurable: !0\n });\n }\n }\n function bs(m, P) {\n {\n var L = function() {\n Bo || (Bo = !0, h(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", P));\n };\n L.isReactWarning = !0, Object.defineProperty(m, \"ref\", {\n get: L,\n configurable: !0\n });\n }\n }\n var Cs = function(m, P, L, J, fe, me, se) {\n var ie = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: m,\n key: P,\n ref: L,\n props: se,\n // Record the component responsible for creating this element.\n _owner: me\n };\n return ie._store = {}, Object.defineProperty(ie._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(ie, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: J\n }), Object.defineProperty(ie, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: fe\n }), Object.freeze && (Object.freeze(ie.props), Object.freeze(ie)), ie;\n };\n function ys(m, P, L, J, fe) {\n {\n var me, se = {}, ie = null, ke = null;\n L !== void 0 && (Fo(L), ie = \"\" + L), ms(P) && (Fo(P.key), ie = \"\" + P.key), ps(P) && (ke = P.ref, gs(P, fe));\n for (me in P)\n Ie.call(P, me) && !vs.hasOwnProperty(me) && (se[me] = P[me]);\n if (m && m.defaultProps) {\n var Ce = m.defaultProps;\n for (me in Ce)\n se[me] === void 0 && (se[me] = Ce[me]);\n }\n if (ie || ke) {\n var ye = typeof m == \"function\" ? m.displayName || m.name || \"Unknown\" : m;\n ie && hs(se, ye), ke && bs(se, ye);\n }\n return Cs(m, ie, ke, fe, J, qt.current, se);\n }\n }\n var qn = C.ReactCurrentOwner, Ho = C.ReactDebugCurrentFrame;\n function dt(m) {\n if (m) {\n var P = m._owner, L = Ae(m.type, m._source, P ? P.type : null);\n Ho.setExtraStackFrame(L);\n } else\n Ho.setExtraStackFrame(null);\n }\n var On;\n On = !1;\n function Pn(m) {\n return typeof m == \"object\" && m !== null && m.$$typeof === t;\n }\n function Uo() {\n {\n if (qn.current) {\n var m = V(qn.current.type);\n if (m)\n return `\n\nCheck the render method of \\`` + m + \"`.\";\n }\n return \"\";\n }\n }\n function xs(m) {\n {\n if (m !== void 0) {\n var P = m.fileName.replace(/^.*[\\\\\\/]/, \"\"), L = m.lineNumber;\n return `\n\nCheck your code at ` + P + \":\" + L + \".\";\n }\n return \"\";\n }\n }\n var Wo = {};\n function ws(m) {\n {\n var P = Uo();\n if (!P) {\n var L = typeof m == \"string\" ? m : m.displayName || m.name;\n L && (P = `\n\nCheck the top-level render call using <` + L + \">.\");\n }\n return P;\n }\n }\n function Go(m, P) {\n {\n if (!m._store || m._store.validated || m.key != null)\n return;\n m._store.validated = !0;\n var L = ws(P);\n if (Wo[L])\n return;\n Wo[L] = !0;\n var J = \"\";\n m && m._owner && m._owner !== qn.current && (J = \" It was passed a child from \" + V(m._owner.type) + \".\"), dt(m), h('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', L, J), dt(null);\n }\n }\n function Ko(m, P) {\n {\n if (typeof m != \"object\")\n return;\n if (Sn(m))\n for (var L = 0; L < m.length; L++) {\n var J = m[L];\n Pn(J) && Go(J, P);\n }\n else if (Pn(m))\n m._store && (m._store.validated = !0);\n else if (m) {\n var fe = y(m);\n if (typeof fe == \"function\" && fe !== m.entries)\n for (var me = fe.call(m), se; !(se = me.next()).done; )\n Pn(se.value) && Go(se.value, P);\n }\n }\n }\n function _s(m) {\n {\n var P = m.type;\n if (P == null || typeof P == \"string\")\n return;\n var L;\n if (typeof P == \"function\")\n L = P.propTypes;\n else if (typeof P == \"object\" && (P.$$typeof === l || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n P.$$typeof === f))\n L = P.propTypes;\n else\n return;\n if (L) {\n var J = V(P);\n lt(L, m.props, \"prop\", J, m);\n } else if (P.PropTypes !== void 0 && !On) {\n On = !0;\n var fe = V(P);\n h(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", fe || \"Unknown\");\n }\n typeof P.getDefaultProps == \"function\" && !P.getDefaultProps.isReactClassApproved && h(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function $s(m) {\n {\n for (var P = Object.keys(m.props), L = 0; L < P.length; L++) {\n var J = P[L];\n if (J !== \"children\" && J !== \"key\") {\n dt(m), h(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", J), dt(null);\n break;\n }\n }\n m.ref !== null && (dt(m), h(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), dt(null));\n }\n }\n function Zo(m, P, L, J, fe, me) {\n {\n var se = R(m);\n if (!se) {\n var ie = \"\";\n (m === void 0 || typeof m == \"object\" && m !== null && Object.keys(m).length === 0) && (ie += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var ke = xs(fe);\n ke ? ie += ke : ie += Uo();\n var Ce;\n m === null ? Ce = \"null\" : Sn(m) ? Ce = \"array\" : m !== void 0 && m.$$typeof === t ? (Ce = \"<\" + (V(m.type) || \"Unknown\") + \" />\", ie = \" Did you accidentally export a JSX literal instead of a component?\") : Ce = typeof m, h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", Ce, ie);\n }\n var ye = ys(m, P, L, fe, me);\n if (ye == null)\n return ye;\n if (se) {\n var Pe = P.children;\n if (Pe !== void 0)\n if (J)\n if (Sn(Pe)) {\n for (var ut = 0; ut < Pe.length; ut++)\n Ko(Pe[ut], m);\n Object.freeze && Object.freeze(Pe);\n } else\n h(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Ko(Pe, m);\n }\n return m === o ? $s(ye) : _s(ye), ye;\n }\n }\n function ks(m, P, L) {\n return Zo(m, P, L, !0);\n }\n function Ss(m, P, L) {\n return Zo(m, P, L, !1);\n }\n var Es = Ss, qs = ks;\n Pt.Fragment = o, Pt.jsx = Es, Pt.jsxs = qs;\n }()), Pt;\n}\nprocess.env.NODE_ENV === \"production\" ? Gn.exports = Rs() : Gn.exports = As();\nvar c = Gn.exports;\nfunction Xr(e) {\n var t, n, o = \"\";\n if (typeof e == \"string\" || typeof e == \"number\")\n o += e;\n else if (typeof e == \"object\")\n if (Array.isArray(e))\n for (t = 0; t < e.length; t++)\n e[t] && (n = Xr(e[t])) && (o && (o += \" \"), o += n);\n else\n for (t in e)\n e[t] && (o && (o += \" \"), o += t);\n return o;\n}\nfunction Q() {\n for (var e, t, n = 0, o = \"\"; n < arguments.length; )\n (e = arguments[n++]) && (t = Xr(e)) && (o && (o += \" \"), o += t);\n return o;\n}\nconst Is = {\n registerField: () => () => null,\n registerSubmit: () => () => null,\n resetForm: () => null,\n values: {},\n errors: {},\n status: \"valid\"\n}, Jr = Be(Is), tn = ({ children: e }) => {\n const [t, n] = G(\"valid\"), [o, r] = G({}), [a, s] = G({}), i = Y({}), l = ee(\n (b, { validator: v, defaultValue: g } = {}) => (Object.keys(i.current).includes(b) || (i.current[b] = {\n defaultValue: g,\n validator: v\n }), (p) => {\n r((y) => ({ ...y, [b]: p.target.value })), v && t === \"invalid\" && (n(\"valid\"), s({}));\n }),\n [t]\n );\n B(() => {\n Object.entries(i.current).forEach(\n ([b, { defaultValue: v }]) => {\n v && o[b] === void 0 && r((g) => ({ ...g, [b]: v }));\n }\n );\n }, [o]);\n const d = ee(\n (b) => (v) => {\n v.preventDefault();\n let g = !1;\n if (Object.entries(i.current).forEach(\n ([p, { validator: y }]) => {\n const C = o[p];\n if (y) {\n const h = y(C);\n h && (g = !0, s((x) => ({ ...x, [p]: h })));\n }\n }\n ), g) {\n n(\"invalid\");\n return;\n }\n b(v);\n },\n [o]\n ), u = ee(() => {\n r({}), s({}), n(\"valid\"), i.current = {};\n }, [r, s, n]), f = ce(\n () => ({\n registerField: l,\n registerSubmit: d,\n resetForm: u,\n values: o,\n status: t,\n errors: a\n }),\n [l, d, t, o, a, u]\n );\n return /* @__PURE__ */ c.jsx(Jr.Provider, { value: f, children: e });\n};\nvar tr = \"sid-theme-root\", Ms = \"_1fuhtfd2\", zs = \"_1fuhtfd0\", Ns = \"_1fuhtfd1\", yt = { color: { background: \"var(--sid-color-background)\", mute: \"var(--sid-color-mute)\", panel: \"var(--sid-color-panel)\", foreground: \"var(--sid-color-foreground)\", contrast: \"var(--sid-color-contrast)\", secondary: \"var(--sid-color-secondary)\", tertiary: \"var(--sid-color-tertiary)\", placeholder: \"var(--sid-color-placeholder)\", smooth: \"var(--sid-color-smooth)\", subtle: \"var(--sid-color-subtle)\", soft: \"var(--sid-color-soft)\", offset: \"var(--sid-color-offset)\", primary: \"var(--sid-color-primary)\", primaryHover: \"var(--sid-color-primary-hover)\", transparent: \"var(--sid-color-transparent)\", error: \"var(--sid-color-error)\", auxiliary: \"var(--sid-color-auxiliary)\", success: \"var(--sid-color-success)\", foregroundSuccess: \"var(--sid-color-foreground-success)\", backgroundSuccess: \"var(--sid-color-background-success)\", failure: \"var(--sid-color-failure)\", foregroundFailure: \"var(--sid-color-foreground-failure)\", backgroundFailure: \"var(--sid-color-background-failure)\" }, font: { fontFamily: \"var(--sid-font-family)\" }, border: { radius: \"var(--sid-button-border-radius)\", width: { panel: \"var(--sid-border-width-panel)\" } } }, Ds = \"_1fuhtfd3\";\nfunction nn() {\n return typeof window < \"u\" && globalThis === window;\n}\nfunction Qr({ theme: e, className: t }) {\n return Q(\n tr,\n `${tr}__${e}`,\n Ds,\n {\n [zs]: e === \"dark\",\n [Ms]: e === \"auto\",\n [Ns]: e === \"light\"\n },\n t\n );\n}\nfunction Fs({ theme: e, className: t }) {\n const n = Qr({ theme: e, className: t });\n document.body.classList.add(...n.split(\" \"));\n}\nconst ea = ({ children: e }) => /* @__PURE__ */ c.jsx(\"div\", { className: Qr({ theme: \"light\" }), children: e }), Vs = ({ children: e, theme: t = \"light\", className: n }) => {\n const [o, r] = D.useState(!1);\n return jt(() => {\n o || r(!0);\n }, [n, o, t]), jt(() => {\n o && Fs({ theme: t, className: n });\n }, [n, o, t]), o ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : /* @__PURE__ */ c.jsx(ea, { children: e });\n};\nfunction Bs({ children: e, theme: t = \"light\", className: n }) {\n return nn() ? /* @__PURE__ */ c.jsx(Vs, { theme: t, className: n, children: e }) : /* @__PURE__ */ c.jsx(ea, { children: e });\n}\nvar Hs = { default: \"_1v32gdc2 _1v32gdc1\", short: \"_1v32gdc3 _1v32gdc1\" };\nconst ta = ({ className: e, variant: t = \"default\" }) => /* @__PURE__ */ c.jsx(\"div\", { className: Q(Hs[t], e) });\nvar Us = { primary: \"_154fc2o2 _154fc2o0\", secondary: \"_154fc2o3 _154fc2o0\", secondaryMd: \"_154fc2o4 _154fc2o0 _154fc2o1\", neutral: \"_154fc2o5 _154fc2o0\", neutralMd: \"_154fc2o6 _154fc2o0 _154fc2o1\", ghost: \"_154fc2o7 _154fc2o0\", ghostMd: \"_154fc2o8 _154fc2o0 _154fc2o1\" }, Ws = \"_154fc2o9\", Gs = \"_154fc2oa\", Ks = { primary: \"_154fc2ob\", secondary: \"_154fc2oc\", secondaryMd: \"_154fc2od\", neutral: \"_154fc2oe\", neutralMd: \"_154fc2of\", ghost: \"_154fc2og\", ghostMd: \"_154fc2oh\" };\nconst De = X(\n ({\n children: e,\n onClick: t,\n className: n,\n type: o = \"button\",\n variant: r = \"primary\",\n testId: a,\n icon: s,\n disabled: i,\n loading: l = !1\n }, d) => /* @__PURE__ */ c.jsx(\n \"button\",\n {\n ref: d,\n \"data-testid\": a,\n type: o,\n disabled: i,\n className: Q(\n \"sid-button\",\n `sid-button--${r}`,\n Us[r],\n { [Ws]: i },\n n\n ),\n onClick: t,\n children: l ? /* @__PURE__ */ c.jsx(ta, { variant: \"short\", className: Ks[r] }) : /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n s ? /* @__PURE__ */ c.jsx(\"i\", { className: Gs, children: s }) : null,\n e\n ] })\n }\n )\n);\nDe.displayName = \"Button\";\nconst na = ({ className: e }) => /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n className: Q(e),\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M10.25 3.75L5.75 8L10.25 12.25\",\n stroke: yt.color.tertiary,\n strokeOpacity: \"0.5\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n )\n }\n);\nvar Zs = { base: \"axg5it0\", back: \"axg5it2 axg5it0\" };\nconst co = ({\n children: e,\n onClick: t,\n className: n,\n type: o = \"button\",\n variant: r = \"base\",\n testId: a\n}) => /* @__PURE__ */ c.jsxs(\n \"button\",\n {\n \"data-testid\": a,\n type: o,\n className: Q(\"sid-link-button\", Zs[r], n),\n onClick: t,\n children: [\n r === \"back\" ? /* @__PURE__ */ c.jsx(na, {}) : null,\n e\n ]\n }\n);\nfunction nr(e, t, n) {\n return e.clearRect(0, 0, 100, 100), e.fillStyle = n, e.fillText(t, 0, 0), e.getImageData(0, 0, 1, 1).data.join(\",\");\n}\nfunction or(e) {\n const t = function() {\n const r = document.createElement(\"canvas\");\n r.width = r.height = 1;\n const a = r.getContext(\"2d\", { willReadFrequently: !0 });\n return a.textBaseline = \"top\", a.font = '100px \"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif', a.scale(0.01, 0.01), a;\n }(), n = nr(t, e, \"#fff\"), o = nr(t, e, \"#000\");\n return o === n && !o.startsWith(\"0,0,0,\");\n}\nfunction Ys(e = \"Twemoji Country Flags\", t = \"https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2\") {\n if (or(\"😊\") && !or(\"🇨🇭\")) {\n const n = document.createElement(\"style\");\n return n.textContent = `@font-face {\n font-family: \"${e}\";\n unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067,\n U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;\n src: url('${t}') format('woff2');\n font-display: swap;\n }`, document.head.appendChild(n), !0;\n }\n return !1;\n}\nvar Le = {}, lo = {};\nObject.defineProperty(lo, \"__esModule\", { value: !0 });\nvar Xs = [\n { name: \"Afghanistan\", dial_code: \"+93\", code: \"AF\", flag: \"🇦🇫\" },\n { name: \"Albania\", dial_code: \"+355\", code: \"AL\", flag: \"🇦🇱\" },\n { name: \"Algeria\", dial_code: \"+213\", code: \"DZ\", flag: \"🇩🇿\" },\n { name: \"AmericanSamoa\", dial_code: \"+1684\", code: \"AS\", flag: \"🇦🇸\" },\n { name: \"Andorra\", dial_code: \"+376\", code: \"AD\", flag: \"🇦🇩\" },\n { name: \"Angola\", dial_code: \"+244\", code: \"AO\", flag: \"🇦🇴\" },\n { name: \"Anguilla\", dial_code: \"+1264\", code: \"AI\", flag: \"🇦🇮\" },\n { name: \"Antarctica\", dial_code: \"+672\", code: \"AQ\", flag: \"🇦🇶\" },\n { name: \"Antigua and Barbuda\", dial_code: \"+1268\", code: \"AG\", flag: \"🇦🇬\" },\n { name: \"Argentina\", dial_code: \"+54\", code: \"AR\", flag: \"🇦🇷\" },\n { name: \"Armenia\", dial_code: \"+374\", code: \"AM\", flag: \"🇦🇲\" },\n { name: \"Aruba\", dial_code: \"+297\", code: \"AW\", flag: \"🇦🇼\" },\n { name: \"Australia\", dial_code: \"+61\", code: \"AU\", preferred: !0, flag: \"🇦🇺\" },\n { name: \"Austria\", dial_code: \"+43\", code: \"AT\", flag: \"🇦🇹\" },\n { name: \"Azerbaijan\", dial_code: \"+994\", code: \"AZ\", flag: \"🇦🇿\" },\n { name: \"Bahamas\", dial_code: \"+1242\", code: \"BS\", flag: \"🇧🇸\" },\n { name: \"Bahrain\", dial_code: \"+973\", code: \"BH\", flag: \"🇧🇭\" },\n { name: \"Bangladesh\", dial_code: \"+880\", code: \"BD\", flag: \"🇧🇩\" },\n { name: \"Barbados\", dial_code: \"+1246\", code: \"BB\", flag: \"🇧🇧\" },\n { name: \"Belarus\", dial_code: \"+375\", code: \"BY\", flag: \"🇧🇾\" },\n { name: \"Belgium\", dial_code: \"+32\", code: \"BE\", flag: \"🇧🇪\" },\n { name: \"Belize\", dial_code: \"+501\", code: \"BZ\", flag: \"🇧🇿\" },\n { name: \"Benin\", dial_code: \"+229\", code: \"BJ\", flag: \"🇧🇯\" },\n { name: \"Bermuda\", dial_code: \"+1441\", code: \"BM\", flag: \"🇧🇲\" },\n { name: \"Bhutan\", dial_code: \"+975\", code: \"BT\", flag: \"🇧🇹\" },\n { name: \"Bolivia, Plurinational State of\", dial_code: \"+591\", code: \"BO\", flag: \"🇧🇴\" },\n { name: \"Bosnia and Herzegovina\", dial_code: \"+387\", code: \"BA\", flag: \"🇧🇦\" },\n { name: \"Botswana\", dial_code: \"+267\", code: \"BW\", flag: \"🇧🇼\" },\n { name: \"Brazil\", dial_code: \"+55\", code: \"BR\", flag: \"🇧🇷\" },\n { name: \"British Indian Ocean Territory\", dial_code: \"+246\", code: \"IO\", flag: \"🇮🇴\" },\n { name: \"Brunei Darussalam\", dial_code: \"+673\", code: \"BN\", flag: \"🇧🇳\" },\n { name: \"Bulgaria\", dial_code: \"+359\", code: \"BG\", flag: \"🇧🇬\" },\n { name: \"Burkina Faso\", dial_code: \"+226\", code: \"BF\", flag: \"🇧🇫\" },\n { name: \"Burundi\", dial_code: \"+257\", code: \"BI\", flag: \"🇧🇮\" },\n { name: \"Cambodia\", dial_code: \"+855\", code: \"KH\", flag: \"🇰🇭\" },\n { name: \"Cameroon\", dial_code: \"+237\", code: \"CM\", flag: \"🇨🇲\" },\n { name: \"Canada\", dial_code: \"+1\", code: \"CA\", flag: \"🇨🇦\" },\n { name: \"Cape Verde\", dial_code: \"+238\", code: \"CV\", flag: \"🇨🇻\" },\n { name: \"Cayman Islands\", dial_code: \"+345\", code: \"KY\", flag: \"🇰🇾\" },\n { name: \"Central African Republic\", dial_code: \"+236\", code: \"CF\", flag: \"🇨🇫\" },\n { name: \"Chad\", dial_code: \"+235\", code: \"TD\", flag: \"🇹🇩\" },\n { name: \"Chile\", dial_code: \"+56\", code: \"CL\", flag: \"🇨🇱\" },\n { name: \"China\", dial_code: \"+86\", code: \"CN\", flag: \"🇨🇳\" },\n { name: \"Christmas Island\", dial_code: \"+61\", code: \"CX\", flag: \"🇨🇽\" },\n { name: \"Cocos (Keeling) Islands\", dial_code: \"+61\", code: \"CC\", flag: \"🇨🇨\" },\n { name: \"Colombia\", dial_code: \"+57\", code: \"CO\", flag: \"🇨🇴\" },\n { name: \"Comoros\", dial_code: \"+269\", code: \"KM\", flag: \"🇰🇲\" },\n { name: \"Congo\", dial_code: \"+242\", code: \"CG\", flag: \"🇨🇬\" },\n { name: \"Congo, The Democratic Republic of the\", dial_code: \"+243\", code: \"CD\", flag: \"🇨🇩\" },\n { name: \"Cook Islands\", dial_code: \"+682\", code: \"CK\", flag: \"🇨🇰\" },\n { name: \"Costa Rica\", dial_code: \"+506\", code: \"CR\", flag: \"🇨🇷\" },\n { name: \"Cote d'Ivoire\", dial_code: \"+225\", code: \"CI\", flag: \"🇨🇮\" },\n { name: \"Croatia\", dial_code: \"+385\", code: \"HR\", flag: \"🇭🇷\" },\n { name: \"Cuba\", dial_code: \"+53\", code: \"CU\", flag: \"🇨🇺\" },\n { name: \"Cyprus\", dial_code: \"+357\", code: \"CY\", flag: \"🇨🇾\" },\n { name: \"Czech Republic\", dial_code: \"+420\", code: \"CZ\", flag: \"🇨🇿\" },\n { name: \"Denmark\", dial_code: \"+45\", code: \"DK\", flag: \"🇩🇰\" },\n { name: \"Djibouti\", dial_code: \"+253\", code: \"DJ\", flag: \"🇩🇯\" },\n { name: \"Dominica\", dial_code: \"+1767\", code: \"DM\", flag: \"🇩🇲\" },\n { name: \"Dominican Republic\", dial_code: \"+1849\", code: \"DO\", flag: \"🇩🇴\" },\n { name: \"Ecuador\", dial_code: \"+593\", code: \"EC\", flag: \"🇪🇨\" },\n { name: \"Egypt\", dial_code: \"+20\", code: \"EG\", flag: \"🇪🇬\" },\n { name: \"El Salvador\", dial_code: \"+503\", code: \"SV\", flag: \"🇸🇻\" },\n { name: \"Equatorial Guinea\", dial_code: \"+240\", code: \"GQ\", flag: \"🇬🇶\" },\n { name: \"Eritrea\", dial_code: \"+291\", code: \"ER\", flag: \"🇪🇷\" },\n { name: \"Estonia\", dial_code: \"+372\", code: \"EE\", flag: \"🇪🇪\" },\n { name: \"Ethiopia\", dial_code: \"+251\", code: \"ET\", flag: \"🇪🇹\" },\n { name: \"Falkland Islands (Malvinas)\", dial_code: \"+500\", code: \"FK\", flag: \"🇫🇰\" },\n { name: \"Faroe Islands\", dial_code: \"+298\", code: \"FO\", flag: \"🇫🇴\" },\n { name: \"Fiji\", dial_code: \"+679\", code: \"FJ\", flag: \"🇫🇯\" },\n { name: \"Finland\", dial_code: \"+358\", code: \"FI\", flag: \"🇫🇮\" },\n { name: \"France\", dial_code: \"+33\", code: \"FR\", flag: \"🇫🇷\" },\n { name: \"French Guiana\", dial_code: \"+594\", code: \"GF\", flag: \"🇬🇫\" },\n { name: \"French Polynesia\", dial_code: \"+689\", code: \"PF\", flag: \"🇵🇫\" },\n { name: \"Gabon\", dial_code: \"+241\", code: \"GA\", flag: \"🇬🇦\" },\n { name: \"Gambia\", dial_code: \"+220\", code: \"GM\", flag: \"🇬🇲\" },\n { name: \"Georgia\", dial_code: \"+995\", code: \"GE\", flag: \"🇬🇪\" },\n { name: \"Germany\", dial_code: \"+49\", code: \"DE\", flag: \"🇩🇪\" },\n { name: \"Ghana\", dial_code: \"+233\", code: \"GH\", flag: \"🇬🇭\" },\n { name: \"Gibraltar\", dial_code: \"+350\", code: \"GI\", flag: \"🇬🇮\" },\n { name: \"Greece\", dial_code: \"+30\", code: \"GR\", flag: \"🇬🇷\" },\n { name: \"Greenland\", dial_code: \"+299\", code: \"GL\", flag: \"🇬🇱\" },\n { name: \"Grenada\", dial_code: \"+1473\", code: \"GD\", flag: \"🇬🇩\" },\n { name: \"Guadeloupe\", dial_code: \"+590\", code: \"GP\", flag: \"🇬🇵\" },\n { name: \"Guam\", dial_code: \"+1671\", code: \"GU\", flag: \"🇬🇺\" },\n { name: \"Guatemala\", dial_code: \"+502\", code: \"GT\", flag: \"🇬🇹\" },\n { name: \"Guernsey\", dial_code: \"+44\", code: \"GG\", flag: \"🇬🇬\" },\n { name: \"Guinea\", dial_code: \"+224\", code: \"GN\", flag: \"🇬🇳\" },\n { name: \"Guinea-Bissau\", dial_code: \"+245\", code: \"GW\", flag: \"🇬🇼\" },\n { name: \"Guyana\", dial_code: \"+592\", code: \"GY\", flag: \"🇬🇾\" },\n { name: \"Haiti\", dial_code: \"+509\", code: \"HT\", flag: \"🇭🇹\" },\n { name: \"Holy See (Vatican City State)\", dial_code: \"+379\", code: \"VA\", flag: \"🇻🇦\" },\n { name: \"Honduras\", dial_code: \"+504\", code: \"HN\", flag: \"🇭🇳\" },\n { name: \"Hong Kong\", dial_code: \"+852\", code: \"HK\", flag: \"🇭🇰\" },\n { name: \"Hungary\", dial_code: \"+36\", code: \"HU\", flag: \"🇭🇺\" },\n { name: \"Iceland\", dial_code: \"+354\", code: \"IS\", flag: \"🇮🇸\" },\n { name: \"India\", dial_code: \"+91\", code: \"IN\", preferred: !0, flag: \"🇮🇳\" },\n { name: \"Indonesia\", dial_code: \"+62\", code: \"ID\", flag: \"🇮🇩\" },\n { name: \"Iran, Islamic Republic of\", dial_code: \"+98\", code: \"IR\", flag: \"🇮🇷\" },\n { name: \"Iraq\", dial_code: \"+964\", code: \"IQ\", flag: \"🇮🇶\" },\n { name: \"Ireland\", dial_code: \"+353\", code: \"IE\", flag: \"🇮🇪\" },\n { name: \"Isle of Man\", dial_code: \"+44\", code: \"IM\", flag: \"🇮🇲\" },\n { name: \"Israel\", dial_code: \"+972\", code: \"IL\", flag: \"🇮🇱\" },\n { name: \"Italy\", dial_code: \"+39\", code: \"IT\", flag: \"🇮🇹\" },\n { name: \"Jamaica\", dial_code: \"+1876\", code: \"JM\", flag: \"🇯🇲\" },\n { name: \"Japan\", dial_code: \"+81\", code: \"JP\", flag: \"🇯🇵\" },\n { name: \"Jersey\", dial_code: \"+44\", code: \"JE\", flag: \"🇯🇪\" },\n { name: \"Jordan\", dial_code: \"+962\", code: \"JO\", flag: \"🇯🇴\" },\n { name: \"Kazakhstan\", dial_code: \"+77\", code: \"KZ\", flag: \"🇰🇿\" },\n { name: \"Kenya\", dial_code: \"+254\", code: \"KE\", flag: \"🇰🇪\" },\n { name: \"Kiribati\", dial_code: \"+686\", code: \"KI\", flag: \"🇰🇮\" },\n { name: \"Korea, Democratic People's Republic of\", dial_code: \"+850\", code: \"KP\", flag: \"🇰🇵\" },\n { name: \"Korea, Republic of\", dial_code: \"+82\", code: \"KR\", flag: \"🇰🇷\" },\n { name: \"Kuwait\", dial_code: \"+965\", code: \"KW\", flag: \"🇰🇼\" },\n { name: \"Kyrgyzstan\", dial_code: \"+996\", code: \"KG\", flag: \"🇰🇬\" },\n { name: \"Lao People's Democratic Republic\", dial_code: \"+856\", code: \"LA\", flag: \"🇱🇦\" },\n { name: \"Latvia\", dial_code: \"+371\", code: \"LV\", flag: \"🇱🇻\" },\n { name: \"Lebanon\", dial_code: \"+961\", code: \"LB\", flag: \"🇱🇧\" },\n { name: \"Lesotho\", dial_code: \"+266\", code: \"LS\", flag: \"🇱🇸\" },\n { name: \"Liberia\", dial_code: \"+231\", code: \"LR\", flag: \"🇱🇷\" },\n { name: \"Libyan Arab Jamahiriya\", dial_code: \"+218\", code: \"LY\", flag: \"🇱🇾\" },\n { name: \"Liechtenstein\", dial_code: \"+423\", code: \"LI\", flag: \"🇱🇮\" },\n { name: \"Lithuania\", dial_code: \"+370\", code: \"LT\", flag: \"🇱🇹\" },\n { name: \"Luxembourg\", dial_code: \"+352\", code: \"LU\", flag: \"🇱🇺\" },\n { name: \"Macao\", dial_code: \"+853\", code: \"MO\", flag: \"🇲🇴\" },\n { name: \"Macedonia, The Former Yugoslav Republic of\", dial_code: \"+389\", code: \"MK\", flag: \"🇲🇰\" },\n { name: \"Madagascar\", dial_code: \"+261\", code: \"MG\", flag: \"🇲🇬\" },\n { name: \"Malawi\", dial_code: \"+265\", code: \"MW\", flag: \"🇲🇼\" },\n { name: \"Malaysia\", dial_code: \"+60\", code: \"MY\", flag: \"🇲🇾\" },\n { name: \"Maldives\", dial_code: \"+960\", code: \"MV\", flag: \"🇲🇻\" },\n { name: \"Mali\", dial_code: \"+223\", code: \"ML\", flag: \"🇲🇱\" },\n { name: \"Malta\", dial_code: \"+356\", code: \"MT\", flag: \"🇲🇹\" },\n { name: \"Marshall Islands\", dial_code: \"+692\", code: \"MH\", flag: \"🇲🇭\" },\n { name: \"Martinique\", dial_code: \"+596\", code: \"MQ\", flag: \"🇲🇶\" },\n { name: \"Mauritania\", dial_code: \"+222\", code: \"MR\", flag: \"🇲🇷\" },\n { name: \"Mauritius\", dial_code: \"+230\", code: \"MU\", flag: \"🇲🇺\" },\n { name: \"Mayotte\", dial_code: \"+262\", code: \"YT\", flag: \"🇾🇹\" },\n { name: \"Mexico\", dial_code: \"+52\", code: \"MX\", flag: \"🇲🇽\" },\n { name: \"Micronesia, Federated States of\", dial_code: \"+691\", code: \"FM\", flag: \"🇫🇲\" },\n { name: \"Moldova, Republic of\", dial_code: \"+373\", code: \"MD\", flag: \"🇲🇩\" },\n { name: \"Monaco\", dial_code: \"+377\", code: \"MC\", flag: \"🇲🇨\" },\n { name: \"Mongolia\", dial_code: \"+976\", code: \"MN\", flag: \"🇲🇳\" },\n { name: \"Montenegro\", dial_code: \"+382\", code: \"ME\", flag: \"🇲🇪\" },\n { name: \"Montserrat\", dial_code: \"+1664\", code: \"MS\", flag: \"🇲🇸\" },\n { name: \"Morocco\", dial_code: \"+212\", code: \"MA\", flag: \"🇲🇦\" },\n { name: \"Mozambique\", dial_code: \"+258\", code: \"MZ\", flag: \"🇲🇿\" },\n { name: \"Myanmar\", dial_code: \"+95\", code: \"MM\", flag: \"🇲🇲\" },\n { name: \"Namibia\", dial_code: \"+264\", code: \"NA\", flag: \"🇳🇦\" },\n { name: \"Nauru\", dial_code: \"+674\", code: \"NR\", flag: \"🇳🇷\" },\n { name: \"Nepal\", dial_code: \"+977\", code: \"NP\", flag: \"🇳🇵\" },\n { name: \"Netherlands\", dial_code: \"+31\", code: \"NL\", flag: \"🇳🇱\" },\n { name: \"Netherlands Antilles\", dial_code: \"+599\", code: \"AN\", flag: \"🇦🇳\" },\n { name: \"New Caledonia\", dial_code: \"+687\", code: \"NC\", flag: \"🇳🇨\" },\n { name: \"New Zealand\", dial_code: \"+64\", code: \"NZ\", flag: \"🇳🇿\" },\n { name: \"Nicaragua\", dial_code: \"+505\", code: \"NI\", flag: \"🇳🇮\" },\n { name: \"Niger\", dial_code: \"+227\", code: \"NE\", flag: \"🇳🇪\" },\n { name: \"Nigeria\", dial_code: \"+234\", code: \"NG\", flag: \"🇳🇬\" },\n { name: \"Niue\", dial_code: \"+683\", code: \"NU\", flag: \"🇳🇺\" },\n { name: \"Norfolk Island\", dial_code: \"+672\", code: \"NF\", flag: \"🇳🇫\" },\n { name: \"Northern Mariana Islands\", dial_code: \"+1670\", code: \"MP\", flag: \"🇲🇵\" },\n { name: \"Norway\", dial_code: \"+47\", code: \"NO\", flag: \"🇳🇴\" },\n { name: \"Oman\", dial_code: \"+968\", code: \"OM\", flag: \"🇴🇲\" },\n { name: \"Pakistan\", dial_code: \"+92\", code: \"PK\", flag: \"🇵🇰\" },\n { name: \"Palau\", dial_code: \"+680\", code: \"PW\", flag: \"🇵🇼\" },\n { name: \"Palestinian Territory, Occupied\", dial_code: \"+970\", code: \"PS\", flag: \"🇵🇸\" },\n { name: \"Panama\", dial_code: \"+507\", code: \"PA\", flag: \"🇵🇦\" },\n { name: \"Papua New Guinea\", dial_code: \"+675\", code: \"PG\", flag: \"🇵🇬\" },\n { name: \"Paraguay\", dial_code: \"+595\", code: \"PY\", flag: \"🇵🇾\" },\n { name: \"Peru\", dial_code: \"+51\", code: \"PE\", flag: \"🇵🇪\" },\n { name: \"Philippines\", dial_code: \"+63\", code: \"PH\", flag: \"🇵🇭\" },\n { name: \"Pitcairn\", dial_code: \"+872\", code: \"PN\", flag: \"🇵🇳\" },\n { name: \"Poland\", dial_code: \"+48\", code: \"PL\", flag: \"🇵🇱\" },\n { name: \"Portugal\", dial_code: \"+351\", code: \"PT\", flag: \"🇵🇹\" },\n { name: \"Puerto Rico\", dial_code: \"+1939\", code: \"PR\", flag: \"🇵🇷\" },\n { name: \"Qatar\", dial_code: \"+974\", code: \"QA\", flag: \"🇶🇦\" },\n { name: \"Romania\", dial_code: \"+40\", code: \"RO\", flag: \"🇷🇴\" },\n { name: \"Russia\", dial_code: \"+7\", code: \"RU\", flag: \"🇷🇺\" },\n { name: \"Rwanda\", dial_code: \"+250\", code: \"RW\", flag: \"🇷🇼\" },\n { name: \"Réunion\", dial_code: \"+262\", code: \"RE\", flag: \"🇷🇪\" },\n { name: \"Saint Barthélemy\", dial_code: \"+590\", code: \"BL\", flag: \"🇧🇱\" },\n { name: \"Saint Helena, Ascension and Tristan Da Cunha\", dial_code: \"+290\", code: \"SH\", flag: \"🇸🇭\" },\n { name: \"Saint Kitts and Nevis\", dial_code: \"+1869\", code: \"KN\", flag: \"🇰🇳\" },\n { name: \"Saint Lucia\", dial_code: \"+1758\", code: \"LC\", flag: \"🇱🇨\" },\n { name: \"Saint Martin\", dial_code: \"+590\", code: \"MF\", flag: \"🇲🇫\" },\n { name: \"Saint Pierre and Miquelon\", dial_code: \"+508\", code: \"PM\", flag: \"🇵🇲\" },\n { name: \"Saint Vincent and the Grenadines\", dial_code: \"+1784\", code: \"VC\", flag: \"🇻🇨\" },\n { name: \"Samoa\", dial_code: \"+685\", code: \"WS\", flag: \"🇼🇸\" },\n { name: \"San Marino\", dial_code: \"+378\", code: \"SM\", flag: \"🇸🇲\" },\n { name: \"Sao Tome and Principe\", dial_code: \"+239\", code: \"ST\", flag: \"🇸🇹\" },\n { name: \"Saudi Arabia\", dial_code: \"+966\", code: \"SA\", flag: \"🇸🇦\" },\n { name: \"Senegal\", dial_code: \"+221\", code: \"SN\", flag: \"🇸🇳\" },\n { name: \"Serbia\", dial_code: \"+381\", code: \"RS\", flag: \"🇷🇸\" },\n { name: \"Seychelles\", dial_code: \"+248\", code: \"SC\", flag: \"🇸🇨\" },\n { name: \"Sierra Leone\", dial_code: \"+232\", code: \"SL\", flag: \"🇸🇱\" },\n { name: \"Singapore\", dial_code: \"+65\", code: \"SG\", flag: \"🇸🇬\" },\n { name: \"Slovakia\", dial_code: \"+421\", code: \"SK\", flag: \"🇸🇰\" },\n { name: \"Slovenia\", dial_code: \"+386\", code: \"SI\", flag: \"🇸🇮\" },\n { name: \"Solomon Islands\", dial_code: \"+677\", code: \"SB\", flag: \"🇸🇧\" },\n { name: \"Somalia\", dial_code: \"+252\", code: \"SO\", flag: \"🇸🇴\" },\n { name: \"South Africa\", dial_code: \"+27\", code: \"ZA\", flag: \"🇿🇦\" },\n { name: \"South Georgia and the South Sandwich Islands\", dial_code: \"+500\", code: \"GS\", flag: \"🇬🇸\" },\n { name: \"Spain\", dial_code: \"+34\", code: \"ES\", flag: \"🇪🇸\" },\n { name: \"Sri Lanka\", dial_code: \"+94\", code: \"LK\", flag: \"🇱🇰\" },\n { name: \"Sudan\", dial_code: \"+249\", code: \"SD\", flag: \"🇸🇩\" },\n { name: \"South Sudan\", dial_code: \"+211\", code: \"SS\", flag: \"🇸🇸\" },\n { name: \"Suriname\", dial_code: \"+597\", code: \"SR\", flag: \"🇸🇷\" },\n { name: \"Svalbard and Jan Mayen\", dial_code: \"+47\", code: \"SJ\", flag: \"🇸🇯\" },\n { name: \"Swaziland\", dial_code: \"+268\", code: \"SZ\", flag: \"🇸🇿\" },\n { name: \"Sweden\", dial_code: \"+46\", code: \"SE\", flag: \"🇸🇪\" },\n { name: \"Switzerland\", dial_code: \"+41\", code: \"CH\", flag: \"🇨🇭\" },\n { name: \"Syrian Arab Republic\", dial_code: \"+963\", code: \"SY\", flag: \"🇸🇾\" },\n { name: \"Taiwan, Province of China\", dial_code: \"+886\", code: \"TW\", flag: \"🇹🇼\" },\n { name: \"Tajikistan\", dial_code: \"+992\", code: \"TJ\", flag: \"🇹🇯\" },\n { name: \"Tanzania, United Republic of\", dial_code: \"+255\", code: \"TZ\", flag: \"🇹🇿\" },\n { name: \"Thailand\", dial_code: \"+66\", code: \"TH\", flag: \"🇹🇭\" },\n { name: \"Timor-Leste\", dial_code: \"+670\", code: \"TL\", flag: \"🇹🇱\" },\n { name: \"Togo\", dial_code: \"+228\", code: \"TG\", flag: \"🇹🇬\" },\n { name: \"Tokelau\", dial_code: \"+690\", code: \"TK\", flag: \"🇹🇰\" },\n { name: \"Tonga\", dial_code: \"+676\", code: \"TO\", flag: \"🇹🇴\" },\n { name: \"Trinidad and Tobago\", dial_code: \"+1868\", code: \"TT\", flag: \"🇹🇹\" },\n { name: \"Tunisia\", dial_code: \"+216\", code: \"TN\", flag: \"🇹🇳\" },\n { name: \"Turkey\", dial_code: \"+90\", code: \"TR\", flag: \"🇹🇷\" },\n { name: \"Turkmenistan\", dial_code: \"+993\", code: \"TM\", flag: \"🇹🇲\" },\n { name: \"Turks and Caicos Islands\", dial_code: \"+1649\", code: \"TC\", flag: \"🇹🇨\" },\n { name: \"Tuvalu\", dial_code: \"+688\", code: \"TV\", flag: \"🇹🇻\" },\n { name: \"Uganda\", dial_code: \"+256\", code: \"UG\", flag: \"🇺🇬\" },\n { name: \"Ukraine\", dial_code: \"+380\", code: \"UA\", flag: \"🇺🇦\" },\n { name: \"United Arab Emirates\", dial_code: \"+971\", code: \"AE\", preferred: !0, flag: \"🇦🇪\" },\n { name: \"United Kingdom\", dial_code: \"+44\", code: \"GB\", preferred: !0, flag: \"🇬🇧\" },\n { name: \"United States\", dial_code: \"+1\", code: \"US\", preferred: !0, flag: \"🇺🇸\" },\n { name: \"Uruguay\", dial_code: \"+598\", code: \"UY\", flag: \"🇺🇾\" },\n { name: \"Uzbekistan\", dial_code: \"+998\", code: \"UZ\", flag: \"🇺🇿\" },\n { name: \"Vanuatu\", dial_code: \"+678\", code: \"VU\", flag: \"🇻🇺\" },\n { name: \"Venezuela, Bolivarian Republic of\", dial_code: \"+58\", code: \"VE\", flag: \"🇻🇪\" },\n { name: \"Viet Nam\", dial_code: \"+84\", code: \"VN\", flag: \"🇻🇳\" },\n { name: \"Virgin Islands, British\", dial_code: \"+1284\", code: \"VG\", flag: \"🇻🇬\" },\n { name: \"Virgin Islands, U.S.\", dial_code: \"+1340\", code: \"VI\", flag: \"🇻🇮\" },\n { name: \"Wallis and Futuna\", dial_code: \"+681\", code: \"WF\", flag: \"🇼🇫\" },\n { name: \"Yemen\", dial_code: \"+967\", code: \"YE\", flag: \"🇾🇪\" },\n { name: \"Zambia\", dial_code: \"+260\", code: \"ZM\", flag: \"🇿🇲\" },\n { name: \"Zimbabwe\", dial_code: \"+263\", code: \"ZW\", flag: \"🇿🇼\" },\n { name: \"Åland Islands\", dial_code: \"+358\", code: \"AX\", flag: \"🇦🇽\" }\n];\nlo.default = Xs;\nObject.defineProperty(Le, \"__esModule\", { value: !0 });\nLe.searchFlag = Le.findFlagsByDialCode = oa = Le.findFlagByDialCode = pn = Le.findFlag = uo = Le.getList = void 0;\nvar vn = lo, Js = function(e) {\n return vn.default.find(function(t) {\n return t.code.toLowerCase() === e.toLowerCase();\n });\n}, pn = Le.findFlag = Js, Qs = function(e) {\n var t, n = ra(e), o = n.find(function(r) {\n return r.dial_code === e && r.preferred;\n });\n return o || ((t = n[0]) !== null && t !== void 0 ? t : null);\n}, oa = Le.findFlagByDialCode = Qs, ra = function(e) {\n return vn.default.filter(function(t) {\n return t.dial_code === e;\n });\n};\nLe.findFlagsByDialCode = ra;\nvar ec = function() {\n return vn.default;\n}, uo = Le.getList = ec, tc = function(e) {\n return vn.default.filter(function(t) {\n return t.code.toLowerCase().includes(e.toLowerCase()) || t.name.toLowerCase().includes(e.toLowerCase()) || t.dial_code.toLowerCase().includes(e.toLowerCase());\n });\n};\nLe.searchFlag = tc;\nconst aa = ({ className: e }) => /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n width: \"16\",\n className: Q(e),\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M3.75 5.75L8 10.25L12.25 5.75\",\n stroke: yt.color.foreground,\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n )\n }\n);\nvar nc = \"_1c8zcyc9\", oc = \"_1c8zcyc2\", ia = \"_1c8zcyc3\", rc = \"_1c8zcyc0\", ac = { text: \"_1c8zcyc5 _1c8zcyc4\", email: \"_1c8zcyc6 _1c8zcyc4\", tel: \"_1c8zcyc7 _1c8zcyc4\" }, ic = \"_1c8zcyc8\", sc = \"_1c8zcyc1\";\nconst sa = ({\n id: e,\n name: t,\n label: n,\n placeholder: o = \"\",\n value: r,\n onChange: a,\n type: s = \"text\"\n}) => {\n const i = ee(\n (l) => {\n a(l);\n },\n [a]\n );\n return /* @__PURE__ */ c.jsxs(\"div\", { className: ac[s], children: [\n /* @__PURE__ */ c.jsx(\"label\", { htmlFor: e, className: ic, children: n }),\n /* @__PURE__ */ c.jsx(\n \"input\",\n {\n type: s,\n id: e,\n name: t,\n className: rc,\n placeholder: o,\n value: r,\n onChange: i\n }\n )\n ] });\n}, ca = ({\n name: e,\n id: t,\n label: n,\n placeholder: o = \"\",\n className: r = \"\",\n type: a = \"text\",\n value: s,\n onChange: i\n}) => /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(\n \"sid-input\",\n `sid-input--${a}`,\n ia,\n r\n ),\n children: /* @__PURE__ */ c.jsx(\n sa,\n {\n id: t,\n name: e,\n label: n,\n placeholder: o,\n className: r,\n type: a,\n value: s,\n onChange: i\n }\n )\n }\n), la = ({\n name: e,\n id: t,\n label: n,\n placeholder: o = \"\",\n className: r = \"\",\n value: a,\n flag: s,\n onChange: i,\n onFlagChange: l\n}) => {\n jt(() => {\n Ys();\n }, []);\n const d = ee(\n (u) => {\n const f = u.target.value;\n l(pn(f));\n },\n [l]\n );\n return /* @__PURE__ */ c.jsxs(\n \"div\",\n {\n className: Q(\"sid-input\", \"sid-input--tel\", ia, r),\n children: [\n s ? /* @__PURE__ */ c.jsxs(\"div\", { className: oc, children: [\n /* @__PURE__ */ c.jsxs(\"div\", { className: nc, children: [\n /* @__PURE__ */ c.jsxs(\"div\", { children: [\n s.flag,\n \" \",\n s.dial_code\n ] }),\n /* @__PURE__ */ c.jsx(aa, {})\n ] }),\n /* @__PURE__ */ c.jsx(\n \"select\",\n {\n className: sc,\n value: s.code,\n onChange: d,\n children: uo().map((u) => /* @__PURE__ */ c.jsxs(\"option\", { value: u.code, children: [\n u.name,\n \" \",\n u.dial_code\n ] }, u.code))\n }\n )\n ] }) : null,\n /* @__PURE__ */ c.jsx(\n sa,\n {\n id: t,\n name: e,\n label: n,\n placeholder: o,\n className: r,\n type: \"tel\",\n value: a,\n onChange: i\n }\n )\n ]\n }\n );\n};\nvar cc = \"_1dpv0n91\", lc = \"_1dpv0n90\", rr = \"_1dpv0n92\";\nconst on = ({ children: e }) => /* @__PURE__ */ c.jsxs(\"div\", { className: Q(\"sid-divider\", lc), children: [\n /* @__PURE__ */ c.jsx(\"hr\", { className: rr }),\n /* @__PURE__ */ c.jsx(\"span\", { className: cc, children: e }),\n /* @__PURE__ */ c.jsx(\"hr\", { className: rr })\n] });\nfunction I() {\n return I = Object.assign ? Object.assign.bind() : function(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n for (var o in n)\n Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);\n }\n return e;\n }, I.apply(this, arguments);\n}\nfunction Ke(e, t = []) {\n let n = [];\n function o(a, s) {\n const i = /* @__PURE__ */ Be(s), l = n.length;\n n = [\n ...n,\n s\n ];\n function d(f) {\n const { scope: b, children: v, ...g } = f, p = (b == null ? void 0 : b[e][l]) || i, y = ce(\n () => g,\n Object.values(g)\n );\n return /* @__PURE__ */ O(p.Provider, {\n value: y\n }, v);\n }\n function u(f, b) {\n const v = (b == null ? void 0 : b[e][l]) || i, g = Mt(v);\n if (g)\n return g;\n if (s !== void 0)\n return s;\n throw new Error(`\\`${f}\\` must be used within \\`${a}\\``);\n }\n return d.displayName = a + \"Provider\", [\n d,\n u\n ];\n }\n const r = () => {\n const a = n.map((s) => /* @__PURE__ */ Be(s));\n return function(i) {\n const l = (i == null ? void 0 : i[e]) || a;\n return ce(\n () => ({\n [`__scope${e}`]: {\n ...i,\n [e]: l\n }\n }),\n [\n i,\n l\n ]\n );\n };\n };\n return r.scopeName = e, [\n o,\n dc(r, ...t)\n ];\n}\nfunction dc(...e) {\n const t = e[0];\n if (e.length === 1)\n return t;\n const n = () => {\n const o = e.map(\n (r) => ({\n useScope: r(),\n scopeName: r.scopeName\n })\n );\n return function(a) {\n const s = o.reduce((i, { useScope: l, scopeName: d }) => {\n const f = l(a)[`__scope${d}`];\n return {\n ...i,\n ...f\n };\n }, {});\n return ce(\n () => ({\n [`__scope${t.scopeName}`]: s\n }),\n [\n s\n ]\n );\n };\n };\n return n.scopeName = t.scopeName, n;\n}\nfunction uc(e, t) {\n typeof e == \"function\" ? e(t) : e != null && (e.current = t);\n}\nfunction da(...e) {\n return (t) => e.forEach(\n (n) => uc(n, t)\n );\n}\nfunction ge(...e) {\n return ee(da(...e), e);\n}\nconst ht = /* @__PURE__ */ X((e, t) => {\n const { children: n, ...o } = e, r = Re.toArray(n), a = r.find(vc);\n if (a) {\n const s = a.props.children, i = r.map((l) => l === a ? Re.count(s) > 1 ? Re.only(null) : /* @__PURE__ */ en(s) ? s.props.children : null : l);\n return /* @__PURE__ */ O(Kn, I({}, o, {\n ref: t\n }), /* @__PURE__ */ en(s) ? /* @__PURE__ */ io(s, void 0, i) : null);\n }\n return /* @__PURE__ */ O(Kn, I({}, o, {\n ref: t\n }), n);\n});\nht.displayName = \"Slot\";\nconst Kn = /* @__PURE__ */ X((e, t) => {\n const { children: n, ...o } = e;\n return /* @__PURE__ */ en(n) ? /* @__PURE__ */ io(n, {\n ...pc(o, n.props),\n ref: t ? da(t, n.ref) : n.ref\n }) : Re.count(n) > 1 ? Re.only(null) : null;\n});\nKn.displayName = \"SlotClone\";\nconst fc = ({ children: e }) => /* @__PURE__ */ O(fn, null, e);\nfunction vc(e) {\n return /* @__PURE__ */ en(e) && e.type === fc;\n}\nfunction pc(e, t) {\n const n = {\n ...t\n };\n for (const o in t) {\n const r = e[o], a = t[o];\n /^on[A-Z]/.test(o) ? r && a ? n[o] = (...i) => {\n a(...i), r(...i);\n } : r && (n[o] = r) : o === \"style\" ? n[o] = {\n ...r,\n ...a\n } : o === \"className\" && (n[o] = [\n r,\n a\n ].filter(Boolean).join(\" \"));\n }\n return {\n ...e,\n ...n\n };\n}\nfunction fo(e) {\n const t = e + \"CollectionProvider\", [n, o] = Ke(t), [r, a] = n(t, {\n collectionRef: {\n current: null\n },\n itemMap: /* @__PURE__ */ new Map()\n }), s = (v) => {\n const { scope: g, children: p } = v, y = D.useRef(null), C = D.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ D.createElement(r, {\n scope: g,\n itemMap: C,\n collectionRef: y\n }, p);\n }, i = e + \"CollectionSlot\", l = /* @__PURE__ */ D.forwardRef((v, g) => {\n const { scope: p, children: y } = v, C = a(i, p), h = ge(g, C.collectionRef);\n return /* @__PURE__ */ D.createElement(ht, {\n ref: h\n }, y);\n }), d = e + \"CollectionItemSlot\", u = \"data-radix-collection-item\", f = /* @__PURE__ */ D.forwardRef((v, g) => {\n const { scope: p, children: y, ...C } = v, h = D.useRef(null), x = ge(g, h), _ = a(d, p);\n return D.useEffect(() => (_.itemMap.set(h, {\n ref: h,\n ...C\n }), () => void _.itemMap.delete(h))), /* @__PURE__ */ D.createElement(ht, {\n [u]: \"\",\n ref: x\n }, y);\n });\n function b(v) {\n const g = a(e + \"CollectionConsumer\", v);\n return D.useCallback(() => {\n const y = g.collectionRef.current;\n if (!y)\n return [];\n const C = Array.from(y.querySelectorAll(`[${u}]`));\n return Array.from(g.itemMap.values()).sort(\n (_, S) => C.indexOf(_.ref.current) - C.indexOf(S.ref.current)\n );\n }, [\n g.collectionRef,\n g.itemMap\n ]);\n }\n return [\n {\n Provider: s,\n Slot: l,\n ItemSlot: f\n },\n b,\n o\n ];\n}\nfunction re(e, t, { checkForDefaultPrevented: n = !0 } = {}) {\n return function(r) {\n if (e == null || e(r), n === !1 || !r.defaultPrevented)\n return t == null ? void 0 : t(r);\n };\n}\nfunction Se(e) {\n const t = Y(e);\n return B(() => {\n t.current = e;\n }), ce(\n () => (...n) => {\n var o;\n return (o = t.current) === null || o === void 0 ? void 0 : o.call(t, ...n);\n },\n []\n );\n}\nfunction He({ prop: e, defaultProp: t, onChange: n = () => {\n} }) {\n const [o, r] = mc({\n defaultProp: t,\n onChange: n\n }), a = e !== void 0, s = a ? e : o, i = Se(n), l = ee((d) => {\n if (a) {\n const f = typeof d == \"function\" ? d(e) : d;\n f !== e && i(f);\n } else\n r(d);\n }, [\n a,\n e,\n r,\n i\n ]);\n return [\n s,\n l\n ];\n}\nfunction mc({ defaultProp: e, onChange: t }) {\n const n = G(e), [o] = n, r = Y(o), a = Se(t);\n return B(() => {\n r.current !== o && (a(o), r.current = o);\n }, [\n o,\n r,\n a\n ]), n;\n}\nconst gc = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n], le = gc.reduce((e, t) => {\n const n = /* @__PURE__ */ X((o, r) => {\n const { asChild: a, ...s } = o, i = a ? ht : t;\n return B(() => {\n window[Symbol.for(\"radix-ui\")] = !0;\n }, []), /* @__PURE__ */ O(i, I({}, s, {\n ref: r\n }));\n });\n return n.displayName = `Primitive.${t}`, {\n ...e,\n [t]: n\n };\n}, {});\nfunction ua(e, t) {\n e && Yr(\n () => e.dispatchEvent(t)\n );\n}\nconst Ee = globalThis != null && globalThis.document ? jt : () => {\n};\nfunction hc(e, t) {\n return Zr((n, o) => {\n const r = t[n][o];\n return r ?? n;\n }, e);\n}\nconst xt = (e) => {\n const { present: t, children: n } = e, o = bc(t), r = typeof n == \"function\" ? n({\n present: o.isPresent\n }) : Re.only(n), a = ge(o.ref, r.ref);\n return typeof n == \"function\" || o.isPresent ? /* @__PURE__ */ io(r, {\n ref: a\n }) : null;\n};\nxt.displayName = \"Presence\";\nfunction bc(e) {\n const [t, n] = G(), o = Y({}), r = Y(e), a = Y(\"none\"), s = e ? \"mounted\" : \"unmounted\", [i, l] = hc(s, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n return B(() => {\n const d = Bt(o.current);\n a.current = i === \"mounted\" ? d : \"none\";\n }, [\n i\n ]), Ee(() => {\n const d = o.current, u = r.current;\n if (u !== e) {\n const b = a.current, v = Bt(d);\n e ? l(\"MOUNT\") : v === \"none\" || (d == null ? void 0 : d.display) === \"none\" ? l(\"UNMOUNT\") : l(u && b !== v ? \"ANIMATION_OUT\" : \"UNMOUNT\"), r.current = e;\n }\n }, [\n e,\n l\n ]), Ee(() => {\n if (t) {\n const d = (f) => {\n const v = Bt(o.current).includes(f.animationName);\n f.target === t && v && Yr(\n () => l(\"ANIMATION_END\")\n );\n }, u = (f) => {\n f.target === t && (a.current = Bt(o.current));\n };\n return t.addEventListener(\"animationstart\", u), t.addEventListener(\"animationcancel\", d), t.addEventListener(\"animationend\", d), () => {\n t.removeEventListener(\"animationstart\", u), t.removeEventListener(\"animationcancel\", d), t.removeEventListener(\"animationend\", d);\n };\n } else\n l(\"ANIMATION_END\");\n }, [\n t,\n l\n ]), {\n isPresent: [\n \"mounted\",\n \"unmountSuspended\"\n ].includes(i),\n ref: ee((d) => {\n d && (o.current = getComputedStyle(d)), n(d);\n }, [])\n };\n}\nfunction Bt(e) {\n return (e == null ? void 0 : e.animationName) || \"none\";\n}\nconst Cc = U[\"useId\".toString()] || (() => {\n});\nlet yc = 0;\nfunction ze(e) {\n const [t, n] = U.useState(Cc());\n return Ee(() => {\n e || n(\n (o) => o ?? String(yc++)\n );\n }, [\n e\n ]), e || (t ? `radix-${t}` : \"\");\n}\nconst fa = \"Collapsible\", [xc, va] = Ke(fa), [wc, vo] = xc(fa), _c = /* @__PURE__ */ X((e, t) => {\n const { __scopeCollapsible: n, open: o, defaultOpen: r, disabled: a, onOpenChange: s, ...i } = e, [l = !1, d] = He({\n prop: o,\n defaultProp: r,\n onChange: s\n });\n return /* @__PURE__ */ O(wc, {\n scope: n,\n disabled: a,\n contentId: ze(),\n open: l,\n onOpenToggle: ee(\n () => d(\n (u) => !u\n ),\n [\n d\n ]\n )\n }, /* @__PURE__ */ O(le.div, I({\n \"data-state\": po(l),\n \"data-disabled\": a ? \"\" : void 0\n }, i, {\n ref: t\n })));\n}), $c = \"CollapsibleTrigger\", kc = /* @__PURE__ */ X((e, t) => {\n const { __scopeCollapsible: n, ...o } = e, r = vo($c, n);\n return /* @__PURE__ */ O(le.button, I({\n type: \"button\",\n \"aria-controls\": r.contentId,\n \"aria-expanded\": r.open || !1,\n \"data-state\": po(r.open),\n \"data-disabled\": r.disabled ? \"\" : void 0,\n disabled: r.disabled\n }, o, {\n ref: t,\n onClick: re(e.onClick, r.onOpenToggle)\n }));\n}), pa = \"CollapsibleContent\", Sc = /* @__PURE__ */ X((e, t) => {\n const { forceMount: n, ...o } = e, r = vo(pa, e.__scopeCollapsible);\n return /* @__PURE__ */ O(\n xt,\n {\n present: n || r.open\n },\n ({ present: a }) => /* @__PURE__ */ O(Ec, I({}, o, {\n ref: t,\n present: a\n }))\n );\n}), Ec = /* @__PURE__ */ X((e, t) => {\n const { __scopeCollapsible: n, present: o, children: r, ...a } = e, s = vo(pa, n), [i, l] = G(o), d = Y(null), u = ge(t, d), f = Y(0), b = f.current, v = Y(0), g = v.current, p = s.open || i, y = Y(p), C = Y();\n return B(() => {\n const h = requestAnimationFrame(\n () => y.current = !1\n );\n return () => cancelAnimationFrame(h);\n }, []), Ee(() => {\n const h = d.current;\n if (h) {\n C.current = C.current || {\n transitionDuration: h.style.transitionDuration,\n animationName: h.style.animationName\n }, h.style.transitionDuration = \"0s\", h.style.animationName = \"none\";\n const x = h.getBoundingClientRect();\n f.current = x.height, v.current = x.width, y.current || (h.style.transitionDuration = C.current.transitionDuration, h.style.animationName = C.current.animationName), l(o);\n }\n }, [\n s.open,\n o\n ]), /* @__PURE__ */ O(le.div, I({\n \"data-state\": po(s.open),\n \"data-disabled\": s.disabled ? \"\" : void 0,\n id: s.contentId,\n hidden: !p\n }, a, {\n ref: u,\n style: {\n \"--radix-collapsible-content-height\": b ? `${b}px` : void 0,\n \"--radix-collapsible-content-width\": g ? `${g}px` : void 0,\n ...e.style\n }\n }), p && r);\n});\nfunction po(e) {\n return e ? \"open\" : \"closed\";\n}\nconst qc = _c, Oc = kc, Pc = Sc, Tc = /* @__PURE__ */ Be(void 0);\nfunction mn(e) {\n const t = Mt(Tc);\n return e || t || \"ltr\";\n}\nconst rt = \"Accordion\", jc = [\n \"Home\",\n \"End\",\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\"\n], [mo, Lc, Rc] = fo(rt), [gn, Pv] = Ke(rt, [\n Rc,\n va\n]), go = va(), ma = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { type: n, ...o } = e, r = o, a = o;\n return /* @__PURE__ */ D.createElement(mo.Provider, {\n scope: e.__scopeAccordion\n }, n === \"multiple\" ? /* @__PURE__ */ D.createElement(zc, I({}, a, {\n ref: t\n })) : /* @__PURE__ */ D.createElement(Mc, I({}, r, {\n ref: t\n })));\n});\nma.propTypes = {\n type(e) {\n const t = e.value || e.defaultValue;\n return e.type && ![\n \"single\",\n \"multiple\"\n ].includes(e.type) ? new Error(\"Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.\") : e.type === \"multiple\" && typeof t == \"string\" ? new Error(\"Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.\") : e.type === \"single\" && Array.isArray(t) ? new Error(\"Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.\") : null;\n }\n};\nconst [ga, Ac] = gn(rt), [ha, Ic] = gn(rt, {\n collapsible: !1\n}), Mc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { value: n, defaultValue: o, onValueChange: r = () => {\n }, collapsible: a = !1, ...s } = e, [i, l] = He({\n prop: n,\n defaultProp: o,\n onChange: r\n });\n return /* @__PURE__ */ D.createElement(ga, {\n scope: e.__scopeAccordion,\n value: i ? [\n i\n ] : [],\n onItemOpen: l,\n onItemClose: D.useCallback(\n () => a && l(\"\"),\n [\n a,\n l\n ]\n )\n }, /* @__PURE__ */ D.createElement(ha, {\n scope: e.__scopeAccordion,\n collapsible: a\n }, /* @__PURE__ */ D.createElement(ba, I({}, s, {\n ref: t\n }))));\n}), zc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { value: n, defaultValue: o, onValueChange: r = () => {\n }, ...a } = e, [s = [], i] = He({\n prop: n,\n defaultProp: o,\n onChange: r\n }), l = D.useCallback(\n (u) => i(\n (f = []) => [\n ...f,\n u\n ]\n ),\n [\n i\n ]\n ), d = D.useCallback(\n (u) => i(\n (f = []) => f.filter(\n (b) => b !== u\n )\n ),\n [\n i\n ]\n );\n return /* @__PURE__ */ D.createElement(ga, {\n scope: e.__scopeAccordion,\n value: s,\n onItemOpen: l,\n onItemClose: d\n }, /* @__PURE__ */ D.createElement(ha, {\n scope: e.__scopeAccordion,\n collapsible: !0\n }, /* @__PURE__ */ D.createElement(ba, I({}, a, {\n ref: t\n }))));\n}), [Nc, hn] = gn(rt), ba = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { __scopeAccordion: n, disabled: o, dir: r, orientation: a = \"vertical\", ...s } = e, i = D.useRef(null), l = ge(i, t), d = Lc(n), f = mn(r) === \"ltr\", b = re(e.onKeyDown, (v) => {\n var g;\n if (!jc.includes(v.key))\n return;\n const p = v.target, y = d().filter((j) => {\n var R;\n return !((R = j.ref.current) !== null && R !== void 0 && R.disabled);\n }), C = y.findIndex(\n (j) => j.ref.current === p\n ), h = y.length;\n if (C === -1)\n return;\n v.preventDefault();\n let x = C;\n const _ = 0, S = h - 1, w = () => {\n x = C + 1, x > S && (x = _);\n }, $ = () => {\n x = C - 1, x < _ && (x = S);\n };\n switch (v.key) {\n case \"Home\":\n x = _;\n break;\n case \"End\":\n x = S;\n break;\n case \"ArrowRight\":\n a === \"horizontal\" && (f ? w() : $());\n break;\n case \"ArrowDown\":\n a === \"vertical\" && w();\n break;\n case \"ArrowLeft\":\n a === \"horizontal\" && (f ? $() : w());\n break;\n case \"ArrowUp\":\n a === \"vertical\" && $();\n break;\n }\n const E = x % h;\n (g = y[E].ref.current) === null || g === void 0 || g.focus();\n });\n return /* @__PURE__ */ D.createElement(Nc, {\n scope: n,\n disabled: o,\n direction: r,\n orientation: a\n }, /* @__PURE__ */ D.createElement(mo.Slot, {\n scope: n\n }, /* @__PURE__ */ D.createElement(le.div, I({}, s, {\n \"data-orientation\": a,\n ref: l,\n onKeyDown: o ? void 0 : b\n }))));\n}), Zn = \"AccordionItem\", [Dc, ho] = gn(Zn), Fc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { __scopeAccordion: n, value: o, ...r } = e, a = hn(Zn, n), s = Ac(Zn, n), i = go(n), l = ze(), d = o && s.value.includes(o) || !1, u = a.disabled || e.disabled;\n return /* @__PURE__ */ D.createElement(Dc, {\n scope: n,\n open: d,\n disabled: u,\n triggerId: l\n }, /* @__PURE__ */ D.createElement(qc, I({\n \"data-orientation\": a.orientation,\n \"data-state\": Ca(d)\n }, i, r, {\n ref: t,\n disabled: u,\n open: d,\n onOpenChange: (f) => {\n f ? s.onItemOpen(o) : s.onItemClose(o);\n }\n })));\n}), Vc = \"AccordionHeader\", Bc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { __scopeAccordion: n, ...o } = e, r = hn(rt, n), a = ho(Vc, n);\n return /* @__PURE__ */ D.createElement(le.h3, I({\n \"data-orientation\": r.orientation,\n \"data-state\": Ca(a.open),\n \"data-disabled\": a.disabled ? \"\" : void 0\n }, o, {\n ref: t\n }));\n}), ar = \"AccordionTrigger\", Hc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { __scopeAccordion: n, ...o } = e, r = hn(rt, n), a = ho(ar, n), s = Ic(ar, n), i = go(n);\n return /* @__PURE__ */ D.createElement(mo.ItemSlot, {\n scope: n\n }, /* @__PURE__ */ D.createElement(Oc, I({\n \"aria-disabled\": a.open && !s.collapsible || void 0,\n \"data-orientation\": r.orientation,\n id: a.triggerId\n }, i, o, {\n ref: t\n })));\n}), Uc = \"AccordionContent\", Wc = /* @__PURE__ */ D.forwardRef((e, t) => {\n const { __scopeAccordion: n, ...o } = e, r = hn(rt, n), a = ho(Uc, n), s = go(n);\n return /* @__PURE__ */ D.createElement(Pc, I({\n role: \"region\",\n \"aria-labelledby\": a.triggerId,\n \"data-orientation\": r.orientation\n }, s, o, {\n ref: t,\n style: {\n \"--radix-accordion-content-height\": \"var(--radix-collapsible-content-height)\",\n \"--radix-accordion-content-width\": \"var(--radix-collapsible-content-width)\",\n ...e.style\n }\n }));\n});\nfunction Ca(e) {\n return e ? \"open\" : \"closed\";\n}\nconst Gc = ma, Kc = Fc, Zc = Bc, Yc = Hc, Xc = Wc;\nvar Jc = \"pb2eps4\", Qc = \"pb2eps5\", el = \"pb2eps2\", tl = \"pb2eps3\";\nconst nl = ({ items: e, className: t, itemClassName: n }) => /* @__PURE__ */ c.jsx(\n Gc,\n {\n className: Q(\"sid-accordion\", t),\n type: \"multiple\",\n children: e.map(({ value: o, trigger: r, icon: a, content: s }) => /* @__PURE__ */ c.jsxs(Kc, { value: o, className: n, children: [\n /* @__PURE__ */ c.jsxs(Zc, { className: el, children: [\n /* @__PURE__ */ c.jsxs(Yc, { className: tl, children: [\n /* @__PURE__ */ c.jsx(na, { className: Jc }),\n r\n ] }),\n a && /* @__PURE__ */ c.jsx(\"div\", { children: a })\n ] }),\n /* @__PURE__ */ c.jsx(Xc, { className: Qc, children: s })\n ] }, o))\n }\n);\nfunction ya(e, t = globalThis == null ? void 0 : globalThis.document) {\n const n = Se(e);\n B(() => {\n const o = (r) => {\n r.key === \"Escape\" && n(r);\n };\n return t.addEventListener(\"keydown\", o), () => t.removeEventListener(\"keydown\", o);\n }, [\n n,\n t\n ]);\n}\nconst Yn = \"dismissableLayer.update\", ol = \"dismissableLayer.pointerDownOutside\", rl = \"dismissableLayer.focusOutside\";\nlet ir;\nconst al = /* @__PURE__ */ Be({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n}), il = /* @__PURE__ */ X((e, t) => {\n var n;\n const { disableOutsidePointerEvents: o = !1, onEscapeKeyDown: r, onPointerDownOutside: a, onFocusOutside: s, onInteractOutside: i, onDismiss: l, ...d } = e, u = Mt(al), [f, b] = G(null), v = (n = f == null ? void 0 : f.ownerDocument) !== null && n !== void 0 ? n : globalThis == null ? void 0 : globalThis.document, [, g] = G({}), p = ge(\n t,\n (E) => b(E)\n ), y = Array.from(u.layers), [C] = [\n ...u.layersWithOutsidePointerEventsDisabled\n ].slice(-1), h = y.indexOf(C), x = f ? y.indexOf(f) : -1, _ = u.layersWithOutsidePointerEventsDisabled.size > 0, S = x >= h, w = sl((E) => {\n const j = E.target, R = [\n ...u.branches\n ].some(\n (A) => A.contains(j)\n );\n !S || R || (a == null || a(E), i == null || i(E), E.defaultPrevented || l == null || l());\n }, v), $ = cl((E) => {\n const j = E.target;\n [\n ...u.branches\n ].some(\n (A) => A.contains(j)\n ) || (s == null || s(E), i == null || i(E), E.defaultPrevented || l == null || l());\n }, v);\n return ya((E) => {\n x === u.layers.size - 1 && (r == null || r(E), !E.defaultPrevented && l && (E.preventDefault(), l()));\n }, v), B(() => {\n if (f)\n return o && (u.layersWithOutsidePointerEventsDisabled.size === 0 && (ir = v.body.style.pointerEvents, v.body.style.pointerEvents = \"none\"), u.layersWithOutsidePointerEventsDisabled.add(f)), u.layers.add(f), sr(), () => {\n o && u.layersWithOutsidePointerEventsDisabled.size === 1 && (v.body.style.pointerEvents = ir);\n };\n }, [\n f,\n v,\n o,\n u\n ]), B(() => () => {\n f && (u.layers.delete(f), u.layersWithOutsidePointerEventsDisabled.delete(f), sr());\n }, [\n f,\n u\n ]), B(() => {\n const E = () => g({});\n return document.addEventListener(Yn, E), () => document.removeEventListener(Yn, E);\n }, []), /* @__PURE__ */ O(le.div, I({}, d, {\n ref: p,\n style: {\n pointerEvents: _ ? S ? \"auto\" : \"none\" : void 0,\n ...e.style\n },\n onFocusCapture: re(e.onFocusCapture, $.onFocusCapture),\n onBlurCapture: re(e.onBlurCapture, $.onBlurCapture),\n onPointerDownCapture: re(e.onPointerDownCapture, w.onPointerDownCapture)\n }));\n});\nfunction sl(e, t = globalThis == null ? void 0 : globalThis.document) {\n const n = Se(e), o = Y(!1), r = Y(() => {\n });\n return B(() => {\n const a = (i) => {\n if (i.target && !o.current) {\n let d = function() {\n xa(ol, n, l, {\n discrete: !0\n });\n };\n const l = {\n originalEvent: i\n };\n i.pointerType === \"touch\" ? (t.removeEventListener(\"click\", r.current), r.current = d, t.addEventListener(\"click\", r.current, {\n once: !0\n })) : d();\n } else\n t.removeEventListener(\"click\", r.current);\n o.current = !1;\n }, s = window.setTimeout(() => {\n t.addEventListener(\"pointerdown\", a);\n }, 0);\n return () => {\n window.clearTimeout(s), t.removeEventListener(\"pointerdown\", a), t.removeEventListener(\"click\", r.current);\n };\n }, [\n t,\n n\n ]), {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => o.current = !0\n };\n}\nfunction cl(e, t = globalThis == null ? void 0 : globalThis.document) {\n const n = Se(e), o = Y(!1);\n return B(() => {\n const r = (a) => {\n a.target && !o.current && xa(rl, n, {\n originalEvent: a\n }, {\n discrete: !1\n });\n };\n return t.addEventListener(\"focusin\", r), () => t.removeEventListener(\"focusin\", r);\n }, [\n t,\n n\n ]), {\n onFocusCapture: () => o.current = !0,\n onBlurCapture: () => o.current = !1\n };\n}\nfunction sr() {\n const e = new CustomEvent(Yn);\n document.dispatchEvent(e);\n}\nfunction xa(e, t, n, { discrete: o }) {\n const r = n.originalEvent.target, a = new CustomEvent(e, {\n bubbles: !1,\n cancelable: !0,\n detail: n\n });\n t && r.addEventListener(e, t, {\n once: !0\n }), o ? ua(r, a) : r.dispatchEvent(a);\n}\nconst Tn = \"focusScope.autoFocusOnMount\", jn = \"focusScope.autoFocusOnUnmount\", cr = {\n bubbles: !1,\n cancelable: !0\n}, ll = /* @__PURE__ */ X((e, t) => {\n const { loop: n = !1, trapped: o = !1, onMountAutoFocus: r, onUnmountAutoFocus: a, ...s } = e, [i, l] = G(null), d = Se(r), u = Se(a), f = Y(null), b = ge(\n t,\n (p) => l(p)\n ), v = Y({\n paused: !1,\n pause() {\n this.paused = !0;\n },\n resume() {\n this.paused = !1;\n }\n }).current;\n B(() => {\n if (o) {\n let p = function(x) {\n if (v.paused || !i)\n return;\n const _ = x.target;\n i.contains(_) ? f.current = _ : Qe(f.current, {\n select: !0\n });\n }, y = function(x) {\n if (v.paused || !i)\n return;\n const _ = x.relatedTarget;\n _ !== null && (i.contains(_) || Qe(f.current, {\n select: !0\n }));\n }, C = function(x) {\n if (document.activeElement === document.body)\n for (const S of x)\n S.removedNodes.length > 0 && Qe(i);\n };\n document.addEventListener(\"focusin\", p), document.addEventListener(\"focusout\", y);\n const h = new MutationObserver(C);\n return i && h.observe(i, {\n childList: !0,\n subtree: !0\n }), () => {\n document.removeEventListener(\"focusin\", p), document.removeEventListener(\"focusout\", y), h.disconnect();\n };\n }\n }, [\n o,\n i,\n v.paused\n ]), B(() => {\n if (i) {\n dr.add(v);\n const p = document.activeElement;\n if (!i.contains(p)) {\n const C = new CustomEvent(Tn, cr);\n i.addEventListener(Tn, d), i.dispatchEvent(C), C.defaultPrevented || (dl(ml(wa(i)), {\n select: !0\n }), document.activeElement === p && Qe(i));\n }\n return () => {\n i.removeEventListener(Tn, d), setTimeout(() => {\n const C = new CustomEvent(jn, cr);\n i.addEventListener(jn, u), i.dispatchEvent(C), C.defaultPrevented || Qe(p ?? document.body, {\n select: !0\n }), i.removeEventListener(jn, u), dr.remove(v);\n }, 0);\n };\n }\n }, [\n i,\n d,\n u,\n v\n ]);\n const g = ee((p) => {\n if (!n && !o || v.paused)\n return;\n const y = p.key === \"Tab\" && !p.altKey && !p.ctrlKey && !p.metaKey, C = document.activeElement;\n if (y && C) {\n const h = p.currentTarget, [x, _] = ul(h);\n x && _ ? !p.shiftKey && C === _ ? (p.preventDefault(), n && Qe(x, {\n select: !0\n })) : p.shiftKey && C === x && (p.preventDefault(), n && Qe(_, {\n select: !0\n })) : C === h && p.preventDefault();\n }\n }, [\n n,\n o,\n v.paused\n ]);\n return /* @__PURE__ */ O(le.div, I({\n tabIndex: -1\n }, s, {\n ref: b,\n onKeyDown: g\n }));\n});\nfunction dl(e, { select: t = !1 } = {}) {\n const n = document.activeElement;\n for (const o of e)\n if (Qe(o, {\n select: t\n }), document.activeElement !== n)\n return;\n}\nfunction ul(e) {\n const t = wa(e), n = lr(t, e), o = lr(t.reverse(), e);\n return [\n n,\n o\n ];\n}\nfunction wa(e) {\n const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (o) => {\n const r = o.tagName === \"INPUT\" && o.type === \"hidden\";\n return o.disabled || o.hidden || r ? NodeFilter.FILTER_SKIP : o.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n for (; n.nextNode(); )\n t.push(n.currentNode);\n return t;\n}\nfunction lr(e, t) {\n for (const n of e)\n if (!fl(n, {\n upTo: t\n }))\n return n;\n}\nfunction fl(e, { upTo: t }) {\n if (getComputedStyle(e).visibility === \"hidden\")\n return !0;\n for (; e; ) {\n if (t !== void 0 && e === t)\n return !1;\n if (getComputedStyle(e).display === \"none\")\n return !0;\n e = e.parentElement;\n }\n return !1;\n}\nfunction vl(e) {\n return e instanceof HTMLInputElement && \"select\" in e;\n}\nfunction Qe(e, { select: t = !1 } = {}) {\n if (e && e.focus) {\n const n = document.activeElement;\n e.focus({\n preventScroll: !0\n }), e !== n && vl(e) && t && e.select();\n }\n}\nconst dr = pl();\nfunction pl() {\n let e = [];\n return {\n add(t) {\n const n = e[0];\n t !== n && (n == null || n.pause()), e = ur(e, t), e.unshift(t);\n },\n remove(t) {\n var n;\n e = ur(e, t), (n = e[0]) === null || n === void 0 || n.resume();\n }\n };\n}\nfunction ur(e, t) {\n const n = [\n ...e\n ], o = n.indexOf(t);\n return o !== -1 && n.splice(o, 1), n;\n}\nfunction ml(e) {\n return e.filter(\n (t) => t.tagName !== \"A\"\n );\n}\nconst gl = /* @__PURE__ */ X((e, t) => {\n var n;\n const { container: o = globalThis == null || (n = globalThis.document) === null || n === void 0 ? void 0 : n.body, ...r } = e;\n return o ? /* @__PURE__ */ Ls.createPortal(/* @__PURE__ */ O(le.div, I({}, r, {\n ref: t\n })), o) : null;\n});\nlet Ln = 0;\nfunction _a() {\n B(() => {\n var e, t;\n const n = document.querySelectorAll(\"[data-radix-focus-guard]\");\n return document.body.insertAdjacentElement(\"afterbegin\", (e = n[0]) !== null && e !== void 0 ? e : fr()), document.body.insertAdjacentElement(\"beforeend\", (t = n[1]) !== null && t !== void 0 ? t : fr()), Ln++, () => {\n Ln === 1 && document.querySelectorAll(\"[data-radix-focus-guard]\").forEach(\n (o) => o.remove()\n ), Ln--;\n };\n }, []);\n}\nfunction fr() {\n const e = document.createElement(\"span\");\n return e.setAttribute(\"data-radix-focus-guard\", \"\"), e.tabIndex = 0, e.style.cssText = \"outline: none; opacity: 0; position: fixed; pointer-events: none\", e;\n}\nvar Me = function() {\n return Me = Object.assign || function(t) {\n for (var n, o = 1, r = arguments.length; o < r; o++) {\n n = arguments[o];\n for (var a in n)\n Object.prototype.hasOwnProperty.call(n, a) && (t[a] = n[a]);\n }\n return t;\n }, Me.apply(this, arguments);\n};\nfunction $a(e, t) {\n var n = {};\n for (var o in e)\n Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (n[o] = e[o]);\n if (e != null && typeof Object.getOwnPropertySymbols == \"function\")\n for (var r = 0, o = Object.getOwnPropertySymbols(e); r < o.length; r++)\n t.indexOf(o[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[r]) && (n[o[r]] = e[o[r]]);\n return n;\n}\nfunction hl(e, t, n) {\n if (n || arguments.length === 2)\n for (var o = 0, r = t.length, a; o < r; o++)\n (a || !(o in t)) && (a || (a = Array.prototype.slice.call(t, 0, o)), a[o] = t[o]);\n return e.concat(a || Array.prototype.slice.call(t));\n}\nvar Xt = \"right-scroll-bar-position\", Jt = \"width-before-scroll-bar\", bl = \"with-scroll-bars-hidden\", Cl = \"--removed-body-scroll-bar-size\";\nfunction Rn(e, t) {\n return typeof e == \"function\" ? e(t) : e && (e.current = t), e;\n}\nfunction yl(e, t) {\n var n = G(function() {\n return {\n // value\n value: e,\n // last callback\n callback: t,\n // \"memoized\" public interface\n facade: {\n get current() {\n return n.value;\n },\n set current(o) {\n var r = n.value;\n r !== o && (n.value = o, n.callback(o, r));\n }\n }\n };\n })[0];\n return n.callback = t, n.facade;\n}\nvar vr = /* @__PURE__ */ new WeakMap();\nfunction xl(e, t) {\n var n = yl(t || null, function(o) {\n return e.forEach(function(r) {\n return Rn(r, o);\n });\n });\n return U.useLayoutEffect(function() {\n var o = vr.get(n);\n if (o) {\n var r = new Set(o), a = new Set(e), s = n.current;\n r.forEach(function(i) {\n a.has(i) || Rn(i, null);\n }), a.forEach(function(i) {\n r.has(i) || Rn(i, s);\n });\n }\n vr.set(n, e);\n }, [e]), n;\n}\nfunction wl(e) {\n return e;\n}\nfunction _l(e, t) {\n t === void 0 && (t = wl);\n var n = [], o = !1, r = {\n read: function() {\n if (o)\n throw new Error(\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\");\n return n.length ? n[n.length - 1] : e;\n },\n useMedium: function(a) {\n var s = t(a, o);\n return n.push(s), function() {\n n = n.filter(function(i) {\n return i !== s;\n });\n };\n },\n assignSyncMedium: function(a) {\n for (o = !0; n.length; ) {\n var s = n;\n n = [], s.forEach(a);\n }\n n = {\n push: function(i) {\n return a(i);\n },\n filter: function() {\n return n;\n }\n };\n },\n assignMedium: function(a) {\n o = !0;\n var s = [];\n if (n.length) {\n var i = n;\n n = [], i.forEach(a), s = n;\n }\n var l = function() {\n var u = s;\n s = [], u.forEach(a);\n }, d = function() {\n return Promise.resolve().then(l);\n };\n d(), n = {\n push: function(u) {\n s.push(u), d();\n },\n filter: function(u) {\n return s = s.filter(u), n;\n }\n };\n }\n };\n return r;\n}\nfunction $l(e) {\n e === void 0 && (e = {});\n var t = _l(null);\n return t.options = Me({ async: !0, ssr: !1 }, e), t;\n}\nvar ka = function(e) {\n var t = e.sideCar, n = $a(e, [\"sideCar\"]);\n if (!t)\n throw new Error(\"Sidecar: please provide `sideCar` property to import the right car\");\n var o = t.read();\n if (!o)\n throw new Error(\"Sidecar medium not found\");\n return U.createElement(o, Me({}, n));\n};\nka.isSideCarExport = !0;\nfunction kl(e, t) {\n return e.useMedium(t), ka;\n}\nvar Sa = $l(), An = function() {\n}, bn = U.forwardRef(function(e, t) {\n var n = U.useRef(null), o = U.useState({\n onScrollCapture: An,\n onWheelCapture: An,\n onTouchMoveCapture: An\n }), r = o[0], a = o[1], s = e.forwardProps, i = e.children, l = e.className, d = e.removeScrollBar, u = e.enabled, f = e.shards, b = e.sideCar, v = e.noIsolation, g = e.inert, p = e.allowPinchZoom, y = e.as, C = y === void 0 ? \"div\" : y, h = $a(e, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]), x = b, _ = xl([n, t]), S = Me(Me({}, h), r);\n return U.createElement(\n U.Fragment,\n null,\n u && U.createElement(x, { sideCar: Sa, removeScrollBar: d, shards: f, noIsolation: v, inert: g, setCallbacks: a, allowPinchZoom: !!p, lockRef: n }),\n s ? U.cloneElement(U.Children.only(i), Me(Me({}, S), { ref: _ })) : U.createElement(C, Me({}, S, { className: l, ref: _ }), i)\n );\n});\nbn.defaultProps = {\n enabled: !0,\n removeScrollBar: !0,\n inert: !1\n};\nbn.classNames = {\n fullWidth: Jt,\n zeroRight: Xt\n};\nvar pr, Sl = function() {\n if (pr)\n return pr;\n if (typeof __webpack_nonce__ < \"u\")\n return __webpack_nonce__;\n};\nfunction El() {\n if (!document)\n return null;\n var e = document.createElement(\"style\");\n e.type = \"text/css\";\n var t = Sl();\n return t && e.setAttribute(\"nonce\", t), e;\n}\nfunction ql(e, t) {\n e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));\n}\nfunction Ol(e) {\n var t = document.head || document.getElementsByTagName(\"head\")[0];\n t.appendChild(e);\n}\nvar Pl = function() {\n var e = 0, t = null;\n return {\n add: function(n) {\n e == 0 && (t = El()) && (ql(t, n), Ol(t)), e++;\n },\n remove: function() {\n e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);\n }\n };\n}, Tl = function() {\n var e = Pl();\n return function(t, n) {\n U.useEffect(function() {\n return e.add(t), function() {\n e.remove();\n };\n }, [t && n]);\n };\n}, Ea = function() {\n var e = Tl(), t = function(n) {\n var o = n.styles, r = n.dynamic;\n return e(o, r), null;\n };\n return t;\n}, jl = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n}, In = function(e) {\n return parseInt(e || \"\", 10) || 0;\n}, Ll = function(e) {\n var t = window.getComputedStyle(document.body), n = t[e === \"padding\" ? \"paddingLeft\" : \"marginLeft\"], o = t[e === \"padding\" ? \"paddingTop\" : \"marginTop\"], r = t[e === \"padding\" ? \"paddingRight\" : \"marginRight\"];\n return [In(n), In(o), In(r)];\n}, Rl = function(e) {\n if (e === void 0 && (e = \"margin\"), typeof window > \"u\")\n return jl;\n var t = Ll(e), n = document.documentElement.clientWidth, o = window.innerWidth;\n return {\n left: t[0],\n top: t[1],\n right: t[2],\n gap: Math.max(0, o - n + t[2] - t[0])\n };\n}, Al = Ea(), Il = function(e, t, n, o) {\n var r = e.left, a = e.top, s = e.right, i = e.gap;\n return n === void 0 && (n = \"margin\"), `\n .`.concat(bl, ` {\n overflow: hidden `).concat(o, `;\n padding-right: `).concat(i, \"px \").concat(o, `;\n }\n body {\n overflow: hidden `).concat(o, `;\n overscroll-behavior: contain;\n `).concat([\n t && \"position: relative \".concat(o, \";\"),\n n === \"margin\" && `\n padding-left: `.concat(r, `px;\n padding-top: `).concat(a, `px;\n padding-right: `).concat(s, `px;\n margin-left:0;\n margin-top:0;\n margin-right: `).concat(i, \"px \").concat(o, `;\n `),\n n === \"padding\" && \"padding-right: \".concat(i, \"px \").concat(o, \";\")\n ].filter(Boolean).join(\"\"), `\n }\n \n .`).concat(Xt, ` {\n right: `).concat(i, \"px \").concat(o, `;\n }\n \n .`).concat(Jt, ` {\n margin-right: `).concat(i, \"px \").concat(o, `;\n }\n \n .`).concat(Xt, \" .\").concat(Xt, ` {\n right: 0 `).concat(o, `;\n }\n \n .`).concat(Jt, \" .\").concat(Jt, ` {\n margin-right: 0 `).concat(o, `;\n }\n \n body {\n `).concat(Cl, \": \").concat(i, `px;\n }\n`);\n}, Ml = function(e) {\n var t = e.noRelative, n = e.noImportant, o = e.gapMode, r = o === void 0 ? \"margin\" : o, a = U.useMemo(function() {\n return Rl(r);\n }, [r]);\n return U.createElement(Al, { styles: Il(a, !t, r, n ? \"\" : \"!important\") });\n}, Xn = !1;\nif (typeof window < \"u\")\n try {\n var Ht = Object.defineProperty({}, \"passive\", {\n get: function() {\n return Xn = !0, !0;\n }\n });\n window.addEventListener(\"test\", Ht, Ht), window.removeEventListener(\"test\", Ht, Ht);\n } catch {\n Xn = !1;\n }\nvar ft = Xn ? { passive: !1 } : !1, zl = function(e) {\n return e.tagName === \"TEXTAREA\";\n}, qa = function(e, t) {\n var n = window.getComputedStyle(e);\n return (\n // not-not-scrollable\n n[t] !== \"hidden\" && // contains scroll inside self\n !(n.overflowY === n.overflowX && !zl(e) && n[t] === \"visible\")\n );\n}, Nl = function(e) {\n return qa(e, \"overflowY\");\n}, Dl = function(e) {\n return qa(e, \"overflowX\");\n}, mr = function(e, t) {\n var n = t;\n do {\n typeof ShadowRoot < \"u\" && n instanceof ShadowRoot && (n = n.host);\n var o = Oa(e, n);\n if (o) {\n var r = Pa(e, n), a = r[1], s = r[2];\n if (a > s)\n return !0;\n }\n n = n.parentNode;\n } while (n && n !== document.body);\n return !1;\n}, Fl = function(e) {\n var t = e.scrollTop, n = e.scrollHeight, o = e.clientHeight;\n return [\n t,\n n,\n o\n ];\n}, Vl = function(e) {\n var t = e.scrollLeft, n = e.scrollWidth, o = e.clientWidth;\n return [\n t,\n n,\n o\n ];\n}, Oa = function(e, t) {\n return e === \"v\" ? Nl(t) : Dl(t);\n}, Pa = function(e, t) {\n return e === \"v\" ? Fl(t) : Vl(t);\n}, Bl = function(e, t) {\n return e === \"h\" && t === \"rtl\" ? -1 : 1;\n}, Hl = function(e, t, n, o, r) {\n var a = Bl(e, window.getComputedStyle(t).direction), s = a * o, i = n.target, l = t.contains(i), d = !1, u = s > 0, f = 0, b = 0;\n do {\n var v = Pa(e, i), g = v[0], p = v[1], y = v[2], C = p - y - a * g;\n (g || C) && Oa(e, i) && (f += C, b += g), i = i.parentNode;\n } while (\n // portaled content\n !l && i !== document.body || // self content\n l && (t.contains(i) || t === i)\n );\n return (u && (r && f === 0 || !r && s > f) || !u && (r && b === 0 || !r && -s > b)) && (d = !0), d;\n}, Ut = function(e) {\n return \"changedTouches\" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];\n}, gr = function(e) {\n return [e.deltaX, e.deltaY];\n}, hr = function(e) {\n return e && \"current\" in e ? e.current : e;\n}, Ul = function(e, t) {\n return e[0] === t[0] && e[1] === t[1];\n}, Wl = function(e) {\n return `\n .block-interactivity-`.concat(e, ` {pointer-events: none;}\n .allow-interactivity-`).concat(e, ` {pointer-events: all;}\n`);\n}, Gl = 0, vt = [];\nfunction Kl(e) {\n var t = U.useRef([]), n = U.useRef([0, 0]), o = U.useRef(), r = U.useState(Gl++)[0], a = U.useState(function() {\n return Ea();\n })[0], s = U.useRef(e);\n U.useEffect(function() {\n s.current = e;\n }, [e]), U.useEffect(function() {\n if (e.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(r));\n var p = hl([e.lockRef.current], (e.shards || []).map(hr), !0).filter(Boolean);\n return p.forEach(function(y) {\n return y.classList.add(\"allow-interactivity-\".concat(r));\n }), function() {\n document.body.classList.remove(\"block-interactivity-\".concat(r)), p.forEach(function(y) {\n return y.classList.remove(\"allow-interactivity-\".concat(r));\n });\n };\n }\n }, [e.inert, e.lockRef.current, e.shards]);\n var i = U.useCallback(function(p, y) {\n if (\"touches\" in p && p.touches.length === 2)\n return !s.current.allowPinchZoom;\n var C = Ut(p), h = n.current, x = \"deltaX\" in p ? p.deltaX : h[0] - C[0], _ = \"deltaY\" in p ? p.deltaY : h[1] - C[1], S, w = p.target, $ = Math.abs(x) > Math.abs(_) ? \"h\" : \"v\";\n if (\"touches\" in p && $ === \"h\" && w.type === \"range\")\n return !1;\n var E = mr($, w);\n if (!E)\n return !0;\n if (E ? S = $ : (S = $ === \"v\" ? \"h\" : \"v\", E = mr($, w)), !E)\n return !1;\n if (!o.current && \"changedTouches\" in p && (x || _) && (o.current = S), !S)\n return !0;\n var j = o.current || S;\n return Hl(j, y, p, j === \"h\" ? x : _, !0);\n }, []), l = U.useCallback(function(p) {\n var y = p;\n if (!(!vt.length || vt[vt.length - 1] !== a)) {\n var C = \"deltaY\" in y ? gr(y) : Ut(y), h = t.current.filter(function(S) {\n return S.name === y.type && S.target === y.target && Ul(S.delta, C);\n })[0];\n if (h && h.should) {\n y.cancelable && y.preventDefault();\n return;\n }\n if (!h) {\n var x = (s.current.shards || []).map(hr).filter(Boolean).filter(function(S) {\n return S.contains(y.target);\n }), _ = x.length > 0 ? i(y, x[0]) : !s.current.noIsolation;\n _ && y.cancelable && y.preventDefault();\n }\n }\n }, []), d = U.useCallback(function(p, y, C, h) {\n var x = { name: p, delta: y, target: C, should: h };\n t.current.push(x), setTimeout(function() {\n t.current = t.current.filter(function(_) {\n return _ !== x;\n });\n }, 1);\n }, []), u = U.useCallback(function(p) {\n n.current = Ut(p), o.current = void 0;\n }, []), f = U.useCallback(function(p) {\n d(p.type, gr(p), p.target, i(p, e.lockRef.current));\n }, []), b = U.useCallback(function(p) {\n d(p.type, Ut(p), p.target, i(p, e.lockRef.current));\n }, []);\n U.useEffect(function() {\n return vt.push(a), e.setCallbacks({\n onScrollCapture: f,\n onWheelCapture: f,\n onTouchMoveCapture: b\n }), document.addEventListener(\"wheel\", l, ft), document.addEventListener(\"touchmove\", l, ft), document.addEventListener(\"touchstart\", u, ft), function() {\n vt = vt.filter(function(p) {\n return p !== a;\n }), document.removeEventListener(\"wheel\", l, ft), document.removeEventListener(\"touchmove\", l, ft), document.removeEventListener(\"touchstart\", u, ft);\n };\n }, []);\n var v = e.removeScrollBar, g = e.inert;\n return U.createElement(\n U.Fragment,\n null,\n g ? U.createElement(a, { styles: Wl(r) }) : null,\n v ? U.createElement(Ml, { gapMode: \"margin\" }) : null\n );\n}\nconst Zl = kl(Sa, Kl);\nvar Ta = U.forwardRef(function(e, t) {\n return U.createElement(bn, Me({}, e, { ref: t, sideCar: Zl }));\n});\nTa.classNames = bn.classNames;\nconst ja = Ta;\nvar Yl = function(e) {\n if (typeof document > \"u\")\n return null;\n var t = Array.isArray(e) ? e[0] : e;\n return t.ownerDocument.body;\n}, pt = /* @__PURE__ */ new WeakMap(), Wt = /* @__PURE__ */ new WeakMap(), Gt = {}, Mn = 0, La = function(e) {\n return e && (e.host || La(e.parentNode));\n}, Xl = function(e, t) {\n return t.map(function(n) {\n if (e.contains(n))\n return n;\n var o = La(n);\n return o && e.contains(o) ? o : (console.error(\"aria-hidden\", n, \"in not contained inside\", e, \". Doing nothing\"), null);\n }).filter(function(n) {\n return !!n;\n });\n}, Jl = function(e, t, n, o) {\n var r = Xl(t, Array.isArray(e) ? e : [e]);\n Gt[n] || (Gt[n] = /* @__PURE__ */ new WeakMap());\n var a = Gt[n], s = [], i = /* @__PURE__ */ new Set(), l = new Set(r), d = function(f) {\n !f || i.has(f) || (i.add(f), d(f.parentNode));\n };\n r.forEach(d);\n var u = function(f) {\n !f || l.has(f) || Array.prototype.forEach.call(f.children, function(b) {\n if (i.has(b))\n u(b);\n else {\n var v = b.getAttribute(o), g = v !== null && v !== \"false\", p = (pt.get(b) || 0) + 1, y = (a.get(b) || 0) + 1;\n pt.set(b, p), a.set(b, y), s.push(b), p === 1 && g && Wt.set(b, !0), y === 1 && b.setAttribute(n, \"true\"), g || b.setAttribute(o, \"true\");\n }\n });\n };\n return u(t), i.clear(), Mn++, function() {\n s.forEach(function(f) {\n var b = pt.get(f) - 1, v = a.get(f) - 1;\n pt.set(f, b), a.set(f, v), b || (Wt.has(f) || f.removeAttribute(o), Wt.delete(f)), v || f.removeAttribute(n);\n }), Mn--, Mn || (pt = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), Wt = /* @__PURE__ */ new WeakMap(), Gt = {});\n };\n}, Ra = function(e, t, n) {\n n === void 0 && (n = \"data-aria-hidden\");\n var o = Array.from(Array.isArray(e) ? e : [e]), r = t || Yl(e);\n return r ? (o.push.apply(o, Array.from(r.querySelectorAll(\"[aria-live]\"))), Jl(o, r, n, \"aria-hidden\")) : function() {\n return null;\n };\n};\nconst Aa = \"Dialog\", [Ia, Tv] = Ke(Aa), [Ql, Ze] = Ia(Aa), ed = (e) => {\n const { __scopeDialog: t, children: n, open: o, defaultOpen: r, onOpenChange: a, modal: s = !0 } = e, i = Y(null), l = Y(null), [d = !1, u] = He({\n prop: o,\n defaultProp: r,\n onChange: a\n });\n return /* @__PURE__ */ O(Ql, {\n scope: t,\n triggerRef: i,\n contentRef: l,\n contentId: ze(),\n titleId: ze(),\n descriptionId: ze(),\n open: d,\n onOpenChange: u,\n onOpenToggle: ee(\n () => u(\n (f) => !f\n ),\n [\n u\n ]\n ),\n modal: s\n }, n);\n}, td = \"DialogTrigger\", nd = /* @__PURE__ */ X((e, t) => {\n const { __scopeDialog: n, ...o } = e, r = Ze(td, n), a = ge(t, r.triggerRef);\n return /* @__PURE__ */ O(le.button, I({\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": r.open,\n \"aria-controls\": r.contentId,\n \"data-state\": bo(r.open)\n }, o, {\n ref: a,\n onClick: re(e.onClick, r.onOpenToggle)\n }));\n}), Ma = \"DialogPortal\", [od, za] = Ia(Ma, {\n forceMount: void 0\n}), rd = (e) => {\n const { __scopeDialog: t, forceMount: n, children: o, container: r } = e, a = Ze(Ma, t);\n return /* @__PURE__ */ O(od, {\n scope: t,\n forceMount: n\n }, Re.map(\n o,\n (s) => /* @__PURE__ */ O(xt, {\n present: n || a.open\n }, /* @__PURE__ */ O(gl, {\n asChild: !0,\n container: r\n }, s))\n ));\n}, Jn = \"DialogOverlay\", ad = /* @__PURE__ */ X((e, t) => {\n const n = za(Jn, e.__scopeDialog), { forceMount: o = n.forceMount, ...r } = e, a = Ze(Jn, e.__scopeDialog);\n return a.modal ? /* @__PURE__ */ O(xt, {\n present: o || a.open\n }, /* @__PURE__ */ O(id, I({}, r, {\n ref: t\n }))) : null;\n}), id = /* @__PURE__ */ X((e, t) => {\n const { __scopeDialog: n, ...o } = e, r = Ze(Jn, n);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ O(ja, {\n as: ht,\n allowPinchZoom: !0,\n shards: [\n r.contentRef\n ]\n }, /* @__PURE__ */ O(le.div, I({\n \"data-state\": bo(r.open)\n }, o, {\n ref: t,\n style: {\n pointerEvents: \"auto\",\n ...o.style\n }\n })))\n );\n}), Lt = \"DialogContent\", sd = /* @__PURE__ */ X((e, t) => {\n const n = za(Lt, e.__scopeDialog), { forceMount: o = n.forceMount, ...r } = e, a = Ze(Lt, e.__scopeDialog);\n return /* @__PURE__ */ O(xt, {\n present: o || a.open\n }, a.modal ? /* @__PURE__ */ O(cd, I({}, r, {\n ref: t\n })) : /* @__PURE__ */ O(ld, I({}, r, {\n ref: t\n })));\n}), cd = /* @__PURE__ */ X((e, t) => {\n const n = Ze(Lt, e.__scopeDialog), o = Y(null), r = ge(t, n.contentRef, o);\n return B(() => {\n const a = o.current;\n if (a)\n return Ra(a);\n }, []), /* @__PURE__ */ O(Na, I({}, e, {\n ref: r,\n trapFocus: n.open,\n disableOutsidePointerEvents: !0,\n onCloseAutoFocus: re(e.onCloseAutoFocus, (a) => {\n var s;\n a.preventDefault(), (s = n.triggerRef.current) === null || s === void 0 || s.focus();\n }),\n onPointerDownOutside: re(e.onPointerDownOutside, (a) => {\n const s = a.detail.originalEvent, i = s.button === 0 && s.ctrlKey === !0;\n (s.button === 2 || i) && a.preventDefault();\n }),\n onFocusOutside: re(\n e.onFocusOutside,\n (a) => a.preventDefault()\n )\n }));\n}), ld = /* @__PURE__ */ X((e, t) => {\n const n = Ze(Lt, e.__scopeDialog), o = Y(!1), r = Y(!1);\n return /* @__PURE__ */ O(Na, I({}, e, {\n ref: t,\n trapFocus: !1,\n disableOutsidePointerEvents: !1,\n onCloseAutoFocus: (a) => {\n var s;\n if ((s = e.onCloseAutoFocus) === null || s === void 0 || s.call(e, a), !a.defaultPrevented) {\n var i;\n o.current || (i = n.triggerRef.current) === null || i === void 0 || i.focus(), a.preventDefault();\n }\n o.current = !1, r.current = !1;\n },\n onInteractOutside: (a) => {\n var s, i;\n (s = e.onInteractOutside) === null || s === void 0 || s.call(e, a), a.defaultPrevented || (o.current = !0, a.detail.originalEvent.type === \"pointerdown\" && (r.current = !0));\n const l = a.target;\n ((i = n.triggerRef.current) === null || i === void 0 ? void 0 : i.contains(l)) && a.preventDefault(), a.detail.originalEvent.type === \"focusin\" && r.current && a.preventDefault();\n }\n }));\n}), Na = /* @__PURE__ */ X((e, t) => {\n const { __scopeDialog: n, trapFocus: o, onOpenAutoFocus: r, onCloseAutoFocus: a, ...s } = e, i = Ze(Lt, n), l = Y(null), d = ge(t, l);\n return _a(), /* @__PURE__ */ O(fn, null, /* @__PURE__ */ O(ll, {\n asChild: !0,\n loop: !0,\n trapped: o,\n onMountAutoFocus: r,\n onUnmountAutoFocus: a\n }, /* @__PURE__ */ O(il, I({\n role: \"dialog\",\n id: i.contentId,\n \"aria-describedby\": i.descriptionId,\n \"aria-labelledby\": i.titleId,\n \"data-state\": bo(i.open)\n }, s, {\n ref: d,\n onDismiss: () => i.onOpenChange(!1)\n }))), !1);\n}), dd = \"DialogClose\", ud = /* @__PURE__ */ X((e, t) => {\n const { __scopeDialog: n, ...o } = e, r = Ze(dd, n);\n return /* @__PURE__ */ O(le.button, I({\n type: \"button\"\n }, o, {\n ref: t,\n onClick: re(\n e.onClick,\n () => r.onOpenChange(!1)\n )\n }));\n});\nfunction bo(e) {\n return e ? \"open\" : \"closed\";\n}\nconst fd = ed, vd = nd, pd = rd, md = ad, gd = sd, hd = ud, je = `\n@media (prefers-color-scheme: dark) {\n .sid-theme-root__auto path { fill: white; }\n}\n\n.sid-theme-root__dark path { fill: white; }\n`, bd = ({ className: e }) => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n className: Q(e),\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.21967 4.21967C4.51256 3.92678 4.98744 3.92678 5.28033 4.21967L8 6.93934L10.7197 4.21967C11.0126 3.92678 11.4874 3.92678 11.7803 4.21967C12.0732 4.51256 12.0732 4.98744 11.7803 5.28033L9.06066 8L11.7803 10.7197C12.0732 11.0126 12.0732 11.4874 11.7803 11.7803C11.4874 12.0732 11.0126 12.0732 10.7197 11.7803L8 9.06066L5.28033 11.7803C4.98744 12.0732 4.51256 12.0732 4.21967 11.7803C3.92678 11.4874 3.92678 11.0126 4.21967 10.7197L6.93934 8L4.21967 5.28033C3.92678 4.98744 3.92678 4.51256 4.21967 4.21967Z\",\n style: { fill: yt.color.placeholder }\n }\n )\n ]\n }\n);\nvar Cd = \"_1wok3pl4\", yd = \"_1wok3pl3\", xd = \"_1wok3pl1\", wd = \"_1wok3pl2\";\nconst _d = ({\n children: e,\n trigger: t,\n open: n,\n onOpenChange: o,\n icon: r,\n className: a,\n container: s,\n dismissable: i = !0,\n modal: l = !0\n}) => t ? /* @__PURE__ */ c.jsxs(fd, { modal: l, open: n, onOpenChange: o, children: [\n /* @__PURE__ */ c.jsx(vd, { asChild: !0, children: t }),\n /* @__PURE__ */ c.jsxs(\n pd,\n {\n container: typeof s == \"function\" ? s() : s,\n children: [\n l && /* @__PURE__ */ c.jsx(md, { className: xd }),\n /* @__PURE__ */ c.jsxs(\n gd,\n {\n className: Q(\"sid-dialog\", wd, a),\n onInteractOutside: (d) => {\n (!l || !i) && d.preventDefault();\n },\n children: [\n /* @__PURE__ */ c.jsxs(\"div\", { className: yd, children: [\n /* @__PURE__ */ c.jsx(\"div\", { children: r }),\n i && /* @__PURE__ */ c.jsx(hd, { asChild: !0, children: /* @__PURE__ */ c.jsx(\"button\", { className: Cd, \"aria-label\": \"Close\", children: /* @__PURE__ */ c.jsx(bd, {}) }) })\n ] }),\n e\n ]\n }\n )\n ]\n }\n )\n] }) : null;\nvar $d = \"_2ssqit0\", kd = \"_2ssqit2\", Sd = \"_2ssqit1\";\nfunction Da(e) {\n const t = Y({\n value: e,\n previous: e\n });\n return ce(() => (t.current.value !== e && (t.current.previous = t.current.value, t.current.value = e), t.current.previous), [\n e\n ]);\n}\nfunction Fa(e) {\n const [t, n] = G(void 0);\n return Ee(() => {\n if (e) {\n n({\n width: e.offsetWidth,\n height: e.offsetHeight\n });\n const o = new ResizeObserver((r) => {\n if (!Array.isArray(r) || !r.length)\n return;\n const a = r[0];\n let s, i;\n if (\"borderBoxSize\" in a) {\n const l = a.borderBoxSize, d = Array.isArray(l) ? l[0] : l;\n s = d.inlineSize, i = d.blockSize;\n } else\n s = e.offsetWidth, i = e.offsetHeight;\n n({\n width: s,\n height: i\n });\n });\n return o.observe(e, {\n box: \"border-box\"\n }), () => o.unobserve(e);\n } else\n n(void 0);\n }, [\n e\n ]), t;\n}\nconst Va = \"Switch\", [Ed, jv] = Ke(Va), [qd, Od] = Ed(Va), Pd = /* @__PURE__ */ X((e, t) => {\n const { __scopeSwitch: n, name: o, checked: r, defaultChecked: a, required: s, disabled: i, value: l = \"on\", onCheckedChange: d, ...u } = e, [f, b] = G(null), v = ge(\n t,\n (h) => b(h)\n ), g = Y(!1), p = f ? !!f.closest(\"form\") : !0, [y = !1, C] = He({\n prop: r,\n defaultProp: a,\n onChange: d\n });\n return /* @__PURE__ */ O(qd, {\n scope: n,\n checked: y,\n disabled: i\n }, /* @__PURE__ */ O(le.button, I({\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": y,\n \"aria-required\": s,\n \"data-state\": Ba(y),\n \"data-disabled\": i ? \"\" : void 0,\n disabled: i,\n value: l\n }, u, {\n ref: v,\n onClick: re(e.onClick, (h) => {\n C(\n (x) => !x\n ), p && (g.current = h.isPropagationStopped(), g.current || h.stopPropagation());\n })\n })), p && /* @__PURE__ */ O(Ld, {\n control: f,\n bubbles: !g.current,\n name: o,\n value: l,\n checked: y,\n required: s,\n disabled: i,\n style: {\n transform: \"translateX(-100%)\"\n }\n }));\n}), Td = \"SwitchThumb\", jd = /* @__PURE__ */ X((e, t) => {\n const { __scopeSwitch: n, ...o } = e, r = Od(Td, n);\n return /* @__PURE__ */ O(le.span, I({\n \"data-state\": Ba(r.checked),\n \"data-disabled\": r.disabled ? \"\" : void 0\n }, o, {\n ref: t\n }));\n}), Ld = (e) => {\n const { control: t, checked: n, bubbles: o = !0, ...r } = e, a = Y(null), s = Da(n), i = Fa(t);\n return B(() => {\n const l = a.current, d = window.HTMLInputElement.prototype, f = Object.getOwnPropertyDescriptor(d, \"checked\").set;\n if (s !== n && f) {\n const b = new Event(\"click\", {\n bubbles: o\n });\n f.call(l, n), l.dispatchEvent(b);\n }\n }, [\n s,\n n,\n o\n ]), /* @__PURE__ */ O(\"input\", I({\n type: \"checkbox\",\n \"aria-hidden\": !0,\n defaultChecked: n\n }, r, {\n tabIndex: -1,\n ref: a,\n style: {\n ...e.style,\n ...i,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }));\n};\nfunction Ba(e) {\n return e ? \"checked\" : \"unchecked\";\n}\nconst Rd = Pd, Ad = jd, Id = ({ className: e }) => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n className: Q(e),\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.99998 0.522587L6.97554 0.522584H6.97546C6.81142 0.52257 6.69763 0.522561 6.59677 0.529171C5.05691 0.630098 3.83033 1.85668 3.7294 3.39654C3.72279 3.49741 3.7228 3.61122 3.72282 3.7753V3.77531L3.72282 3.79974V5.58433C3.59225 5.62566 3.47355 5.67717 3.36237 5.74136C2.99372 5.9542 2.68758 6.26034 2.47474 6.62899C2.14984 7.19173 2.14984 7.94724 2.14984 9.45825C2.14984 10.9693 2.14984 11.7248 2.47474 12.2875C2.68758 12.6562 2.99372 12.9623 3.36237 13.1751C3.92511 13.5 4.68062 13.5 6.19163 13.5H7.80832C9.31933 13.5 10.0748 13.5 10.6376 13.1751C11.0062 12.9623 11.3124 12.6562 11.5252 12.2875C11.8501 11.7248 11.8501 10.9693 11.8501 9.45825C11.8501 7.94724 11.8501 7.19173 11.5252 6.62899C11.3124 6.26034 11.0062 5.9542 10.6376 5.74136C10.5264 5.67717 10.4077 5.62566 10.2771 5.58433V3.79974L10.2771 3.77533V3.77522C10.2771 3.61119 10.2772 3.49739 10.2705 3.39654C10.1696 1.85668 8.94304 0.630098 7.40318 0.529171C7.30232 0.522561 7.18853 0.52257 7.02449 0.522584H7.02441L6.99998 0.522587ZM8.97713 5.42517V3.79974C8.97713 3.6018 8.97678 3.53419 8.97333 3.48156C8.91507 2.59268 8.20703 1.88465 7.31816 1.82639C7.26552 1.82294 7.19792 1.82259 6.99998 1.82259C6.80203 1.82259 6.73443 1.82294 6.68179 1.82639C5.79292 1.88465 5.08488 2.59268 5.02662 3.48156C5.02317 3.53419 5.02282 3.6018 5.02282 3.79974V5.42517C5.3548 5.41646 5.73937 5.41646 6.19163 5.41646H7.80832C8.26058 5.41646 8.64515 5.41646 8.97713 5.42517ZM6.99997 7.7978C7.35896 7.7978 7.64997 8.08882 7.64997 8.4478V10.4687C7.64997 10.8277 7.35896 11.1187 6.99997 11.1187C6.64099 11.1187 6.34997 10.8277 6.34997 10.4687V8.4478C6.34997 8.08882 6.64099 7.7978 6.99997 7.7978Z\",\n style: { stroke: yt.color.foreground }\n }\n )\n ]\n }\n), Md = ({ className: e, blocked: t = !1, ...n }) => /* @__PURE__ */ c.jsx(\n Rd,\n {\n className: Q(\"sid-switch\", $d, e),\n \"data-blocked\": t,\n disabled: t,\n ...n,\n children: t ? /* @__PURE__ */ c.jsx(Id, { className: kd }) : /* @__PURE__ */ c.jsx(Ad, { className: Sd })\n }\n);\nvar zd = \"q9c0is3\", Nd = \"q9c0isg\", Dd = { blue: \"q9c0ise q9c0isc\", red: \"q9c0isf q9c0isc\" }, Fd = \"q9c0isd\", Vd = { blue: \"q9c0isa q9c0is8\", red: \"q9c0isb q9c0is8\" }, Bd = \"q9c0is9\", Hd = { blue: \"q9c0is6 q9c0is4\", red: \"q9c0is7 q9c0is4\" }, Ud = \"q9c0is5\";\nconst zt = ({\n children: e,\n className: t,\n variant: n = \"blue\",\n shouldAnimate: o = !0\n}) => /* @__PURE__ */ c.jsxs(\"div\", { className: Q(zd, t), children: [\n /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(Hd[n], {\n [Ud]: o\n })\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(Vd[n], {\n [Bd]: o\n })\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(Dd[n], {\n [Fd]: o\n })\n }\n ),\n /* @__PURE__ */ c.jsx(\"div\", { className: Nd, children: e })\n] });\nfunction Wd(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n}\nfunction br(e, t) {\n var n = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n t && (o = o.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), n.push.apply(n, o);\n }\n return n;\n}\nfunction Cr(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t] != null ? arguments[t] : {};\n t % 2 ? br(Object(n), !0).forEach(function(o) {\n Wd(e, o, n[o]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : br(Object(n)).forEach(function(o) {\n Object.defineProperty(e, o, Object.getOwnPropertyDescriptor(n, o));\n });\n }\n return e;\n}\nvar Gd = (e, t, n) => {\n for (var o of Object.keys(e)) {\n var r;\n if (e[o] !== ((r = t[o]) !== null && r !== void 0 ? r : n[o]))\n return !1;\n }\n return !0;\n}, Kd = (e) => (t) => {\n var n = e.defaultClassName, o = Cr(Cr({}, e.defaultVariants), t);\n for (var r in o) {\n var a, s = (a = o[r]) !== null && a !== void 0 ? a : e.defaultVariants[r];\n if (s != null) {\n var i = s;\n typeof i == \"boolean\" && (i = i === !0 ? \"true\" : \"false\");\n var l = (\n // @ts-expect-error\n e.variantClassNames[r][i]\n );\n l && (n += \" \" + l);\n }\n }\n for (var [d, u] of e.compoundVariants)\n Gd(d, o, e.defaultVariants) && (n += \" \" + u);\n return n;\n};\nfunction Zd(e, t) {\n if (typeof e != \"object\" || e === null)\n return e;\n var n = e[Symbol.toPrimitive];\n if (n !== void 0) {\n var o = n.call(e, t || \"default\");\n if (typeof o != \"object\")\n return o;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (t === \"string\" ? String : Number)(e);\n}\nfunction Yd(e) {\n var t = Zd(e, \"string\");\n return typeof t == \"symbol\" ? t : String(t);\n}\nfunction Xd(e, t, n) {\n return t = Yd(t), t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n}\nfunction yr(e, t) {\n var n = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n t && (o = o.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), n.push.apply(n, o);\n }\n return n;\n}\nfunction zn(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t] != null ? arguments[t] : {};\n t % 2 ? yr(Object(n), !0).forEach(function(o) {\n Xd(e, o, n[o]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : yr(Object(n)).forEach(function(o) {\n Object.defineProperty(e, o, Object.getOwnPropertyDescriptor(n, o));\n });\n }\n return e;\n}\nvar Jd = (e) => function() {\n for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++)\n n[o] = arguments[o];\n var r = Object.assign({}, ...n.map((l) => l.styles)), a = Object.keys(r), s = a.filter((l) => \"mappings\" in r[l]), i = (l) => {\n var d = [], u = {}, f = zn({}, l), b = !1;\n for (var v of s) {\n var g = l[v];\n if (g != null) {\n var p = r[v];\n b = !0;\n for (var y of p.mappings)\n u[y] = g, f[y] == null && delete f[y];\n }\n }\n var C = b ? zn(zn({}, u), f) : l, h = function() {\n var w = C[x], $ = r[x];\n try {\n if ($.mappings)\n return \"continue\";\n if (typeof w == \"string\" || typeof w == \"number\") {\n if (process.env.NODE_ENV !== \"production\" && !$.values[w].defaultClass)\n throw new Error();\n d.push($.values[w].defaultClass);\n } else if (Array.isArray(w))\n for (var E = 0; E < w.length; E++) {\n var j = w[E];\n if (j != null) {\n var R = $.responsiveArray[E];\n if (process.env.NODE_ENV !== \"production\" && !$.values[j].conditions[R])\n throw new Error();\n d.push($.values[j].conditions[R]);\n }\n }\n else\n for (var A in w) {\n var W = w[A];\n if (W != null) {\n if (process.env.NODE_ENV !== \"production\" && !$.values[W].conditions[A])\n throw new Error();\n d.push($.values[W].conditions[A]);\n }\n }\n } catch (q) {\n if (process.env.NODE_ENV !== \"production\") {\n class k extends Error {\n constructor(H) {\n super(H), this.name = \"SprinklesError\";\n }\n }\n var V = (T) => typeof T == \"string\" ? '\"'.concat(T, '\"') : T, M = (T, H, z) => {\n throw new k('\"'.concat(T, '\" has no value ').concat(V(H), \". Possible values are \").concat(Object.keys(z).map(V).join(\", \")));\n };\n if (!$)\n throw new k('\"'.concat(x, '\" is not a valid sprinkle'));\n if ((typeof w == \"string\" || typeof w == \"number\") && (w in $.values || M(x, w, $.values), !$.values[w].defaultClass))\n throw new k('\"'.concat(x, '\" has no default condition. You must specify which conditions to target explicitly. Possible options are ').concat(Object.keys($.values[w].conditions).map(V).join(\", \")));\n if (typeof w == \"object\") {\n if (!(\"conditions\" in $.values[Object.keys($.values)[0]]))\n throw new k('\"'.concat(x, '\" is not a conditional property'));\n if (Array.isArray(w)) {\n if (!(\"responsiveArray\" in $))\n throw new k('\"'.concat(x, '\" does not support responsive arrays'));\n var F = $.responsiveArray.length;\n if (F < w.length)\n throw new k('\"'.concat(x, '\" only supports up to ').concat(F, \" breakpoints. You passed \").concat(w.length));\n for (var K of w)\n $.values[K] || M(x, K, $.values);\n } else\n for (var ne in w) {\n var de = w[ne];\n if (de != null && ($.values[de] || M(x, de, $.values), !$.values[de].conditions[ne]))\n throw new k('\"'.concat(x, '\" has no condition named ').concat(V(ne), \". Possible values are \").concat(Object.keys($.values[de].conditions).map(V).join(\", \")));\n }\n }\n }\n throw q;\n }\n };\n for (var x in C)\n var _ = h();\n return e(d.join(\" \"));\n };\n return Object.assign(i, {\n properties: new Set(a)\n });\n}, Qd = (e) => e, eu = function() {\n return Jd(Qd)(...arguments);\n}, _e = eu({ conditions: { defaultCondition: \"lightMode\", conditionNames: [\"lightMode\", \"darkMode\"], responsiveArray: void 0 }, styles: { color: { values: { background: { conditions: { lightMode: \"kqvzqt0\", darkMode: \"kqvzqt1\" }, defaultClass: \"kqvzqt0\" }, mute: { conditions: { lightMode: \"kqvzqt2\", darkMode: \"kqvzqt3\" }, defaultClass: \"kqvzqt2\" }, panel: { conditions: { lightMode: \"kqvzqt4\", darkMode: \"kqvzqt5\" }, defaultClass: \"kqvzqt4\" }, foreground: { conditions: { lightMode: \"kqvzqt6\", darkMode: \"kqvzqt7\" }, defaultClass: \"kqvzqt6\" }, contrast: { conditions: { lightMode: \"kqvzqt8\", darkMode: \"kqvzqt9\" }, defaultClass: \"kqvzqt8\" }, secondary: { conditions: { lightMode: \"kqvzqta\", darkMode: \"kqvzqtb\" }, defaultClass: \"kqvzqta\" }, tertiary: { conditions: { lightMode: \"kqvzqtc\", darkMode: \"kqvzqtd\" }, defaultClass: \"kqvzqtc\" }, placeholder: { conditions: { lightMode: \"kqvzqte\", darkMode: \"kqvzqtf\" }, defaultClass: \"kqvzqte\" }, smooth: { conditions: { lightMode: \"kqvzqtg\", darkMode: \"kqvzqth\" }, defaultClass: \"kqvzqtg\" }, subtle: { conditions: { lightMode: \"kqvzqti\", darkMode: \"kqvzqtj\" }, defaultClass: \"kqvzqti\" }, soft: { conditions: { lightMode: \"kqvzqtk\", darkMode: \"kqvzqtl\" }, defaultClass: \"kqvzqtk\" }, offset: { conditions: { lightMode: \"kqvzqtm\", darkMode: \"kqvzqtn\" }, defaultClass: \"kqvzqtm\" }, primary: { conditions: { lightMode: \"kqvzqto\", darkMode: \"kqvzqtp\" }, defaultClass: \"kqvzqto\" }, primaryHover: { conditions: { lightMode: \"kqvzqtq\", darkMode: \"kqvzqtr\" }, defaultClass: \"kqvzqtq\" }, transparent: { conditions: { lightMode: \"kqvzqts\", darkMode: \"kqvzqtt\" }, defaultClass: \"kqvzqts\" }, error: { conditions: { lightMode: \"kqvzqtu\", darkMode: \"kqvzqtv\" }, defaultClass: \"kqvzqtu\" }, auxiliary: { conditions: { lightMode: \"kqvzqtw\", darkMode: \"kqvzqtx\" }, defaultClass: \"kqvzqtw\" }, success: { conditions: { lightMode: \"kqvzqty\", darkMode: \"kqvzqtz\" }, defaultClass: \"kqvzqty\" }, foregroundSuccess: { conditions: { lightMode: \"kqvzqt10\", darkMode: \"kqvzqt11\" }, defaultClass: \"kqvzqt10\" }, backgroundSuccess: { conditions: { lightMode: \"kqvzqt12\", darkMode: \"kqvzqt13\" }, defaultClass: \"kqvzqt12\" }, failure: { conditions: { lightMode: \"kqvzqt14\", darkMode: \"kqvzqt15\" }, defaultClass: \"kqvzqt14\" }, foregroundFailure: { conditions: { lightMode: \"kqvzqt16\", darkMode: \"kqvzqt17\" }, defaultClass: \"kqvzqt16\" }, backgroundFailure: { conditions: { lightMode: \"kqvzqt18\", darkMode: \"kqvzqt19\" }, defaultClass: \"kqvzqt18\" } } }, backgroundColor: { values: { background: { conditions: { lightMode: \"kqvzqt1a\", darkMode: \"kqvzqt1b\" }, defaultClass: \"kqvzqt1a\" }, mute: { conditions: { lightMode: \"kqvzqt1c\", darkMode: \"kqvzqt1d\" }, defaultClass: \"kqvzqt1c\" }, panel: { conditions: { lightMode: \"kqvzqt1e\", darkMode: \"kqvzqt1f\" }, defaultClass: \"kqvzqt1e\" }, foreground: { conditions: { lightMode: \"kqvzqt1g\", darkMode: \"kqvzqt1h\" }, defaultClass: \"kqvzqt1g\" }, contrast: { conditions: { lightMode: \"kqvzqt1i\", darkMode: \"kqvzqt1j\" }, defaultClass: \"kqvzqt1i\" }, secondary: { conditions: { lightMode: \"kqvzqt1k\", darkMode: \"kqvzqt1l\" }, defaultClass: \"kqvzqt1k\" }, tertiary: { conditions: { lightMode: \"kqvzqt1m\", darkMode: \"kqvzqt1n\" }, defaultClass: \"kqvzqt1m\" }, placeholder: { conditions: { lightMode: \"kqvzqt1o\", darkMode: \"kqvzqt1p\" }, defaultClass: \"kqvzqt1o\" }, smooth: { conditions: { lightMode: \"kqvzqt1q\", darkMode: \"kqvzqt1r\" }, defaultClass: \"kqvzqt1q\" }, subtle: { conditions: { lightMode: \"kqvzqt1s\", darkMode: \"kqvzqt1t\" }, defaultClass: \"kqvzqt1s\" }, soft: { conditions: { lightMode: \"kqvzqt1u\", darkMode: \"kqvzqt1v\" }, defaultClass: \"kqvzqt1u\" }, offset: { conditions: { lightMode: \"kqvzqt1w\", darkMode: \"kqvzqt1x\" }, defaultClass: \"kqvzqt1w\" }, primary: { conditions: { lightMode: \"kqvzqt1y\", darkMode: \"kqvzqt1z\" }, defaultClass: \"kqvzqt1y\" }, primaryHover: { conditions: { lightMode: \"kqvzqt20\", darkMode: \"kqvzqt21\" }, defaultClass: \"kqvzqt20\" }, transparent: { conditions: { lightMode: \"kqvzqt22\", darkMode: \"kqvzqt23\" }, defaultClass: \"kqvzqt22\" }, error: { conditions: { lightMode: \"kqvzqt24\", darkMode: \"kqvzqt25\" }, defaultClass: \"kqvzqt24\" }, auxiliary: { conditions: { lightMode: \"kqvzqt26\", darkMode: \"kqvzqt27\" }, defaultClass: \"kqvzqt26\" }, success: { conditions: { lightMode: \"kqvzqt28\", darkMode: \"kqvzqt29\" }, defaultClass: \"kqvzqt28\" }, foregroundSuccess: { conditions: { lightMode: \"kqvzqt2a\", darkMode: \"kqvzqt2b\" }, defaultClass: \"kqvzqt2a\" }, backgroundSuccess: { conditions: { lightMode: \"kqvzqt2c\", darkMode: \"kqvzqt2d\" }, defaultClass: \"kqvzqt2c\" }, failure: { conditions: { lightMode: \"kqvzqt2e\", darkMode: \"kqvzqt2f\" }, defaultClass: \"kqvzqt2e\" }, foregroundFailure: { conditions: { lightMode: \"kqvzqt2g\", darkMode: \"kqvzqt2h\" }, defaultClass: \"kqvzqt2g\" }, backgroundFailure: { conditions: { lightMode: \"kqvzqt2i\", darkMode: \"kqvzqt2j\" }, defaultClass: \"kqvzqt2i\" } } } } }, { conditions: void 0, styles: { marginY: { mappings: [\"marginTop\", \"marginBottom\"] }, marginX: { mappings: [\"marginLeft\", \"marginRight\"] }, gap: { values: { 0: { defaultClass: \"kqvzqt2k\" }, 1: { defaultClass: \"kqvzqt2l\" }, 2: { defaultClass: \"kqvzqt2m\" }, 3: { defaultClass: \"kqvzqt2n\" }, 4: { defaultClass: \"kqvzqt2o\" }, 5: { defaultClass: \"kqvzqt2p\" }, 6: { defaultClass: \"kqvzqt2q\" }, 7: { defaultClass: \"kqvzqt2r\" }, 8: { defaultClass: \"kqvzqt2s\" }, 9: { defaultClass: \"kqvzqt2t\" }, 10: { defaultClass: \"kqvzqt2u\" }, 11: { defaultClass: \"kqvzqt2v\" }, 12: { defaultClass: \"kqvzqt2w\" }, 13: { defaultClass: \"kqvzqt2x\" }, 14: { defaultClass: \"kqvzqt2y\" }, 15: { defaultClass: \"kqvzqt2z\" }, 16: { defaultClass: \"kqvzqt30\" }, 20: { defaultClass: \"kqvzqt31\" }, 24: { defaultClass: \"kqvzqt32\" }, 28: { defaultClass: \"kqvzqt33\" }, 32: { defaultClass: \"kqvzqt34\" }, 36: { defaultClass: \"kqvzqt35\" }, 40: { defaultClass: \"kqvzqt36\" }, 44: { defaultClass: \"kqvzqt37\" }, 48: { defaultClass: \"kqvzqt38\" }, 52: { defaultClass: \"kqvzqt39\" }, 56: { defaultClass: \"kqvzqt3a\" }, 60: { defaultClass: \"kqvzqt3b\" }, 64: { defaultClass: \"kqvzqt3c\" }, 68: { defaultClass: \"kqvzqt3d\" }, 72: { defaultClass: \"kqvzqt3e\" }, 76: { defaultClass: \"kqvzqt3f\" }, 80: { defaultClass: \"kqvzqt3g\" }, 96: { defaultClass: \"kqvzqt3h\" }, px: { defaultClass: \"kqvzqt3i\" }, \"0.25\": { defaultClass: \"kqvzqt3j\" }, \"0.5\": { defaultClass: \"kqvzqt3k\" }, \"0.75\": { defaultClass: \"kqvzqt3l\" }, \"1.5\": { defaultClass: \"kqvzqt3m\" }, \"2.5\": { defaultClass: \"kqvzqt3n\" }, \"3.5\": { defaultClass: \"kqvzqt3o\" } } }, marginTop: { values: { 0: { defaultClass: \"kqvzqt3p\" }, 1: { defaultClass: \"kqvzqt3q\" }, 2: { defaultClass: \"kqvzqt3r\" }, 3: { defaultClass: \"kqvzqt3s\" }, 4: { defaultClass: \"kqvzqt3t\" }, 5: { defaultClass: \"kqvzqt3u\" }, 6: { defaultClass: \"kqvzqt3v\" }, 7: { defaultClass: \"kqvzqt3w\" }, 8: { defaultClass: \"kqvzqt3x\" }, 9: { defaultClass: \"kqvzqt3y\" }, 10: { defaultClass: \"kqvzqt3z\" }, 11: { defaultClass: \"kqvzqt40\" }, 12: { defaultClass: \"kqvzqt41\" }, 13: { defaultClass: \"kqvzqt42\" }, 14: { defaultClass: \"kqvzqt43\" }, 15: { defaultClass: \"kqvzqt44\" }, 16: { defaultClass: \"kqvzqt45\" }, 20: { defaultClass: \"kqvzqt46\" }, 24: { defaultClass: \"kqvzqt47\" }, 28: { defaultClass: \"kqvzqt48\" }, 32: { defaultClass: \"kqvzqt49\" }, 36: { defaultClass: \"kqvzqt4a\" }, 40: { defaultClass: \"kqvzqt4b\" }, 44: { defaultClass: \"kqvzqt4c\" }, 48: { defaultClass: \"kqvzqt4d\" }, 52: { defaultClass: \"kqvzqt4e\" }, 56: { defaultClass: \"kqvzqt4f\" }, 60: { defaultClass: \"kqvzqt4g\" }, 64: { defaultClass: \"kqvzqt4h\" }, 68: { defaultClass: \"kqvzqt4i\" }, 72: { defaultClass: \"kqvzqt4j\" }, 76: { defaultClass: \"kqvzqt4k\" }, 80: { defaultClass: \"kqvzqt4l\" }, 96: { defaultClass: \"kqvzqt4m\" }, px: { defaultClass: \"kqvzqt4n\" }, \"0.25\": { defaultClass: \"kqvzqt4o\" }, \"0.5\": { defaultClass: \"kqvzqt4p\" }, \"0.75\": { defaultClass: \"kqvzqt4q\" }, \"1.5\": { defaultClass: \"kqvzqt4r\" }, \"2.5\": { defaultClass: \"kqvzqt4s\" }, \"3.5\": { defaultClass: \"kqvzqt4t\" } } }, marginBottom: { values: { 0: { defaultClass: \"kqvzqt4u\" }, 1: { defaultClass: \"kqvzqt4v\" }, 2: { defaultClass: \"kqvzqt4w\" }, 3: { defaultClass: \"kqvzqt4x\" }, 4: { defaultClass: \"kqvzqt4y\" }, 5: { defaultClass: \"kqvzqt4z\" }, 6: { defaultClass: \"kqvzqt50\" }, 7: { defaultClass: \"kqvzqt51\" }, 8: { defaultClass: \"kqvzqt52\" }, 9: { defaultClass: \"kqvzqt53\" }, 10: { defaultClass: \"kqvzqt54\" }, 11: { defaultClass: \"kqvzqt55\" }, 12: { defaultClass: \"kqvzqt56\" }, 13: { defaultClass: \"kqvzqt57\" }, 14: { defaultClass: \"kqvzqt58\" }, 15: { defaultClass: \"kqvzqt59\" }, 16: { defaultClass: \"kqvzqt5a\" }, 20: { defaultClass: \"kqvzqt5b\" }, 24: { defaultClass: \"kqvzqt5c\" }, 28: { defaultClass: \"kqvzqt5d\" }, 32: { defaultClass: \"kqvzqt5e\" }, 36: { defaultClass: \"kqvzqt5f\" }, 40: { defaultClass: \"kqvzqt5g\" }, 44: { defaultClass: \"kqvzqt5h\" }, 48: { defaultClass: \"kqvzqt5i\" }, 52: { defaultClass: \"kqvzqt5j\" }, 56: { defaultClass: \"kqvzqt5k\" }, 60: { defaultClass: \"kqvzqt5l\" }, 64: { defaultClass: \"kqvzqt5m\" }, 68: { defaultClass: \"kqvzqt5n\" }, 72: { defaultClass: \"kqvzqt5o\" }, 76: { defaultClass: \"kqvzqt5p\" }, 80: { defaultClass: \"kqvzqt5q\" }, 96: { defaultClass: \"kqvzqt5r\" }, px: { defaultClass: \"kqvzqt5s\" }, \"0.25\": { defaultClass: \"kqvzqt5t\" }, \"0.5\": { defaultClass: \"kqvzqt5u\" }, \"0.75\": { defaultClass: \"kqvzqt5v\" }, \"1.5\": { defaultClass: \"kqvzqt5w\" }, \"2.5\": { defaultClass: \"kqvzqt5x\" }, \"3.5\": { defaultClass: \"kqvzqt5y\" } } }, marginLeft: { values: { 0: { defaultClass: \"kqvzqt5z\" }, 1: { defaultClass: \"kqvzqt60\" }, 2: { defaultClass: \"kqvzqt61\" }, 3: { defaultClass: \"kqvzqt62\" }, 4: { defaultClass: \"kqvzqt63\" }, 5: { defaultClass: \"kqvzqt64\" }, 6: { defaultClass: \"kqvzqt65\" }, 7: { defaultClass: \"kqvzqt66\" }, 8: { defaultClass: \"kqvzqt67\" }, 9: { defaultClass: \"kqvzqt68\" }, 10: { defaultClass: \"kqvzqt69\" }, 11: { defaultClass: \"kqvzqt6a\" }, 12: { defaultClass: \"kqvzqt6b\" }, 13: { defaultClass: \"kqvzqt6c\" }, 14: { defaultClass: \"kqvzqt6d\" }, 15: { defaultClass: \"kqvzqt6e\" }, 16: { defaultClass: \"kqvzqt6f\" }, 20: { defaultClass: \"kqvzqt6g\" }, 24: { defaultClass: \"kqvzqt6h\" }, 28: { defaultClass: \"kqvzqt6i\" }, 32: { defaultClass: \"kqvzqt6j\" }, 36: { defaultClass: \"kqvzqt6k\" }, 40: { defaultClass: \"kqvzqt6l\" }, 44: { defaultClass: \"kqvzqt6m\" }, 48: { defaultClass: \"kqvzqt6n\" }, 52: { defaultClass: \"kqvzqt6o\" }, 56: { defaultClass: \"kqvzqt6p\" }, 60: { defaultClass: \"kqvzqt6q\" }, 64: { defaultClass: \"kqvzqt6r\" }, 68: { defaultClass: \"kqvzqt6s\" }, 72: { defaultClass: \"kqvzqt6t\" }, 76: { defaultClass: \"kqvzqt6u\" }, 80: { defaultClass: \"kqvzqt6v\" }, 96: { defaultClass: \"kqvzqt6w\" }, px: { defaultClass: \"kqvzqt6x\" }, \"0.25\": { defaultClass: \"kqvzqt6y\" }, \"0.5\": { defaultClass: \"kqvzqt6z\" }, \"0.75\": { defaultClass: \"kqvzqt70\" }, \"1.5\": { defaultClass: \"kqvzqt71\" }, \"2.5\": { defaultClass: \"kqvzqt72\" }, \"3.5\": { defaultClass: \"kqvzqt73\" } } }, marginRight: { values: { 0: { defaultClass: \"kqvzqt74\" }, 1: { defaultClass: \"kqvzqt75\" }, 2: { defaultClass: \"kqvzqt76\" }, 3: { defaultClass: \"kqvzqt77\" }, 4: { defaultClass: \"kqvzqt78\" }, 5: { defaultClass: \"kqvzqt79\" }, 6: { defaultClass: \"kqvzqt7a\" }, 7: { defaultClass: \"kqvzqt7b\" }, 8: { defaultClass: \"kqvzqt7c\" }, 9: { defaultClass: \"kqvzqt7d\" }, 10: { defaultClass: \"kqvzqt7e\" }, 11: { defaultClass: \"kqvzqt7f\" }, 12: { defaultClass: \"kqvzqt7g\" }, 13: { defaultClass: \"kqvzqt7h\" }, 14: { defaultClass: \"kqvzqt7i\" }, 15: { defaultClass: \"kqvzqt7j\" }, 16: { defaultClass: \"kqvzqt7k\" }, 20: { defaultClass: \"kqvzqt7l\" }, 24: { defaultClass: \"kqvzqt7m\" }, 28: { defaultClass: \"kqvzqt7n\" }, 32: { defaultClass: \"kqvzqt7o\" }, 36: { defaultClass: \"kqvzqt7p\" }, 40: { defaultClass: \"kqvzqt7q\" }, 44: { defaultClass: \"kqvzqt7r\" }, 48: { defaultClass: \"kqvzqt7s\" }, 52: { defaultClass: \"kqvzqt7t\" }, 56: { defaultClass: \"kqvzqt7u\" }, 60: { defaultClass: \"kqvzqt7v\" }, 64: { defaultClass: \"kqvzqt7w\" }, 68: { defaultClass: \"kqvzqt7x\" }, 72: { defaultClass: \"kqvzqt7y\" }, 76: { defaultClass: \"kqvzqt7z\" }, 80: { defaultClass: \"kqvzqt80\" }, 96: { defaultClass: \"kqvzqt81\" }, px: { defaultClass: \"kqvzqt82\" }, \"0.25\": { defaultClass: \"kqvzqt83\" }, \"0.5\": { defaultClass: \"kqvzqt84\" }, \"0.75\": { defaultClass: \"kqvzqt85\" }, \"1.5\": { defaultClass: \"kqvzqt86\" }, \"2.5\": { defaultClass: \"kqvzqt87\" }, \"3.5\": { defaultClass: \"kqvzqt88\" } } } } });\nvar tu = Kd({ defaultClassName: \"_1qam6z30\", variantClassNames: { size: { xs: \"_1qam6z31\", sm: \"_1qam6z32\", base: \"_1qam6z33\", xl: \"_1qam6z34\", \"2xl-title\": \"_1qam6z35\" }, weight: { medium: \"_1qam6z36\", semibold: \"_1qam6z37\", bold: \"_1qam6z38\" }, color: { contrast: \"_1qam6z39\", tertiary: \"_1qam6z3a\", placeholder: \"_1qam6z3b\", white: \"_1qam6z3c\", success: \"_1qam6z3d\", failure: \"_1qam6z3e\" } }, defaultVariants: { size: \"base\", weight: \"medium\" }, compoundVariants: [] });\nconst nu = {\n text: {}\n}, Co = Be(nu);\nCo.displayName = \"SlashIDTextContext\";\nconst ou = ({ text: e, children: t }) => {\n const n = ce(() => ({\n text: e\n }), [e]);\n return /* @__PURE__ */ c.jsx(Co.Provider, { value: n, children: t });\n};\nfunction ru() {\n const { text: e } = D.useContext(Co);\n return e;\n}\nconst au = ({\n as: e,\n t,\n variant: n,\n className: o,\n children: r\n}) => {\n const a = ru(), s = e || \"p\";\n return /* @__PURE__ */ c.jsxs(\n s,\n {\n className: Q(\n \"sid-text\",\n `sid-text--${e}`,\n tu(n),\n o\n ),\n children: [\n a[t],\n r || null\n ]\n }\n );\n}, iu = ({ className: e }) => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n className: Q(e),\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM12.0676 5.49021C12.3384 5.17673 12.3037 4.70312 11.9902 4.43238C11.6767 4.16164 11.2031 4.1963 10.9324 4.50979L6.78035 9.3174L5.59201 7.78954C5.33771 7.46258 4.86651 7.40368 4.53954 7.65799C4.21258 7.91229 4.15368 8.3835 4.40799 8.71045L6.15799 10.9605C6.29594 11.1378 6.50614 11.244 6.73076 11.2498C6.95538 11.2555 7.17075 11.1603 7.31762 10.9902L12.0676 5.49021Z\",\n fill: \"#142049\"\n }\n )\n ]\n }\n);\nfunction xr(e, [t, n]) {\n return Math.min(n, Math.max(t, e));\n}\nconst Qn = \"dismissableLayer.update\", su = \"dismissableLayer.pointerDownOutside\", cu = \"dismissableLayer.focusOutside\";\nlet wr;\nconst lu = /* @__PURE__ */ Be({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n}), du = /* @__PURE__ */ X((e, t) => {\n var n;\n const { disableOutsidePointerEvents: o = !1, onEscapeKeyDown: r, onPointerDownOutside: a, onFocusOutside: s, onInteractOutside: i, onDismiss: l, ...d } = e, u = Mt(lu), [f, b] = G(null), v = (n = f == null ? void 0 : f.ownerDocument) !== null && n !== void 0 ? n : globalThis == null ? void 0 : globalThis.document, [, g] = G({}), p = ge(\n t,\n (E) => b(E)\n ), y = Array.from(u.layers), [C] = [\n ...u.layersWithOutsidePointerEventsDisabled\n ].slice(-1), h = y.indexOf(C), x = f ? y.indexOf(f) : -1, _ = u.layersWithOutsidePointerEventsDisabled.size > 0, S = x >= h, w = uu((E) => {\n const j = E.target, R = [\n ...u.branches\n ].some(\n (A) => A.contains(j)\n );\n !S || R || (a == null || a(E), i == null || i(E), E.defaultPrevented || l == null || l());\n }, v), $ = fu((E) => {\n const j = E.target;\n [\n ...u.branches\n ].some(\n (A) => A.contains(j)\n ) || (s == null || s(E), i == null || i(E), E.defaultPrevented || l == null || l());\n }, v);\n return ya((E) => {\n x === u.layers.size - 1 && (r == null || r(E), !E.defaultPrevented && l && (E.preventDefault(), l()));\n }, v), B(() => {\n if (f)\n return o && (u.layersWithOutsidePointerEventsDisabled.size === 0 && (wr = v.body.style.pointerEvents, v.body.style.pointerEvents = \"none\"), u.layersWithOutsidePointerEventsDisabled.add(f)), u.layers.add(f), _r(), () => {\n o && u.layersWithOutsidePointerEventsDisabled.size === 1 && (v.body.style.pointerEvents = wr);\n };\n }, [\n f,\n v,\n o,\n u\n ]), B(() => () => {\n f && (u.layers.delete(f), u.layersWithOutsidePointerEventsDisabled.delete(f), _r());\n }, [\n f,\n u\n ]), B(() => {\n const E = () => g({});\n return document.addEventListener(Qn, E), () => document.removeEventListener(Qn, E);\n }, []), /* @__PURE__ */ O(le.div, I({}, d, {\n ref: p,\n style: {\n pointerEvents: _ ? S ? \"auto\" : \"none\" : void 0,\n ...e.style\n },\n onFocusCapture: re(e.onFocusCapture, $.onFocusCapture),\n onBlurCapture: re(e.onBlurCapture, $.onBlurCapture),\n onPointerDownCapture: re(e.onPointerDownCapture, w.onPointerDownCapture)\n }));\n});\nfunction uu(e, t = globalThis == null ? void 0 : globalThis.document) {\n const n = Se(e), o = Y(!1), r = Y(() => {\n });\n return B(() => {\n const a = (i) => {\n if (i.target && !o.current) {\n let d = function() {\n Ha(su, n, l, {\n discrete: !0\n });\n };\n const l = {\n originalEvent: i\n };\n i.pointerType === \"touch\" ? (t.removeEventListener(\"click\", r.current), r.current = d, t.addEventListener(\"click\", r.current, {\n once: !0\n })) : d();\n }\n o.current = !1;\n }, s = window.setTimeout(() => {\n t.addEventListener(\"pointerdown\", a);\n }, 0);\n return () => {\n window.clearTimeout(s), t.removeEventListener(\"pointerdown\", a), t.removeEventListener(\"click\", r.current);\n };\n }, [\n t,\n n\n ]), {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => o.current = !0\n };\n}\nfunction fu(e, t = globalThis == null ? void 0 : globalThis.document) {\n const n = Se(e), o = Y(!1);\n return B(() => {\n const r = (a) => {\n a.target && !o.current && Ha(cu, n, {\n originalEvent: a\n }, {\n discrete: !1\n });\n };\n return t.addEventListener(\"focusin\", r), () => t.removeEventListener(\"focusin\", r);\n }, [\n t,\n n\n ]), {\n onFocusCapture: () => o.current = !0,\n onBlurCapture: () => o.current = !1\n };\n}\nfunction _r() {\n const e = new CustomEvent(Qn);\n document.dispatchEvent(e);\n}\nfunction Ha(e, t, n, { discrete: o }) {\n const r = n.originalEvent.target, a = new CustomEvent(e, {\n bubbles: !1,\n cancelable: !0,\n detail: n\n });\n t && r.addEventListener(e, t, {\n once: !0\n }), o ? ua(r, a) : r.dispatchEvent(a);\n}\nconst Nn = \"focusScope.autoFocusOnMount\", Dn = \"focusScope.autoFocusOnUnmount\", $r = {\n bubbles: !1,\n cancelable: !0\n}, vu = /* @__PURE__ */ X((e, t) => {\n const { loop: n = !1, trapped: o = !1, onMountAutoFocus: r, onUnmountAutoFocus: a, ...s } = e, [i, l] = G(null), d = Se(r), u = Se(a), f = Y(null), b = ge(\n t,\n (p) => l(p)\n ), v = Y({\n paused: !1,\n pause() {\n this.paused = !0;\n },\n resume() {\n this.paused = !1;\n }\n }).current;\n B(() => {\n if (o) {\n let p = function(x) {\n if (v.paused || !i)\n return;\n const _ = x.target;\n i.contains(_) ? f.current = _ : et(f.current, {\n select: !0\n });\n }, y = function(x) {\n if (v.paused || !i)\n return;\n const _ = x.relatedTarget;\n _ !== null && (i.contains(_) || et(f.current, {\n select: !0\n }));\n }, C = function(x) {\n const _ = document.activeElement;\n for (const S of x)\n S.removedNodes.length > 0 && (i != null && i.contains(_) || et(i));\n };\n document.addEventListener(\"focusin\", p), document.addEventListener(\"focusout\", y);\n const h = new MutationObserver(C);\n return i && h.observe(i, {\n childList: !0,\n subtree: !0\n }), () => {\n document.removeEventListener(\"focusin\", p), document.removeEventListener(\"focusout\", y), h.disconnect();\n };\n }\n }, [\n o,\n i,\n v.paused\n ]), B(() => {\n if (i) {\n Sr.add(v);\n const p = document.activeElement;\n if (!i.contains(p)) {\n const C = new CustomEvent(Nn, $r);\n i.addEventListener(Nn, d), i.dispatchEvent(C), C.defaultPrevented || (pu(Cu(Ua(i)), {\n select: !0\n }), document.activeElement === p && et(i));\n }\n return () => {\n i.removeEventListener(Nn, d), setTimeout(() => {\n const C = new CustomEvent(Dn, $r);\n i.addEventListener(Dn, u), i.dispatchEvent(C), C.defaultPrevented || et(p ?? document.body, {\n select: !0\n }), i.removeEventListener(Dn, u), Sr.remove(v);\n }, 0);\n };\n }\n }, [\n i,\n d,\n u,\n v\n ]);\n const g = ee((p) => {\n if (!n && !o || v.paused)\n return;\n const y = p.key === \"Tab\" && !p.altKey && !p.ctrlKey && !p.metaKey, C = document.activeElement;\n if (y && C) {\n const h = p.currentTarget, [x, _] = mu(h);\n x && _ ? !p.shiftKey && C === _ ? (p.preventDefault(), n && et(x, {\n select: !0\n })) : p.shiftKey && C === x && (p.preventDefault(), n && et(_, {\n select: !0\n })) : C === h && p.preventDefault();\n }\n }, [\n n,\n o,\n v.paused\n ]);\n return /* @__PURE__ */ O(le.div, I({\n tabIndex: -1\n }, s, {\n ref: b,\n onKeyDown: g\n }));\n});\nfunction pu(e, { select: t = !1 } = {}) {\n const n = document.activeElement;\n for (const o of e)\n if (et(o, {\n select: t\n }), document.activeElement !== n)\n return;\n}\nfunction mu(e) {\n const t = Ua(e), n = kr(t, e), o = kr(t.reverse(), e);\n return [\n n,\n o\n ];\n}\nfunction Ua(e) {\n const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (o) => {\n const r = o.tagName === \"INPUT\" && o.type === \"hidden\";\n return o.disabled || o.hidden || r ? NodeFilter.FILTER_SKIP : o.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n for (; n.nextNode(); )\n t.push(n.currentNode);\n return t;\n}\nfunction kr(e, t) {\n for (const n of e)\n if (!gu(n, {\n upTo: t\n }))\n return n;\n}\nfunction gu(e, { upTo: t }) {\n if (getComputedStyle(e).visibility === \"hidden\")\n return !0;\n for (; e; ) {\n if (t !== void 0 && e === t)\n return !1;\n if (getComputedStyle(e).display === \"none\")\n return !0;\n e = e.parentElement;\n }\n return !1;\n}\nfunction hu(e) {\n return e instanceof HTMLInputElement && \"select\" in e;\n}\nfunction et(e, { select: t = !1 } = {}) {\n if (e && e.focus) {\n const n = document.activeElement;\n e.focus({\n preventScroll: !0\n }), e !== n && hu(e) && t && e.select();\n }\n}\nconst Sr = bu();\nfunction bu() {\n let e = [];\n return {\n add(t) {\n const n = e[0];\n t !== n && (n == null || n.pause()), e = Er(e, t), e.unshift(t);\n },\n remove(t) {\n var n;\n e = Er(e, t), (n = e[0]) === null || n === void 0 || n.resume();\n }\n };\n}\nfunction Er(e, t) {\n const n = [\n ...e\n ], o = n.indexOf(t);\n return o !== -1 && n.splice(o, 1), n;\n}\nfunction Cu(e) {\n return e.filter(\n (t) => t.tagName !== \"A\"\n );\n}\nconst yu = [\"top\", \"right\", \"bottom\", \"left\"], tt = Math.min, qe = Math.max, rn = Math.round, Kt = Math.floor, nt = (e) => ({\n x: e,\n y: e\n}), xu = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, wu = {\n start: \"end\",\n end: \"start\"\n};\nfunction eo(e, t, n) {\n return qe(e, tt(t, n));\n}\nfunction Ue(e, t) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction We(e) {\n return e.split(\"-\")[0];\n}\nfunction wt(e) {\n return e.split(\"-\")[1];\n}\nfunction yo(e) {\n return e === \"x\" ? \"y\" : \"x\";\n}\nfunction xo(e) {\n return e === \"y\" ? \"height\" : \"width\";\n}\nfunction _t(e) {\n return [\"top\", \"bottom\"].includes(We(e)) ? \"y\" : \"x\";\n}\nfunction wo(e) {\n return yo(_t(e));\n}\nfunction _u(e, t, n) {\n n === void 0 && (n = !1);\n const o = wt(e), r = wo(e), a = xo(r);\n let s = r === \"x\" ? o === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : o === \"start\" ? \"bottom\" : \"top\";\n return t.reference[a] > t.floating[a] && (s = an(s)), [s, an(s)];\n}\nfunction $u(e) {\n const t = an(e);\n return [to(e), t, to(t)];\n}\nfunction to(e) {\n return e.replace(/start|end/g, (t) => wu[t]);\n}\nfunction ku(e, t, n) {\n const o = [\"left\", \"right\"], r = [\"right\", \"left\"], a = [\"top\", \"bottom\"], s = [\"bottom\", \"top\"];\n switch (e) {\n case \"top\":\n case \"bottom\":\n return n ? t ? r : o : t ? o : r;\n case \"left\":\n case \"right\":\n return t ? a : s;\n default:\n return [];\n }\n}\nfunction Su(e, t, n, o) {\n const r = wt(e);\n let a = ku(We(e), n === \"start\", o);\n return r && (a = a.map((s) => s + \"-\" + r), t && (a = a.concat(a.map(to)))), a;\n}\nfunction an(e) {\n return e.replace(/left|right|bottom|top/g, (t) => xu[t]);\n}\nfunction Eu(e) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...e\n };\n}\nfunction Wa(e) {\n return typeof e != \"number\" ? Eu(e) : {\n top: e,\n right: e,\n bottom: e,\n left: e\n };\n}\nfunction sn(e) {\n return {\n ...e,\n top: e.y,\n left: e.x,\n right: e.x + e.width,\n bottom: e.y + e.height\n };\n}\nfunction qr(e, t, n) {\n let {\n reference: o,\n floating: r\n } = e;\n const a = _t(t), s = wo(t), i = xo(s), l = We(t), d = a === \"y\", u = o.x + o.width / 2 - r.width / 2, f = o.y + o.height / 2 - r.height / 2, b = o[i] / 2 - r[i] / 2;\n let v;\n switch (l) {\n case \"top\":\n v = {\n x: u,\n y: o.y - r.height\n };\n break;\n case \"bottom\":\n v = {\n x: u,\n y: o.y + o.height\n };\n break;\n case \"right\":\n v = {\n x: o.x + o.width,\n y: f\n };\n break;\n case \"left\":\n v = {\n x: o.x - r.width,\n y: f\n };\n break;\n default:\n v = {\n x: o.x,\n y: o.y\n };\n }\n switch (wt(t)) {\n case \"start\":\n v[s] -= b * (n && d ? -1 : 1);\n break;\n case \"end\":\n v[s] += b * (n && d ? -1 : 1);\n break;\n }\n return v;\n}\nconst qu = async (e, t, n) => {\n const {\n placement: o = \"bottom\",\n strategy: r = \"absolute\",\n middleware: a = [],\n platform: s\n } = n, i = a.filter(Boolean), l = await (s.isRTL == null ? void 0 : s.isRTL(t));\n let d = await s.getElementRects({\n reference: e,\n floating: t,\n strategy: r\n }), {\n x: u,\n y: f\n } = qr(d, o, l), b = o, v = {}, g = 0;\n for (let p = 0; p < i.length; p++) {\n const {\n name: y,\n fn: C\n } = i[p], {\n x: h,\n y: x,\n data: _,\n reset: S\n } = await C({\n x: u,\n y: f,\n initialPlacement: o,\n placement: b,\n strategy: r,\n middlewareData: v,\n rects: d,\n platform: s,\n elements: {\n reference: e,\n floating: t\n }\n });\n if (u = h ?? u, f = x ?? f, v = {\n ...v,\n [y]: {\n ...v[y],\n ..._\n }\n }, S && g <= 50) {\n g++, typeof S == \"object\" && (S.placement && (b = S.placement), S.rects && (d = S.rects === !0 ? await s.getElementRects({\n reference: e,\n floating: t,\n strategy: r\n }) : S.rects), {\n x: u,\n y: f\n } = qr(d, b, l)), p = -1;\n continue;\n }\n }\n return {\n x: u,\n y: f,\n placement: b,\n strategy: r,\n middlewareData: v\n };\n};\nasync function Rt(e, t) {\n var n;\n t === void 0 && (t = {});\n const {\n x: o,\n y: r,\n platform: a,\n rects: s,\n elements: i,\n strategy: l\n } = e, {\n boundary: d = \"clippingAncestors\",\n rootBoundary: u = \"viewport\",\n elementContext: f = \"floating\",\n altBoundary: b = !1,\n padding: v = 0\n } = Ue(t, e), g = Wa(v), y = i[b ? f === \"floating\" ? \"reference\" : \"floating\" : f], C = sn(await a.getClippingRect({\n element: (n = await (a.isElement == null ? void 0 : a.isElement(y))) == null || n ? y : y.contextElement || await (a.getDocumentElement == null ? void 0 : a.getDocumentElement(i.floating)),\n boundary: d,\n rootBoundary: u,\n strategy: l\n })), h = f === \"floating\" ? {\n ...s.floating,\n x: o,\n y: r\n } : s.reference, x = await (a.getOffsetParent == null ? void 0 : a.getOffsetParent(i.floating)), _ = await (a.isElement == null ? void 0 : a.isElement(x)) ? await (a.getScale == null ? void 0 : a.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, S = sn(a.convertOffsetParentRelativeRectToViewportRelativeRect ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: h,\n offsetParent: x,\n strategy: l\n }) : h);\n return {\n top: (C.top - S.top + g.top) / _.y,\n bottom: (S.bottom - C.bottom + g.bottom) / _.y,\n left: (C.left - S.left + g.left) / _.x,\n right: (S.right - C.right + g.right) / _.x\n };\n}\nconst Or = (e) => ({\n name: \"arrow\",\n options: e,\n async fn(t) {\n const {\n x: n,\n y: o,\n placement: r,\n rects: a,\n platform: s,\n elements: i,\n middlewareData: l\n } = t, {\n element: d,\n padding: u = 0\n } = Ue(e, t) || {};\n if (d == null)\n return {};\n const f = Wa(u), b = {\n x: n,\n y: o\n }, v = wo(r), g = xo(v), p = await s.getDimensions(d), y = v === \"y\", C = y ? \"top\" : \"left\", h = y ? \"bottom\" : \"right\", x = y ? \"clientHeight\" : \"clientWidth\", _ = a.reference[g] + a.reference[v] - b[v] - a.floating[g], S = b[v] - a.reference[v], w = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(d));\n let $ = w ? w[x] : 0;\n (!$ || !await (s.isElement == null ? void 0 : s.isElement(w))) && ($ = i.floating[x] || a.floating[g]);\n const E = _ / 2 - S / 2, j = $ / 2 - p[g] / 2 - 1, R = tt(f[C], j), A = tt(f[h], j), W = R, V = $ - p[g] - A, M = $ / 2 - p[g] / 2 + E, F = eo(W, M, V), K = !l.arrow && wt(r) != null && M != F && a.reference[g] / 2 - (M < W ? R : A) - p[g] / 2 < 0, ne = K ? M < W ? M - W : M - V : 0;\n return {\n [v]: b[v] + ne,\n data: {\n [v]: F,\n centerOffset: M - F - ne,\n ...K && {\n alignmentOffset: ne\n }\n },\n reset: K\n };\n }\n}), Ou = function(e) {\n return e === void 0 && (e = {}), {\n name: \"flip\",\n options: e,\n async fn(t) {\n var n, o;\n const {\n placement: r,\n middlewareData: a,\n rects: s,\n initialPlacement: i,\n platform: l,\n elements: d\n } = t, {\n mainAxis: u = !0,\n crossAxis: f = !0,\n fallbackPlacements: b,\n fallbackStrategy: v = \"bestFit\",\n fallbackAxisSideDirection: g = \"none\",\n flipAlignment: p = !0,\n ...y\n } = Ue(e, t);\n if ((n = a.arrow) != null && n.alignmentOffset)\n return {};\n const C = We(r), h = We(i) === i, x = await (l.isRTL == null ? void 0 : l.isRTL(d.floating)), _ = b || (h || !p ? [an(i)] : $u(i));\n !b && g !== \"none\" && _.push(...Su(i, p, g, x));\n const S = [i, ..._], w = await Rt(t, y), $ = [];\n let E = ((o = a.flip) == null ? void 0 : o.overflows) || [];\n if (u && $.push(w[C]), f) {\n const W = _u(r, s, x);\n $.push(w[W[0]], w[W[1]]);\n }\n if (E = [...E, {\n placement: r,\n overflows: $\n }], !$.every((W) => W <= 0)) {\n var j, R;\n const W = (((j = a.flip) == null ? void 0 : j.index) || 0) + 1, V = S[W];\n if (V)\n return {\n data: {\n index: W,\n overflows: E\n },\n reset: {\n placement: V\n }\n };\n let M = (R = E.filter((F) => F.overflows[0] <= 0).sort((F, K) => F.overflows[1] - K.overflows[1])[0]) == null ? void 0 : R.placement;\n if (!M)\n switch (v) {\n case \"bestFit\": {\n var A;\n const F = (A = E.map((K) => [K.placement, K.overflows.filter((ne) => ne > 0).reduce((ne, de) => ne + de, 0)]).sort((K, ne) => K[1] - ne[1])[0]) == null ? void 0 : A[0];\n F && (M = F);\n break;\n }\n case \"initialPlacement\":\n M = i;\n break;\n }\n if (r !== M)\n return {\n reset: {\n placement: M\n }\n };\n }\n return {};\n }\n };\n};\nfunction Pr(e, t) {\n return {\n top: e.top - t.height,\n right: e.right - t.width,\n bottom: e.bottom - t.height,\n left: e.left - t.width\n };\n}\nfunction Tr(e) {\n return yu.some((t) => e[t] >= 0);\n}\nconst Pu = function(e) {\n return e === void 0 && (e = {}), {\n name: \"hide\",\n options: e,\n async fn(t) {\n const {\n rects: n\n } = t, {\n strategy: o = \"referenceHidden\",\n ...r\n } = Ue(e, t);\n switch (o) {\n case \"referenceHidden\": {\n const a = await Rt(t, {\n ...r,\n elementContext: \"reference\"\n }), s = Pr(a, n.reference);\n return {\n data: {\n referenceHiddenOffsets: s,\n referenceHidden: Tr(s)\n }\n };\n }\n case \"escaped\": {\n const a = await Rt(t, {\n ...r,\n altBoundary: !0\n }), s = Pr(a, n.floating);\n return {\n data: {\n escapedOffsets: s,\n escaped: Tr(s)\n }\n };\n }\n default:\n return {};\n }\n }\n };\n};\nasync function Tu(e, t) {\n const {\n placement: n,\n platform: o,\n elements: r\n } = e, a = await (o.isRTL == null ? void 0 : o.isRTL(r.floating)), s = We(n), i = wt(n), l = _t(n) === \"y\", d = [\"left\", \"top\"].includes(s) ? -1 : 1, u = a && l ? -1 : 1, f = Ue(t, e);\n let {\n mainAxis: b,\n crossAxis: v,\n alignmentAxis: g\n } = typeof f == \"number\" ? {\n mainAxis: f,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...f\n };\n return i && typeof g == \"number\" && (v = i === \"end\" ? g * -1 : g), l ? {\n x: v * u,\n y: b * d\n } : {\n x: b * d,\n y: v * u\n };\n}\nconst ju = function(e) {\n return e === void 0 && (e = 0), {\n name: \"offset\",\n options: e,\n async fn(t) {\n var n, o;\n const {\n x: r,\n y: a,\n placement: s,\n middlewareData: i\n } = t, l = await Tu(t, e);\n return s === ((n = i.offset) == null ? void 0 : n.placement) && (o = i.arrow) != null && o.alignmentOffset ? {} : {\n x: r + l.x,\n y: a + l.y,\n data: {\n ...l,\n placement: s\n }\n };\n }\n };\n}, Lu = function(e) {\n return e === void 0 && (e = {}), {\n name: \"shift\",\n options: e,\n async fn(t) {\n const {\n x: n,\n y: o,\n placement: r\n } = t, {\n mainAxis: a = !0,\n crossAxis: s = !1,\n limiter: i = {\n fn: (y) => {\n let {\n x: C,\n y: h\n } = y;\n return {\n x: C,\n y: h\n };\n }\n },\n ...l\n } = Ue(e, t), d = {\n x: n,\n y: o\n }, u = await Rt(t, l), f = _t(We(r)), b = yo(f);\n let v = d[b], g = d[f];\n if (a) {\n const y = b === \"y\" ? \"top\" : \"left\", C = b === \"y\" ? \"bottom\" : \"right\", h = v + u[y], x = v - u[C];\n v = eo(h, v, x);\n }\n if (s) {\n const y = f === \"y\" ? \"top\" : \"left\", C = f === \"y\" ? \"bottom\" : \"right\", h = g + u[y], x = g - u[C];\n g = eo(h, g, x);\n }\n const p = i.fn({\n ...t,\n [b]: v,\n [f]: g\n });\n return {\n ...p,\n data: {\n x: p.x - n,\n y: p.y - o\n }\n };\n }\n };\n}, Ru = function(e) {\n return e === void 0 && (e = {}), {\n options: e,\n fn(t) {\n const {\n x: n,\n y: o,\n placement: r,\n rects: a,\n middlewareData: s\n } = t, {\n offset: i = 0,\n mainAxis: l = !0,\n crossAxis: d = !0\n } = Ue(e, t), u = {\n x: n,\n y: o\n }, f = _t(r), b = yo(f);\n let v = u[b], g = u[f];\n const p = Ue(i, t), y = typeof p == \"number\" ? {\n mainAxis: p,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...p\n };\n if (l) {\n const x = b === \"y\" ? \"height\" : \"width\", _ = a.reference[b] - a.floating[x] + y.mainAxis, S = a.reference[b] + a.reference[x] - y.mainAxis;\n v < _ ? v = _ : v > S && (v = S);\n }\n if (d) {\n var C, h;\n const x = b === \"y\" ? \"width\" : \"height\", _ = [\"top\", \"left\"].includes(We(r)), S = a.reference[f] - a.floating[x] + (_ && ((C = s.offset) == null ? void 0 : C[f]) || 0) + (_ ? 0 : y.crossAxis), w = a.reference[f] + a.reference[x] + (_ ? 0 : ((h = s.offset) == null ? void 0 : h[f]) || 0) - (_ ? y.crossAxis : 0);\n g < S ? g = S : g > w && (g = w);\n }\n return {\n [b]: v,\n [f]: g\n };\n }\n };\n}, Au = function(e) {\n return e === void 0 && (e = {}), {\n name: \"size\",\n options: e,\n async fn(t) {\n const {\n placement: n,\n rects: o,\n platform: r,\n elements: a\n } = t, {\n apply: s = () => {\n },\n ...i\n } = Ue(e, t), l = await Rt(t, i), d = We(n), u = wt(n), f = _t(n) === \"y\", {\n width: b,\n height: v\n } = o.floating;\n let g, p;\n d === \"top\" || d === \"bottom\" ? (g = d, p = u === (await (r.isRTL == null ? void 0 : r.isRTL(a.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\") : (p = d, g = u === \"end\" ? \"top\" : \"bottom\");\n const y = v - l[g], C = b - l[p], h = !t.middlewareData.shift;\n let x = y, _ = C;\n if (f) {\n const w = b - l.left - l.right;\n _ = u || h ? tt(C, w) : w;\n } else {\n const w = v - l.top - l.bottom;\n x = u || h ? tt(y, w) : w;\n }\n if (h && !u) {\n const w = qe(l.left, 0), $ = qe(l.right, 0), E = qe(l.top, 0), j = qe(l.bottom, 0);\n f ? _ = b - 2 * (w !== 0 || $ !== 0 ? w + $ : qe(l.left, l.right)) : x = v - 2 * (E !== 0 || j !== 0 ? E + j : qe(l.top, l.bottom));\n }\n await s({\n ...t,\n availableWidth: _,\n availableHeight: x\n });\n const S = await r.getDimensions(a.floating);\n return b !== S.width || v !== S.height ? {\n reset: {\n rects: !0\n }\n } : {};\n }\n };\n};\nfunction ot(e) {\n return Ga(e) ? (e.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction Oe(e) {\n var t;\n return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;\n}\nfunction Ye(e) {\n var t;\n return (t = (Ga(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;\n}\nfunction Ga(e) {\n return e instanceof Node || e instanceof Oe(e).Node;\n}\nfunction Ge(e) {\n return e instanceof Element || e instanceof Oe(e).Element;\n}\nfunction Ne(e) {\n return e instanceof HTMLElement || e instanceof Oe(e).HTMLElement;\n}\nfunction jr(e) {\n return typeof ShadowRoot > \"u\" ? !1 : e instanceof ShadowRoot || e instanceof Oe(e).ShadowRoot;\n}\nfunction Nt(e) {\n const {\n overflow: t,\n overflowX: n,\n overflowY: o,\n display: r\n } = Te(e);\n return /auto|scroll|overlay|hidden|clip/.test(t + o + n) && ![\"inline\", \"contents\"].includes(r);\n}\nfunction Iu(e) {\n return [\"table\", \"td\", \"th\"].includes(ot(e));\n}\nfunction _o(e) {\n const t = $o(), n = Te(e);\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !t && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some((o) => (n.willChange || \"\").includes(o)) || [\"paint\", \"layout\", \"strict\", \"content\"].some((o) => (n.contain || \"\").includes(o));\n}\nfunction Mu(e) {\n let t = bt(e);\n for (; Ne(t) && !Cn(t); ) {\n if (_o(t))\n return t;\n t = bt(t);\n }\n return null;\n}\nfunction $o() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nfunction Cn(e) {\n return [\"html\", \"body\", \"#document\"].includes(ot(e));\n}\nfunction Te(e) {\n return Oe(e).getComputedStyle(e);\n}\nfunction yn(e) {\n return Ge(e) ? {\n scrollLeft: e.scrollLeft,\n scrollTop: e.scrollTop\n } : {\n scrollLeft: e.pageXOffset,\n scrollTop: e.pageYOffset\n };\n}\nfunction bt(e) {\n if (ot(e) === \"html\")\n return e;\n const t = (\n // Step into the shadow DOM of the parent of a slotted node.\n e.assignedSlot || // DOM Element detected.\n e.parentNode || // ShadowRoot detected.\n jr(e) && e.host || // Fallback.\n Ye(e)\n );\n return jr(t) ? t.host : t;\n}\nfunction Ka(e) {\n const t = bt(e);\n return Cn(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : Ne(t) && Nt(t) ? t : Ka(t);\n}\nfunction At(e, t, n) {\n var o;\n t === void 0 && (t = []), n === void 0 && (n = !0);\n const r = Ka(e), a = r === ((o = e.ownerDocument) == null ? void 0 : o.body), s = Oe(r);\n return a ? t.concat(s, s.visualViewport || [], Nt(r) ? r : [], s.frameElement && n ? At(s.frameElement) : []) : t.concat(r, At(r, [], n));\n}\nfunction Za(e) {\n const t = Te(e);\n let n = parseFloat(t.width) || 0, o = parseFloat(t.height) || 0;\n const r = Ne(e), a = r ? e.offsetWidth : n, s = r ? e.offsetHeight : o, i = rn(n) !== a || rn(o) !== s;\n return i && (n = a, o = s), {\n width: n,\n height: o,\n $: i\n };\n}\nfunction ko(e) {\n return Ge(e) ? e : e.contextElement;\n}\nfunction mt(e) {\n const t = ko(e);\n if (!Ne(t))\n return nt(1);\n const n = t.getBoundingClientRect(), {\n width: o,\n height: r,\n $: a\n } = Za(t);\n let s = (a ? rn(n.width) : n.width) / o, i = (a ? rn(n.height) : n.height) / r;\n return (!s || !Number.isFinite(s)) && (s = 1), (!i || !Number.isFinite(i)) && (i = 1), {\n x: s,\n y: i\n };\n}\nconst zu = /* @__PURE__ */ nt(0);\nfunction Ya(e) {\n const t = Oe(e);\n return !$o() || !t.visualViewport ? zu : {\n x: t.visualViewport.offsetLeft,\n y: t.visualViewport.offsetTop\n };\n}\nfunction Nu(e, t, n) {\n return t === void 0 && (t = !1), !n || t && n !== Oe(e) ? !1 : t;\n}\nfunction at(e, t, n, o) {\n t === void 0 && (t = !1), n === void 0 && (n = !1);\n const r = e.getBoundingClientRect(), a = ko(e);\n let s = nt(1);\n t && (o ? Ge(o) && (s = mt(o)) : s = mt(e));\n const i = Nu(a, n, o) ? Ya(a) : nt(0);\n let l = (r.left + i.x) / s.x, d = (r.top + i.y) / s.y, u = r.width / s.x, f = r.height / s.y;\n if (a) {\n const b = Oe(a), v = o && Ge(o) ? Oe(o) : o;\n let g = b.frameElement;\n for (; g && o && v !== b; ) {\n const p = mt(g), y = g.getBoundingClientRect(), C = Te(g), h = y.left + (g.clientLeft + parseFloat(C.paddingLeft)) * p.x, x = y.top + (g.clientTop + parseFloat(C.paddingTop)) * p.y;\n l *= p.x, d *= p.y, u *= p.x, f *= p.y, l += h, d += x, g = Oe(g).frameElement;\n }\n }\n return sn({\n width: u,\n height: f,\n x: l,\n y: d\n });\n}\nfunction Du(e) {\n let {\n rect: t,\n offsetParent: n,\n strategy: o\n } = e;\n const r = Ne(n), a = Ye(n);\n if (n === a)\n return t;\n let s = {\n scrollLeft: 0,\n scrollTop: 0\n }, i = nt(1);\n const l = nt(0);\n if ((r || !r && o !== \"fixed\") && ((ot(n) !== \"body\" || Nt(a)) && (s = yn(n)), Ne(n))) {\n const d = at(n);\n i = mt(n), l.x = d.x + n.clientLeft, l.y = d.y + n.clientTop;\n }\n return {\n width: t.width * i.x,\n height: t.height * i.y,\n x: t.x * i.x - s.scrollLeft * i.x + l.x,\n y: t.y * i.y - s.scrollTop * i.y + l.y\n };\n}\nfunction Fu(e) {\n return Array.from(e.getClientRects());\n}\nfunction Xa(e) {\n return at(Ye(e)).left + yn(e).scrollLeft;\n}\nfunction Vu(e) {\n const t = Ye(e), n = yn(e), o = e.ownerDocument.body, r = qe(t.scrollWidth, t.clientWidth, o.scrollWidth, o.clientWidth), a = qe(t.scrollHeight, t.clientHeight, o.scrollHeight, o.clientHeight);\n let s = -n.scrollLeft + Xa(e);\n const i = -n.scrollTop;\n return Te(o).direction === \"rtl\" && (s += qe(t.clientWidth, o.clientWidth) - r), {\n width: r,\n height: a,\n x: s,\n y: i\n };\n}\nfunction Bu(e, t) {\n const n = Oe(e), o = Ye(e), r = n.visualViewport;\n let a = o.clientWidth, s = o.clientHeight, i = 0, l = 0;\n if (r) {\n a = r.width, s = r.height;\n const d = $o();\n (!d || d && t === \"fixed\") && (i = r.offsetLeft, l = r.offsetTop);\n }\n return {\n width: a,\n height: s,\n x: i,\n y: l\n };\n}\nfunction Hu(e, t) {\n const n = at(e, !0, t === \"fixed\"), o = n.top + e.clientTop, r = n.left + e.clientLeft, a = Ne(e) ? mt(e) : nt(1), s = e.clientWidth * a.x, i = e.clientHeight * a.y, l = r * a.x, d = o * a.y;\n return {\n width: s,\n height: i,\n x: l,\n y: d\n };\n}\nfunction Lr(e, t, n) {\n let o;\n if (t === \"viewport\")\n o = Bu(e, n);\n else if (t === \"document\")\n o = Vu(Ye(e));\n else if (Ge(t))\n o = Hu(t, n);\n else {\n const r = Ya(e);\n o = {\n ...t,\n x: t.x - r.x,\n y: t.y - r.y\n };\n }\n return sn(o);\n}\nfunction Ja(e, t) {\n const n = bt(e);\n return n === t || !Ge(n) || Cn(n) ? !1 : Te(n).position === \"fixed\" || Ja(n, t);\n}\nfunction Uu(e, t) {\n const n = t.get(e);\n if (n)\n return n;\n let o = At(e, [], !1).filter((i) => Ge(i) && ot(i) !== \"body\"), r = null;\n const a = Te(e).position === \"fixed\";\n let s = a ? bt(e) : e;\n for (; Ge(s) && !Cn(s); ) {\n const i = Te(s), l = _o(s);\n !l && i.position === \"fixed\" && (r = null), (a ? !l && !r : !l && i.position === \"static\" && !!r && [\"absolute\", \"fixed\"].includes(r.position) || Nt(s) && !l && Ja(e, s)) ? o = o.filter((u) => u !== s) : r = i, s = bt(s);\n }\n return t.set(e, o), o;\n}\nfunction Wu(e) {\n let {\n element: t,\n boundary: n,\n rootBoundary: o,\n strategy: r\n } = e;\n const s = [...n === \"clippingAncestors\" ? Uu(t, this._c) : [].concat(n), o], i = s[0], l = s.reduce((d, u) => {\n const f = Lr(t, u, r);\n return d.top = qe(f.top, d.top), d.right = tt(f.right, d.right), d.bottom = tt(f.bottom, d.bottom), d.left = qe(f.left, d.left), d;\n }, Lr(t, i, r));\n return {\n width: l.right - l.left,\n height: l.bottom - l.top,\n x: l.left,\n y: l.top\n };\n}\nfunction Gu(e) {\n return Za(e);\n}\nfunction Ku(e, t, n) {\n const o = Ne(t), r = Ye(t), a = n === \"fixed\", s = at(e, !0, a, t);\n let i = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const l = nt(0);\n if (o || !o && !a)\n if ((ot(t) !== \"body\" || Nt(r)) && (i = yn(t)), o) {\n const d = at(t, !0, a, t);\n l.x = d.x + t.clientLeft, l.y = d.y + t.clientTop;\n } else\n r && (l.x = Xa(r));\n return {\n x: s.left + i.scrollLeft - l.x,\n y: s.top + i.scrollTop - l.y,\n width: s.width,\n height: s.height\n };\n}\nfunction Rr(e, t) {\n return !Ne(e) || Te(e).position === \"fixed\" ? null : t ? t(e) : e.offsetParent;\n}\nfunction Qa(e, t) {\n const n = Oe(e);\n if (!Ne(e))\n return n;\n let o = Rr(e, t);\n for (; o && Iu(o) && Te(o).position === \"static\"; )\n o = Rr(o, t);\n return o && (ot(o) === \"html\" || ot(o) === \"body\" && Te(o).position === \"static\" && !_o(o)) ? n : o || Mu(e) || n;\n}\nconst Zu = async function(e) {\n let {\n reference: t,\n floating: n,\n strategy: o\n } = e;\n const r = this.getOffsetParent || Qa, a = this.getDimensions;\n return {\n reference: Ku(t, await r(n), o),\n floating: {\n x: 0,\n y: 0,\n ...await a(n)\n }\n };\n};\nfunction Yu(e) {\n return Te(e).direction === \"rtl\";\n}\nconst Xu = {\n convertOffsetParentRelativeRectToViewportRelativeRect: Du,\n getDocumentElement: Ye,\n getClippingRect: Wu,\n getOffsetParent: Qa,\n getElementRects: Zu,\n getClientRects: Fu,\n getDimensions: Gu,\n getScale: mt,\n isElement: Ge,\n isRTL: Yu\n};\nfunction Ju(e, t) {\n let n = null, o;\n const r = Ye(e);\n function a() {\n clearTimeout(o), n && n.disconnect(), n = null;\n }\n function s(i, l) {\n i === void 0 && (i = !1), l === void 0 && (l = 1), a();\n const {\n left: d,\n top: u,\n width: f,\n height: b\n } = e.getBoundingClientRect();\n if (i || t(), !f || !b)\n return;\n const v = Kt(u), g = Kt(r.clientWidth - (d + f)), p = Kt(r.clientHeight - (u + b)), y = Kt(d), h = {\n rootMargin: -v + \"px \" + -g + \"px \" + -p + \"px \" + -y + \"px\",\n threshold: qe(0, tt(1, l)) || 1\n };\n let x = !0;\n function _(S) {\n const w = S[0].intersectionRatio;\n if (w !== l) {\n if (!x)\n return s();\n w ? s(!1, w) : o = setTimeout(() => {\n s(!1, 1e-7);\n }, 100);\n }\n x = !1;\n }\n try {\n n = new IntersectionObserver(_, {\n ...h,\n // Handle <iframe>s\n root: r.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(_, h);\n }\n n.observe(e);\n }\n return s(!0), a;\n}\nfunction Qu(e, t, n, o) {\n o === void 0 && (o = {});\n const {\n ancestorScroll: r = !0,\n ancestorResize: a = !0,\n elementResize: s = typeof ResizeObserver == \"function\",\n layoutShift: i = typeof IntersectionObserver == \"function\",\n animationFrame: l = !1\n } = o, d = ko(e), u = r || a ? [...d ? At(d) : [], ...At(t)] : [];\n u.forEach((C) => {\n r && C.addEventListener(\"scroll\", n, {\n passive: !0\n }), a && C.addEventListener(\"resize\", n);\n });\n const f = d && i ? Ju(d, n) : null;\n let b = -1, v = null;\n s && (v = new ResizeObserver((C) => {\n let [h] = C;\n h && h.target === d && v && (v.unobserve(t), cancelAnimationFrame(b), b = requestAnimationFrame(() => {\n v && v.observe(t);\n })), n();\n }), d && !l && v.observe(d), v.observe(t));\n let g, p = l ? at(e) : null;\n l && y();\n function y() {\n const C = at(e);\n p && (C.x !== p.x || C.y !== p.y || C.width !== p.width || C.height !== p.height) && n(), p = C, g = requestAnimationFrame(y);\n }\n return n(), () => {\n u.forEach((C) => {\n r && C.removeEventListener(\"scroll\", n), a && C.removeEventListener(\"resize\", n);\n }), f && f(), v && v.disconnect(), v = null, l && cancelAnimationFrame(g);\n };\n}\nconst ef = (e, t, n) => {\n const o = /* @__PURE__ */ new Map(), r = {\n platform: Xu,\n ...n\n }, a = {\n ...r.platform,\n _c: o\n };\n return qu(e, t, {\n ...r,\n platform: a\n });\n}, tf = (e) => {\n function t(n) {\n return {}.hasOwnProperty.call(n, \"current\");\n }\n return {\n name: \"arrow\",\n options: e,\n fn(n) {\n const {\n element: o,\n padding: r\n } = typeof e == \"function\" ? e(n) : e;\n return o && t(o) ? o.current != null ? Or({\n element: o.current,\n padding: r\n }).fn(n) : {} : o ? Or({\n element: o,\n padding: r\n }).fn(n) : {};\n }\n };\n};\nvar Qt = typeof document < \"u\" ? jt : B;\nfunction cn(e, t) {\n if (e === t)\n return !0;\n if (typeof e != typeof t)\n return !1;\n if (typeof e == \"function\" && e.toString() === t.toString())\n return !0;\n let n, o, r;\n if (e && t && typeof e == \"object\") {\n if (Array.isArray(e)) {\n if (n = e.length, n != t.length)\n return !1;\n for (o = n; o-- !== 0; )\n if (!cn(e[o], t[o]))\n return !1;\n return !0;\n }\n if (r = Object.keys(e), n = r.length, n !== Object.keys(t).length)\n return !1;\n for (o = n; o-- !== 0; )\n if (!{}.hasOwnProperty.call(t, r[o]))\n return !1;\n for (o = n; o-- !== 0; ) {\n const a = r[o];\n if (!(a === \"_owner\" && e.$$typeof) && !cn(e[a], t[a]))\n return !1;\n }\n return !0;\n }\n return e !== e && t !== t;\n}\nfunction ei(e) {\n return typeof window > \"u\" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;\n}\nfunction Ar(e, t) {\n const n = ei(e);\n return Math.round(t * n) / n;\n}\nfunction Ir(e) {\n const t = U.useRef(e);\n return Qt(() => {\n t.current = e;\n }), t;\n}\nfunction nf(e) {\n e === void 0 && (e = {});\n const {\n placement: t = \"bottom\",\n strategy: n = \"absolute\",\n middleware: o = [],\n platform: r,\n elements: {\n reference: a,\n floating: s\n } = {},\n transform: i = !0,\n whileElementsMounted: l,\n open: d\n } = e, [u, f] = U.useState({\n x: 0,\n y: 0,\n strategy: n,\n placement: t,\n middlewareData: {},\n isPositioned: !1\n }), [b, v] = U.useState(o);\n cn(b, o) || v(o);\n const [g, p] = U.useState(null), [y, C] = U.useState(null), h = U.useCallback((K) => {\n K != w.current && (w.current = K, p(K));\n }, [p]), x = U.useCallback((K) => {\n K !== $.current && ($.current = K, C(K));\n }, [C]), _ = a || g, S = s || y, w = U.useRef(null), $ = U.useRef(null), E = U.useRef(u), j = Ir(l), R = Ir(r), A = U.useCallback(() => {\n if (!w.current || !$.current)\n return;\n const K = {\n placement: t,\n strategy: n,\n middleware: b\n };\n R.current && (K.platform = R.current), ef(w.current, $.current, K).then((ne) => {\n const de = {\n ...ne,\n isPositioned: !0\n };\n W.current && !cn(E.current, de) && (E.current = de, js.flushSync(() => {\n f(de);\n }));\n });\n }, [b, t, n, R]);\n Qt(() => {\n d === !1 && E.current.isPositioned && (E.current.isPositioned = !1, f((K) => ({\n ...K,\n isPositioned: !1\n })));\n }, [d]);\n const W = U.useRef(!1);\n Qt(() => (W.current = !0, () => {\n W.current = !1;\n }), []), Qt(() => {\n if (_ && (w.current = _), S && ($.current = S), _ && S) {\n if (j.current)\n return j.current(_, S, A);\n A();\n }\n }, [_, S, A, j]);\n const V = U.useMemo(() => ({\n reference: w,\n floating: $,\n setReference: h,\n setFloating: x\n }), [h, x]), M = U.useMemo(() => ({\n reference: _,\n floating: S\n }), [_, S]), F = U.useMemo(() => {\n const K = {\n position: n,\n left: 0,\n top: 0\n };\n if (!M.floating)\n return K;\n const ne = Ar(M.floating, u.x), de = Ar(M.floating, u.y);\n return i ? {\n ...K,\n transform: \"translate(\" + ne + \"px, \" + de + \"px)\",\n ...ei(M.floating) >= 1.5 && {\n willChange: \"transform\"\n }\n } : {\n position: n,\n left: ne,\n top: de\n };\n }, [n, i, M.floating, u.x, u.y]);\n return U.useMemo(() => ({\n ...u,\n update: A,\n refs: V,\n elements: M,\n floatingStyles: F\n }), [u, A, V, M, F]);\n}\nconst ti = \"Popper\", [ni, oi] = Ke(ti), [of, ri] = ni(ti), rf = (e) => {\n const { __scopePopper: t, children: n } = e, [o, r] = G(null);\n return /* @__PURE__ */ O(of, {\n scope: t,\n anchor: o,\n onAnchorChange: r\n }, n);\n}, af = \"PopperAnchor\", sf = /* @__PURE__ */ X((e, t) => {\n const { __scopePopper: n, virtualRef: o, ...r } = e, a = ri(af, n), s = Y(null), i = ge(t, s);\n return B(() => {\n a.onAnchorChange((o == null ? void 0 : o.current) || s.current);\n }), o ? null : /* @__PURE__ */ O(le.div, I({}, r, {\n ref: i\n }));\n}), ai = \"PopperContent\", [cf, Lv] = ni(ai), lf = /* @__PURE__ */ X((e, t) => {\n var n, o, r, a, s, i, l, d;\n const { __scopePopper: u, side: f = \"bottom\", sideOffset: b = 0, align: v = \"center\", alignOffset: g = 0, arrowPadding: p = 0, collisionBoundary: y = [], collisionPadding: C = 0, sticky: h = \"partial\", hideWhenDetached: x = !1, avoidCollisions: _ = !0, onPlaced: S, ...w } = e, $ = ri(ai, u), [E, j] = G(null), R = ge(\n t,\n (we) => j(we)\n ), [A, W] = G(null), V = Fa(A), M = (n = V == null ? void 0 : V.width) !== null && n !== void 0 ? n : 0, F = (o = V == null ? void 0 : V.height) !== null && o !== void 0 ? o : 0, K = f + (v !== \"center\" ? \"-\" + v : \"\"), ne = typeof C == \"number\" ? C : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...C\n }, de = Array.isArray(y) ? y : [\n y\n ], q = de.length > 0, k = {\n padding: ne,\n boundary: de.filter(df),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: q\n }, { refs: T, floatingStyles: H, placement: z, isPositioned: te, middlewareData: ve } = nf({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: K,\n whileElementsMounted: Qu,\n elements: {\n reference: $.anchor\n },\n middleware: [\n ju({\n mainAxis: b + F,\n alignmentAxis: g\n }),\n _ && Lu({\n mainAxis: !0,\n crossAxis: !1,\n limiter: h === \"partial\" ? Ru() : void 0,\n ...k\n }),\n _ && Ou({\n ...k\n }),\n Au({\n ...k,\n apply: ({ elements: we, rects: Ae, availableWidth: Ie, availableHeight: Je }) => {\n const { width: Vt, height: ct } = Ae.reference, lt = we.floating.style;\n lt.setProperty(\"--radix-popper-available-width\", `${Ie}px`), lt.setProperty(\"--radix-popper-available-height\", `${Je}px`), lt.setProperty(\"--radix-popper-anchor-width\", `${Vt}px`), lt.setProperty(\"--radix-popper-anchor-height\", `${ct}px`);\n }\n }),\n A && tf({\n element: A,\n padding: p\n }),\n uf({\n arrowWidth: M,\n arrowHeight: F\n }),\n x && Pu({\n strategy: \"referenceHidden\"\n })\n ]\n }), [pe, N] = ii(z), Z = Se(S);\n Ee(() => {\n te && (Z == null || Z());\n }, [\n te,\n Z\n ]);\n const be = (r = ve.arrow) === null || r === void 0 ? void 0 : r.x, ae = (a = ve.arrow) === null || a === void 0 ? void 0 : a.y, oe = ((s = ve.arrow) === null || s === void 0 ? void 0 : s.centerOffset) !== 0, [ue, $e] = G();\n return Ee(() => {\n E && $e(window.getComputedStyle(E).zIndex);\n }, [\n E\n ]), /* @__PURE__ */ O(\"div\", {\n ref: T.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...H,\n transform: te ? H.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: ue,\n \"--radix-popper-transform-origin\": [\n (i = ve.transformOrigin) === null || i === void 0 ? void 0 : i.x,\n (l = ve.transformOrigin) === null || l === void 0 ? void 0 : l.y\n ].join(\" \")\n },\n dir: e.dir\n }, /* @__PURE__ */ O(cf, {\n scope: u,\n placedSide: pe,\n onArrowChange: W,\n arrowX: be,\n arrowY: ae,\n shouldHideArrow: oe\n }, /* @__PURE__ */ O(le.div, I({\n \"data-side\": pe,\n \"data-align\": N\n }, w, {\n ref: R,\n style: {\n ...w.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: te ? void 0 : \"none\",\n // hide the content if using the hide middleware and should be hidden\n opacity: (d = ve.hide) !== null && d !== void 0 && d.referenceHidden ? 0 : void 0\n }\n }))));\n});\nfunction df(e) {\n return e !== null;\n}\nconst uf = (e) => ({\n name: \"transformOrigin\",\n options: e,\n fn(t) {\n var n, o, r, a, s;\n const { placement: i, rects: l, middlewareData: d } = t, f = ((n = d.arrow) === null || n === void 0 ? void 0 : n.centerOffset) !== 0, b = f ? 0 : e.arrowWidth, v = f ? 0 : e.arrowHeight, [g, p] = ii(i), y = {\n start: \"0%\",\n center: \"50%\",\n end: \"100%\"\n }[p], C = ((o = (r = d.arrow) === null || r === void 0 ? void 0 : r.x) !== null && o !== void 0 ? o : 0) + b / 2, h = ((a = (s = d.arrow) === null || s === void 0 ? void 0 : s.y) !== null && a !== void 0 ? a : 0) + v / 2;\n let x = \"\", _ = \"\";\n return g === \"bottom\" ? (x = f ? y : `${C}px`, _ = `${-v}px`) : g === \"top\" ? (x = f ? y : `${C}px`, _ = `${l.floating.height + v}px`) : g === \"right\" ? (x = `${-v}px`, _ = f ? y : `${h}px`) : g === \"left\" && (x = `${l.floating.width + v}px`, _ = f ? y : `${h}px`), {\n data: {\n x,\n y: _\n }\n };\n }\n});\nfunction ii(e) {\n const [t, n = \"center\"] = e.split(\"-\");\n return [\n t,\n n\n ];\n}\nconst ff = rf, vf = sf, pf = lf, mf = /* @__PURE__ */ X((e, t) => /* @__PURE__ */ O(le.span, I({}, e, {\n ref: t,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...e.style\n }\n}))), gf = [\n \" \",\n \"Enter\",\n \"ArrowUp\",\n \"ArrowDown\"\n], hf = [\n \" \",\n \"Enter\"\n], xn = \"Select\", [wn, _n, bf] = fo(xn), [$t, Rv] = Ke(xn, [\n bf,\n oi\n]), So = oi(), [Cf, it] = $t(xn), [yf, xf] = $t(xn), wf = (e) => {\n const { __scopeSelect: t, children: n, open: o, defaultOpen: r, onOpenChange: a, value: s, defaultValue: i, onValueChange: l, dir: d, name: u, autoComplete: f, disabled: b, required: v } = e, g = So(t), [p, y] = G(null), [C, h] = G(null), [x, _] = G(!1), S = mn(d), [w = !1, $] = He({\n prop: o,\n defaultProp: r,\n onChange: a\n }), [E, j] = He({\n prop: s,\n defaultProp: i,\n onChange: l\n }), R = Y(null), A = p ? !!p.closest(\"form\") : !0, [W, V] = G(/* @__PURE__ */ new Set()), M = Array.from(W).map(\n (F) => F.props.value\n ).join(\";\");\n return /* @__PURE__ */ O(ff, g, /* @__PURE__ */ O(Cf, {\n required: v,\n scope: t,\n trigger: p,\n onTriggerChange: y,\n valueNode: C,\n onValueNodeChange: h,\n valueNodeHasChildren: x,\n onValueNodeHasChildrenChange: _,\n contentId: ze(),\n value: E,\n onValueChange: j,\n open: w,\n onOpenChange: $,\n dir: S,\n triggerPointerDownPosRef: R,\n disabled: b\n }, /* @__PURE__ */ O(wn.Provider, {\n scope: t\n }, /* @__PURE__ */ O(yf, {\n scope: e.__scopeSelect,\n onNativeOptionAdd: ee((F) => {\n V(\n (K) => new Set(K).add(F)\n );\n }, []),\n onNativeOptionRemove: ee((F) => {\n V((K) => {\n const ne = new Set(K);\n return ne.delete(F), ne;\n });\n }, [])\n }, n)), A ? /* @__PURE__ */ O(di, {\n key: M,\n \"aria-hidden\": !0,\n required: v,\n tabIndex: -1,\n name: u,\n autoComplete: f,\n value: E,\n onChange: (F) => j(F.target.value),\n disabled: b\n }, E === void 0 ? /* @__PURE__ */ O(\"option\", {\n value: \"\"\n }) : null, Array.from(W)) : null));\n}, _f = \"SelectTrigger\", $f = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, disabled: o = !1, ...r } = e, a = So(n), s = it(_f, n), i = s.disabled || o, l = ge(t, s.onTriggerChange), d = _n(n), [u, f, b] = ui((g) => {\n const p = d().filter(\n (h) => !h.disabled\n ), y = p.find(\n (h) => h.value === s.value\n ), C = fi(p, g, y);\n C !== void 0 && s.onValueChange(C.value);\n }), v = () => {\n i || (s.onOpenChange(!0), b());\n };\n return /* @__PURE__ */ O(vf, I({\n asChild: !0\n }, a), /* @__PURE__ */ O(le.button, I({\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": s.contentId,\n \"aria-expanded\": s.open,\n \"aria-required\": s.required,\n \"aria-autocomplete\": \"none\",\n dir: s.dir,\n \"data-state\": s.open ? \"open\" : \"closed\",\n disabled: i,\n \"data-disabled\": i ? \"\" : void 0,\n \"data-placeholder\": s.value === void 0 ? \"\" : void 0\n }, r, {\n ref: l,\n onClick: re(r.onClick, (g) => {\n g.currentTarget.focus();\n }),\n onPointerDown: re(r.onPointerDown, (g) => {\n const p = g.target;\n p.hasPointerCapture(g.pointerId) && p.releasePointerCapture(g.pointerId), g.button === 0 && g.ctrlKey === !1 && (v(), s.triggerPointerDownPosRef.current = {\n x: Math.round(g.pageX),\n y: Math.round(g.pageY)\n }, g.preventDefault());\n }),\n onKeyDown: re(r.onKeyDown, (g) => {\n const p = u.current !== \"\";\n !(g.ctrlKey || g.altKey || g.metaKey) && g.key.length === 1 && f(g.key), !(p && g.key === \" \") && gf.includes(g.key) && (v(), g.preventDefault());\n })\n })));\n}), kf = \"SelectValue\", Sf = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, className: o, style: r, children: a, placeholder: s, ...i } = e, l = it(kf, n), { onValueNodeHasChildrenChange: d } = l, u = a !== void 0, f = ge(t, l.onValueNodeChange);\n return Ee(() => {\n d(u);\n }, [\n d,\n u\n ]), /* @__PURE__ */ O(le.span, I({}, i, {\n ref: f,\n style: {\n pointerEvents: \"none\"\n }\n }), l.value === void 0 && s !== void 0 ? s : a);\n}), Ct = \"SelectContent\", Ef = /* @__PURE__ */ X((e, t) => {\n const n = it(Ct, e.__scopeSelect), [o, r] = G();\n if (Ee(() => {\n r(new DocumentFragment());\n }, []), !n.open) {\n const a = o;\n return a ? /* @__PURE__ */ so(/* @__PURE__ */ O(si, {\n scope: e.__scopeSelect\n }, /* @__PURE__ */ O(wn.Slot, {\n scope: e.__scopeSelect\n }, /* @__PURE__ */ O(\"div\", null, e.children))), a) : null;\n }\n return /* @__PURE__ */ O(qf, I({}, e, {\n ref: t\n }));\n}), Ve = 10, [si, kt] = $t(Ct), qf = /* @__PURE__ */ X((e, t) => {\n const {\n __scopeSelect: n,\n position: o = \"item-aligned\",\n onCloseAutoFocus: r,\n onEscapeKeyDown: a,\n onPointerDownOutside: s,\n side: i,\n sideOffset: l,\n align: d,\n alignOffset: u,\n arrowPadding: f,\n collisionBoundary: b,\n collisionPadding: v,\n sticky: g,\n hideWhenDetached: p,\n avoidCollisions: y,\n //\n ...C\n } = e, h = it(Ct, n), [x, _] = G(null), [S, w] = G(null), $ = ge(\n t,\n (N) => _(N)\n ), [E, j] = G(null), [R, A] = G(null), W = _n(n), [V, M] = G(!1), F = Y(!1);\n B(() => {\n if (x)\n return Ra(x);\n }, [\n x\n ]), _a();\n const K = ee((N) => {\n const [Z, ...be] = W().map(\n (ue) => ue.ref.current\n ), [ae] = be.slice(-1), oe = document.activeElement;\n for (const ue of N)\n if (ue === oe || (ue == null || ue.scrollIntoView({\n block: \"nearest\"\n }), ue === Z && S && (S.scrollTop = 0), ue === ae && S && (S.scrollTop = S.scrollHeight), ue == null || ue.focus(), document.activeElement !== oe))\n return;\n }, [\n W,\n S\n ]), ne = ee(\n () => K([\n E,\n x\n ]),\n [\n K,\n E,\n x\n ]\n );\n B(() => {\n V && ne();\n }, [\n V,\n ne\n ]);\n const { onOpenChange: de, triggerPointerDownPosRef: q } = h;\n B(() => {\n if (x) {\n let N = {\n x: 0,\n y: 0\n };\n const Z = (ae) => {\n var oe, ue, $e, we;\n N = {\n x: Math.abs(Math.round(ae.pageX) - ((oe = (ue = q.current) === null || ue === void 0 ? void 0 : ue.x) !== null && oe !== void 0 ? oe : 0)),\n y: Math.abs(Math.round(ae.pageY) - (($e = (we = q.current) === null || we === void 0 ? void 0 : we.y) !== null && $e !== void 0 ? $e : 0))\n };\n }, be = (ae) => {\n N.x <= 10 && N.y <= 10 ? ae.preventDefault() : x.contains(ae.target) || de(!1), document.removeEventListener(\"pointermove\", Z), q.current = null;\n };\n return q.current !== null && (document.addEventListener(\"pointermove\", Z), document.addEventListener(\"pointerup\", be, {\n capture: !0,\n once: !0\n })), () => {\n document.removeEventListener(\"pointermove\", Z), document.removeEventListener(\"pointerup\", be, {\n capture: !0\n });\n };\n }\n }, [\n x,\n de,\n q\n ]), B(() => {\n const N = () => de(!1);\n return window.addEventListener(\"blur\", N), window.addEventListener(\"resize\", N), () => {\n window.removeEventListener(\"blur\", N), window.removeEventListener(\"resize\", N);\n };\n }, [\n de\n ]);\n const [k, T] = ui((N) => {\n const Z = W().filter(\n (oe) => !oe.disabled\n ), be = Z.find(\n (oe) => oe.ref.current === document.activeElement\n ), ae = fi(Z, N, be);\n ae && setTimeout(\n () => ae.ref.current.focus()\n );\n }), H = ee((N, Z, be) => {\n const ae = !F.current && !be;\n (h.value !== void 0 && h.value === Z || ae) && (j(N), ae && (F.current = !0));\n }, [\n h.value\n ]), z = ee(\n () => x == null ? void 0 : x.focus(),\n [\n x\n ]\n ), te = ee((N, Z, be) => {\n const ae = !F.current && !be;\n (h.value !== void 0 && h.value === Z || ae) && A(N);\n }, [\n h.value\n ]), ve = o === \"popper\" ? Mr : Of, pe = ve === Mr ? {\n side: i,\n sideOffset: l,\n align: d,\n alignOffset: u,\n arrowPadding: f,\n collisionBoundary: b,\n collisionPadding: v,\n sticky: g,\n hideWhenDetached: p,\n avoidCollisions: y\n } : {};\n return /* @__PURE__ */ O(si, {\n scope: n,\n content: x,\n viewport: S,\n onViewportChange: w,\n itemRefCallback: H,\n selectedItem: E,\n onItemLeave: z,\n itemTextRefCallback: te,\n focusSelectedItem: ne,\n selectedItemText: R,\n position: o,\n isPositioned: V,\n searchRef: k\n }, /* @__PURE__ */ O(ja, {\n as: ht,\n allowPinchZoom: !0\n }, /* @__PURE__ */ O(vu, {\n asChild: !0,\n trapped: h.open,\n onMountAutoFocus: (N) => {\n N.preventDefault();\n },\n onUnmountAutoFocus: re(r, (N) => {\n var Z;\n (Z = h.trigger) === null || Z === void 0 || Z.focus({\n preventScroll: !0\n }), N.preventDefault();\n })\n }, /* @__PURE__ */ O(du, {\n asChild: !0,\n disableOutsidePointerEvents: !0,\n onEscapeKeyDown: a,\n onPointerDownOutside: s,\n onFocusOutside: (N) => N.preventDefault(),\n onDismiss: () => h.onOpenChange(!1)\n }, /* @__PURE__ */ O(ve, I({\n role: \"listbox\",\n id: h.contentId,\n \"data-state\": h.open ? \"open\" : \"closed\",\n dir: h.dir,\n onContextMenu: (N) => N.preventDefault()\n }, C, pe, {\n onPlaced: () => M(!0),\n ref: $,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...C.style\n },\n onKeyDown: re(C.onKeyDown, (N) => {\n const Z = N.ctrlKey || N.altKey || N.metaKey;\n if (N.key === \"Tab\" && N.preventDefault(), !Z && N.key.length === 1 && T(N.key), [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\"\n ].includes(N.key)) {\n let ae = W().filter(\n (oe) => !oe.disabled\n ).map(\n (oe) => oe.ref.current\n );\n if ([\n \"ArrowUp\",\n \"End\"\n ].includes(N.key) && (ae = ae.slice().reverse()), [\n \"ArrowUp\",\n \"ArrowDown\"\n ].includes(N.key)) {\n const oe = N.target, ue = ae.indexOf(oe);\n ae = ae.slice(ue + 1);\n }\n setTimeout(\n () => K(ae)\n ), N.preventDefault();\n }\n })\n }))))));\n}), Of = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, onPlaced: o, ...r } = e, a = it(Ct, n), s = kt(Ct, n), [i, l] = G(null), [d, u] = G(null), f = ge(\n t,\n ($) => u($)\n ), b = _n(n), v = Y(!1), g = Y(!0), { viewport: p, selectedItem: y, selectedItemText: C, focusSelectedItem: h } = s, x = ee(() => {\n if (a.trigger && a.valueNode && i && d && p && y && C) {\n const $ = a.trigger.getBoundingClientRect(), E = d.getBoundingClientRect(), j = a.valueNode.getBoundingClientRect(), R = C.getBoundingClientRect();\n if (a.dir !== \"rtl\") {\n const oe = R.left - E.left, ue = j.left - oe, $e = $.left - ue, we = $.width + $e, Ae = Math.max(we, E.width), Ie = window.innerWidth - Ve, Je = xr(ue, [\n Ve,\n Ie - Ae\n ]);\n i.style.minWidth = we + \"px\", i.style.left = Je + \"px\";\n } else {\n const oe = E.right - R.right, ue = window.innerWidth - j.right - oe, $e = window.innerWidth - $.right - ue, we = $.width + $e, Ae = Math.max(we, E.width), Ie = window.innerWidth - Ve, Je = xr(ue, [\n Ve,\n Ie - Ae\n ]);\n i.style.minWidth = we + \"px\", i.style.right = Je + \"px\";\n }\n const A = b(), W = window.innerHeight - Ve * 2, V = p.scrollHeight, M = window.getComputedStyle(d), F = parseInt(M.borderTopWidth, 10), K = parseInt(M.paddingTop, 10), ne = parseInt(M.borderBottomWidth, 10), de = parseInt(M.paddingBottom, 10), q = F + K + V + de + ne, k = Math.min(y.offsetHeight * 5, q), T = window.getComputedStyle(p), H = parseInt(T.paddingTop, 10), z = parseInt(T.paddingBottom, 10), te = $.top + $.height / 2 - Ve, ve = W - te, pe = y.offsetHeight / 2, N = y.offsetTop + pe, Z = F + K + N, be = q - Z;\n if (Z <= te) {\n const oe = y === A[A.length - 1].ref.current;\n i.style.bottom = \"0px\";\n const ue = d.clientHeight - p.offsetTop - p.offsetHeight, $e = Math.max(ve, pe + (oe ? z : 0) + ue + ne), we = Z + $e;\n i.style.height = we + \"px\";\n } else {\n const oe = y === A[0].ref.current;\n i.style.top = \"0px\";\n const $e = Math.max(te, F + p.offsetTop + (oe ? H : 0) + pe) + be;\n i.style.height = $e + \"px\", p.scrollTop = Z - te + p.offsetTop;\n }\n i.style.margin = `${Ve}px 0`, i.style.minHeight = k + \"px\", i.style.maxHeight = W + \"px\", o == null || o(), requestAnimationFrame(\n () => v.current = !0\n );\n }\n }, [\n b,\n a.trigger,\n a.valueNode,\n i,\n d,\n p,\n y,\n C,\n a.dir,\n o\n ]);\n Ee(\n () => x(),\n [\n x\n ]\n );\n const [_, S] = G();\n Ee(() => {\n d && S(window.getComputedStyle(d).zIndex);\n }, [\n d\n ]);\n const w = ee(($) => {\n $ && g.current === !0 && (x(), h == null || h(), g.current = !1);\n }, [\n x,\n h\n ]);\n return /* @__PURE__ */ O(Pf, {\n scope: n,\n contentWrapper: i,\n shouldExpandOnScrollRef: v,\n onScrollButtonChange: w\n }, /* @__PURE__ */ O(\"div\", {\n ref: l,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: _\n }\n }, /* @__PURE__ */ O(le.div, I({}, r, {\n ref: f,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...r.style\n }\n }))));\n}), Mr = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, align: o = \"start\", collisionPadding: r = Ve, ...a } = e, s = So(n);\n return /* @__PURE__ */ O(pf, I({}, s, a, {\n ref: t,\n align: o,\n collisionPadding: r,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...a.style,\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }));\n}), [Pf, ci] = $t(Ct, {}), zr = \"SelectViewport\", Tf = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, ...o } = e, r = kt(zr, n), a = ci(zr, n), s = ge(t, r.onViewportChange), i = Y(0);\n return /* @__PURE__ */ O(fn, null, /* @__PURE__ */ O(\"style\", {\n dangerouslySetInnerHTML: {\n __html: \"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}\"\n }\n }), /* @__PURE__ */ O(wn.Slot, {\n scope: n\n }, /* @__PURE__ */ O(le.div, I({\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\"\n }, o, {\n ref: s,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n overflow: \"auto\",\n ...o.style\n },\n onScroll: re(o.onScroll, (l) => {\n const d = l.currentTarget, { contentWrapper: u, shouldExpandOnScrollRef: f } = a;\n if (f != null && f.current && u) {\n const b = Math.abs(i.current - d.scrollTop);\n if (b > 0) {\n const v = window.innerHeight - Ve * 2, g = parseFloat(u.style.minHeight), p = parseFloat(u.style.height), y = Math.max(g, p);\n if (y < v) {\n const C = y + b, h = Math.min(v, C), x = C - h;\n u.style.height = h + \"px\", u.style.bottom === \"0px\" && (d.scrollTop = x > 0 ? x : 0, u.style.justifyContent = \"flex-end\");\n }\n }\n }\n i.current = d.scrollTop;\n })\n }))));\n}), jf = \"SelectGroup\", [Lf, Av] = $t(jf), Rf = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, ...o } = e, r = ze();\n return /* @__PURE__ */ O(Lf, {\n scope: n,\n id: r\n }, /* @__PURE__ */ O(le.div, I({\n role: \"group\",\n \"aria-labelledby\": r\n }, o, {\n ref: t\n })));\n}), no = \"SelectItem\", [Af, li] = $t(no), If = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, value: o, disabled: r = !1, textValue: a, ...s } = e, i = it(no, n), l = kt(no, n), d = i.value === o, [u, f] = G(a ?? \"\"), [b, v] = G(!1), g = ge(t, (C) => {\n var h;\n return (h = l.itemRefCallback) === null || h === void 0 ? void 0 : h.call(l, C, o, r);\n }), p = ze(), y = () => {\n r || (i.onValueChange(o), i.onOpenChange(!1));\n };\n return /* @__PURE__ */ O(Af, {\n scope: n,\n value: o,\n disabled: r,\n textId: p,\n isSelected: d,\n onItemTextChange: ee((C) => {\n f((h) => {\n var x;\n return h || ((x = C == null ? void 0 : C.textContent) !== null && x !== void 0 ? x : \"\").trim();\n });\n }, [])\n }, /* @__PURE__ */ O(wn.ItemSlot, {\n scope: n,\n value: o,\n disabled: r,\n textValue: u\n }, /* @__PURE__ */ O(le.div, I({\n role: \"option\",\n \"aria-labelledby\": p,\n \"data-highlighted\": b ? \"\" : void 0,\n \"aria-selected\": d && b,\n \"data-state\": d ? \"checked\" : \"unchecked\",\n \"aria-disabled\": r || void 0,\n \"data-disabled\": r ? \"\" : void 0,\n tabIndex: r ? void 0 : -1\n }, s, {\n ref: g,\n onFocus: re(\n s.onFocus,\n () => v(!0)\n ),\n onBlur: re(\n s.onBlur,\n () => v(!1)\n ),\n onPointerUp: re(s.onPointerUp, y),\n onPointerMove: re(s.onPointerMove, (C) => {\n if (r) {\n var h;\n (h = l.onItemLeave) === null || h === void 0 || h.call(l);\n } else\n C.currentTarget.focus({\n preventScroll: !0\n });\n }),\n onPointerLeave: re(s.onPointerLeave, (C) => {\n if (C.currentTarget === document.activeElement) {\n var h;\n (h = l.onItemLeave) === null || h === void 0 || h.call(l);\n }\n }),\n onKeyDown: re(s.onKeyDown, (C) => {\n var h;\n ((h = l.searchRef) === null || h === void 0 ? void 0 : h.current) !== \"\" && C.key === \" \" || (hf.includes(C.key) && y(), C.key === \" \" && C.preventDefault());\n })\n }))));\n}), Zt = \"SelectItemText\", Mf = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, className: o, style: r, ...a } = e, s = it(Zt, n), i = kt(Zt, n), l = li(Zt, n), d = xf(Zt, n), [u, f] = G(null), b = ge(\n t,\n (C) => f(C),\n l.onItemTextChange,\n (C) => {\n var h;\n return (h = i.itemTextRefCallback) === null || h === void 0 ? void 0 : h.call(i, C, l.value, l.disabled);\n }\n ), v = u == null ? void 0 : u.textContent, g = ce(\n () => /* @__PURE__ */ O(\"option\", {\n key: l.value,\n value: l.value,\n disabled: l.disabled\n }, v),\n [\n l.disabled,\n l.value,\n v\n ]\n ), { onNativeOptionAdd: p, onNativeOptionRemove: y } = d;\n return Ee(() => (p(g), () => y(g)), [\n p,\n y,\n g\n ]), /* @__PURE__ */ O(fn, null, /* @__PURE__ */ O(le.span, I({\n id: l.textId\n }, a, {\n ref: b\n })), l.isSelected && s.valueNode && !s.valueNodeHasChildren ? /* @__PURE__ */ so(a.children, s.valueNode) : null);\n}), zf = \"SelectItemIndicator\", Nf = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, ...o } = e;\n return li(zf, n).isSelected ? /* @__PURE__ */ O(le.span, I({\n \"aria-hidden\": !0\n }, o, {\n ref: t\n })) : null;\n}), Nr = \"SelectScrollDownButton\", Df = /* @__PURE__ */ X((e, t) => {\n const n = kt(Nr, e.__scopeSelect), o = ci(Nr, e.__scopeSelect), [r, a] = G(!1), s = ge(t, o.onScrollButtonChange);\n return Ee(() => {\n if (n.viewport && n.isPositioned) {\n let l = function() {\n const d = i.scrollHeight - i.clientHeight, u = Math.ceil(i.scrollTop) < d;\n a(u);\n };\n const i = n.viewport;\n return l(), i.addEventListener(\"scroll\", l), () => i.removeEventListener(\"scroll\", l);\n }\n }, [\n n.viewport,\n n.isPositioned\n ]), r ? /* @__PURE__ */ O(Ff, I({}, e, {\n ref: s,\n onAutoScroll: () => {\n const { viewport: i, selectedItem: l } = n;\n i && l && (i.scrollTop = i.scrollTop + l.offsetHeight);\n }\n })) : null;\n}), Ff = /* @__PURE__ */ X((e, t) => {\n const { __scopeSelect: n, onAutoScroll: o, ...r } = e, a = kt(\"SelectScrollButton\", n), s = Y(null), i = _n(n), l = ee(() => {\n s.current !== null && (window.clearInterval(s.current), s.current = null);\n }, []);\n return B(() => () => l(), [\n l\n ]), Ee(() => {\n var d;\n const u = i().find(\n (f) => f.ref.current === document.activeElement\n );\n u == null || (d = u.ref.current) === null || d === void 0 || d.scrollIntoView({\n block: \"nearest\"\n });\n }, [\n i\n ]), /* @__PURE__ */ O(le.div, I({\n \"aria-hidden\": !0\n }, r, {\n ref: t,\n style: {\n flexShrink: 0,\n ...r.style\n },\n onPointerDown: re(r.onPointerDown, () => {\n s.current === null && (s.current = window.setInterval(o, 50));\n }),\n onPointerMove: re(r.onPointerMove, () => {\n var d;\n (d = a.onItemLeave) === null || d === void 0 || d.call(a), s.current === null && (s.current = window.setInterval(o, 50));\n }),\n onPointerLeave: re(r.onPointerLeave, () => {\n l();\n })\n }));\n}), di = /* @__PURE__ */ X((e, t) => {\n const { value: n, ...o } = e, r = Y(null), a = ge(t, r), s = Da(n);\n return B(() => {\n const i = r.current, l = window.HTMLSelectElement.prototype, u = Object.getOwnPropertyDescriptor(l, \"value\").set;\n if (s !== n && u) {\n const f = new Event(\"change\", {\n bubbles: !0\n });\n u.call(i, n), i.dispatchEvent(f);\n }\n }, [\n s,\n n\n ]), /* @__PURE__ */ O(mf, {\n asChild: !0\n }, /* @__PURE__ */ O(\"select\", I({}, o, {\n ref: a,\n defaultValue: n\n })));\n});\ndi.displayName = \"BubbleSelect\";\nfunction ui(e) {\n const t = Se(e), n = Y(\"\"), o = Y(0), r = ee((s) => {\n const i = n.current + s;\n t(i), function l(d) {\n n.current = d, window.clearTimeout(o.current), d !== \"\" && (o.current = window.setTimeout(\n () => l(\"\"),\n 1e3\n ));\n }(i);\n }, [\n t\n ]), a = ee(() => {\n n.current = \"\", window.clearTimeout(o.current);\n }, []);\n return B(() => () => window.clearTimeout(o.current), []), [\n n,\n r,\n a\n ];\n}\nfunction fi(e, t, n) {\n const r = t.length > 1 && Array.from(t).every(\n (d) => d === t[0]\n ) ? t[0] : t, a = n ? e.indexOf(n) : -1;\n let s = Vf(e, Math.max(a, 0));\n r.length === 1 && (s = s.filter(\n (d) => d !== n\n ));\n const l = s.find(\n (d) => d.textValue.toLowerCase().startsWith(r.toLowerCase())\n );\n return l !== n ? l : void 0;\n}\nfunction Vf(e, t) {\n return e.map(\n (n, o) => e[(t + o) % e.length]\n );\n}\nconst Bf = wf, Hf = $f, Uf = Sf, Wf = Ef, Gf = Tf, Kf = Rf, Zf = If, Yf = Mf, Xf = Nf, Jf = Df;\nvar Qf = \"_1wo163v3\", e1 = \"_1wo163v6\", t1 = \"_1wo163v2\", n1 = \"_1wo163v5\", o1 = \"_1wo163v1\", r1 = \"_1wo163v7\", a1 = \"_1wo163v0\", i1 = \"_1wo163v4\";\nconst $n = ({\n label: e,\n items: t,\n defaultValue: n,\n onChange: o,\n className: r,\n contentProps: a,\n disabled: s = !1\n}) => {\n const [i, l] = G(n), d = ee(\n (u) => {\n l(u), o(u);\n },\n [o]\n );\n return /* @__PURE__ */ c.jsx(\"div\", { className: \"sid-dropdown\", children: /* @__PURE__ */ c.jsxs(\n Bf,\n {\n disabled: s,\n onValueChange: d,\n defaultValue: n,\n children: [\n /* @__PURE__ */ c.jsxs(\n Hf,\n {\n className: Q(\"sid-dropdown__trigger\", a1, r),\n children: [\n /* @__PURE__ */ c.jsx(\"label\", { className: Q(\"sid-dropdown__trigger__label\", o1), children: e }),\n /* @__PURE__ */ c.jsx(\"div\", { className: Q(\"sid-dropdown__trigger__input\", t1), children: /* @__PURE__ */ c.jsx(Uf, {}) }),\n /* @__PURE__ */ c.jsx(\n aa,\n {\n className: Q(\"sid-dropdown__trigger__icon\", e1)\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ c.jsxs(\n Wf,\n {\n ...a,\n className: Q(\n \"sid-dropdown__popover\",\n Qf,\n a == null ? void 0 : a.className\n ),\n children: [\n /* @__PURE__ */ c.jsx(\n Gf,\n {\n className: Q(\"sid-dropdown__viewport\", i1),\n children: /* @__PURE__ */ c.jsx(Kf, { children: t.map((u) => /* @__PURE__ */ c.jsxs(\n Zf,\n {\n className: Q(\n \"sid-dropdown__item\",\n u.value === i && \"sid-dropdown__item--selected\",\n n1\n ),\n value: u.value,\n textValue: u.textValue,\n children: [\n /* @__PURE__ */ c.jsx(Yf, { children: u.label }),\n /* @__PURE__ */ c.jsx(Xf, { className: r1, children: /* @__PURE__ */ c.jsx(iu, { className: \"sid-dropdown__item--selected__icon\" }) })\n ]\n },\n u.value\n )) })\n }\n ),\n /* @__PURE__ */ c.jsx(Jf, {})\n ]\n }\n )\n ]\n }\n ) });\n}, Fn = \"rovingFocusGroup.onEntryFocus\", s1 = {\n bubbles: !1,\n cancelable: !0\n}, Eo = \"RovingFocusGroup\", [oo, vi, c1] = fo(Eo), [l1, pi] = Ke(Eo, [\n c1\n]), [d1, u1] = l1(Eo), f1 = /* @__PURE__ */ X((e, t) => /* @__PURE__ */ O(oo.Provider, {\n scope: e.__scopeRovingFocusGroup\n}, /* @__PURE__ */ O(oo.Slot, {\n scope: e.__scopeRovingFocusGroup\n}, /* @__PURE__ */ O(v1, I({}, e, {\n ref: t\n}))))), v1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeRovingFocusGroup: n, orientation: o, loop: r = !1, dir: a, currentTabStopId: s, defaultCurrentTabStopId: i, onCurrentTabStopIdChange: l, onEntryFocus: d, ...u } = e, f = Y(null), b = ge(t, f), v = mn(a), [g = null, p] = He({\n prop: s,\n defaultProp: i,\n onChange: l\n }), [y, C] = G(!1), h = Se(d), x = vi(n), _ = Y(!1), [S, w] = G(0);\n return B(() => {\n const $ = f.current;\n if ($)\n return $.addEventListener(Fn, h), () => $.removeEventListener(Fn, h);\n }, [\n h\n ]), /* @__PURE__ */ O(d1, {\n scope: n,\n orientation: o,\n dir: v,\n loop: r,\n currentTabStopId: g,\n onItemFocus: ee(\n ($) => p($),\n [\n p\n ]\n ),\n onItemShiftTab: ee(\n () => C(!0),\n []\n ),\n onFocusableItemAdd: ee(\n () => w(\n ($) => $ + 1\n ),\n []\n ),\n onFocusableItemRemove: ee(\n () => w(\n ($) => $ - 1\n ),\n []\n )\n }, /* @__PURE__ */ O(le.div, I({\n tabIndex: y || S === 0 ? -1 : 0,\n \"data-orientation\": o\n }, u, {\n ref: b,\n style: {\n outline: \"none\",\n ...e.style\n },\n onMouseDown: re(e.onMouseDown, () => {\n _.current = !0;\n }),\n onFocus: re(e.onFocus, ($) => {\n const E = !_.current;\n if ($.target === $.currentTarget && E && !y) {\n const j = new CustomEvent(Fn, s1);\n if ($.currentTarget.dispatchEvent(j), !j.defaultPrevented) {\n const R = x().filter(\n (F) => F.focusable\n ), A = R.find(\n (F) => F.active\n ), W = R.find(\n (F) => F.id === g\n ), M = [\n A,\n W,\n ...R\n ].filter(Boolean).map(\n (F) => F.ref.current\n );\n mi(M);\n }\n }\n _.current = !1;\n }),\n onBlur: re(\n e.onBlur,\n () => C(!1)\n )\n })));\n}), p1 = \"RovingFocusGroupItem\", m1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeRovingFocusGroup: n, focusable: o = !0, active: r = !1, tabStopId: a, ...s } = e, i = ze(), l = a || i, d = u1(p1, n), u = d.currentTabStopId === l, f = vi(n), { onFocusableItemAdd: b, onFocusableItemRemove: v } = d;\n return B(() => {\n if (o)\n return b(), () => v();\n }, [\n o,\n b,\n v\n ]), /* @__PURE__ */ O(oo.ItemSlot, {\n scope: n,\n id: l,\n focusable: o,\n active: r\n }, /* @__PURE__ */ O(le.span, I({\n tabIndex: u ? 0 : -1,\n \"data-orientation\": d.orientation\n }, s, {\n ref: t,\n onMouseDown: re(e.onMouseDown, (g) => {\n o ? d.onItemFocus(l) : g.preventDefault();\n }),\n onFocus: re(\n e.onFocus,\n () => d.onItemFocus(l)\n ),\n onKeyDown: re(e.onKeyDown, (g) => {\n if (g.key === \"Tab\" && g.shiftKey) {\n d.onItemShiftTab();\n return;\n }\n if (g.target !== g.currentTarget)\n return;\n const p = b1(g, d.orientation, d.dir);\n if (p !== void 0) {\n g.preventDefault();\n let C = f().filter(\n (h) => h.focusable\n ).map(\n (h) => h.ref.current\n );\n if (p === \"last\")\n C.reverse();\n else if (p === \"prev\" || p === \"next\") {\n p === \"prev\" && C.reverse();\n const h = C.indexOf(g.currentTarget);\n C = d.loop ? C1(C, h + 1) : C.slice(h + 1);\n }\n setTimeout(\n () => mi(C)\n );\n }\n })\n })));\n}), g1 = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction h1(e, t) {\n return t !== \"rtl\" ? e : e === \"ArrowLeft\" ? \"ArrowRight\" : e === \"ArrowRight\" ? \"ArrowLeft\" : e;\n}\nfunction b1(e, t, n) {\n const o = h1(e.key, n);\n if (!(t === \"vertical\" && [\n \"ArrowLeft\",\n \"ArrowRight\"\n ].includes(o)) && !(t === \"horizontal\" && [\n \"ArrowUp\",\n \"ArrowDown\"\n ].includes(o)))\n return g1[o];\n}\nfunction mi(e) {\n const t = document.activeElement;\n for (const n of e)\n if (n === t || (n.focus(), document.activeElement !== t))\n return;\n}\nfunction C1(e, t) {\n return e.map(\n (n, o) => e[(t + o) % e.length]\n );\n}\nconst y1 = f1, x1 = m1, gi = \"Tabs\", [w1, Iv] = Ke(gi, [\n pi\n]), hi = pi(), [_1, qo] = w1(gi), $1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeTabs: n, value: o, onValueChange: r, defaultValue: a, orientation: s = \"horizontal\", dir: i, activationMode: l = \"automatic\", ...d } = e, u = mn(i), [f, b] = He({\n prop: o,\n onChange: r,\n defaultProp: a\n });\n return /* @__PURE__ */ O(_1, {\n scope: n,\n baseId: ze(),\n value: f,\n onValueChange: b,\n orientation: s,\n dir: u,\n activationMode: l\n }, /* @__PURE__ */ O(le.div, I({\n dir: u,\n \"data-orientation\": s\n }, d, {\n ref: t\n })));\n}), k1 = \"TabsList\", S1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeTabs: n, loop: o = !0, ...r } = e, a = qo(k1, n), s = hi(n);\n return /* @__PURE__ */ O(y1, I({\n asChild: !0\n }, s, {\n orientation: a.orientation,\n dir: a.dir,\n loop: o\n }), /* @__PURE__ */ O(le.div, I({\n role: \"tablist\",\n \"aria-orientation\": a.orientation\n }, r, {\n ref: t\n })));\n}), E1 = \"TabsTrigger\", q1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeTabs: n, value: o, disabled: r = !1, ...a } = e, s = qo(E1, n), i = hi(n), l = bi(s.baseId, o), d = Ci(s.baseId, o), u = o === s.value;\n return /* @__PURE__ */ O(x1, I({\n asChild: !0\n }, i, {\n focusable: !r,\n active: u\n }), /* @__PURE__ */ O(le.button, I({\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": u,\n \"aria-controls\": d,\n \"data-state\": u ? \"active\" : \"inactive\",\n \"data-disabled\": r ? \"\" : void 0,\n disabled: r,\n id: l\n }, a, {\n ref: t,\n onMouseDown: re(e.onMouseDown, (f) => {\n !r && f.button === 0 && f.ctrlKey === !1 ? s.onValueChange(o) : f.preventDefault();\n }),\n onKeyDown: re(e.onKeyDown, (f) => {\n [\n \" \",\n \"Enter\"\n ].includes(f.key) && s.onValueChange(o);\n }),\n onFocus: re(e.onFocus, () => {\n const f = s.activationMode !== \"manual\";\n !u && !r && f && s.onValueChange(o);\n })\n })));\n}), O1 = \"TabsContent\", P1 = /* @__PURE__ */ X((e, t) => {\n const { __scopeTabs: n, value: o, forceMount: r, children: a, ...s } = e, i = qo(O1, n), l = bi(i.baseId, o), d = Ci(i.baseId, o), u = o === i.value, f = Y(u);\n return B(() => {\n const b = requestAnimationFrame(\n () => f.current = !1\n );\n return () => cancelAnimationFrame(b);\n }, []), /* @__PURE__ */ O(\n xt,\n {\n present: r || u\n },\n ({ present: b }) => /* @__PURE__ */ O(le.div, I({\n \"data-state\": u ? \"active\" : \"inactive\",\n \"data-orientation\": i.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": l,\n hidden: !b,\n id: d,\n tabIndex: 0\n }, s, {\n ref: t,\n style: {\n ...e.style,\n animationDuration: f.current ? \"0s\" : void 0\n }\n }), b && a)\n );\n});\nfunction bi(e, t) {\n return `${e}-trigger-${t}`;\n}\nfunction Ci(e, t) {\n return `${e}-content-${t}`;\n}\nconst T1 = $1, j1 = S1, L1 = q1, R1 = P1;\nvar A1 = \"_1bc2uou0\", I1 = \"_1bc2uou1\";\nconst yi = ({ className: e, tabs: t, defaultValue: n }) => {\n var o;\n return t.length ? /* @__PURE__ */ c.jsxs(\n T1,\n {\n className: Q(\"sid-tabs\", e),\n defaultValue: n ?? ((o = t[0]) == null ? void 0 : o.id),\n children: [\n /* @__PURE__ */ c.jsx(j1, { className: A1, \"aria-label\": \"SlashID Tabs\", children: t.map(({ id: r, title: a }) => /* @__PURE__ */ c.jsx(L1, { className: I1, value: r, children: a }, r)) }),\n t.map(({ id: r, content: a }) => /* @__PURE__ */ c.jsx(R1, { value: r, children: a }, r))\n ]\n }\n ) : null;\n}, M1 = (e) => {\n const t = globalThis.document.getElementById(e);\n if (t !== null)\n return t;\n const o = document.createElement(\"div\");\n return o.id = e, document.body.appendChild(o), o;\n}, z1 = ({ to: e, children: t, renderKey: n }) => {\n const o = M1(e);\n return /* @__PURE__ */ c.jsx(c.Fragment, { children: so(t, o, n) });\n};\nclass Dr {\n constructor() {\n Xo(this, \"data\", /* @__PURE__ */ new Map());\n }\n clear() {\n this.data.clear();\n }\n getItem(t) {\n return this.data.get(String(t)) ?? null;\n }\n removeItem(t) {\n this.data.delete(String(t));\n }\n key(t) {\n return Array.from(this.data.keys())[Number(t)] ?? null;\n }\n setItem(t, n) {\n this.data.set(String(t), String(n));\n }\n get length() {\n return this.data.size;\n }\n}\nvar ln = function() {\n return ln = Object.assign || function(t) {\n for (var n, o = 1, r = arguments.length; o < r; o++) {\n n = arguments[o];\n for (var a in n)\n Object.prototype.hasOwnProperty.call(n, a) && (t[a] = n[a]);\n }\n return t;\n }, ln.apply(this, arguments);\n};\nfunction N1(e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n}\nfunction D1(e) {\n return e.replace(/[.*+?^$|[\\](){}\\\\-]/g, \"\\\\$&\");\n}\nfunction F1(e) {\n var t = e.charAt(e.length - 1), n = parseInt(e, 10), o = /* @__PURE__ */ new Date();\n switch (t) {\n case \"Y\":\n o.setFullYear(o.getFullYear() + n);\n break;\n case \"M\":\n o.setMonth(o.getMonth() + n);\n break;\n case \"D\":\n o.setDate(o.getDate() + n);\n break;\n case \"h\":\n o.setHours(o.getHours() + n);\n break;\n case \"m\":\n o.setMinutes(o.getMinutes() + n);\n break;\n case \"s\":\n o.setSeconds(o.getSeconds() + n);\n break;\n default:\n o = new Date(e);\n }\n return o;\n}\nfunction V1(e) {\n for (var t = \"\", n = 0, o = Object.keys(e); n < o.length; n++) {\n var r = o[n];\n if (/^expires$/i.test(r)) {\n var a = e[r], s = void 0;\n typeof a == \"object\" ? s = a : (a += typeof a == \"number\" ? \"D\" : \"\", s = F1(String(a))), t += \";\".concat(r, \"=\").concat(s.toUTCString());\n } else\n /^secure|partitioned$/.test(r) ? e[r] && (t += \";\".concat(r)) : t += \";\".concat(r, \"=\").concat(e[r]);\n }\n return N1(e, \"path\") || (t += \";path=/\"), t;\n}\nfunction B1(e, t) {\n if (t === void 0 && (t = decodeURIComponent), typeof e != \"string\" || !e)\n return null;\n var n = new RegExp(\"(?:^|; )\".concat(D1(e), \"(?:=([^;]*))?(?:;|$)\")), o = n.exec(document.cookie);\n return o === null ? null : typeof t == \"function\" ? t(o[1]) : o[1];\n}\nfunction Vn(e) {\n e === void 0 && (e = decodeURIComponent);\n for (var t = /(?:^|; )([^=]+?)(?:=([^;]*))?(?:;|$)/g, n = {}, o; o = t.exec(document.cookie); )\n t.lastIndex = o.index + o.length - 1, n[o[1]] = typeof e == \"function\" ? e(o[2]) : o[2];\n return n;\n}\nfunction xi(e, t, n, o) {\n n === void 0 && (n = encodeURIComponent), typeof n == \"object\" && n !== null && (o = n, n = encodeURIComponent);\n var r = V1(o || {}), a = typeof n == \"function\" ? n(t) : t, s = \"\".concat(e, \"=\").concat(a).concat(r);\n document.cookie = s;\n}\nfunction Fr(e, t) {\n var n = { expires: -1 };\n return t && (n = ln(ln({}, t), n)), xi(e, \"a\", n);\n}\nclass H1 {\n clear() {\n const t = Vn(), n = Object.keys(t);\n for (const o of n)\n Fr(String(o));\n }\n getItem(t) {\n return B1(String(t));\n }\n removeItem(t) {\n Fr(String(t));\n }\n key(t) {\n return [...Object.keys(Vn())][Number(t)] ?? null;\n }\n setItem(t, n) {\n xi(String(t), String(n));\n }\n get length() {\n return Object.keys(Vn()).length;\n }\n}\nconst wi = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsxs(\"g\", { id: \"microsoft-icon 1\", clipPath: \"url(#clip0_2115_8900)\", children: [\n /* @__PURE__ */ c.jsx(\"path\", { id: \"Vector\", d: \"M0 0H7.6031V7.6031H0V0Z\", fill: \"#F25022\" }),\n /* @__PURE__ */ c.jsx(\"path\", { id: \"Vector_2\", d: \"M8.39691 0H16V7.6031H8.39691V0Z\", fill: \"#7FBA00\" }),\n /* @__PURE__ */ c.jsx(\"path\", { id: \"Vector_3\", d: \"M0 8.3969H7.6031V16H0V8.3969Z\", fill: \"#00A4EF\" }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n id: \"Vector_4\",\n d: \"M8.39691 8.3969H16V16H8.39691V8.3969Z\",\n fill: \"#FFB900\"\n }\n )\n ] }),\n /* @__PURE__ */ c.jsx(\"defs\", { children: /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_2115_8900\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }) })\n ]\n }\n), _i = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\"g\", { clipPath: \"url(#clip0_505_1607)\", children: /* @__PURE__ */ c.jsxs(\"g\", { clipPath: \"url(#clip1_505_1607)\", children: [\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M0.575299 0.87666C0.501037 0.8757 0.427465 0.891009 0.359751 0.921512C0.292036 0.952016 0.231821 0.996974 0.183333 1.05323C0.134846 1.10949 0.099262 1.17567 0.0790809 1.24715C0.0588998 1.31862 0.0546107 1.39365 0.066515 1.46695L2.2264 14.5788C2.2533 14.7392 2.33588 14.8851 2.45964 14.9907C2.58339 15.0963 2.74041 15.1549 2.9031 15.1563H13.2649C13.3868 15.1578 13.5053 15.1155 13.5986 15.0371C13.692 14.9586 13.7541 14.8493 13.7736 14.7289L15.9335 1.4695C15.9454 1.39619 15.9411 1.32118 15.9209 1.24971C15.9007 1.17825 15.8651 1.11208 15.8166 1.05583C15.7681 0.999591 15.7079 0.954646 15.6402 0.924154C15.5725 0.893661 15.4989 0.878361 15.4247 0.879327L0.575299 0.87666ZM9.67013 10.3531H6.36292L5.46743 5.67469H10.4715L9.67013 10.3531Z\",\n fill: \"#2684FF\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M15.2335 5.66811H10.4623L9.66148 10.3428H6.35693L2.45502 14.9743C2.57869 15.0812 2.73636 15.1407 2.89985 15.142H13.2559C13.3778 15.1436 13.4961 15.1013 13.5894 15.023C13.6828 14.9446 13.7448 14.8353 13.7643 14.715L15.2335 5.66811Z\",\n fill: \"url(#paint0_linear_505_1607)\"\n }\n )\n ] }) }),\n /* @__PURE__ */ c.jsxs(\"defs\", { children: [\n /* @__PURE__ */ c.jsxs(\n \"linearGradient\",\n {\n id: \"paint0_linear_505_1607\",\n x1: \"16.3366\",\n y1: \"6.97722\",\n x2: \"10.8251\",\n y2: \"14.803\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /* @__PURE__ */ c.jsx(\"stop\", { offset: \"0.18\", stopColor: \"#0052CC\" }),\n /* @__PURE__ */ c.jsx(\"stop\", { offset: \"1\", stopColor: \"#2684FF\" })\n ]\n }\n ),\n /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_505_1607\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }),\n /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip1_505_1607\", children: /* @__PURE__ */ c.jsx(\n \"rect\",\n {\n width: \"16\",\n height: \"14.4384\",\n fill: \"white\",\n transform: \"translate(0 0.780792)\"\n }\n ) })\n ] })\n ]\n }\n), $i = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\"g\", { clipPath: \"url(#clip0_244_1220)\", children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M8 0.0410004C3.582 0.0410004 0 3.623 0 8.041C0 12.0517 2.95467 15.3637 6.804 15.9423V10.161H4.82467V8.05833H6.804V6.659C6.804 4.34233 7.93267 3.32567 9.858 3.32567C10.78 3.32567 11.268 3.39433 11.4987 3.425V5.26033H10.1853C9.368 5.26033 9.08267 6.03567 9.08267 6.909V8.05833H11.478L11.1533 10.161H9.08267V15.959C12.9873 15.4297 16 12.091 16 8.041C16 3.623 12.418 0.0410004 8 0.0410004Z\",\n fill: \"#1877F2\"\n }\n ) }),\n /* @__PURE__ */ c.jsx(\"defs\", { children: /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_244_1220\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }) })\n ]\n }\n), ki = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\"g\", { clipPath: \"url(#clip0_505_1582)\", children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.97616 0.163269C3.56555 0.163269 0 3.75511 0 8.1987C0 11.7507 2.28457 14.7574 5.45388 15.8216C5.85012 15.9016 5.99527 15.6487 5.99527 15.4359C5.99527 15.2496 5.9822 14.6111 5.9822 13.9458C3.76343 14.4248 3.30139 12.9879 3.30139 12.9879C2.94482 12.0567 2.41649 11.8173 2.41649 11.8173C1.69029 11.3251 2.46939 11.3251 2.46939 11.3251C3.27494 11.3783 3.69763 12.1499 3.69763 12.1499C4.41061 13.3737 5.55951 13.0279 6.02171 12.815C6.08767 12.2962 6.2991 11.937 6.52359 11.7375C4.75396 11.5512 2.89208 10.8594 2.89208 7.7729C2.89208 6.89486 3.20882 6.17649 3.71069 5.6178C3.63151 5.41829 3.35412 4.59331 3.79004 3.48915C3.79004 3.48915 4.46351 3.27625 5.98204 4.31396C6.63218 4.13807 7.30265 4.04859 7.97616 4.04784C8.64963 4.04784 9.33616 4.14106 9.97012 4.31396C11.4888 3.27625 12.1623 3.48915 12.1623 3.48915C12.5982 4.59331 12.3207 5.41829 12.2415 5.6178C12.7566 6.17649 13.0602 6.89486 13.0602 7.7729C13.0602 10.8594 11.1984 11.5378 9.41551 11.7375C9.70612 11.9902 9.9569 12.4691 9.9569 13.2274C9.9569 14.305 9.94384 15.1698 9.94384 15.4358C9.94384 15.6487 10.0891 15.9016 10.4852 15.8217C13.6545 14.7572 15.9391 11.7507 15.9391 8.1987C15.9522 3.75511 12.3736 0.163269 7.97616 0.163269Z\",\n fill: \"#24292F\"\n }\n ) }),\n /* @__PURE__ */ c.jsx(\"defs\", { children: /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_505_1582\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }) })\n ]\n }\n), Si = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsxs(\"g\", { clipPath: \"url(#clip0_505_1689)\", children: [\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M15.7337 6.39379L15.7112 6.33631L13.5335 0.652895C13.4892 0.541503 13.4107 0.447009 13.3094 0.382971C13.2079 0.32002 13.0897 0.289702 12.9705 0.296108C12.8513 0.302514 12.7369 0.345337 12.6429 0.418794C12.5498 0.494361 12.4824 0.596756 12.4496 0.712045L10.9792 5.21079H5.02499L3.55457 0.712045C3.52268 0.596128 3.45505 0.49322 3.36129 0.417961C3.26722 0.344503 3.15287 0.301681 3.03368 0.295274C2.9145 0.288868 2.79622 0.319187 2.69481 0.382138C2.5937 0.446435 2.51531 0.540846 2.47071 0.652062L0.288816 6.33298L0.267156 6.39046C-0.046338 7.20957 -0.0850337 8.1084 0.156903 8.95142C0.39884 9.79444 0.908292 10.536 1.60845 11.0642L1.61595 11.07L1.63594 11.0842L4.95335 13.5685L6.59456 14.8106L7.59428 15.5654C7.71122 15.6542 7.85401 15.7023 8.00083 15.7023C8.14766 15.7023 8.29045 15.6542 8.40739 15.5654L9.40711 14.8106L11.0483 13.5685L14.3857 11.0692L14.3941 11.0625C15.0926 10.5342 15.6009 9.79344 15.8425 8.95156C16.084 8.10967 16.0459 7.21213 15.7337 6.39379Z\",\n fill: \"#E24329\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M15.7336 6.39379L15.7111 6.3363C14.65 6.55411 13.6501 7.00358 12.7828 7.6526L7.99994 11.2691C9.62865 12.5013 11.0466 13.5718 11.0466 13.5718L14.384 11.0725L14.3923 11.0658C15.0919 10.5375 15.601 9.79631 15.8429 8.9537C16.0848 8.1111 16.0464 7.21272 15.7336 6.39379Z\",\n fill: \"#FC6D26\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M4.95331 13.5718L6.59452 14.8139L7.59424 15.5687C7.71118 15.6575 7.85397 15.7056 8.00079 15.7056C8.14762 15.7056 8.29041 15.6575 8.40735 15.5687L9.40707 14.8139L11.0483 13.5718C11.0483 13.5718 9.62867 12.4979 7.99996 11.2691C6.37125 12.4979 4.95331 13.5718 4.95331 13.5718Z\",\n fill: \"#FCA326\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M3.21633 7.65262C2.34974 7.00226 1.35002 6.55163 0.288816 6.33299L0.267156 6.39048C-0.046338 7.20959 -0.0850337 8.10841 0.156903 8.95143C0.398839 9.79446 0.908292 10.536 1.60845 11.0642L1.61595 11.07L1.63594 11.0842L4.95335 13.5685C4.95335 13.5685 6.36962 12.4979 8 11.2658L3.21633 7.65262Z\",\n fill: \"#FC6D26\"\n }\n )\n ] }),\n /* @__PURE__ */ c.jsx(\"defs\", { children: /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_505_1689\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }) })\n ]\n }\n), Ei = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.6801 8.1818C15.6801 7.61453 15.6292 7.06908 15.5346 6.54544H8.00006V9.63999H12.3055C12.1201 10.64 11.5564 11.4873 10.7092 12.0545V14.0618H13.2946C14.8073 12.6691 15.6801 10.6182 15.6801 8.1818Z\",\n fill: \"#4285F4\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.00001 16C10.16 16 11.9709 15.2836 13.2946 14.0618L10.7091 12.0545C9.99274 12.5345 9.07638 12.8182 8.00001 12.8182C5.91638 12.8182 4.15274 11.4109 3.52365 9.52H0.850922V11.5927C2.16729 14.2073 4.87274 16 8.00001 16Z\",\n fill: \"#34A853\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.52364 9.51998C3.36364 9.03998 3.27273 8.52726 3.27273 7.99998C3.27273 7.47271 3.36364 6.95998 3.52364 6.47998V4.40726H0.850909C0.309091 5.48726 0 6.70908 0 7.99998C0 9.29089 0.309091 10.5127 0.850909 11.5927L3.52364 9.51998Z\",\n fill: \"#FBBC05\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.00001 3.18182C9.17456 3.18182 10.2291 3.58545 11.0582 4.37818L13.3527 2.08364C11.9673 0.792727 10.1564 0 8.00001 0C4.87274 0 2.16729 1.79273 0.850922 4.40727L3.52365 6.48C4.15274 4.58909 5.91638 3.18182 8.00001 3.18182Z\",\n fill: \"#EA4335\"\n }\n )\n ]\n }\n), qi = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsxs(\"g\", { clipPath: \"url(#clip0_505_1637)\", children: [\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M12.5339 16H3.46615C1.55208 16 0 14.4479 0 12.5339V3.46615C0 1.55208 1.55208 0 3.46615 0H12.5326C14.4479 0 15.9987 1.55208 15.9987 3.46615V12.5326C16 14.4479 14.4479 16 12.5339 16Z\",\n fill: \"#00B900\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M13.7995 7.29688C13.7995 4.69011 11.1862 2.56902 7.97396 2.56902C4.76172 2.56902 2.14844 4.69011 2.14844 7.29688C2.14844 9.63412 4.22135 11.5912 7.02083 11.9609C7.21094 12.0013 7.46875 12.0859 7.53385 12.2487C7.59245 12.3958 7.57161 12.6263 7.55208 12.7747C7.55208 12.7747 7.48438 13.1862 7.46875 13.2734C7.44271 13.4206 7.35156 13.849 7.97396 13.5872C8.59505 13.3255 11.3294 11.612 12.5508 10.2057C13.3945 9.27865 13.7995 8.33985 13.7995 7.29688Z\",\n fill: \"white\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M6.79039 6.03645H6.38153C6.31903 6.03645 6.26825 6.08723 6.26825 6.14973V8.6875C6.26825 8.75 6.31903 8.80078 6.38153 8.80078H6.79039C6.85289 8.80078 6.90367 8.75 6.90367 8.6875V6.14973C6.90367 6.08723 6.85289 6.03645 6.79039 6.03645Z\",\n fill: \"#00B900\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M9.60286 6.03646H9.19401C9.13151 6.03646 9.08073 6.08724 9.08073 6.14974V7.65756L7.91797 6.08724C7.91536 6.08334 7.91276 6.07943 7.90885 6.07553C7.90885 6.07553 7.90885 6.07553 7.90885 6.07422C7.90625 6.07162 7.90365 6.06902 7.90234 6.06771C7.90104 6.06771 7.90104 6.06641 7.89974 6.06511C7.89714 6.06381 7.89583 6.0612 7.89323 6.0599C7.89193 6.0586 7.89193 6.0586 7.89062 6.0573C7.88932 6.05599 7.88672 6.05469 7.88542 6.05339C7.88411 6.05209 7.88281 6.05209 7.88151 6.05079C7.87891 6.04948 7.8776 6.04818 7.875 6.04688C7.8737 6.04688 7.8724 6.04558 7.87109 6.04558C7.86849 6.04428 7.86719 6.04297 7.86458 6.04297C7.86328 6.04297 7.86198 6.04167 7.86068 6.04167C7.85807 6.04037 7.85677 6.04037 7.85417 6.03907C7.85286 6.03907 7.85156 6.03907 7.85026 6.03777C7.84766 6.03777 7.84635 6.03646 7.84375 6.03646C7.84245 6.03646 7.84115 6.03646 7.83854 6.03516C7.83594 6.03516 7.83464 6.03516 7.83203 6.03386C7.82943 6.03386 7.82813 6.03386 7.82682 6.03386C7.82552 6.03386 7.82422 6.03386 7.82292 6.03386H7.41406C7.35156 6.03386 7.30078 6.08464 7.30078 6.14714V8.6849C7.30078 8.7474 7.35156 8.79818 7.41406 8.79818H7.82292C7.88542 8.79818 7.9362 8.7474 7.9362 8.6849V7.18099L9.10026 8.75391C9.10807 8.76563 9.11849 8.77475 9.12891 8.78126C9.12891 8.78126 9.13021 8.78125 9.13021 8.78256C9.13281 8.78386 9.13542 8.78516 9.13672 8.78646C9.13802 8.78646 9.13932 8.78777 9.14062 8.78777C9.14193 8.78907 9.14453 8.78907 9.14583 8.79037C9.14714 8.79167 9.14974 8.79167 9.15104 8.79297C9.15234 8.79297 9.15365 8.79428 9.15495 8.79428C9.15755 8.79558 9.16016 8.79558 9.16276 8.79688H9.16406C9.17318 8.79948 9.18359 8.80079 9.19271 8.80079H9.60156C9.66406 8.80079 9.71484 8.75001 9.71484 8.68751V6.14974C9.71615 6.08724 9.66536 6.03646 9.60286 6.03646Z\",\n fill: \"#00B900\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M5.80597 8.16536H4.69529V6.14973C4.69529 6.08723 4.64451 6.03645 4.58201 6.03645H4.17316C4.11066 6.03645 4.05988 6.08723 4.05988 6.14973V8.68749C4.05988 8.71744 4.07159 8.74609 4.09113 8.76562L4.09243 8.76692L4.09373 8.76822C4.11456 8.78775 4.14191 8.79947 4.17185 8.79947H5.80467C5.86717 8.79947 5.91795 8.74869 5.91795 8.68619V8.27734C5.91925 8.21744 5.86847 8.16536 5.80597 8.16536Z\",\n fill: \"#00B900\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M11.8594 6.67187C11.9219 6.67187 11.9726 6.62109 11.9726 6.55859V6.14973C11.9726 6.08723 11.9219 6.03645 11.8594 6.03645H10.2265C10.1966 6.03645 10.1679 6.04817 10.1484 6.06901L10.1471 6.07031C10.1471 6.07161 10.1458 6.07161 10.1458 6.07291C10.1263 6.09374 10.1146 6.12109 10.1146 6.15104V8.6888C10.1146 8.71875 10.1263 8.74739 10.1458 8.76692L10.1471 8.76822L10.1484 8.76953C10.1693 8.78906 10.1966 8.80208 10.2265 8.80208H11.8594C11.9219 8.80208 11.9726 8.7513 11.9726 8.6888V8.27994C11.9726 8.21744 11.9219 8.16666 11.8594 8.16666H10.7487V7.73828H11.8594C11.9219 7.73828 11.9726 7.68749 11.9726 7.62499V7.21614C11.9726 7.15364 11.9219 7.10286 11.8594 7.10286H10.7487V6.67447H11.8594V6.67187Z\",\n fill: \"#00B900\"\n }\n )\n ] }),\n /* @__PURE__ */ c.jsx(\"defs\", { children: /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_505_1637\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }) })\n ]\n }\n), Oi = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\"g\", { clipPath: \"url(#clip0_3100_16)\", children: /* @__PURE__ */ c.jsx(\"g\", { clipPath: \"url(#clip1_3100_16)\", children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.80298 0.115361L8.47375 4.16602C8.31816 4.14796 8.16258 4.13894 8.00298 4.13894C7.80323 4.13894 7.6075 4.15198 7.41578 4.18307L7.22908 2.22094C7.22506 2.15875 7.27425 2.10458 7.33648 2.10458H7.66973L7.50913 0.120377C7.50511 0.0581823 7.5543 0.00401306 7.61151 0.00401306H8.7006C8.76283 0.00401306 8.81202 0.0581823 8.80298 0.115361ZM7.13573 4.23223C6.78441 4.31248 6.45116 4.44088 6.14401 4.60941L5.29483 2.82884C5.26873 2.77567 5.29483 2.70947 5.35304 2.6864L5.66823 2.57103L4.83711 0.759374C4.81101 0.706207 4.83711 0.640001 4.89533 0.616928L5.91816 0.243762C5.97538 0.221693 6.03761 0.257806 6.05568 0.314985C6.05969 0.314985 7.13573 4.23223 7.13573 4.23223ZM3.54828 1.44351L5.9001 4.75586C5.60198 4.95147 5.33096 5.18219 5.1001 5.44903L3.68981 4.0637C3.64564 4.01956 3.65066 3.94834 3.69483 3.90821L3.95279 3.69455L2.55154 2.27812C2.50737 2.23398 2.51239 2.16276 2.56057 2.12263L3.39269 1.42546C3.44087 1.38533 3.50813 1.39436 3.54326 1.44351H3.54828ZM4.92243 5.67072C4.70863 5.9506 4.53598 6.26157 4.4065 6.59461L2.61076 5.77304C2.55254 5.75097 2.53046 5.67975 2.56158 5.62658L2.73021 5.33768L0.925441 4.48502C0.872242 4.45893 0.850159 4.39172 0.881276 4.33856L1.42331 3.39762C1.45442 3.34445 1.52569 3.3264 1.57488 3.36151L4.92243 5.67072ZM0.244889 5.9195C0.253923 5.8573 0.316156 5.8222 0.373371 5.83524L4.30813 6.86144C4.20574 7.19448 4.14853 7.54558 4.13949 7.90972L2.17011 7.74922C2.10788 7.7452 2.06271 7.68702 2.07676 7.62483L2.13397 7.2968L0.14652 7.11022C0.0842868 7.1052 0.04514 7.04803 0.0531701 6.98583L0.23987 5.91549L0.244889 5.9195ZM0.0943244 8.5748L4.14451 8.20163C4.16258 8.56176 4.23385 8.91285 4.34426 9.24088L2.44213 9.76552C2.38391 9.77856 2.32168 9.74345 2.31264 9.68125L2.25543 9.35223L0.32519 9.85379C0.267976 9.86784 0.205742 9.83173 0.196708 9.76953L0.00498944 8.69919C-0.00404444 8.63699 0.0361061 8.57981 0.0983395 8.5748H0.0943244ZM0.730711 11.3906C0.699594 11.3374 0.721677 11.2712 0.774876 11.2441L4.44765 9.5037C4.58517 9.83173 4.77187 10.1387 4.9937 10.4135L3.38466 11.5591C3.33548 11.5952 3.26421 11.5812 3.23309 11.528L3.06446 11.2351L1.42431 12.3677C1.37513 12.4028 1.30386 12.3857 1.27274 12.3325C1.27274 12.3325 0.725692 11.3906 0.730711 11.3906ZM6.0075 11.2973L4.8873 12.9224C4.85217 12.9766 4.7809 12.9846 4.73171 12.9455L4.47375 12.7278L3.31841 14.3529C3.28228 14.402 3.21603 14.411 3.16685 14.3709L2.33071 13.6737C2.28253 13.6336 2.27751 13.5624 2.32168 13.5182L5.1804 10.6272C5.42532 10.884 5.70537 11.1107 6.0075 11.2973ZM4.61628 15.2677C4.55806 15.2456 4.53197 15.1784 4.55806 15.1253L6.25242 11.4307C6.56358 11.5902 6.90185 11.7106 7.25317 11.7768L6.7543 13.6868C6.74125 13.744 6.675 13.7801 6.61678 13.758L6.3016 13.6426L5.77262 15.5656C5.75455 15.6228 5.69232 15.6589 5.6341 15.6359L4.61227 15.2637L4.61628 15.2677ZM8.00399 11.8571C8.20374 11.8571 8.39947 11.843 8.59018 11.8119L8.77688 13.775C8.7819 13.8372 8.73272 13.8904 8.67048 13.8904H8.33724L8.49683 15.8756C8.50587 15.9378 8.45769 15.991 8.39545 15.991H7.30537C7.24815 15.991 7.19897 15.9378 7.20298 15.8756L7.53222 11.826C7.6878 11.848 7.84338 11.8571 8.00399 11.8571ZM9.75555 4.55122C9.44439 4.39574 9.11114 4.27536 8.7548 4.20514L9.25267 2.29517C9.27074 2.23699 9.33297 2.20188 9.39119 2.22395L9.70637 2.33931L10.2354 0.416301C10.2534 0.359123 10.3157 0.32301 10.3739 0.345079L11.3957 0.718245C11.4539 0.740314 11.481 0.802508 11.4539 0.86069L9.75555 4.55122ZM13.6863 2.47273L10.8266 5.36376C10.5867 5.10596 10.3116 4.88025 10.0045 4.69367L11.1247 3.06759C11.1608 3.01944 11.2321 3.00539 11.2803 3.04552L11.5382 3.2632L12.6946 1.63812C12.7297 1.58897 12.801 1.57994 12.8451 1.62006L13.6813 2.31724C13.7305 2.35737 13.7305 2.42859 13.6863 2.47273ZM15.2291 4.75085L11.5563 6.49229C11.4138 6.16326 11.2321 5.8563 11.0093 5.58144L12.6183 4.43586C12.6675 4.39574 12.7387 4.41379 12.7699 4.46696L12.9385 4.75586L14.5796 3.62332C14.6288 3.59223 14.6991 3.60527 14.7302 3.65843L15.2773 4.60038C15.3084 4.65354 15.2913 4.71975 15.2331 4.74683L15.2291 4.75085ZM15.8113 6.22044L15.998 7.29078C16.007 7.35298 15.9668 7.40614 15.9046 7.41517L11.8544 7.79235C11.8364 7.42821 11.7651 7.08213 11.6547 6.7531L13.5578 6.22947C13.615 6.21141 13.6773 6.25154 13.6863 6.31373L13.7445 6.64276L15.6737 6.14019C15.732 6.12715 15.7942 6.16326 15.8022 6.22545L15.8113 6.22044ZM15.6246 10.1457L11.6898 9.1195C11.7922 8.78646 11.8504 8.43636 11.8594 8.07223L13.8288 8.23172C13.8911 8.24075 13.9312 8.29392 13.9222 8.35611L13.864 8.68514L15.8514 8.87173C15.9136 8.87975 15.9538 8.93292 15.9448 8.99511L15.7581 10.0655C15.749 10.1276 15.6868 10.1638 15.6296 10.1507L15.6246 10.1457ZM14.5796 12.5924C14.5485 12.6455 14.4773 12.6586 14.4281 12.6275L11.0805 10.3182C11.2943 10.0384 11.467 9.7274 11.5965 9.39436L13.3922 10.2159C13.4504 10.243 13.4725 10.3092 13.4414 10.3624L13.2727 10.6513L15.0775 11.504C15.1307 11.531 15.1528 11.5972 15.1217 11.6504L14.5796 12.5924ZM10.0978 11.2291C10.396 11.0385 10.663 10.8028 10.8988 10.5369L12.3081 11.9223C12.3523 11.9664 12.3523 12.0376 12.3031 12.0777L12.0451 12.2904L13.4464 13.7078C13.4865 13.752 13.4865 13.8232 13.4374 13.8623L12.6062 14.5605C12.5611 14.5996 12.4898 14.5916 12.4547 14.5424L10.1029 11.2291H10.0978ZM10.0798 15.7412C10.0226 15.7633 9.96032 15.7282 9.94225 15.67L8.86622 11.7537C9.21754 11.6735 9.55079 11.5451 9.85794 11.3755L10.7071 13.1571C10.7332 13.2143 10.7071 13.2815 10.6489 13.2986L10.3337 13.4139L11.1648 15.2266C11.1909 15.2838 11.1648 15.346 11.1066 15.368L10.0848 15.7412H10.0798Z\",\n fill: \"black\"\n }\n ) }) }),\n /* @__PURE__ */ c.jsxs(\"defs\", { children: [\n /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip0_3100_16\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) }),\n /* @__PURE__ */ c.jsx(\"clipPath\", { id: \"clip1_3100_16\", children: /* @__PURE__ */ c.jsx(\"rect\", { width: \"16\", height: \"16\", fill: \"white\" }) })\n ] })\n ]\n }\n), U1 = ({ className: e }) => /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n className: e,\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.716186 4.04581C0 5.03155 0 6.4377 0 9.25V10.75C0 13.5623 0 14.9684 0.716186 15.9542C0.947485 16.2725 1.22745 16.5525 1.54581 16.7838C2.53155 17.5 3.9377 17.5 6.75 17.5H11.25V19.375C11.25 19.8582 11.7749 20.1587 12.1916 19.9139L16.25 17.5C16.6491 17.2339 16.8487 17.1009 17.0291 16.9642C18.7741 15.6422 19.8543 13.6238 19.9863 11.4386C20 11.2126 20 10.9727 20 10.4931V8.53757C20 6.40191 20 5.33408 19.5778 4.52129C19.222 3.83642 18.6636 3.278 17.9787 2.92223C17.1659 2.5 16.0981 2.5 13.9624 2.5H6.75C3.9377 2.5 2.53155 2.5 1.54581 3.21619C1.22745 3.44748 0.947485 3.72745 0.716186 4.04581ZM2.5 7.1875C2.5 6.66973 2.91973 6.25 3.4375 6.25H10.3125C10.8303 6.25 11.25 6.66973 11.25 7.1875C11.25 7.70527 10.8303 8.125 10.3125 8.125H3.4375C2.91973 8.125 2.5 7.70527 2.5 7.1875ZM3.4375 10.625C2.91973 10.625 2.5 11.0447 2.5 11.5625C2.5 12.0803 2.91973 12.5 3.4375 12.5H6.5625C7.08027 12.5 7.5 12.0803 7.5 11.5625C7.5 11.0447 7.08027 10.625 6.5625 10.625H3.4375Z\",\n fill: \"white\"\n }\n )\n }\n), W1 = ({ className: e }) => /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n className: e,\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.408726 4.54754C0 5.3497 0 6.3998 0 8.5V11.5C0 13.6002 0 14.6503 0.408726 15.4525C0.768251 16.1581 1.34193 16.7317 2.04754 17.0913C2.8497 17.5 3.8998 17.5 6 17.5H14C16.1002 17.5 17.1503 17.5 17.9525 17.0913C18.6581 16.7317 19.2317 16.1581 19.5913 15.4525C20 14.6503 20 13.6002 20 11.5V8.5C20 6.3998 20 5.3497 19.5913 4.54754C19.2317 3.84193 18.6581 3.26825 17.9525 2.90873C17.1503 2.5 16.1002 2.5 14 2.5H6C3.8998 2.5 2.8497 2.5 2.04754 2.90873C1.34193 3.26825 0.768251 3.84193 0.408726 4.54754ZM4.28165 5.97781C3.85518 5.68419 3.27144 5.79188 2.97782 6.21835C2.6842 6.64481 2.79189 7.22855 3.21835 7.52217L9.26883 11.6879C9.71786 11.9971 10.3112 11.9965 10.7596 11.6864L16.7832 7.52109C17.2091 7.2266 17.3156 6.64264 17.0211 6.21678C16.7266 5.79091 16.1426 5.68441 15.7168 5.9789L10.0124 9.92348L4.28165 5.97781Z\",\n fill: \"white\"\n }\n )\n }\n);\nfunction G1() {\n return /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"5\",\n height: \"20\",\n viewBox: \"0 0 5 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.5 0C3.32843 1.19209e-07 4 0.671573 4 1.5L4 11.5C4 12.3284 3.32843 13 2.5 13C1.67157 13 1 12.3284 1 11.5L1 1.5C1 0.671573 1.67157 -1.19209e-07 2.5 0Z\",\n fill: \"white\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M4.5 18C4.5 19.1046 3.60457 20 2.5 20C1.39543 20 0.5 19.1046 0.5 18C0.5 16.8954 1.39543 16 2.5 16C3.60457 16 4.5 16.8954 4.5 18Z\",\n fill: \"white\"\n }\n )\n ]\n }\n );\n}\nconst Pi = ({\n className: e,\n fill: t = yt.color.background\n}) => /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n className: Q(e),\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.9998 6.96103L13.9998 6.95691C13.9974 6.79449 13.959 6.6346 13.8874 6.48877C13.8158 6.34294 13.7127 6.21479 13.5856 6.11357C13.4585 6.01235 13.3106 5.94058 13.1523 5.90346C12.9941 5.86634 12.8297 5.86479 12.6708 5.89894L12.6659 5.90001C12.4344 5.95196 12.1943 5.95157 11.9629 5.89886C11.7316 5.84615 11.515 5.74245 11.3288 5.59531C11.1425 5.44816 10.9915 5.26127 10.8866 5.04824C10.7821 4.83603 10.726 4.60323 10.7225 4.36668C10.7213 4.07884 10.6065 3.80298 10.4029 3.59926C10.1992 3.39552 9.92339 3.28054 9.63542 3.27933C9.39916 3.27578 9.16663 3.21974 8.95463 3.11523C8.74181 3.0103 8.55504 2.85917 8.40795 2.67282C8.26087 2.48647 8.15718 2.2696 8.10447 2.03803C8.05176 1.80645 8.05137 1.56602 8.10331 1.33427L8.10439 1.32937C8.13848 1.17054 8.13694 1.00612 8.09987 0.847953C8.0628 0.689787 7.99112 0.541797 7.88998 0.41465C7.78884 0.287501 7.66075 0.184359 7.51493 0.112677C7.3691 0.0409949 7.20918 0.00256304 7.04669 0.000166098L7.04169 0.000114905C5.64531 -0.00788549 4.27846 0.40206 3.11675 1.17724C1.95505 1.95242 1.05159 3.05742 0.522378 4.35021C-0.00682774 5.643 -0.137616 7.06456 0.146804 8.43228C0.431224 9.79999 1.11787 11.0514 2.11858 12.0258C4.84733 14.6831 9.25037 14.6542 11.9431 11.9606C12.601 11.3061 13.1217 10.5268 13.4749 9.66852C13.8281 8.80994 14.0066 7.88947 13.9998 6.96103ZM8.77386 10.7684C9.21895 10.7684 9.57977 10.4074 9.57977 9.96208C9.57977 9.51674 9.21895 9.15571 8.77386 9.15571C8.32878 9.15571 7.96796 9.51674 7.96796 9.96208C7.96796 10.4074 8.32878 10.7684 8.77386 10.7684ZM5.28166 9.4245C5.28166 9.86984 4.92084 10.2309 4.47576 10.2309C4.03067 10.2309 3.66986 9.86984 3.66986 9.4245C3.66986 8.97915 4.03067 8.61813 4.47576 8.61813C4.92084 8.61813 5.28166 8.97915 5.28166 9.4245ZM3.93849 6.46785C4.38358 6.46785 4.7444 6.10682 4.7444 5.66148C4.7444 5.21614 4.38358 4.85512 3.93849 4.85512C3.49341 4.85512 3.13259 5.21614 3.13259 5.66148C3.13259 6.10682 3.49341 6.46785 3.93849 6.46785ZM8.2365 6.73664C8.2365 7.18199 7.87569 7.54301 7.4306 7.54301C6.98551 7.54301 6.6247 7.18199 6.6247 6.73664C6.6247 6.2913 6.98551 5.93028 7.4306 5.93028C7.87569 5.93028 8.2365 6.2913 8.2365 6.73664Z\",\n style: { fill: t }\n }\n )\n }\n), Ti = () => /* @__PURE__ */ c.jsxs(\n \"svg\",\n {\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ c.jsx(\"style\", { children: je }),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M10.1489 8L1.6001 24.1824H4.1585L12.7073 8H10.1489Z\",\n fill: \"#2A6AFF\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n \"path\",\n {\n d: \"M15.8339 12.5552C16.7499 12.5552 17.4979 11.7856 17.4979 10.8704C17.4979 9.9552 16.7499 9.1856 15.8339 9.1856C14.8979 9.1856 14.1499 9.9552 14.1499 10.8704C14.1499 11.7856 14.8979 12.5552 15.8339 12.5552ZM14.4619 14.0112V24.1824H17.1659V14.0112H14.4619ZM27.3507 8V14.8016C26.5377 14.1118 25.5049 13.7356 24.4387 13.7408C21.4851 13.7408 19.2595 16.112 19.2595 19.1072C19.2595 22.1024 21.4851 24.4736 24.4387 24.4736C25.6659 24.4736 26.7475 24.016 27.5587 23.2256V24.1824H30.0547V8H27.3507ZM24.7507 21.936C23.1907 21.936 22.0467 20.7296 22.0467 19.1072C22.0467 17.4848 23.1907 16.2784 24.7507 16.2784C26.3107 16.2784 27.4547 17.4848 27.4547 19.1072C27.4547 20.7296 26.3107 21.936 24.7507 21.936Z\",\n fill: \"#142049\"\n }\n )\n ]\n }\n), ji = {\n sid: void 0,\n user: void 0,\n sdkState: \"initial\",\n logOut: () => {\n },\n logIn: () => Promise.reject(\"NYI\"),\n mfa: () => Promise.reject(\"NYI\"),\n validateToken: async () => !1,\n __switchOrganizationInContext: async () => {\n }\n}, Oo = Be(ji);\nOo.displayName = \"SlashIDContext\";\nconst Yt = \"@slashid/USER_TOKEN\", K1 = (e) => {\n switch (e) {\n case \"memory\":\n return new Dr();\n case \"localStorage\":\n return window.localStorage;\n case \"cookie\":\n return new H1();\n default:\n return new Dr();\n }\n}, Mv = ({\n oid: e,\n initialToken: t,\n tokenStorage: n = \"memory\",\n baseApiUrl: o,\n sdkUrl: r,\n analyticsEnabled: a,\n themeProps: s,\n children: i\n}) => {\n const [l, d] = G(e), [u, f] = G(t), [b, v] = G(ji.sdkState), [g, p] = G(void 0), y = Y(void 0), C = Y(void 0), h = ee(\n async ({ oid: j }) => {\n if (!g)\n return;\n const R = await g.getTokenForOrganization(j);\n f(R), d(j), v(\"initial\");\n },\n [g]\n ), x = ee(\n (j) => {\n var R, A;\n if (b !== \"initial\") {\n p(j), (R = y.current) == null || R.setItem(Yt, j.token);\n try {\n (A = C.current) == null || A.getAnalytics().identify(j);\n } catch {\n }\n j.oid !== l && h({ oid: j.oid });\n }\n },\n [b, h, l]\n ), _ = ee(() => {\n var j, R;\n if (b !== \"initial\" && ((j = y.current) == null || j.removeItem(Yt), !!g)) {\n try {\n (R = C.current) == null || R.getAnalytics().logout();\n } catch {\n }\n g.logout(), p(void 0), d(e);\n }\n }, [b, g, e]), S = ee(\n async ({ factor: j, handle: R }, { middleware: A } = {}) => {\n if (b === \"initial\")\n return;\n const W = C.current;\n if (W)\n try {\n const V = j.method === \"oidc\" || R === void 0 ? null : {\n type: R.type,\n value: R.value\n }, M = await W.id(l, V, j).then(async (F) => A === void 0 ? F : (Array.isArray(A) ? A : [A]).reduce((ne, de) => ne.then((q) => de({ user: q, sid: W })), Promise.resolve(F)));\n return x(M), M;\n } catch (V) {\n throw _(), V;\n }\n },\n [l, b, x, _]\n ), w = ee(\n async ({ handle: j, factor: R }) => {\n if (!(b === \"initial\" || !g))\n return await g.mfa(j, R), g;\n },\n [g, b]\n ), $ = ee(async (j) => {\n const R = new Tt(j, C.current);\n try {\n return (await R.validateToken()).valid;\n } catch (A) {\n return console.error(A), !1;\n }\n }, []);\n B(() => {\n if (b === \"initial\") {\n const j = new Ts({\n oid: l,\n ...o && { baseURL: o },\n ...r && { sdkURL: r },\n ...a && { analyticsEnabled: a }\n }), R = K1(n);\n y.current = R, C.current = j, v(\"loaded\");\n }\n }, [l, o, r, b, n, a]), B(() => {\n if (b !== \"loaded\")\n return;\n const j = C.current, R = y.current, A = async () => {\n try {\n const M = await j.getUserFromURL();\n return M ? (x(new Tt(M.token, C.current)), !0) : !1;\n } catch (M) {\n return console.error(M), !1;\n }\n }, W = async () => {\n const M = R.getItem(Yt);\n return M ? await $(M) ? (x(new Tt(M, C.current)), !0) : (R.removeItem(Yt), !1) : !1;\n }, V = async () => {\n u ? x(new Tt(u, C.current)) : await A() || await W(), v(\"ready\");\n };\n v(\"retrievingToken\"), V();\n }, [b, u, x, $]);\n const E = ce(() => b === \"initial\" ? {\n sid: void 0,\n user: g,\n sdkState: b,\n logOut: _,\n logIn: S,\n mfa: w,\n validateToken: $,\n __switchOrganizationInContext: h\n } : {\n sid: C.current,\n user: g,\n sdkState: b,\n logOut: _,\n logIn: S,\n mfa: w,\n validateToken: $,\n __switchOrganizationInContext: h\n }, [\n S,\n _,\n g,\n $,\n b,\n w,\n h\n ]);\n return /* @__PURE__ */ c.jsx(Oo.Provider, { value: E, children: /* @__PURE__ */ c.jsx(Bs, { ...s, children: i }) });\n};\nfunction Xe() {\n const e = D.useContext(Oo), t = ce(\n () => e.sdkState !== \"ready\",\n [e.sdkState]\n ), n = ce(\n () => e.user !== void 0,\n [e.user]\n );\n return {\n ...e,\n isLoading: t,\n isAuthenticated: n\n };\n}\nfunction Z1(e) {\n if (e instanceof Error)\n return e;\n let t = \"[Unable to stringify the thrown value]\";\n try {\n t = JSON.stringify(e);\n } catch {\n }\n return new Error(\n `This value was thrown as is, not through an Error: ${t}`\n );\n}\nconst Vr = (e) => ({\n status: \"initial\",\n logIn: (t, n) => {\n e({ type: \"sid_login\", config: t, options: n });\n }\n}), Br = (e, t, n) => {\n function o() {\n return n(t.config, t.options).then((r) => {\n e(r ? { type: \"sid_login.success\", user: r } : {\n type: \"sid_login.error\",\n error: new Error(\"User not returned from /id\")\n });\n }).catch((r) => {\n e({ type: \"sid_login.error\", error: r });\n });\n }\n return {\n status: \"authenticating\",\n context: {\n attempt: t.attempt,\n config: t.config,\n options: t.options\n },\n retry: () => {\n e({ type: \"sid_retry\", context: t });\n },\n cancel: () => {\n e({ type: \"sid_cancel\" });\n },\n entry: o\n };\n}, Y1 = () => ({\n status: \"success\"\n}), X1 = (e, t) => ({\n status: \"error\",\n context: t,\n retry: () => {\n e({ type: \"sid_retry\", context: t });\n },\n cancel: () => {\n e({ type: \"sid_cancel\" });\n }\n});\nfunction J1(e = {}) {\n let t, n = [];\n const o = (u) => {\n d(u);\n };\n let r = Vr(o);\n const a = [{ state: r, event: { type: \"sid_init\" } }], { onSuccess: s, onError: i } = e;\n function l(u, f) {\n r = u, a.push({ state: r, event: f }), typeof r.entry == \"function\" && r.entry(), n.forEach((b) => b(r, f));\n }\n async function d(u) {\n switch (u.type) {\n case \"sid_login\":\n if (!t)\n break;\n const f = {\n config: u.config,\n options: u.options,\n attempt: 1\n };\n l(Br(o, f, t), u);\n break;\n case \"sid_login.success\":\n typeof s == \"function\" && s(u.user), l(Y1(), u);\n break;\n case \"sid_login.error\":\n if (r.status !== \"authenticating\")\n break;\n const b = {\n ...r.context,\n error: Z1(u.error)\n };\n typeof i == \"function\" && i(u.error, b), l(X1(o, b), u);\n break;\n case \"sid_retry\":\n if (!t)\n break;\n const v = {\n config: u.context.config,\n options: u.context.options,\n attempt: u.context.attempt + 1\n };\n l(Br(o, v, t), u);\n break;\n case \"sid_cancel\":\n l(Vr(o), u);\n break;\n }\n }\n return {\n history: a,\n unsubscribe: (u) => {\n n = n.filter((f) => f === u);\n },\n subscribe: (u) => {\n n.push(u);\n },\n // SDK is instantiated asynchronously, so we need to set the logIn function when it is ready\n setLogIn: (u) => {\n t = u;\n },\n state: r\n };\n}\nfunction Li(e = {}) {\n const { logIn: t, mfa: n, user: o } = Xe(), r = Y(J1(e)), [a, s] = G(r.current.state);\n return B(() => {\n const i = r.current;\n return i.subscribe(s), () => i.unsubscribe(s);\n }, []), B(() => {\n o ? r.current.setLogIn(n) : r.current.setLogIn(t);\n }, [t, n, o]), a;\n}\nconst Q1 = [\"webauthn\", \"otp_via_email\", \"email_link\"], e0 = [\"otp_via_sms\", \"sms_link\"], t0 = [\"oidc\", \"saml\"];\nfunction Ri(e) {\n return Q1.includes(e.method) ? \"email_address\" : e0.includes(e.method) ? \"phone_number\" : null;\n}\nfunction Po(e) {\n const t = /* @__PURE__ */ new Set();\n return e.forEach((n) => {\n const o = Ri(n);\n o && t.add(o);\n }), Array.from(t);\n}\nfunction Ai(e, t) {\n return e.filter((n) => Ri(n) === t);\n}\nfunction Ii(e) {\n return e.method === \"otp_via_email\";\n}\nfunction Mi(e) {\n return e.method === \"otp_via_sms\";\n}\nfunction n0(e) {\n return Ii(e) || Mi(e);\n}\nfunction Dt(e) {\n return e.method === \"oidc\";\n}\nfunction ro(e) {\n return t0.includes(e.method);\n}\nfunction o0(e) {\n return e.method === \"email_link\";\n}\nfunction r0(e) {\n return e.method === \"sms_link\";\n}\nfunction zi(e) {\n return e.method !== \"oidc\";\n}\nfunction Ni(e) {\n return e.some(ro) && e.some((t) => !ro(t));\n}\nfunction gt(e, t) {\n if (!(!e || e.type !== t))\n return e.value;\n}\nfunction Di(e) {\n for (const t of uo())\n if (e.startsWith(t.dial_code))\n return {\n dialCode: t.dial_code,\n number: e.substring(t.dial_code.length).trim(),\n countryCode: oa(t.dial_code).code\n };\n}\nconst Fi = {\n \"\": \"NYI\",\n \"footer.branding\": \"Top-tier security by SlashID\",\n \"initial.title\": \"Welcome to SlashID\",\n \"initial.subtitle\": \"Sign in to your account\",\n \"initial.oidc\": \"Sign in with\",\n \"initial.sso\": \"Sign in with\",\n \"initial.authenticationMethod\": \"Authentication method\",\n \"initial.handle.email\": \"Email address\",\n \"initial.handle.phone\": \"Phone number\",\n \"initial.handle.phone.email\": \"Type your email\",\n \"initial.handle.phone.placeholder\": \"Type your phone number\",\n \"initial.submit\": \"Continue\",\n \"initial.divider\": \"or\",\n \"authenticating.retryPrompt\": \"Didn’t receive the code?\",\n \"authenticating.retry\": \"Resend\",\n \"authenticating.back\": \"Back\",\n \"authenticating.message.webauthn\": \"If you are registering for the first time, you will receive an email to verify your email address.\",\n \"authenticating.title.webauthn\": \"You'll be prompted to validate your login via your device\",\n \"authenticating.message.emailLink\": \"We have sent you a link via email. Follow the link provided to complete your registration.\",\n \"authenticating.title.emailLink\": \"Check your email\",\n \"authenticating.message.smsLink\": \"We have sent you a link via text. Follow the link provided to complete your registration.\",\n \"authenticating.title.smsLink\": \"Check your phone\",\n \"authenticating.message.emailOtp\": \"We have sent you a code via email. Please insert it here.\",\n \"authenticating.title.emailOtp\": \"Check your email\",\n \"authenticating.submitting.message.emailOtp\": \"We are verifying the code.\",\n \"authenticating.submitting.title.emailOtp\": \"Please wait\",\n \"authenticating.message.smsOtp\": \"We have sent you a code via text. Please insert it here.\",\n \"authenticating.title.smsOtp\": \"Check your phone\",\n \"authenticating.submitting.message.smsOtp\": \"We are verifying the code.\",\n \"authenticating.submitting.title.smsOtp\": \"Please wait\",\n \"authenticating.message.oidc\": \"Please follow the instructions in the login screen from your SSO provider.\",\n \"authenticating.title.oidc\": \"Sign in with \",\n \"authenticating.otpInput\": \"OTP\",\n \"authenticating.otpInput.submit\": \"Submit\",\n \"success.title\": \"You are now authenticated!\",\n \"success.subtitle\": \"You can now close this page.\",\n \"error.title\": \"Something went wrong...\",\n \"error.subtitle\": \"There has been an error while submitting your form. Please try again.\",\n \"error.subtitle.rateLimit\": \"Your request has been rate limited. Please try again later.\",\n \"error.retry\": \"Try again\",\n \"factor.webauthn\": \"Passkeys\",\n \"factor.otpViaSms\": \"OTP via SMS\",\n \"factor.otpViaEmail\": \"OTP via email\",\n \"factor.emailLink\": \"Email link\",\n \"factor.smsLink\": \"SMS link\",\n \"validationError.otp\": \"Please enter the OTP code.\",\n \"validationError.email\": \"Please enter your email address.\",\n \"validationError.phoneNumber\": \"Please enter your phone number.\",\n // KYC\n \"kyc.mobile.end.title\": \"Upload was successful.\",\n \"kyc.mobile.end.description\": \"Please return to desktop.\",\n \"kyc.mobile.failure.generic.title\": \"Something went wrong\",\n \"kyc.mobile.failure.generic.description\": \"Please try again\",\n \"kyc.mobile.failure.upload_not_supported.title\": \"Upload not supported\",\n \"kyc.mobile.failure.upload_not_supported.description\": \"Please try with a different browser or device\",\n // Technical message to alert the consumer\n \"kyc.mobile.failure.invalid_state.title\": \"Invalid State\",\n \"kyc.mobile.failure.invalid_state.description\": \"Cannot render anything due to inconsistent state\",\n \"kyc.upload.mobile.empty.id_card.front\": \"Upload the front side of your ID card\",\n \"kyc.upload.mobile.empty.id_card.back\": \"Upload the back side of your ID card\",\n \"kyc.upload.mobile.empty.driver_license.front\": \"Upload the front side of your driver license\",\n \"kyc.upload.mobile.empty.driver_license.back\": \"Upload the back side of your driver license\",\n \"kyc.upload.mobile.empty.passport.front\": \"Upload the front side of your passport\",\n \"kyc.upload.mobile.empty.passport.back\": \"Upload the back side of your passport\",\n \"kyc.upload.mobile.empty.cta\": \"Upload\",\n \"kyc.upload.mobile.loading.message\": \"Checking image quality\",\n \"kyc.upload.mobile.failure.generic.title\": \"Cannot load image\",\n \"kyc.upload.mobile.failure.generic.description\": \"Please try with a different image\",\n \"kyc.upload.mobile.failure.quality.title\": \"Invalid Image\",\n \"kyc.upload.mobile.failure.quality.description\": \"Please try with a different image\",\n \"kyc.upload.mobile.failure.quality.detect_blur.title\": \"Image is too blurry\",\n \"kyc.upload.mobile.failure.quality.detect_blur.description\": \"Please try with a different image\",\n \"kyc.upload.mobile.failure.quality.detect_cutoff.title\": \"Document is not entirely visible\",\n \"kyc.upload.mobile.failure.quality.detect_cutoff.description\": \"Please try with a different image\",\n \"kyc.upload.mobile.failure.quality.document_detection.title\": \"Document not found\",\n \"kyc.upload.mobile.failure.quality.document_detection.description\": \"Please try with a different image\",\n \"kyc.upload.mobile.success.title\": \"Image looks good\",\n \"kyc.upload.mobile.upload.cta.continue\": \"Continue\",\n \"kyc.upload.mobile.upload.cta.again\": \"Upload again\",\n \"kyc.upload.mobile.title\": \"Your document\",\n \"kyc.upload.mobile.subtitle\": \"Upload the required images of your documents\",\n \"kyc.livephoto.mobile.upload.cta.continue\": \"Continue\",\n \"kyc.livephoto.mobile.upload.cta.again\": \"Upload again\",\n \"kyc.livephoto.mobile.empty\": \"Upload a selfie picture.\",\n \"kyc.livephoto.mobile.empty.cta\": \"Upload\",\n \"kyc.livephoto.mobile.loading.message\": \"Validating picture\",\n \"kyc.livephoto.mobile.failure.generic.title\": \"Cannot load image\",\n \"kyc.livephoto.mobile.failure.generic.description\": \"Please try with a different image\",\n \"kyc.livephoto.mobile.failure.validation.title\": \"An error occurred\",\n \"kyc.livephoto.mobile.failure.validation.description\": \"Please try with a different image\",\n \"kyc.livephoto.mobile.failure.validation.face_detection.title\": \"Face not detected\",\n \"kyc.livephoto.mobile.failure.validation.face_detection.description\": \"Please try with a different image\",\n \"kyc.livephoto.mobile.success.title\": \"Image looks good\",\n \"kyc.livephoto.mobile.title\": \"Selfie Check\",\n \"kyc.livephoto.mobile.subtitle\": \"Upload a selfie picture to confirm your identity.\",\n \"org.switcher.label\": \"Organization\",\n // gdpr\n \"gdpr.dialog.title\": \"We value your privacy\",\n \"gdpr.dialog.subtitle\": \"We use cookies to improve your experience. Learn more in our Cookie policy.\",\n \"gdpr.consent.necessary.title\": \"Necessary cookies\",\n \"gdpr.consent.necessary.description\": \"Cookies that are essential to provide the service you have requested or which are required to comply with legal requirements, like data protection laws.\",\n \"gdpr.consent.analytics.title\": \"Analytics\",\n \"gdpr.consent.analytics.description\": \"Cookies that are used for analytics or performance measurement purposes, like counting the number of unique visitors to our site, how long you stay on the site, and what parts of our site you visit.\",\n \"gdpr.consent.marketing.title\": \"Marketing\",\n \"gdpr.consent.marketing.description\": \"Cookies that are used to display advertising personalised to you (whether on or off our site) based on your browsing and profile.\",\n \"gdpr.consent.retargeting.title\": \"Retargeting\",\n \"gdpr.consent.retargeting.description\": \"Cookies that are used to display advertising personalised to you (whether on or off our site) based on your browsing and profile.\",\n \"gdpr.consent.tracking.title\": \"Tracking\",\n \"gdpr.consent.tracking.description\": \"Cookies that track your online behaviour, such as clicks, preferences, device specifications, location, and search history. This data helps in targeted advertising and gathering website analytics.\",\n \"gdpr.dialog.error.title\": \"Oops!\",\n \"gdpr.dialog.error.subtitle\": \"Looks like something went wrong...\"\n}, ao = {\n text: Fi,\n factors: [{ method: \"webauthn\" }, { method: \"email_link\" }],\n logo: /* @__PURE__ */ c.jsx(Ti, {}),\n storeLastHandle: !1,\n showBanner: !0,\n defaultCountryCode: \"US\"\n}, To = Be(ao);\nTo.displayName = \"SlashIDConfigurationContext\";\nconst a0 = ({\n text: e,\n children: t,\n ...n\n}) => {\n const o = ce(() => ({\n ...ao,\n ...n,\n text: e ? { ...Fi, ...e } : ao.text\n }), [n, e]);\n return /* @__PURE__ */ c.jsx(To.Provider, { value: o, children: /* @__PURE__ */ c.jsx(ou, { text: o.text, children: t }) });\n};\nfunction he() {\n return D.useContext(To);\n}\nconst St = () => Mt(Jr);\nvar i0 = \"_3rb9o30\", s0 = \"_3rb9o31\";\nconst c0 = ({\n onChange: e,\n value: t = \"\",\n numInputs: n = 4,\n shouldAutoFocus: o = !1,\n inputType: r = \"text\"\n}) => {\n const [a, s] = G(0), i = Y([]), l = () => t ? t.toString().split(\"\") : [], d = r === \"number\";\n B(() => {\n i.current = i.current.slice(0, n);\n }, [n]);\n const u = (w) => d ? !isNaN(Number(w)) : typeof w == \"string\", f = (w) => u(w) && w.trim().length === 1, b = (w) => {\n const { value: $ } = w.target;\n f($) && (x($), h(a + 1));\n }, v = (w) => {\n const $ = l(), E = w.slice(0, n).split(\"\"), j = Math.min(E.length, n);\n if (!(d && E.some((R) => isNaN(Number(R))))) {\n for (let R = 0; R < n; ++R)\n R >= 0 && E.length > 0 && ($[R] = E.shift() ?? \"\");\n h(j), _($);\n }\n }, g = (w) => {\n const { value: $ } = w.target;\n if (!u($)) {\n w.target.value = \"\";\n return;\n }\n $.length === n && v($);\n }, p = (w) => ($) => {\n s($), w.target.select();\n }, y = () => {\n s(a - 1);\n }, C = (w) => {\n const $ = l();\n [w.code, w.key].includes(\"Backspace\") ? (w.preventDefault(), x(\"\"), h(a - 1)) : w.code === \"Delete\" ? (w.preventDefault(), x(\"\")) : w.code === \"ArrowLeft\" ? (w.preventDefault(), h(a - 1)) : w.code === \"ArrowRight\" || w.key === $[a] ? (w.preventDefault(), h(a + 1)) : (w.code === \"Spacebar\" || w.code === \"Space\" || w.code === \"ArrowUp\" || w.code === \"ArrowDown\") && w.preventDefault();\n }, h = (w) => {\n var E, j;\n const $ = Math.max(Math.min(n - 1, w), 0);\n i.current[$] && ((E = i.current[$]) == null || E.focus(), (j = i.current[$]) == null || j.select(), s($));\n }, x = (w) => {\n const $ = l();\n $[a] = w[0], _($);\n }, _ = (w) => {\n e(w.join(\"\"));\n }, S = (w) => {\n var E;\n w.preventDefault();\n const $ = (E = w.clipboardData) == null ? void 0 : E.getData(\"text/plain\");\n v($);\n };\n return /* @__PURE__ */ c.jsx(\"div\", { className: Q(\"sid-otp-input\", i0), children: Array.from({ length: n }, (w, $) => $).map((w) => /* @__PURE__ */ c.jsx(\n \"input\",\n {\n className: s0,\n autoComplete: \"one-time-code\",\n maxLength: n,\n autoFocus: w === 0 && o,\n type: \"text\",\n inputMode: d ? \"numeric\" : \"text\",\n \"aria-label\": `Please enter OTP ${d ? \"digit\" : \"character\"} ${w + 1}`,\n value: l()[w] ?? \"\",\n ref: ($) => i.current[w] = $,\n onChange: b,\n onFocus: ($) => p($)(w),\n onBlur: y,\n onKeyDown: C,\n onPaste: S,\n onInput: g\n },\n w\n )) });\n}, xe = (e) => /* @__PURE__ */ c.jsx(au, { ...e });\nvar l0 = \"_1xl24760\";\nconst jo = ({ name: e }) => {\n const { errors: t } = St(), n = t[e];\n return n ? /* @__PURE__ */ c.jsx(\"span\", { \"data-testid\": \"sid-form-error-message\", className: l0, children: n.message }) : null;\n}, d0 = new RegExp(\n \"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\\\"(?:[\u0001-\\b\\v\\f\u000e-\u001f!#-[]-]|\\\\[\u0001-\t\\v\\f\u000e-])*\\\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\\b\\v\\f\u000e-\u001f!-ZS-]|\\\\[\u0001-\t\\v\\f\u000e-])+)\\\\])\"\n), Vi = 6, Bi = (e) => !(typeof e != \"string\" || e === \"\"), Hi = (e) => typeof e != \"string\" || e === \"\" ? !1 : d0.test(e), Hr = (e) => !(Number.isNaN(Number(e)) || e.length !== Vi);\nvar u0 = \"iqcc6c1\", f0 = \"iqcc6c2\", v0 = \"iqcc6c0\";\nfunction Ui(e, t = !1) {\n switch (e.method) {\n case \"oidc\":\n return {\n message: \"authenticating.message.oidc\",\n title: \"authenticating.title.oidc\"\n };\n case \"webauthn\":\n return {\n message: \"authenticating.message.webauthn\",\n title: \"authenticating.title.webauthn\"\n };\n case \"sms_link\":\n return {\n message: \"authenticating.message.smsLink\",\n title: \"authenticating.title.smsLink\"\n };\n case \"otp_via_sms\":\n return t ? {\n message: \"authenticating.submitting.message.smsOtp\",\n title: \"authenticating.submitting.title.smsOtp\"\n } : {\n message: \"authenticating.message.smsOtp\",\n title: \"authenticating.title.smsOtp\"\n };\n case \"otp_via_email\":\n return t ? {\n message: \"authenticating.submitting.message.emailOtp\",\n title: \"authenticating.submitting.title.emailOtp\"\n } : {\n message: \"authenticating.message.emailOtp\",\n title: \"authenticating.title.emailOtp\"\n };\n case \"email_link\":\n default:\n return {\n message: \"authenticating.message.emailLink\",\n title: \"authenticating.title.emailLink\"\n };\n }\n}\nconst Lo = () => /* @__PURE__ */ c.jsx(zt, { children: /* @__PURE__ */ c.jsx(ta, {}) }), Wi = () => /* @__PURE__ */ c.jsx(zt, { children: /* @__PURE__ */ c.jsx(W1, {}) }), Gi = () => /* @__PURE__ */ c.jsx(zt, { children: /* @__PURE__ */ c.jsx(U1, {}) }), p0 = ({ factor: e }) => Ii(e) ? /* @__PURE__ */ c.jsx(Wi, {}) : Mi(e) ? /* @__PURE__ */ c.jsx(Gi, {}) : /* @__PURE__ */ c.jsx(Lo, {}), m0 = ({ factor: e }) => o0(e) ? /* @__PURE__ */ c.jsx(Wi, {}) : r0(e) ? /* @__PURE__ */ c.jsx(Gi, {}) : /* @__PURE__ */ c.jsx(Lo, {}), Ki = ({ onCancel: e }) => {\n const { text: t } = he();\n return /* @__PURE__ */ c.jsx(\n co,\n {\n className: _e({ marginBottom: \"4\" }),\n testId: \"sid-form-authenticating-cancel-button\",\n variant: \"back\",\n onClick: e,\n children: t[\"authenticating.back\"]\n }\n );\n}, Zi = ({ onRetry: e }) => {\n const { text: t } = he();\n return /* @__PURE__ */ c.jsxs(\"div\", { className: v0, children: [\n /* @__PURE__ */ c.jsx(\n xe,\n {\n variant: { size: \"sm\", color: \"tertiary\", weight: \"semibold\" },\n t: \"authenticating.retryPrompt\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n co,\n {\n className: _e({ marginLeft: \"1\" }),\n type: \"button\",\n testId: \"sid-form-authenticating-retry-button\",\n onClick: e,\n children: t[\"authenticating.retry\"]\n }\n )\n ] });\n}, g0 = ({ flowState: e }) => {\n const { text: t } = he(), { sid: n } = Xe(), { values: o, registerField: r, registerSubmit: a } = St(), [s, i] = G(\"initial\"), l = Y(null), d = e.context.config.factor, { title: u, message: f } = Ui(\n d,\n s === \"submitting\"\n ), b = ee(\n (g) => {\n g.preventDefault(), i(\"submitting\"), n == null || n.publish(\"otpCodeSubmitted\", o.otp);\n },\n [n, o]\n ), v = ee(\n (g) => {\n r(\"otp\", {\n validator: (C) => {\n if (!Hr(C))\n return { message: t[\"validationError.otp\"] };\n }\n })({\n target: {\n value: g\n }\n });\n },\n [r, t]\n );\n return B(() => {\n var g;\n Hr(o.otp) && ((g = l.current) == null || g.click());\n }, [o]), B(() => {\n const g = () => i(\"input\");\n s === \"initial\" && (n == null || n.subscribe(\"otpCodeSent\", g));\n }, [s, n]), /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n /* @__PURE__ */ c.jsx(Ki, { onCancel: () => e.cancel() }),\n /* @__PURE__ */ c.jsx(xe, { as: \"h1\", t: u, variant: { size: \"2xl-title\", weight: \"bold\" } }),\n /* @__PURE__ */ c.jsx(xe, { t: f, variant: { color: \"contrast\", weight: \"semibold\" } }),\n s === \"initial\" && /* @__PURE__ */ c.jsx(p0, { factor: d }),\n s === \"input\" && /* @__PURE__ */ c.jsxs(\n \"form\",\n {\n onSubmit: a(b),\n className: f0,\n children: [\n /* @__PURE__ */ c.jsx(\n c0,\n {\n shouldAutoFocus: !0,\n inputType: \"number\",\n value: o.otp ?? \"\",\n onChange: v,\n numInputs: Vi\n }\n ),\n /* @__PURE__ */ c.jsx(\"input\", { hidden: !0, type: \"submit\", ref: l }),\n /* @__PURE__ */ c.jsx(jo, { name: \"otp\" })\n ]\n }\n ),\n s === \"submitting\" ? /* @__PURE__ */ c.jsx(Lo, {}) : /* @__PURE__ */ c.jsx(Zi, { onRetry: () => e.retry() })\n ] });\n}, h0 = ({ flowState: e }) => {\n var r;\n const t = e.context.config.factor, { title: n, message: o } = Ui(t);\n return /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n /* @__PURE__ */ c.jsx(Ki, { onCancel: () => e.cancel() }),\n /* @__PURE__ */ c.jsx(xe, { as: \"h1\", t: n, variant: { size: \"2xl-title\", weight: \"bold\" }, children: t.method === \"oidc\" ? /* @__PURE__ */ c.jsx(\"span\", { className: u0, children: (r = t.options) == null ? void 0 : r.provider }) : void 0 }),\n /* @__PURE__ */ c.jsx(xe, { t: o, variant: { color: \"contrast\", weight: \"semibold\" } }),\n /* @__PURE__ */ c.jsx(m0, { factor: t }),\n /* @__PURE__ */ c.jsx(Zi, { onRetry: () => e.retry() })\n ] });\n}, Yi = ({ flowState: e }) => /* @__PURE__ */ c.jsx(\"article\", { \"data-testid\": \"sid-form-authenticating-state\", children: n0(e.context.config.factor) ? /* @__PURE__ */ c.jsx(g0, { flowState: e }) : /* @__PURE__ */ c.jsx(h0, { flowState: e }) }), b0 = () => /* @__PURE__ */ c.jsx(zt, { children: /* @__PURE__ */ c.jsx(\n \"svg\",\n {\n width: \"21\",\n height: \"18\",\n viewBox: \"0 0 21 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ c.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.8505 0.705985C20.6342 1.38283 20.7209 2.56684 20.044 3.35055L8.16908 17.1005C7.80192 17.5256 7.2635 17.7637 6.70195 17.7493C6.1404 17.7349 5.61489 17.4695 5.27002 17.0261L0.895049 11.4011C0.259296 10.5837 0.406547 9.4057 1.22394 8.76995C2.04134 8.13419 3.21935 8.28145 3.8551 9.09884L6.82592 12.9185L17.2059 0.89949C17.8828 0.115778 19.0668 0.0291434 19.8505 0.705985Z\",\n fill: \"white\"\n }\n )\n }\n) }), Xi = () => /* @__PURE__ */ c.jsxs(\"article\", { \"data-testid\": \"sid-form-success-state\", children: [\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h1\",\n t: \"success.title\",\n variant: { size: \"2xl-title\", weight: \"bold\" }\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h2\",\n t: \"success.subtitle\",\n variant: { color: \"contrast\", weight: \"semibold\" }\n }\n ),\n /* @__PURE__ */ c.jsx(b0, {})\n] }), Ji = D.createContext(\n {\n flowState: null,\n lastHandle: void 0,\n submitPayloadRef: { current: {} },\n handleSubmit: () => null,\n selectedFactor: void 0,\n setSelectedFactor: () => null\n }\n), Et = () => D.useContext(Ji), C0 = () => /* @__PURE__ */ c.jsx(zt, { variant: \"red\", shouldAnimate: !1, children: /* @__PURE__ */ c.jsx(G1, {}) });\nfunction y0(e) {\n return Jo.isResponseError(e) ? \"response\" : Jo.isRateLimitError(e) ? \"rateLimit\" : \"unknown\";\n}\nfunction x0(e) {\n switch (e) {\n case \"rateLimit\":\n return \"error.subtitle.rateLimit\";\n default:\n return \"error.subtitle\";\n }\n}\nconst kn = ({ children: e }) => {\n const { flowState: t } = Et();\n return (t == null ? void 0 : t.status) !== \"error\" ? null : typeof e == \"function\" ? /* @__PURE__ */ c.jsx(\"div\", { \"data-testid\": \"sid-form-error-function\", children: e({\n context: t.context,\n retry: t.retry,\n cancel: t.cancel\n }) }) : Re.count(e) > 0 ? /* @__PURE__ */ c.jsx(\"div\", { \"data-testid\": \"sid-form-error-children\", children: e }) : /* @__PURE__ */ c.jsx(w0, { flowState: t });\n};\nkn.displayName = \"Form.Error\";\nconst w0 = ({ flowState: e }) => {\n const { text: t } = he(), n = y0(e.context.error);\n return /* @__PURE__ */ c.jsxs(\"article\", { \"data-testid\": \"sid-form-error-state\", children: [\n /* @__PURE__ */ c.jsx(\n co,\n {\n className: _e({ marginBottom: \"4\" }),\n testId: \"sid-form-authenticating-cancel-button\",\n variant: \"back\",\n onClick: () => e.cancel(),\n children: t[\"authenticating.back\"]\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h1\",\n t: \"error.title\",\n variant: { size: \"2xl-title\", weight: \"bold\" }\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h2\",\n t: x0(n),\n variant: { color: \"contrast\", weight: \"semibold\" }\n }\n ),\n /* @__PURE__ */ c.jsx(C0, {}),\n /* @__PURE__ */ c.jsx(\n De,\n {\n type: \"submit\",\n variant: \"primary\",\n testId: \"sid-form-error-retry-button\",\n onClick: () => e.retry(),\n children: t[\"error.retry\"]\n }\n )\n ] });\n};\nvar _0 = \"tgnhcw2\", $0 = \"tgnhcw0\", k0 = \"tgnhcw1\";\nvar S0 = \"_1xoz4765\", E0 = \"_1xoz4764\", Ur = \"_1xoz4763\", Qi = \"_1xoz4762\", es = \"_1xoz4760\", Wr = \"_1xoz4766\", q0 = \"_1xoz4761\";\nconst ts = ({ logo: e }) => {\n if (typeof e == \"string\" && e)\n return /* @__PURE__ */ c.jsx(\n \"img\",\n {\n className: Q(\"sid-logo\", \"sid-logo--image\", Ur),\n src: e,\n alt: \"Company logo\"\n }\n );\n const t = e || /* @__PURE__ */ c.jsx(Ti, {});\n return e || console.info(\"SlashID: No logo provided. Using default logo.\"), /* @__PURE__ */ c.jsx(\"div\", { className: Q(\"sid-logo\", \"sid-logo--component\", Ur), children: t });\n}, Ro = ({\n children: e\n}) => {\n const { logo: t } = he();\n return typeof e != \"function\" ? /* @__PURE__ */ c.jsx(ts, { logo: t }) : /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ logo: t }) });\n};\nRo.displayName = \"Logo\";\nconst O0 = {\n google: /* @__PURE__ */ c.jsx(Ei, {}),\n facebook: /* @__PURE__ */ c.jsx($i, {}),\n github: /* @__PURE__ */ c.jsx(ki, {}),\n gitlab: /* @__PURE__ */ c.jsx(Si, {}),\n line: /* @__PURE__ */ c.jsx(qi, {}),\n bitbucket: /* @__PURE__ */ c.jsx(_i, {}),\n azuread: /* @__PURE__ */ c.jsx(wi, {}),\n okta: /* @__PURE__ */ c.jsx(Oi, {})\n}, P0 = {\n google: \"Google\",\n // apple: \"Apple\",\n facebook: \"Facebook\",\n github: \"GitHub\",\n gitlab: \"GitLab\",\n line: \"LINE\",\n bitbucket: \"Bitbucket\",\n azuread: \"Azure AD\",\n okta: \"Okta\"\n}, T0 = ({ providers: e, handleClick: t }) => {\n const { text: n } = he();\n return e.length ? /* @__PURE__ */ c.jsx(\"div\", { className: Q(_e({ marginTop: \"4\" }), Qi), children: e.map((o) => {\n var r, a, s, i;\n return (r = o.options) != null && r.provider ? /* @__PURE__ */ c.jsxs(\n De,\n {\n onClick: () => t({ method: \"oidc\", options: o.options }),\n variant: \"secondary\",\n icon: O0[(a = o.options) == null ? void 0 : a.provider],\n className: Q(\"sid-oidc--button\"),\n children: [\n n[\"initial.oidc\"],\n /* @__PURE__ */ c.jsx(\"span\", { className: es, children: o.label || P0[(s = o.options) == null ? void 0 : s.provider] })\n ]\n },\n (i = o.options) == null ? void 0 : i.client_id\n ) : null;\n }) }) : null;\n}, j0 = {\n email_link: \"factor.emailLink\",\n otp_via_sms: \"factor.otpViaSms\",\n otp_via_email: \"factor.otpViaEmail\",\n sms_link: \"factor.smsLink\",\n webauthn: \"factor.webauthn\",\n oidc: \"\",\n saml: \"\"\n}, Bn = ({\n handleType: e,\n factors: t,\n handleSubmit: n,\n defaultValue: o\n}) => {\n const r = ce(\n () => Ai(t, e).filter((_) => !Dt(_)),\n [t, e]\n ), { text: a, defaultCountryCode: s } = he(), { registerField: i, registerSubmit: l, values: d, status: u, resetForm: f } = St(), b = r.length > 1, v = Di(o ?? \"\"), [g, p] = G(\n pn((v == null ? void 0 : v.countryCode) ?? s)\n ), [y, C] = G(r[0]);\n B(() => {\n C(r[0]);\n }, [r]), B(() => f, [f]);\n const h = ce(() => e === \"phone_number\" ? /* @__PURE__ */ c.jsx(\n la,\n {\n className: _e({ marginTop: \"4\" }),\n id: `sid-input-${e}`,\n name: e,\n label: a[\"initial.handle.phone\"],\n placeholder: a[\"initial.handle.phone.placeholder\"],\n value: d[e] ?? \"\",\n flag: g,\n onChange: i(e, {\n defaultValue: v == null ? void 0 : v.number,\n validator: (_) => {\n if (!Bi(_))\n return { message: a[\"validationError.phoneNumber\"] };\n }\n }),\n onFlagChange: p\n }\n ) : /* @__PURE__ */ c.jsx(\n ca,\n {\n className: _e({ marginTop: \"4\" }),\n id: `sid-input-${e}`,\n name: e,\n label: a[\"initial.handle.email\"],\n placeholder: a[\"initial.handle.phone.email\"],\n value: d[e] ?? \"\",\n onChange: i(e, {\n defaultValue: o,\n validator: (_) => {\n if (!Hi(_))\n return { message: a[\"validationError.email\"] };\n }\n })\n }\n ), [\n g,\n e,\n a,\n i,\n d,\n o,\n v\n ]), x = (_) => {\n _.preventDefault(), n(y, {\n type: e,\n value: e === \"email_address\" ? d[e] : `${g.dial_code}${d[e]}`\n });\n };\n return /* @__PURE__ */ c.jsxs(\"form\", { onSubmit: l(x), children: [\n b && /* @__PURE__ */ c.jsx(\n $n,\n {\n defaultValue: r[0].method,\n className: _e({ marginBottom: \"3\", marginTop: \"6\" }),\n label: a[\"initial.authenticationMethod\"],\n items: r.map((_) => ({\n label: a[j0[_.method]],\n value: _.method\n })),\n onChange: (_) => C(t.find((S) => S.method === _)),\n contentProps: {\n className: _0,\n position: \"popper\"\n }\n }\n ),\n h,\n /* @__PURE__ */ c.jsx(jo, { name: e }),\n /* @__PURE__ */ c.jsx(\n De,\n {\n className: _e({ marginTop: \"6\" }),\n type: \"submit\",\n variant: \"primary\",\n testId: \"sid-form-initial-submit-button\",\n disabled: u === \"invalid\",\n children: a[\"initial.submit\"]\n }\n )\n ] });\n}, dn = {\n email: \"email\",\n phone: \"phone\"\n}, L0 = {\n phone_number: dn.phone,\n email_address: dn.email\n}, R0 = ({ handleSubmit: e, lastHandle: t }) => {\n const { factors: n, text: o } = he(), r = ce(\n () => n.filter((i) => !Dt(i)),\n [n]\n ), a = ce(\n () => Ni(n),\n [n]\n ), s = ce(() => Po(n), [n]);\n return r.length === 0 ? null : s.length === 1 ? /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n /* @__PURE__ */ c.jsx(\n Bn,\n {\n handleSubmit: e,\n factors: n,\n handleType: s[0],\n defaultValue: gt(t, s[0])\n }\n ),\n a && /* @__PURE__ */ c.jsx(on, { children: o[\"initial.divider\"] })\n ] }) : /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n /* @__PURE__ */ c.jsx(\n yi,\n {\n className: _e({ marginY: \"6\" }),\n defaultValue: L0[(t == null ? void 0 : t.type) ?? \"email_address\"],\n tabs: [\n {\n id: dn.email,\n title: o[\"initial.handle.email\"],\n content: /* @__PURE__ */ c.jsx(\n Bn,\n {\n handleSubmit: e,\n factors: n,\n handleType: \"email_address\",\n defaultValue: gt(\n t,\n \"email_address\"\n )\n }\n )\n },\n {\n id: dn.phone,\n title: o[\"initial.handle.phone\"],\n content: /* @__PURE__ */ c.jsx(\n Bn,\n {\n handleSubmit: e,\n factors: n,\n handleType: \"phone_number\",\n defaultValue: gt(\n t,\n \"phone_number\"\n )\n }\n )\n }\n ]\n }\n ),\n a ? /* @__PURE__ */ c.jsx(on, { children: o[\"initial.divider\"] }) : null\n ] });\n}, A0 = ({ flowState: e, handleSubmit: t, middleware: n }) => {\n const { logo: o, text: r, factors: a } = he(), s = ce(\n () => a.filter(Dt),\n [a]\n ), i = s.length > 0;\n return /* @__PURE__ */ c.jsxs(\n \"div\",\n {\n \"data-testid\": \"sid-dynamic-flow--initial-state\",\n className: \"sid-dynamic-flow--initial-state\",\n children: [\n /* @__PURE__ */ c.jsx(ts, { logo: o }),\n /* @__PURE__ */ c.jsxs(\"div\", { className: k0, children: [\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h1\",\n t: \"initial.title\",\n variant: { size: \"2xl-title\", weight: \"bold\" }\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h2\",\n t: \"initial.subtitle\",\n variant: { color: \"contrast\", weight: \"semibold\" }\n }\n )\n ] }),\n /* @__PURE__ */ c.jsx(tn, { children: /* @__PURE__ */ c.jsx(R0, { handleSubmit: t }) }),\n i && /* @__PURE__ */ c.jsx(on, { children: r[\"initial.divider\"] }),\n /* @__PURE__ */ c.jsx(\n T0,\n {\n providers: s,\n handleClick: (l) => e.logIn(\n {\n factor: l,\n handle: void 0\n },\n { middleware: n }\n )\n }\n )\n ]\n }\n );\n}, zv = ({\n getFactor: e,\n className: t,\n onSuccess: n,\n middleware: o\n}) => {\n const r = Li({ onSuccess: n }), a = ee(\n (s, i) => {\n if (r.status === \"initial\") {\n const l = e(i);\n r.logIn(\n {\n factor: l,\n handle: i\n },\n { middleware: o }\n );\n }\n },\n [e, r, o]\n );\n return /* @__PURE__ */ c.jsxs(\"div\", { className: Q(\"sid-dynamic-flow\", $0, t), children: [\n r.status === \"initial\" && /* @__PURE__ */ c.jsx(A0, { handleSubmit: a, flowState: r }),\n r.status === \"authenticating\" && /* @__PURE__ */ c.jsx(tn, { children: /* @__PURE__ */ c.jsx(Yi, { flowState: r }) }),\n r.status === \"error\" && /* @__PURE__ */ c.jsx(kn, {}),\n r.status === \"success\" && /* @__PURE__ */ c.jsx(Xi, { flowState: r })\n ] });\n}, I0 = {\n email_link: \"factor.emailLink\",\n otp_via_sms: \"factor.otpViaSms\",\n otp_via_email: \"factor.otpViaEmail\",\n sms_link: \"factor.smsLink\",\n webauthn: \"factor.webauthn\",\n oidc: \"\",\n saml: \"\"\n}, un = {\n email: \"email\",\n phone: \"phone\"\n}, M0 = {\n phone_number: un.phone,\n email_address: un.email\n}, Ft = ({ children: e }) => {\n const { factors: t, text: n } = he(), { handleSubmit: o, submitPayloadRef: r, selectedFactor: a } = Et(), { registerSubmit: s } = St(), i = ce(\n () => t.filter((u) => zi(u)),\n [t]\n ), l = ce(() => Po(t), [t]);\n if (i.length === 0)\n return null;\n const d = (u) => {\n if (u.preventDefault(), !r.current.handleType || !r.current.handleValue || !a)\n return;\n const { handleType: f, handleValue: b, flag: v } = r.current;\n f === \"phone_number\" && !v || o(a, {\n type: f,\n value: f === \"phone_number\" ? `${v.dial_code}${b}` : b\n });\n };\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(\"div\", { \"data-testid\": \"sid-form-initial-function\", children: e({ handleSubmit: o, factors: i, handleTypes: l, text: n }) }) : Re.count(e) > 0 ? /* @__PURE__ */ c.jsx(\n \"form\",\n {\n \"data-testid\": \"sid-form-initial-children\",\n onSubmit: s(d),\n children: e\n }\n ) : /* @__PURE__ */ c.jsxs(\n \"form\",\n {\n \"data-testid\": \"sid-form-initial-default\",\n onSubmit: s(d),\n children: [\n /* @__PURE__ */ c.jsx(Ao, {}),\n /* @__PURE__ */ c.jsx(Io, {})\n ]\n }\n );\n}, Ao = ({ children: e }) => {\n const { lastHandle: t } = Et(), { factors: n, text: o } = he(), r = ce(\n () => n.filter((s) => zi(s)),\n [n]\n ), a = ce(() => Po(n), [n]);\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ factors: r, handleTypes: a }) }) : Re.count(e) > 0 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : a.length === 1 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: /* @__PURE__ */ c.jsx(\n Hn,\n {\n factors: r,\n handleType: a[0],\n defaultValue: gt(t, a[0])\n }\n ) }) : /* @__PURE__ */ c.jsx(\n yi,\n {\n className: _e({ marginY: \"6\" }),\n defaultValue: M0[(t == null ? void 0 : t.type) ?? \"email_address\"],\n tabs: [\n {\n id: un.email,\n title: o[\"initial.handle.email\"],\n content: /* @__PURE__ */ c.jsx(\n Hn,\n {\n factors: r,\n handleType: \"email_address\",\n defaultValue: gt(\n t,\n \"email_address\"\n )\n }\n )\n },\n {\n id: un.phone,\n title: o[\"initial.handle.phone\"],\n content: /* @__PURE__ */ c.jsx(\n Hn,\n {\n factors: r,\n handleType: \"phone_number\",\n defaultValue: gt(\n t,\n \"phone_number\"\n )\n }\n )\n }\n ]\n }\n );\n};\nAo.displayName = \"Input\";\nconst Io = ({ children: e }) => {\n const { text: t } = he(), { status: n } = St();\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ text: t, status: n }) }) : Re.count(e) > 0 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : /* @__PURE__ */ c.jsx(\n De,\n {\n className: _e({ marginTop: \"6\" }),\n type: \"submit\",\n variant: \"primary\",\n testId: \"sid-form-initial-submit-button\",\n disabled: n === \"invalid\",\n children: t[\"initial.submit\"]\n }\n );\n};\nIo.displayName = \"Submit\";\nconst Hn = ({\n handleType: e,\n factors: t,\n defaultValue: n\n}) => {\n const { setSelectedFactor: o, submitPayloadRef: r } = Et(), a = ce(\n () => Ai(t, e).filter((y) => !Dt(y)),\n [t, e]\n ), { text: s, defaultCountryCode: i } = he(), { registerField: l, values: d, resetForm: u } = St(), f = a.length > 1, b = Di(n ?? \"\"), [v, g] = G(\n pn((b == null ? void 0 : b.countryCode) ?? i)\n );\n B(() => {\n o(a[0]);\n }, [a, o]), B(() => u, [u]), B(() => {\n r.current.flag = v;\n }, [v, r]), B(() => {\n const y = d[e];\n r.current = {\n ...r.current,\n handleType: e,\n handleValue: y\n };\n }, [e, r, d]);\n const p = ce(() => e === \"phone_number\" ? /* @__PURE__ */ c.jsx(\n la,\n {\n className: _e({ marginTop: \"4\" }),\n id: `sid-input-${e}`,\n name: e,\n label: s[\"initial.handle.phone\"],\n placeholder: s[\"initial.handle.phone.placeholder\"],\n value: d[e] ?? \"\",\n flag: v,\n onChange: l(e, {\n defaultValue: b == null ? void 0 : b.number,\n validator: (y) => {\n if (!Bi(y))\n return { message: s[\"validationError.phoneNumber\"] };\n }\n }),\n onFlagChange: g\n }\n ) : /* @__PURE__ */ c.jsx(\n ca,\n {\n className: _e({ marginTop: \"4\" }),\n id: `sid-input-${e}`,\n name: e,\n label: s[\"initial.handle.email\"],\n placeholder: s[\"initial.handle.phone.email\"],\n value: d[e] ?? \"\",\n onChange: l(e, {\n defaultValue: n,\n validator: (y) => {\n if (!Hi(y))\n return { message: s[\"validationError.email\"] };\n }\n })\n }\n ), [\n v,\n e,\n s,\n l,\n d,\n n,\n b\n ]);\n return /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n f && /* @__PURE__ */ c.jsx(\n $n,\n {\n defaultValue: a[0].method,\n className: _e({ marginBottom: \"3\", marginTop: \"6\" }),\n label: s[\"initial.authenticationMethod\"],\n items: a.map((y) => ({\n label: s[I0[y.method]],\n value: y.method\n })),\n onChange: (y) => {\n const C = a.find((h) => h.method === y);\n o(C);\n },\n contentProps: {\n className: S0,\n position: \"popper\"\n }\n }\n ),\n p,\n /* @__PURE__ */ c.jsx(jo, { name: e })\n ] });\n};\nFt.displayName = \"Controls\";\nFt.Input = Ao;\nFt.Submit = Io;\nconst Mo = ({\n children: e\n}) => {\n const { text: t } = he(), n = D.useMemo(() => /* @__PURE__ */ c.jsxs(\"div\", { className: E0, children: [\n /* @__PURE__ */ c.jsx(\n xe,\n {\n as: \"h1\",\n variant: { size: \"2xl-title\", weight: \"bold\" },\n t: \"initial.title\"\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n variant: { color: \"contrast\", weight: \"semibold\" },\n as: \"h2\",\n t: \"initial.subtitle\"\n }\n )\n ] }), []);\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ text: t }) }) : D.Children.count(e) > 0 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : n;\n};\nMo.displayName = \"Header\";\nconst z0 = {\n google: /* @__PURE__ */ c.jsx(Ei, {}),\n facebook: /* @__PURE__ */ c.jsx($i, {}),\n github: /* @__PURE__ */ c.jsx(ki, {}),\n gitlab: /* @__PURE__ */ c.jsx(Si, {}),\n line: /* @__PURE__ */ c.jsx(qi, {}),\n bitbucket: /* @__PURE__ */ c.jsx(_i, {}),\n azuread: /* @__PURE__ */ c.jsx(wi, {}),\n okta: /* @__PURE__ */ c.jsx(Oi, {})\n}, N0 = {\n google: \"Google\",\n facebook: \"Facebook\",\n github: \"GitHub\",\n gitlab: \"GitLab\",\n line: \"LINE\",\n bitbucket: \"Bitbucket\",\n azuread: \"Azure AD\",\n okta: \"Okta\"\n};\nfunction D0({ provider: e, handleClick: t }) {\n var o;\n const { text: n } = he();\n return (o = e.options) != null && o.provider_credentials_id ? /* @__PURE__ */ c.jsxs(\n De,\n {\n onClick: () => t({ method: \"saml\", options: e.options }),\n variant: \"secondary\",\n icon: /* @__PURE__ */ c.jsx(F0, { logo: e.logo, id: e.options.provider_credentials_id }),\n className: Q(\"sid-saml--button\"),\n children: [\n n[\"initial.sso\"],\n /* @__PURE__ */ c.jsx(\"span\", { className: q0, children: e.label || \"SAML\" })\n ]\n }\n ) : null;\n}\nfunction F0({ logo: e, id: t }) {\n return e ? typeof e == \"string\" ? /* @__PURE__ */ c.jsx(\n \"img\",\n {\n className: Q(\"sid-sso-logo\", `sid-sso-logo--${t}`, Wr),\n src: e,\n alt: \"SSO provider logo\"\n }\n ) : /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(\"sid-sso-logo\", `sid-sso-logo--${t}`, Wr),\n children: e\n }\n ) : null;\n}\nfunction V0({ provider: e, handleClick: t }) {\n var o, r, a;\n const { text: n } = he();\n return (o = e.options) != null && o.provider ? /* @__PURE__ */ c.jsxs(\n De,\n {\n onClick: () => t({ method: \"oidc\", options: e.options }),\n variant: \"secondary\",\n icon: z0[(r = e.options) == null ? void 0 : r.provider],\n className: Q(\"sid-oidc--button\"),\n children: [\n n[\"initial.oidc\"],\n /* @__PURE__ */ c.jsx(\"span\", { className: es, children: e.label || N0[(a = e.options) == null ? void 0 : a.provider] })\n ]\n }\n ) : null;\n}\nfunction ns({ providers: e, handleClick: t }) {\n return e.length ? /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(\n \"sid-form-sso\",\n _e({ marginTop: \"4\" }),\n Qi\n ),\n children: e.map((n) => {\n var o, r;\n switch (n.method) {\n case \"oidc\":\n return /* @__PURE__ */ c.jsx(\n V0,\n {\n provider: n,\n handleClick: t\n },\n (o = n.options) == null ? void 0 : o.client_id\n );\n case \"saml\":\n return /* @__PURE__ */ c.jsx(\n D0,\n {\n provider: n,\n handleClick: t\n },\n (r = n.options) == null ? void 0 : r.provider_credentials_id\n );\n default:\n throw new Error(\"unsupported SSO method\");\n }\n })\n }\n ) : null;\n}\nconst os = ({\n children: e\n}) => {\n const { factors: t } = he(), { handleSubmit: n } = Et(), o = t.filter(Dt), r = D.useMemo(() => /* @__PURE__ */ c.jsx(ns, { providers: o, handleClick: n }), [n, o]);\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ factors: o, handleClick: n }) }) : D.Children.count(e) > 0 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : r;\n};\nos.displayName = \"OIDC\";\nconst zo = ({\n children: e\n}) => {\n const { factors: t } = he(), { handleSubmit: n } = Et(), o = t.filter(ro), r = D.useMemo(() => /* @__PURE__ */ c.jsx(ns, { providers: o, handleClick: n }), [n, o]);\n return typeof e == \"function\" ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e({ factors: o, handleClick: n }) }) : D.Children.count(e) > 0 ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : r;\n};\nzo.displayName = \"SSO\";\nconst st = () => {\n const { factors: e, text: t } = he(), n = ce(\n () => Ni(e),\n [e]\n );\n return /* @__PURE__ */ c.jsxs(\"article\", { \"data-testid\": \"sid-form-initial-state\", children: [\n /* @__PURE__ */ c.jsx(Ro, {}),\n /* @__PURE__ */ c.jsx(Mo, {}),\n /* @__PURE__ */ c.jsx(Ft, {}),\n n && /* @__PURE__ */ c.jsx(on, { children: t[\"initial.divider\"] }),\n /* @__PURE__ */ c.jsx(zo, {})\n ] });\n};\nst.Logo = Ro;\nst.Header = Mo;\nst.Controls = Ft;\nst.OIDC = os;\nst.SSO = zo;\nvar B0 = \"gwp8o20\";\nvar H0 = \"_1iedw350\";\nconst U0 = () => /* @__PURE__ */ c.jsx(\n xe,\n {\n className: H0,\n t: \"footer.branding\",\n variant: { size: \"xs\", weight: \"semibold\" }\n }\n), W0 = [\n \"email_address\",\n \"phone_number\"\n], G0 = (e) => {\n if (!e || Array.isArray(e) || typeof e != \"object\")\n return !1;\n const { type: t, value: n } = e;\n return W0.includes(t) ? typeof n == \"string\" : !1;\n}, Gr = \"@slashid/LAST_HANDLE\", K0 = () => {\n const { storeLastHandle: e } = he(), { sid: t } = Xe(), n = ce(() => {\n if (!nn())\n return;\n const r = window.localStorage.getItem(Gr);\n if (!(!e || !r))\n return JSON.parse(r);\n }, [e]), o = ee(({ handle: r }) => {\n nn() && G0(r) && window.localStorage.setItem(\n Gr,\n JSON.stringify(r)\n );\n }, []);\n return B(() => (e && t && t.subscribe(\"idFlowSucceeded\", o), () => {\n e && t && t.unsubscribe(\"idFlowSucceeded\", o);\n }), [e, t, o]), { lastHandle: n };\n};\nfunction Z0({\n factors: e,\n text: t,\n children: n\n}) {\n const o = he();\n return !e && !t ? /* @__PURE__ */ c.jsx(c.Fragment, { children: n }) : /* @__PURE__ */ c.jsx(\n a0,\n {\n ...o,\n text: {\n ...o.text,\n ...t\n },\n factors: e || o.factors,\n children: n\n }\n );\n}\nfunction Y0({ children: e, name: t }) {\n return /* @__PURE__ */ c.jsx(\"div\", { className: `sid-slot-${t}`, children: e });\n}\nfunction X0({ children: e, defaultSlots: t }) {\n return D.useMemo(() => {\n const o = { ...t };\n return D.Children.forEach(e, (r) => {\n if (D.isValidElement(r)) {\n if (r.type !== Y0) {\n console.warn(`Passed a non-<Slot> component to a slot: ${r.type}`);\n return;\n }\n r.props.name in t ? o[r.props.name] = r : console.warn(\n `Passed a <Slot> with an unsupported name: ${r.props.name}`\n );\n }\n }), o;\n }, [e, t]);\n}\nconst It = ({\n className: e,\n onSuccess: t,\n onError: n,\n factors: o,\n text: r,\n middleware: a,\n children: s\n}) => {\n const i = Li({ onSuccess: t, onError: n }), { showBanner: l } = he(), { lastHandle: d } = K0(), u = D.useRef({\n handleType: void 0,\n handleValue: void 0,\n flag: void 0\n }), [f, b] = D.useState(), { status: v } = i, g = D.useMemo(() => ({\n footer: l ? /* @__PURE__ */ c.jsx(U0, {}) : null,\n initial: v === \"initial\" ? /* @__PURE__ */ c.jsx(st, {}) : void 0,\n authenticating: v === \"authenticating\" ? /* @__PURE__ */ c.jsx(Yi, { flowState: i }) : void 0,\n success: v === \"success\" ? /* @__PURE__ */ c.jsx(Xi, { flowState: i }) : void 0,\n error: v === \"error\" ? /* @__PURE__ */ c.jsx(kn, {}) : void 0\n }), [v, l, i]), p = X0({ children: s, defaultSlots: g }), y = ee(\n (C, h) => {\n i.status === \"initial\" && i.logIn(\n {\n factor: C,\n handle: h\n },\n { middleware: a }\n );\n },\n [i, a]\n );\n return /* @__PURE__ */ c.jsx(\n Ji.Provider,\n {\n value: {\n flowState: i,\n lastHandle: d,\n handleSubmit: y,\n submitPayloadRef: u,\n selectedFactor: f,\n setSelectedFactor: b\n },\n children: /* @__PURE__ */ c.jsx(\"div\", { className: Q(\"sid-form\", B0, e), children: /* @__PURE__ */ c.jsxs(Z0, { text: r, factors: o, children: [\n i.status === \"initial\" && /* @__PURE__ */ c.jsx(tn, { children: p.initial }),\n i.status === \"authenticating\" && /* @__PURE__ */ c.jsx(tn, { children: p.authenticating }),\n i.status === \"success\" && p.success,\n i.status === \"error\" && p.error,\n p.footer\n ] }) })\n }\n );\n};\nIt.Initial = st;\nIt.Error = kn;\nconst Un = \"@slashid/GDPR_CONSENT\", rs = () => ({\n getConsentLevels: async () => {\n const e = window.localStorage.getItem(\n Un\n );\n return e === null ? [] : JSON.parse(e);\n },\n setConsentLevels: async (e) => {\n const t = e.map((n) => ({\n consent_level: n,\n created_at: /* @__PURE__ */ new Date()\n }));\n return window.localStorage.setItem(\n Un,\n JSON.stringify(t)\n ), t;\n },\n deleteConsentLevels: async () => {\n window.localStorage.removeItem(Un);\n }\n}), J0 = (e) => ({\n getConsentLevels: async () => {\n const { consents: t } = await e.getGDPRConsent(), n = rs(), o = await n.getConsentLevels();\n if (o.length > 0) {\n const { consents: r } = await e.setGDPRConsent({\n consentLevels: o.map((a) => a.consent_level)\n });\n return n.deleteConsentLevels(), r;\n }\n return t;\n },\n setConsentLevels: async (t) => {\n const { consents: n } = await e.setGDPRConsent({\n consentLevels: t\n });\n return n;\n },\n deleteConsentLevels: async () => e.removeGDPRConsentAll()\n}), Q0 = () => {\n const { user: e, sdkState: t, sid: n } = Xe(), [o, r] = G([]), [a, s] = G(\"initial\"), i = ce(() => {\n if (e)\n return J0(e);\n if (nn())\n return rs();\n }, [e]), l = ee(async () => {\n if (!i || t !== \"ready\")\n return;\n const f = await i.getConsentLevels();\n r(f), s(\"ready\");\n }, [i, t]);\n B(() => {\n l();\n }, [l]), B(() => {\n if (n)\n return n.subscribe(\"idFlowSucceeded\", l), () => n.unsubscribe(\"idFlowSucceeded\", l);\n }, [n, l]);\n const d = ee(\n async (f) => {\n if (!i)\n return [];\n const b = await i.setConsentLevels(f);\n return r(b), b;\n },\n [i]\n ), u = ee(async () => {\n i && (await i.deleteConsentLevels(), r([]));\n }, [i]);\n return {\n consents: o,\n isLoading: a === \"initial\",\n updateGdprConsent: d,\n deleteGdprConsent: u\n };\n}, ev = ({ fallback: e, children: t }) => {\n const { isLoading: n } = Xe();\n return n ? e ? /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n e,\n \";\"\n ] }) : null : /* @__PURE__ */ c.jsx(c.Fragment, { children: t });\n}, Wn = ({\n testId: e,\n variant: t,\n label: n,\n hasError: o,\n isActive: r,\n loading: a,\n onClick: s,\n className: i\n}) => /* @__PURE__ */ c.jsx(\n De,\n {\n testId: e,\n className: i,\n variant: t,\n loading: a && r,\n disabled: a && !r,\n onClick: s,\n children: o && r ? \"Try again\" : n\n }\n), No = [\n \"necessary\",\n \"analytics\",\n \"marketing\",\n \"retargeting\",\n \"tracking\"\n];\nvar tv = \"sluhu7d\", nv = \"sluhu7a\", ov = \"sluhu78\", rv = \"sluhu79\", av = \"sluhu74\", iv = \"sluhu71\", sv = \"sluhu72\", cv = \"sluhu75\", lv = \"sluhu77\", dv = \"sluhu7b\", uv = \"sluhu7e\", fv = \"sluhu7c\", vv = \"sluhu73\";\nconst pv = ({\n consentSettings: e,\n necessaryCookiesRequired: t = !1,\n toggleConsent: n,\n disabled: o = !1\n}) => /* @__PURE__ */ c.jsx(\n nl,\n {\n itemClassName: ov,\n items: No.map((r) => ({\n value: r,\n icon: /* @__PURE__ */ c.jsx(\n Md,\n {\n \"data-testid\": `sid-gdpr-consent-switch-${r}`,\n blocked: r === \"necessary\" && t,\n disabled: o,\n checked: e[r],\n onCheckedChange: () => n(r)\n }\n ),\n trigger: /* @__PURE__ */ c.jsx(\n xe,\n {\n className: rv,\n t: `gdpr.consent.${r}.title`,\n variant: { weight: \"semibold\" }\n }\n ),\n content: /* @__PURE__ */ c.jsx(\n xe,\n {\n className: nv,\n t: `gdpr.consent.${r}.description`,\n variant: { size: \"sm\", color: \"contrast\" }\n }\n )\n }))\n }\n);\nvar mv = { exports: {} };\n(function(e) {\n var t = function(n) {\n var o = Object.prototype, r = o.hasOwnProperty, a = Object.defineProperty || function(q, k, T) {\n q[k] = T.value;\n }, s, i = typeof Symbol == \"function\" ? Symbol : {}, l = i.iterator || \"@@iterator\", d = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\";\n function f(q, k, T) {\n return Object.defineProperty(q, k, {\n value: T,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), q[k];\n }\n try {\n f({}, \"\");\n } catch {\n f = function(k, T, H) {\n return k[T] = H;\n };\n }\n function b(q, k, T, H) {\n var z = k && k.prototype instanceof x ? k : x, te = Object.create(z.prototype), ve = new K(H || []);\n return a(te, \"_invoke\", { value: W(q, T, ve) }), te;\n }\n n.wrap = b;\n function v(q, k, T) {\n try {\n return { type: \"normal\", arg: q.call(k, T) };\n } catch (H) {\n return { type: \"throw\", arg: H };\n }\n }\n var g = \"suspendedStart\", p = \"suspendedYield\", y = \"executing\", C = \"completed\", h = {};\n function x() {\n }\n function _() {\n }\n function S() {\n }\n var w = {};\n f(w, l, function() {\n return this;\n });\n var $ = Object.getPrototypeOf, E = $ && $($(ne([])));\n E && E !== o && r.call(E, l) && (w = E);\n var j = S.prototype = x.prototype = Object.create(w);\n _.prototype = S, a(j, \"constructor\", { value: S, configurable: !0 }), a(\n S,\n \"constructor\",\n { value: _, configurable: !0 }\n ), _.displayName = f(\n S,\n u,\n \"GeneratorFunction\"\n );\n function R(q) {\n [\"next\", \"throw\", \"return\"].forEach(function(k) {\n f(q, k, function(T) {\n return this._invoke(k, T);\n });\n });\n }\n n.isGeneratorFunction = function(q) {\n var k = typeof q == \"function\" && q.constructor;\n return k ? k === _ || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (k.displayName || k.name) === \"GeneratorFunction\" : !1;\n }, n.mark = function(q) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(q, S) : (q.__proto__ = S, f(q, u, \"GeneratorFunction\")), q.prototype = Object.create(j), q;\n }, n.awrap = function(q) {\n return { __await: q };\n };\n function A(q, k) {\n function T(te, ve, pe, N) {\n var Z = v(q[te], q, ve);\n if (Z.type === \"throw\")\n N(Z.arg);\n else {\n var be = Z.arg, ae = be.value;\n return ae && typeof ae == \"object\" && r.call(ae, \"__await\") ? k.resolve(ae.__await).then(function(oe) {\n T(\"next\", oe, pe, N);\n }, function(oe) {\n T(\"throw\", oe, pe, N);\n }) : k.resolve(ae).then(function(oe) {\n be.value = oe, pe(be);\n }, function(oe) {\n return T(\"throw\", oe, pe, N);\n });\n }\n }\n var H;\n function z(te, ve) {\n function pe() {\n return new k(function(N, Z) {\n T(te, ve, N, Z);\n });\n }\n return H = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n H ? H.then(\n pe,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n pe\n ) : pe();\n }\n a(this, \"_invoke\", { value: z });\n }\n R(A.prototype), f(A.prototype, d, function() {\n return this;\n }), n.AsyncIterator = A, n.async = function(q, k, T, H, z) {\n z === void 0 && (z = Promise);\n var te = new A(\n b(q, k, T, H),\n z\n );\n return n.isGeneratorFunction(k) ? te : te.next().then(function(ve) {\n return ve.done ? ve.value : te.next();\n });\n };\n function W(q, k, T) {\n var H = g;\n return function(te, ve) {\n if (H === y)\n throw new Error(\"Generator is already running\");\n if (H === C) {\n if (te === \"throw\")\n throw ve;\n return de();\n }\n for (T.method = te, T.arg = ve; ; ) {\n var pe = T.delegate;\n if (pe) {\n var N = V(pe, T);\n if (N) {\n if (N === h)\n continue;\n return N;\n }\n }\n if (T.method === \"next\")\n T.sent = T._sent = T.arg;\n else if (T.method === \"throw\") {\n if (H === g)\n throw H = C, T.arg;\n T.dispatchException(T.arg);\n } else\n T.method === \"return\" && T.abrupt(\"return\", T.arg);\n H = y;\n var Z = v(q, k, T);\n if (Z.type === \"normal\") {\n if (H = T.done ? C : p, Z.arg === h)\n continue;\n return {\n value: Z.arg,\n done: T.done\n };\n } else\n Z.type === \"throw\" && (H = C, T.method = \"throw\", T.arg = Z.arg);\n }\n };\n }\n function V(q, k) {\n var T = k.method, H = q.iterator[T];\n if (H === s)\n return k.delegate = null, T === \"throw\" && q.iterator.return && (k.method = \"return\", k.arg = s, V(q, k), k.method === \"throw\") || T !== \"return\" && (k.method = \"throw\", k.arg = new TypeError(\n \"The iterator does not provide a '\" + T + \"' method\"\n )), h;\n var z = v(H, q.iterator, k.arg);\n if (z.type === \"throw\")\n return k.method = \"throw\", k.arg = z.arg, k.delegate = null, h;\n var te = z.arg;\n if (!te)\n return k.method = \"throw\", k.arg = new TypeError(\"iterator result is not an object\"), k.delegate = null, h;\n if (te.done)\n k[q.resultName] = te.value, k.next = q.nextLoc, k.method !== \"return\" && (k.method = \"next\", k.arg = s);\n else\n return te;\n return k.delegate = null, h;\n }\n R(j), f(j, u, \"Generator\"), f(j, l, function() {\n return this;\n }), f(j, \"toString\", function() {\n return \"[object Generator]\";\n });\n function M(q) {\n var k = { tryLoc: q[0] };\n 1 in q && (k.catchLoc = q[1]), 2 in q && (k.finallyLoc = q[2], k.afterLoc = q[3]), this.tryEntries.push(k);\n }\n function F(q) {\n var k = q.completion || {};\n k.type = \"normal\", delete k.arg, q.completion = k;\n }\n function K(q) {\n this.tryEntries = [{ tryLoc: \"root\" }], q.forEach(M, this), this.reset(!0);\n }\n n.keys = function(q) {\n var k = Object(q), T = [];\n for (var H in k)\n T.push(H);\n return T.reverse(), function z() {\n for (; T.length; ) {\n var te = T.pop();\n if (te in k)\n return z.value = te, z.done = !1, z;\n }\n return z.done = !0, z;\n };\n };\n function ne(q) {\n if (q) {\n var k = q[l];\n if (k)\n return k.call(q);\n if (typeof q.next == \"function\")\n return q;\n if (!isNaN(q.length)) {\n var T = -1, H = function z() {\n for (; ++T < q.length; )\n if (r.call(q, T))\n return z.value = q[T], z.done = !1, z;\n return z.value = s, z.done = !0, z;\n };\n return H.next = H;\n }\n }\n return { next: de };\n }\n n.values = ne;\n function de() {\n return { value: s, done: !0 };\n }\n return K.prototype = {\n constructor: K,\n reset: function(q) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = s, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = s, this.tryEntries.forEach(F), !q)\n for (var k in this)\n k.charAt(0) === \"t\" && r.call(this, k) && !isNaN(+k.slice(1)) && (this[k] = s);\n },\n stop: function() {\n this.done = !0;\n var q = this.tryEntries[0], k = q.completion;\n if (k.type === \"throw\")\n throw k.arg;\n return this.rval;\n },\n dispatchException: function(q) {\n if (this.done)\n throw q;\n var k = this;\n function T(N, Z) {\n return te.type = \"throw\", te.arg = q, k.next = N, Z && (k.method = \"next\", k.arg = s), !!Z;\n }\n for (var H = this.tryEntries.length - 1; H >= 0; --H) {\n var z = this.tryEntries[H], te = z.completion;\n if (z.tryLoc === \"root\")\n return T(\"end\");\n if (z.tryLoc <= this.prev) {\n var ve = r.call(z, \"catchLoc\"), pe = r.call(z, \"finallyLoc\");\n if (ve && pe) {\n if (this.prev < z.catchLoc)\n return T(z.catchLoc, !0);\n if (this.prev < z.finallyLoc)\n return T(z.finallyLoc);\n } else if (ve) {\n if (this.prev < z.catchLoc)\n return T(z.catchLoc, !0);\n } else if (pe) {\n if (this.prev < z.finallyLoc)\n return T(z.finallyLoc);\n } else\n throw new Error(\"try statement without catch or finally\");\n }\n }\n },\n abrupt: function(q, k) {\n for (var T = this.tryEntries.length - 1; T >= 0; --T) {\n var H = this.tryEntries[T];\n if (H.tryLoc <= this.prev && r.call(H, \"finallyLoc\") && this.prev < H.finallyLoc) {\n var z = H;\n break;\n }\n }\n z && (q === \"break\" || q === \"continue\") && z.tryLoc <= k && k <= z.finallyLoc && (z = null);\n var te = z ? z.completion : {};\n return te.type = q, te.arg = k, z ? (this.method = \"next\", this.next = z.finallyLoc, h) : this.complete(te);\n },\n complete: function(q, k) {\n if (q.type === \"throw\")\n throw q.arg;\n return q.type === \"break\" || q.type === \"continue\" ? this.next = q.arg : q.type === \"return\" ? (this.rval = this.arg = q.arg, this.method = \"return\", this.next = \"end\") : q.type === \"normal\" && k && (this.next = k), h;\n },\n finish: function(q) {\n for (var k = this.tryEntries.length - 1; k >= 0; --k) {\n var T = this.tryEntries[k];\n if (T.finallyLoc === q)\n return this.complete(T.completion, T.afterLoc), F(T), h;\n }\n },\n catch: function(q) {\n for (var k = this.tryEntries.length - 1; k >= 0; --k) {\n var T = this.tryEntries[k];\n if (T.tryLoc === q) {\n var H = T.completion;\n if (H.type === \"throw\") {\n var z = H.arg;\n F(T);\n }\n return z;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function(q, k, T) {\n return this.delegate = {\n iterator: ne(q),\n resultName: k,\n nextLoc: T\n }, this.method === \"next\" && (this.arg = s), h;\n }\n }, n;\n }(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n e.exports\n );\n try {\n regeneratorRuntime = t;\n } catch {\n typeof globalThis == \"object\" ? globalThis.regeneratorRuntime = t : Function(\"r\", \"regeneratorRuntime = r\")(t);\n }\n})(mv);\nconst gv = (e) => Object.fromEntries(e), as = (e) => gv(\n No.map(\n (t) => [\n t,\n e.map(({ consent_level: n }) => n).includes(t)\n ]\n )\n), hv = (e, t) => ({\n consentSettings: e,\n activeAction: null,\n open: t,\n isLoading: !1,\n hasError: !1,\n isCustomizing: !1\n}), bv = (e, t) => {\n switch (t.type) {\n case \"SET_OPEN\":\n return {\n ...e,\n open: t.payload\n };\n case \"START_ACTION\":\n return {\n ...e,\n activeAction: t.payload,\n hasError: !1,\n isLoading: !0\n };\n case \"COMPLETE_ACTION\":\n return {\n ...e,\n isLoading: !1\n };\n case \"SET_HAS_ERROR\":\n return {\n ...e,\n hasError: t.payload\n };\n case \"SET_IS_CUSTOMIZING\":\n return {\n ...e,\n hasError: !1,\n isCustomizing: t.payload\n };\n case \"SYNC_CONSENT_SETTINGS\":\n return {\n ...e,\n consentSettings: as(t.payload),\n open: !1\n };\n case \"TOGGLE_CONSENT\":\n return {\n ...e,\n consentSettings: {\n ...e.consentSettings,\n [t.payload]: !e.consentSettings[t.payload]\n }\n };\n default:\n return e;\n }\n}, is = X(\n ({ buttonClassName: e, ...t }, n) => /* @__PURE__ */ c.jsx(z1, { to: \"sid-cookie-button\", children: /* @__PURE__ */ c.jsx(\n De,\n {\n ...t,\n ref: n,\n testId: \"sid-gdpr-consent-dialog-trigger\",\n variant: \"neutralMd\",\n className: Q(\n \"sid-gdpr-consent-dialog-trigger\",\n sv,\n e\n ),\n children: /* @__PURE__ */ c.jsx(Pi, {})\n }\n ) })\n);\nis.displayName = \"TriggerButton\";\nconst Cv = ({\n consents: e,\n updateGdprConsent: t,\n className: n,\n triggerClassName: o,\n onSuccess: r,\n onError: a,\n container: s,\n necessaryCookiesRequired: i = !1,\n defaultAcceptAllLevels: l = [...No],\n defaultRejectAllLevels: d = [\"none\"],\n forceConsent: u = !1,\n forceOpen: f = !1\n}) => {\n const b = ce(\n () => ({\n ...as(e),\n necessary: i\n }),\n [e, i]\n ), v = ce(\n () => f ? !0 : !e.length,\n [e.length, f]\n ), [g, p] = Zr(\n bv,\n hv(b, v)\n ), {\n consentSettings: y,\n activeAction: C,\n open: h,\n isLoading: x,\n hasError: _,\n isCustomizing: S\n } = g, w = async (A, W) => {\n p({ type: \"START_ACTION\", payload: W });\n try {\n const V = await t(A);\n r == null || r(V), p({ type: \"SYNC_CONSENT_SETTINGS\", payload: V });\n } catch (V) {\n p({ type: \"SET_HAS_ERROR\", payload: !0 }), a == null || a(V);\n } finally {\n p({ type: \"COMPLETE_ACTION\" });\n }\n }, $ = async () => {\n const A = Object.entries(y).filter(([, W]) => W).map(([W]) => W);\n return w(A, \"save\");\n }, E = () => w(l, \"accept\"), j = () => w(d, \"reject\"), R = () => {\n p({ type: \"SET_IS_CUSTOMIZING\", payload: !0 });\n };\n return B(() => {\n h || p({ type: \"SET_IS_CUSTOMIZING\", payload: !1 });\n }, [h]), /* @__PURE__ */ c.jsxs(\n _d,\n {\n className: Q(\"sid-gdpr-consent-dialog\", iv, n),\n modal: u,\n dismissable: !u,\n open: h,\n container: s,\n onOpenChange: (A) => p({ type: \"SET_OPEN\", payload: A }),\n trigger: /* @__PURE__ */ c.jsx(is, { buttonClassName: o }),\n icon: /* @__PURE__ */ c.jsx(Pi, { fill: yt.color.primary }),\n children: [\n /* @__PURE__ */ c.jsxs(\"div\", { className: vv, children: [\n /* @__PURE__ */ c.jsx(xe, { t: \"gdpr.dialog.title\", variant: { weight: \"bold\" } }),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n t: \"gdpr.dialog.subtitle\",\n variant: { weight: \"semibold\", color: \"contrast\" }\n }\n )\n ] }),\n (S || _) && /* @__PURE__ */ c.jsxs(\n \"div\",\n {\n className: Q(av, { [cv]: _ }),\n children: [\n S && /* @__PURE__ */ c.jsx(\n pv,\n {\n consentSettings: y,\n necessaryCookiesRequired: i,\n toggleConsent: (A) => p({ type: \"TOGGLE_CONSENT\", payload: A }),\n disabled: x\n }\n ),\n _ && /* @__PURE__ */ c.jsxs(\"div\", { className: lv, children: [\n /* @__PURE__ */ c.jsx(\n xe,\n {\n t: \"gdpr.dialog.error.title\",\n variant: {\n weight: \"semibold\",\n color: \"contrast\"\n }\n }\n ),\n /* @__PURE__ */ c.jsx(\n xe,\n {\n t: \"gdpr.dialog.error.subtitle\",\n variant: { weight: \"semibold\", color: \"tertiary\" }\n }\n )\n ] })\n ]\n }\n ),\n /* @__PURE__ */ c.jsxs(\"div\", { className: dv, children: [\n S && /* @__PURE__ */ c.jsx(\n Wn,\n {\n testId: \"sid-gdpr-consent-dialog-save\",\n variant: \"neutralMd\",\n label: \"Save settings\",\n hasError: _,\n isActive: C === \"save\",\n loading: x,\n onClick: $,\n className: fv\n }\n ),\n /* @__PURE__ */ c.jsx(\n Wn,\n {\n testId: \"sid-gdpr-consent-dialog-accept\",\n variant: \"secondaryMd\",\n label: \"Accept all\",\n hasError: _,\n isActive: C === \"accept\",\n loading: x,\n onClick: E,\n className: tv\n }\n ),\n /* @__PURE__ */ c.jsx(\n Wn,\n {\n testId: \"sid-gdpr-consent-dialog-reject\",\n variant: \"secondaryMd\",\n label: \"Reject all\",\n hasError: _,\n isActive: C === \"reject\",\n loading: x,\n onClick: j,\n className: uv\n }\n ),\n !S && /* @__PURE__ */ c.jsx(\n De,\n {\n testId: \"sid-gdpr-consent-dialog-customize\",\n variant: \"ghostMd\",\n onClick: R,\n disabled: x,\n children: \"Customize\"\n }\n )\n ] })\n ]\n }\n );\n}, Nv = (e) => {\n const { consents: t, isLoading: n, updateGdprConsent: o } = Q0();\n return n ? null : /* @__PURE__ */ c.jsx(ev, { children: /* @__PURE__ */ c.jsx(\n Cv,\n {\n consents: t,\n updateGdprConsent: o,\n ...e\n }\n ) });\n}, ss = ({ belongsTo: e, children: t }) => {\n const { user: n } = Xe();\n return ce(() => {\n if (!n)\n return !1;\n const r = n.getGroups();\n return typeof e == \"string\" ? r.includes(e) : e(r);\n }, [n, e]) ? /* @__PURE__ */ c.jsx(c.Fragment, { children: t }) : null;\n};\nss.some = (...e) => (t) => e.some((n) => t.includes(n));\nss.all = (...e) => (t) => e.every((n) => t.includes(n));\nconst yv = (e, t) => {\n for (const n of t)\n if (!e.authentication.includes(n))\n return !1;\n return !0;\n}, cs = ({ children: e, withFactorMethods: t }) => {\n const { user: n, isAuthenticated: o } = Xe();\n return ce(() => !o || !n ? !1 : t && Array.isArray(t) ? yv(n, t) : t && typeof t == \"function\" ? t(n.authentication) : !0, [n, t, o]) ? /* @__PURE__ */ c.jsx(c.Fragment, { children: e }) : null;\n}, xv = ({ children: e }) => {\n const { isAuthenticated: t, isLoading: n } = Xe();\n return t || n ? null : /* @__PURE__ */ c.jsx(c.Fragment, { children: e });\n};\nfunction Dv({\n steps: e,\n className: t,\n onSuccess: n\n}) {\n if (!e.length)\n return null;\n const o = e[0], r = e.slice(1);\n return /* @__PURE__ */ c.jsxs(c.Fragment, { children: [\n /* @__PURE__ */ c.jsx(xv, { children: /* @__PURE__ */ c.jsx(\n It,\n {\n className: t,\n factors: o.factors,\n text: o.text\n }\n ) }),\n r.map(({ factors: a, text: s }, i) => /* @__PURE__ */ c.jsx(\n cs,\n {\n withFactorMethods: (l) => l.length === i + 1,\n children: /* @__PURE__ */ c.jsx(\n It,\n {\n className: t,\n factors: a,\n text: {\n \"initial.title\": \"Multi-Factor Authentication\",\n ...s || {}\n },\n onSuccess: i === r.length + 1 ? n : void 0\n }\n )\n },\n i\n ))\n ] });\n}\nconst wv = () => {\n const { user: e, __switchOrganizationInContext: t } = Xe(), [n, o] = G([]);\n B(() => {\n e && (o([]), e.getOrganizations().then((i) => {\n o(i);\n }));\n }, [e]);\n const r = ce(() => e ? n.find((i) => i.id === e.oid) ?? null : null, [n, e]), a = ce(\n () => !n.length || !r,\n [n, r]\n ), s = ee(\n ({ oid: i }) => t({ oid: i }),\n [t]\n );\n return {\n organizations: n,\n currentOrganization: r,\n switchOrganization: s,\n isLoading: a\n };\n};\nvar _v = \"ccyrlr0\";\nconst ls = _e({ marginBottom: \"3\", marginTop: \"5\" }), $v = () => {\n}, kv = () => {\n const { text: e } = he();\n return /* @__PURE__ */ c.jsx(\n $n,\n {\n defaultValue: \"\",\n disabled: !0,\n className: ls,\n items: [{ label: \"-\", value: \"\" }],\n onChange: $v,\n label: e[\"org.switcher.label\"]\n }\n );\n}, Kr = ({ children: e }) => /* @__PURE__ */ c.jsx(\n \"div\",\n {\n className: Q(_v, \"sid-organization-switcher\"),\n children: e\n }\n), Fv = ({\n filter: e,\n fallback: t = /* @__PURE__ */ c.jsx(kv, {}),\n renderLabel: n\n}) => {\n const { text: o } = he(), {\n organizations: r,\n currentOrganization: a,\n switchOrganization: s,\n isLoading: i\n } = wv(), l = ce(() => e ? r.filter(e) : r, [e, r]);\n return i || !a ? /* @__PURE__ */ c.jsx(Kr, { children: t }) : /* @__PURE__ */ c.jsx(Kr, { children: /* @__PURE__ */ c.jsx(\n $n,\n {\n defaultValue: a.id,\n className: ls,\n label: o[\"org.switcher.label\"],\n items: l.map((d) => ({\n label: n ? n(d) : d.org_name,\n value: d.id\n })),\n onChange: (d) => s({ oid: d })\n }\n ) });\n};\nfunction Vv({\n factors: e,\n text: t,\n className: n,\n onSuccess: o\n}) {\n return /* @__PURE__ */ c.jsx(cs, { children: /* @__PURE__ */ c.jsx(\n It,\n {\n className: n,\n factors: e,\n text: {\n \"initial.title\": \"Confirm it's you\",\n \"initial.subtitle\": \"Reauthenticate to proceed\",\n ...t || {}\n },\n onSuccess: o\n }\n ) });\n}\nconst Bv = (e) => async ({ user: t }) => {\n const n = await t.getOrganizations(), o = typeof e == \"string\" ? e : await e({ organizations: n, user: t }), r = await t.getTokenForOrganization(o);\n return new Tt(r);\n};\nexport {\n To as ConfigurationContext,\n a0 as ConfigurationProvider,\n zv as DynamicFlow,\n It as Form,\n Nv as GDPRConsentDialog,\n ss as Groups,\n cs as LoggedIn,\n xv as LoggedOut,\n Dv as MultiFactorAuth,\n Fv as OrganizationSwitcher,\n ea as ServerThemeRoot,\n Oo as SlashIDContext,\n ev as SlashIDLoaded,\n Mv as SlashIDProvider,\n Y0 as Slot,\n Vv as StepUpAuth,\n Bv as defaultOrganization,\n Q0 as useGDPRConsent,\n wv as useOrganizations,\n Xe as useSlashID\n};\n//# sourceMappingURL=main.js.map\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import {\n SlashIDContext,\n ISlashIDContext,\n SlashIDProvider as ReactSlashIDProvider,\n SlashIDProviderProps,\n useSlashID,\n ServerThemeRoot,\n} from \"@slashid/react\";\nimport { SSR, SlashIDOptions, User } from \"@slashid/slashid\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nexport type RemixSlashIDProviderOptions = Omit<\n SlashIDProviderProps,\n \"tokenStorage\"\n>;\n\n/**\n * Renders server side - skips to \"ready\" state in case a token is provided.\n * Does not react to any changes - it's a static provider.\n * @param param0\n * @returns\n */\nfunction SlashIDProviderSSR({\n children,\n ...props\n}: RemixSlashIDProviderOptions) {\n const value: ISlashIDContext = useMemo(() => {\n const options: SlashIDOptions = {\n baseURL: props.baseApiUrl,\n sdkURL: props.sdkUrl,\n oid: props.oid,\n analyticsEnabled: props.analyticsEnabled,\n };\n\n const user = props.initialToken\n ? new SSR.User(props.initialToken, options)\n : undefined;\n\n return {\n sid: undefined,\n user: user as unknown as User,\n sdkState: user ? (\"ready\" as const) : (\"initial\" as const),\n logOut: () => {\n throw new Error(\"Operation not possible in this state\");\n },\n logIn: () => Promise.reject(\"Operation not possible in this state\"),\n mfa: () => Promise.reject(\"Operation not possible in this state\"),\n validateToken: async () => false,\n __switchOrganizationInContext: async () => undefined,\n };\n }, [\n props.analyticsEnabled,\n props.baseApiUrl,\n props.initialToken,\n props.oid,\n props.sdkUrl,\n ]);\n\n return (\n <ServerThemeRoot>\n <SlashIDContext.Provider value={value}>\n {children}\n </SlashIDContext.Provider>\n </ServerThemeRoot>\n );\n}\n\nfunction InnerSlashIDProvider({\n children,\n ...props\n}: RemixSlashIDProviderOptions) {\n const { sdkState } = useSlashID();\n\n if (sdkState !== \"ready\") {\n return <SlashIDProviderSSR {...props}>{children}</SlashIDProviderSSR>;\n }\n\n return <>{children}</>;\n}\n\nexport const SlashIDProvider = ({\n children,\n ...props\n}: RemixSlashIDProviderOptions) => {\n const [hydrated, setHydrated] = useState(false);\n\n useEffect(() => {\n // prevent hydration errors - trigger a render cycle after hydration, before that render the SSR provider\n setHydrated(true);\n }, [hydrated]);\n\n if (!hydrated) {\n return <SlashIDProviderSSR {...props}>{children}</SlashIDProviderSSR>;\n }\n\n // once hydrated, render the client side provider\n // TODO this has a side effect of only processing DirectID client side - first render will be based on the cookie\n return (\n <ReactSlashIDProvider {...props} tokenStorage=\"cookie\">\n <InnerSlashIDProvider {...props}>{children}</InnerSlashIDProvider>\n </ReactSlashIDProvider>\n );\n};\n","/**\n * @remix-run/router v1.14.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Action[\"Pop\"] = \"POP\";\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Action[\"Push\"] = \"PUSH\";\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = Action.Pop;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n return location;\n }\n function createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createBrowserLocation(window, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createHashLocation(window, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window.location.hash.substr(1));\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route (<Route path=\"*\">) since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window, to) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = _extends({\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\"\n }, typeof to === \"string\" ? parsePath(to) : to, {\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n });\n return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = _ref;\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n if (options === void 0) {\n options = {};\n }\n let {\n window = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener = null;\n let index = getIndex();\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace(to, state) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n ResultType[\"data\"] = \"data\";\n ResultType[\"deferred\"] = \"deferred\";\n ResultType[\"redirect\"] = \"redirect\";\n ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n if (manifest === void 0) {\n manifest = {};\n }\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\". Route \" + \"id's must be globally unique within Data Router usages\");\n if (isIndexRoute(route)) {\n let indexRoute = _extends({}, route, mapRouteProperties(route), {\n id\n });\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n id,\n children: undefined\n });\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname));\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n var _route$path;\n // coarse-grain check for optional params\n if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n // for absolute paths, ensure `/` instead of empty segment\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n if (params === void 0) {\n params = {};\n }\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n path = path.replace(/\\*$/, \"/*\");\n }\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n // Apply the splat\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n return stringify(param);\n }\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce((memo, _ref, index) => {\n let {\n paramName,\n isOptional\n } = _ref;\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n }\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n if (end === void 0) {\n end = true;\n }\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)(\\?)?/g, (_, paramName, isOptional) => {\n params.push({\n paramName,\n isOptional: isOptional != null\n });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n params.push({\n paramName: \"*\"\n });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else ;\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, params];\n}\nfunction safelyDecodeURI(value) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n return value;\n }\n}\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\"));\n return value;\n }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"]. Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in <Link to=\\\"...\\\"> and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nfunction getResolveToMatches(matches, v7_relativeSplatPath) {\n let pathMatches = getPathContributingMatches(matches);\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) => idx === matches.length - 1 ? match.pathname : match.pathnameBase);\n }\n return pathMatches.map(match => match.pathnameBase);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n if (isPathRelative === void 0) {\n isPathRelative = false;\n }\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = _extends({}, toArg);\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how <a href> works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n return new Response(JSON.stringify(data), _extends({}, responseInit, {\n headers\n }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n constructor(data, responseInit) {\n this.pendingKeysSet = new Set();\n this.subscribers = new Set();\n this.deferredKeys = [];\n invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject;\n this.abortPromise = new Promise((_, r) => reject = r);\n this.controller = new AbortController();\n let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n this.data = Object.entries(data).reduce((acc, _ref2) => {\n let [key, value] = _ref2;\n return Object.assign(acc, {\n [key]: this.trackPromise(key, value)\n });\n }, {});\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n this.init = responseInit;\n }\n trackPromise(key, value) {\n if (!(value instanceof Promise)) {\n return value;\n }\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n return promise;\n }\n onSettle(promise, key, error, data) {\n if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n return Promise.reject(error);\n }\n this.pendingKeysSet.delete(key);\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n Object.defineProperty(promise, \"_error\", {\n get: () => undefinedError\n });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n this.emit(false, key);\n return Promise.reject(error);\n }\n Object.defineProperty(promise, \"_data\", {\n get: () => data\n });\n this.emit(false, key);\n return data;\n }\n emit(aborted, settledKey) {\n this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n }\n subscribe(fn) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n async resolveData(signal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise(resolve => {\n this.subscribe(aborted => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n get unwrappedData() {\n invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n return Object.entries(this.data).reduce((acc, _ref3) => {\n let [key, value] = _ref3;\n return Object.assign(acc, {\n [key]: unwrapTrackedPromise(value)\n });\n }, {});\n }\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\nfunction isTrackedPromise(value) {\n return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\nconst defer = function defer(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n if (init === void 0) {\n init = 302;\n }\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, _extends({}, responseInit, {\n headers\n }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n constructor(status, statusText, data, internal) {\n if (internal === void 0) {\n internal = false;\n }\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_FETCHER = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Routes keyed by ID\n let manifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future = _extends({\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false\n }, init.future);\n // Cleanup function for history\n let unlistenHistory = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n let initialized;\n let hasLazyRoutes = initialMatches.some(m => m.route.lazy);\n let hasLoaders = initialMatches.some(m => m.route.loader);\n if (hasLazyRoutes) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!hasLoaders) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n initialized = initialMatches.every(m => m.route.loader && m.route.loader.hydrate !== true && (loaderData && loaderData[m.route.id] !== undefined || errors && errors[m.route.id] !== undefined));\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: new Map(),\n blockers: new Map()\n };\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction = Action.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController;\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions = new Map();\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener = null;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(_ref => {\n let {\n action: historyAction,\n location,\n delta\n } = _ref;\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs. This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(Action.Pop, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n // Subscribe to state updates for the router\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n // Update our state and notify the calling context of the change\n function updateState(newState, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state = _extends({}, state, newState);\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers = [];\n let deletedFetchersKeys = [];\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach(subscriber => subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: opts.viewTransitionOpts,\n unstable_flushSync: opts.flushSync === true\n }));\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach(key => state.fetchers.delete(key));\n deletedFetchersKeys.forEach(key => deleteFetcher(key));\n }\n }\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(location, newState, _temp) {\n var _location$state, _location$state2;\n let {\n flushSync\n } = _temp === void 0 ? {} : _temp;\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === Action.Replace) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === Action.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(_extends({}, newState, {\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }), {\n viewTransitionOpts,\n flushSync: flushSync === true\n });\n // Reset stateful navigation vars\n pendingAction = Action.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, future.v7_relativeSplatPath, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n let historyAction = Action.Push;\n if (userReplace === true) {\n historyAction = Action.Replace;\n } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = Action.Replace;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.unstable_viewTransition,\n flushSync\n });\n }\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return;\n }\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation\n });\n }\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(historyAction, location, opts) {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n }, {\n flushSync\n });\n return;\n }\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a <Form method=\"post\">\n // which will default to a navigation to /page\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n }, {\n flushSync\n });\n return;\n }\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let pendingActionData;\n let pendingError;\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError\n };\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(request, location, opts.submission, matches, {\n replace: opts.replace,\n flushSync\n });\n if (actionOutput.shortCircuited) {\n return;\n }\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // Create a GET request for the loaders\n request = new Request(request.url, {\n signal: request.signal\n });\n }\n // Call loaders\n let {\n shortCircuited,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionData, pendingError);\n if (shortCircuited) {\n return;\n }\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n completeNavigation(location, _extends({\n matches\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, {\n loaderData,\n errors\n }));\n }\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(request, location, submission, matches, opts) {\n if (opts === void 0) {\n opts = {};\n }\n interruptActiveLoads();\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n }, {\n flushSync: opts.flushSync === true\n });\n // Call our action and get the result\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace = result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, {\n submission,\n replace\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = Action.Push;\n }\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: {\n [boundaryMatch.route.id]: result.error\n }\n };\n }\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n return {\n pendingActionData: {\n [actionMatch.route.id]: result.data\n }\n };\n }\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionData, pendingError) {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, future.v7_partialHydration && initialHydration === true, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError);\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n pendingNavigationLoadId = ++incrementingLoadId;\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, _extends({\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, updatedFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n return {\n shortCircuited: true\n };\n }\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since iot's not a \"navigation\"\n if (!isUninterruptedRevalidation && (!future.v7_partialHydration || !initialHydration)) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState(_extends({\n navigation: loadingNavigation\n }, actionData ? Object.keys(actionData).length === 0 ? {\n actionData: null\n } : {\n actionData\n } : {}, revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n }\n revalidatingFetchers.forEach(rf => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, {\n replace\n });\n return {\n shortCircuited: true\n };\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe(aborted => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return _extends({\n loaderData,\n errors\n }, shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {});\n }\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(key, routeId, href, opts) {\n if (isServer) {\n throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n }\n if (fetchControllers.has(key)) abortFetcher(key);\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, future.v7_relativeSplatPath, routeId, opts == null ? void 0 : opts.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }), {\n flushSync\n });\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n let match = getTargetMatch(matches, path);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, flushSync, submission);\n return;\n }\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission);\n }\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(key, routeId, path, match, requestMatches, flushSync, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId\n });\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\"action\", fetchRequest, match, requestMatches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission\n });\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, {\n [match.route.id]: actionResult.data\n }, undefined // No need to send through errors since we short circuit above\n );\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined), {\n flushSync\n });\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let result = await callLoaderOrAction(\"loader\", fetchRequest, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n }\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(state, redirect, _temp2) {\n let {\n submission,\n fetcherSubmission,\n replace\n } = _temp2 === void 0 ? {} : _temp2;\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true\n });\n invariant(redirectLocation, \"Expected a location on the redirect navigation\");\n if (isBrowser) {\n let isDocumentReload = false;\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: _extends({}, activeSubmission, {\n formAction: redirect.location\n }),\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n }\n }\n async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath)), ...fetchersToLoad.map(f => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), f.match, f.matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n } else {\n let error = {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n };\n return error;\n }\n })]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n return {\n results,\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n function updateFetcherState(key, fetcher, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function setFetcherError(key, routeId, error, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function getFetcher(key) {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n function deleteFetcherAndUpdateState(key) {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n invariant(controller, \"Expected fetch controller: \" + key);\n controller.abort();\n fetchControllers.delete(key);\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation(_ref2) {\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = _ref2;\n if (blockerFunctions.size === 0) {\n return;\n }\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function cancelActiveDeferreds(predicate) {\n let cancelledRouteIds = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties;\n if (opts != null && opts.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts != null && opts.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future = _extends({\n v7_relativeSplatPath: false\n }, opts ? opts.future : null);\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(request, _temp3) {\n let {\n requestContext\n } = _temp3 === void 0 ? {} : _temp3;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return _extends({\n location,\n basename\n }, result);\n }\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(request, _temp4) {\n let {\n routeId,\n requestContext\n } = _temp4 === void 0 ? {} : _temp4;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let result = await queryImpl(request, location, matches, requestContext, match);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n var _result$activeDeferre;\n let data = Object.values(result.loaderData)[0];\n if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n return undefined;\n }\n async function queryImpl(request, location, matches, requestContext, routeMatch) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, routeMatch != null);\n return result;\n }\n let result = await loadRouteData(request, matches, requestContext, routeMatch);\n return isResponse(result) ? result : _extends({}, result, {\n actionData: null,\n actionHeaders: {}\n });\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n });\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n }\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location\n }\n });\n }\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, {\n type: \"defer-action\"\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n }\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, requestContext, undefined, {\n [boundaryMatch.route.id]: result.error\n });\n // action status codes take precedence over loader status codes\n return _extends({}, context, {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : 500,\n actionData: null,\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n return _extends({}, context, result.statusCode ? {\n statusCode: result.statusCode\n } : {}, {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n async function loadRouteData(request, matches, requestContext, routeMatch, pendingActionError) {\n let isRouteRequest = routeMatch != null;\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch == null ? void 0 : routeMatch.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : getLoaderMatchesUntilBoundary(matches, Object.keys(pendingActionError || {})[0]);\n let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null\n };\n }\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n }))]);\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionError, activeDeferreds);\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return _extends({}, context, {\n matches,\n activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n });\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = _extends({}, context, {\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n });\n return newContext;\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, v7_relativeSplatPath, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n // Resolve the relative path\n let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches, v7_relativeSplatPath), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n // Add an ?index param for matched index routes if we don't already have one\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n let [name, value] = _ref3;\n return \"\" + acc + name + \"=\" + value + \"\\n\";\n }, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = \"?\" + searchParams;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isInitialLoad, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError) {\n let actionResult = pendingError ? Object.values(pendingError)[0] : pendingActionData ? Object.values(pendingActionData)[0] : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let {\n route\n } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (isInitialLoad) {\n if (route.loader.hydrate) {\n return true;\n }\n return state.loaderData[route.id] === undefined && (\n // Don't re-run if the loader ran and threw an error\n !state.errors || state.errors[route.id] === undefined);\n }\n // Always call the loader on new route instances and pending defer cancellations\n if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n return true;\n }\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, _extends({\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params\n }, submission, {\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n }));\n });\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial load (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (isInitialLoad || !matches.some(m => m.route.id === f.routeId) || deletedFetchers.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params\n }, submission, {\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired\n }));\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n lazy: undefined\n }));\n}\nasync function callLoaderOrAction(type, request, match, matches, manifest, mapRouteProperties, basename, v7_relativeSplatPath, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let resultType;\n let result;\n let onReject;\n let runHandler = handler => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([handler({\n request,\n params: match.params,\n context: opts.requestContext\n }), abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return {\n type: ResultType.data,\n data: undefined\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n invariant(result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n if (isResponse(result)) {\n let status = result.status;\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(new URL(request.url), matches.slice(0, matches.indexOf(match) + 1), basename, true, location, v7_relativeSplatPath);\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\") ? new URL(currentUrl.protocol + location) : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null\n };\n }\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse = {\n type: resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result\n };\n throw queryRouteResponse;\n }\n let data;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n } catch (e) {\n return {\n type: ResultType.error,\n error: e\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers\n };\n }\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: result\n };\n }\n if (isDeferredData(result)) {\n var _result$init, _result$init2;\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n };\n }\n return {\n type: ResultType.data,\n data: result\n };\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds) {\n // Fill in loaderData/errors from our loaders\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = errors || {};\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds);\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let {\n key,\n match,\n controller\n } = revalidatingFetchers[index];\n invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n let result = fetcherResults[index];\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = _extends({}, errors, {\n [boundaryMatch.route.id]: result.error\n });\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = _extends({}, newLoaderData);\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: \"__shim-error-route__\"\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, _temp5) {\n let {\n pathname,\n routeId,\n method,\n type\n } = _temp5 === void 0 ? {} : _temp5;\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (method) {\n errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return {\n result,\n idx: i\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath(_extends({}, parsedPath, {\n hash: \"\"\n }));\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\nfunction isDeferredResult(result) {\n return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n if (!isResponse(result)) {\n return false;\n }\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\nfunction isQueryRouteResponse(obj) {\n return obj && isResponse(obj.response) && (obj.type === ResultType.data || obj.type === ResultType.error);\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n await resolveDeferredData(result, signal, isFetcher).then(result => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n if (unwrap === void 0) {\n unwrap = false;\n }\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e\n };\n }\n }\n return {\n type: ResultType.data,\n data: result.deferredData.data\n };\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined\n };\n return fetcher;\n}\nfunction getDoneFetcher(data) {\n let fetcher = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n } catch (error) {\n warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n }\n }\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, getResolveToMatches as UNSAFE_getResolveToMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, defer, generatePath, getStaticContextFromError, getToPathname, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * @remix-run/server-runtime v2.4.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * The mode to use when running the server.\n */\nlet ServerMode = /*#__PURE__*/function (ServerMode) {\n ServerMode[\"Development\"] = \"development\";\n ServerMode[\"Production\"] = \"production\";\n ServerMode[\"Test\"] = \"test\";\n return ServerMode;\n}({});\nfunction isServerMode(value) {\n return value === ServerMode.Development || value === ServerMode.Production || value === ServerMode.Test;\n}\n\nexports.ServerMode = ServerMode;\nexports.isServerMode = isServerMode;\n","/**\n * @remix-run/server-runtime v2.4.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar router = require('@remix-run/router');\nvar mode = require('./mode.js');\n\n/**\n * This thing probably warrants some explanation.\n *\n * The whole point here is to emulate componentDidCatch for server rendering and\n * data loading. It can get tricky. React can do this on component boundaries\n * but doesn't support it for server rendering or data loading. We know enough\n * with nested routes to be able to emulate the behavior (because we know them\n * statically before rendering.)\n *\n * Each route can export an `ErrorBoundary`.\n *\n * - When rendering throws an error, the nearest error boundary will render\n * (normal react componentDidCatch). This will be the route's own boundary, but\n * if none is provided, it will bubble up to the parents.\n * - When data loading throws an error, the nearest error boundary will render\n * - When performing an action, the nearest error boundary for the action's\n * route tree will render (no redirect happens)\n *\n * During normal react rendering, we do nothing special, just normal\n * componentDidCatch.\n *\n * For server rendering, we mutate `renderBoundaryRouteId` to know the last\n * layout that has an error boundary that tried to render. This emulates which\n * layout would catch a thrown error. If the rendering fails, we catch the error\n * on the server, and go again a second time with the emulator holding on to the\n * information it needs to render the same error boundary as a dynamically\n * thrown render error.\n *\n * When data loading, server or client side, we use the emulator to likewise\n * hang on to the error and re-render at the appropriate layout (where a thrown\n * error would have been caught by cDC).\n *\n * When actions throw, it all works the same. There's an edge case to be aware\n * of though. Actions normally are required to redirect, but in the case of\n * errors, we render the action's route with the emulator holding on to the\n * error. If during this render a parent route/loader throws we ignore that new\n * error and render the action's original error as deeply as possible. In other\n * words, we simply ignore the new error and use the action's error in place\n * because it came first, and that just wouldn't be fair to let errors cut in\n * line.\n */\n\nfunction sanitizeError(error, serverMode) {\n if (error instanceof Error && serverMode !== mode.ServerMode.Development) {\n let sanitized = new Error(\"Unexpected Server Error\");\n sanitized.stack = undefined;\n return sanitized;\n }\n return error;\n}\nfunction sanitizeErrors(errors, serverMode) {\n return Object.entries(errors).reduce((acc, [routeId, error]) => {\n return Object.assign(acc, {\n [routeId]: sanitizeError(error, serverMode)\n });\n }, {});\n}\n\n// must be type alias due to inference issues on interfaces\n// https://github.com/microsoft/TypeScript/issues/15300\nfunction serializeError(error, serverMode) {\n let sanitized = sanitizeError(error, serverMode);\n return {\n message: sanitized.message,\n stack: sanitized.stack\n };\n}\nfunction serializeErrors(errors, serverMode) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // deserializeErrors in remix-react/errors.ts :)\n if (router.isRouteErrorResponse(val)) {\n serialized[key] = {\n ...val,\n __type: \"RouteErrorResponse\"\n };\n } else if (val instanceof Error) {\n let sanitized = sanitizeError(val, serverMode);\n serialized[key] = {\n message: sanitized.message,\n stack: sanitized.stack,\n __type: \"Error\",\n // If this is a subclass (i.e., ReferenceError), send up the type so we\n // can re-create the same type during hydration. This will only apply\n // in dev mode since all production errors are sanitized to normal\n // Error instances\n ...(sanitized.name !== \"Error\" ? {\n __subType: sanitized.name\n } : {})\n };\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\nexports.sanitizeError = sanitizeError;\nexports.sanitizeErrors = sanitizeErrors;\nexports.serializeError = serializeError;\nexports.serializeErrors = serializeErrors;\n","/**\n * @remix-run/server-runtime v2.4.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar router = require('@remix-run/router');\nvar errors = require('./errors.js');\n\n// must be a type since this is a subtype of response\n// interfaces must conform to the types they extend\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @see https://remix.run/utils/json\n */\nconst json = (data, init = {}) => {\n return router.json(data, init);\n};\n\n/**\n * This is a shortcut for creating Remix deferred responses\n *\n * @see https://remix.run/utils/defer\n */\nconst defer = (data, init = {}) => {\n return router.defer(data, init);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n *\n * @see https://remix.run/utils/redirect\n */\nconst redirect = (url, init = 302) => {\n return router.redirect(url, init);\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n *\n * @see https://remix.run/utils/redirect\n */\nconst redirectDocument = (url, init = 302) => {\n return router.redirectDocument(url, init);\n};\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nfunction isRedirectStatusCode(statusCode) {\n return redirectStatusCodes.has(statusCode);\n}\nfunction isRedirectResponse(response) {\n return isRedirectStatusCode(response.status);\n}\nfunction isTrackedPromise(value) {\n return value != null && typeof value.then === \"function\" && value._tracked === true;\n}\n\n// TODO: Figure out why ReadableStream types are borked sooooooo badly\n// in this file. Probably related to our TS configurations and configs\n// bleeding into each other.\nconst DEFERRED_VALUE_PLACEHOLDER_PREFIX = \"__deferred_promise:\";\nfunction createDeferredReadableStream(deferredData, signal, serverMode) {\n let encoder = new TextEncoder();\n let stream = new ReadableStream({\n async start(controller) {\n let criticalData = {};\n let preresolvedKeys = [];\n for (let [key, value] of Object.entries(deferredData.data)) {\n if (isTrackedPromise(value)) {\n criticalData[key] = `${DEFERRED_VALUE_PLACEHOLDER_PREFIX}${key}`;\n if (typeof value._data !== \"undefined\" || typeof value._error !== \"undefined\") {\n preresolvedKeys.push(key);\n }\n } else {\n criticalData[key] = value;\n }\n }\n\n // Send the critical data\n controller.enqueue(encoder.encode(JSON.stringify(criticalData) + \"\\n\\n\"));\n for (let preresolvedKey of preresolvedKeys) {\n enqueueTrackedPromise(controller, encoder, preresolvedKey, deferredData.data[preresolvedKey], serverMode);\n }\n let unsubscribe = deferredData.subscribe((aborted, settledKey) => {\n if (settledKey) {\n enqueueTrackedPromise(controller, encoder, settledKey, deferredData.data[settledKey], serverMode);\n }\n });\n await deferredData.resolveData(signal);\n unsubscribe();\n controller.close();\n }\n });\n return stream;\n}\nfunction enqueueTrackedPromise(controller, encoder, settledKey, promise, serverMode) {\n if (\"_error\" in promise) {\n controller.enqueue(encoder.encode(\"error:\" + JSON.stringify({\n [settledKey]: promise._error instanceof Error ? errors.serializeError(promise._error, serverMode) : promise._error\n }) + \"\\n\\n\"));\n } else {\n controller.enqueue(encoder.encode(\"data:\" + JSON.stringify({\n [settledKey]: promise._data ?? null\n }) + \"\\n\\n\"));\n }\n}\n\nexports.createDeferredReadableStream = createDeferredReadableStream;\nexports.defer = defer;\nexports.isDeferredData = isDeferredData;\nexports.isRedirectResponse = isRedirectResponse;\nexports.isRedirectStatusCode = isRedirectStatusCode;\nexports.isResponse = isResponse;\nexports.json = json;\nexports.redirect = redirect;\nexports.redirectDocument = redirectDocument;\n","import { LoaderFunctionArgs } from \"@remix-run/server-runtime\";\n\ntype ObjectAlike = Record<string, unknown> | null;\n\nexport type RootAuthLoaderCallbackReturn =\n | Promise<Response>\n | Response\n | Promise<ObjectAlike>\n | ObjectAlike;\n\nexport type RootAuthLoaderCallback = (\n args: LoaderFunctionArgs\n) => RootAuthLoaderCallbackReturn;\n\nexport const isCallbackDefined = (\n callback: any\n): callback is RootAuthLoaderCallback => {\n return callback !== undefined;\n};\n","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","export default crypto;\nexport const isCryptoKey = (key) => key instanceof CryptoKey;\n","import digest from '../runtime/digest.js';\nexport const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nconst MAX_INT32 = 2 ** 32;\nexport function concat(...buffers) {\n const size = buffers.reduce((acc, { length }) => acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n buffers.forEach((buffer) => {\n buf.set(buffer, i);\n i += buffer.length;\n });\n return buf;\n}\nexport function p2s(alg, p2sInput) {\n return concat(encoder.encode(alg), new Uint8Array([0]), p2sInput);\n}\nfunction writeUInt32BE(buf, value, offset) {\n if (value < 0 || value >= MAX_INT32) {\n throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);\n }\n buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);\n}\nexport function uint64be(value) {\n const high = Math.floor(value / MAX_INT32);\n const low = value % MAX_INT32;\n const buf = new Uint8Array(8);\n writeUInt32BE(buf, high, 0);\n writeUInt32BE(buf, low, 4);\n return buf;\n}\nexport function uint32be(value) {\n const buf = new Uint8Array(4);\n writeUInt32BE(buf, value);\n return buf;\n}\nexport function lengthAndInput(input) {\n return concat(uint32be(input.length), input);\n}\nexport async function concatKdf(secret, bits, value) {\n const iterations = Math.ceil((bits >> 3) / 32);\n const res = new Uint8Array(iterations * 32);\n for (let iter = 0; iter < iterations; iter++) {\n const buf = new Uint8Array(4 + secret.length + value.length);\n buf.set(uint32be(iter + 1));\n buf.set(secret, 4);\n buf.set(value, 4 + secret.length);\n res.set(await digest('sha256', buf), iter * 32);\n }\n return res.slice(0, bits >> 3);\n}\n","import { encoder, decoder } from '../lib/buffer_utils.js';\nexport const encodeBase64 = (input) => {\n let unencoded = input;\n if (typeof unencoded === 'string') {\n unencoded = encoder.encode(unencoded);\n }\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for (let i = 0; i < unencoded.length; i += CHUNK_SIZE) {\n arr.push(String.fromCharCode.apply(null, unencoded.subarray(i, i + CHUNK_SIZE)));\n }\n return btoa(arr.join(''));\n};\nexport const encode = (input) => {\n return encodeBase64(input).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n};\nexport const decodeBase64 = (encoded) => {\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n};\nexport const decode = (input) => {\n let encoded = input;\n if (encoded instanceof Uint8Array) {\n encoded = decoder.decode(encoded);\n }\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/\\s/g, '');\n try {\n return decodeBase64(encoded);\n }\n catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n};\n","export class JOSEError extends Error {\n static get code() {\n return 'ERR_JOSE_GENERIC';\n }\n constructor(message) {\n super(message);\n this.code = 'ERR_JOSE_GENERIC';\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nexport class JWTClaimValidationFailed extends JOSEError {\n static get code() {\n return 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n }\n constructor(message, claim = 'unspecified', reason = 'unspecified') {\n super(message);\n this.code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n this.claim = claim;\n this.reason = reason;\n }\n}\nexport class JWTExpired extends JOSEError {\n static get code() {\n return 'ERR_JWT_EXPIRED';\n }\n constructor(message, claim = 'unspecified', reason = 'unspecified') {\n super(message);\n this.code = 'ERR_JWT_EXPIRED';\n this.claim = claim;\n this.reason = reason;\n }\n}\nexport class JOSEAlgNotAllowed extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n }\n static get code() {\n return 'ERR_JOSE_ALG_NOT_ALLOWED';\n }\n}\nexport class JOSENotSupported extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JOSE_NOT_SUPPORTED';\n }\n static get code() {\n return 'ERR_JOSE_NOT_SUPPORTED';\n }\n}\nexport class JWEDecryptionFailed extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWE_DECRYPTION_FAILED';\n this.message = 'decryption operation failed';\n }\n static get code() {\n return 'ERR_JWE_DECRYPTION_FAILED';\n }\n}\nexport class JWEInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWE_INVALID';\n }\n static get code() {\n return 'ERR_JWE_INVALID';\n }\n}\nexport class JWSInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWS_INVALID';\n }\n static get code() {\n return 'ERR_JWS_INVALID';\n }\n}\nexport class JWTInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWT_INVALID';\n }\n static get code() {\n return 'ERR_JWT_INVALID';\n }\n}\nexport class JWKInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWK_INVALID';\n }\n static get code() {\n return 'ERR_JWK_INVALID';\n }\n}\nexport class JWKSInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWKS_INVALID';\n }\n static get code() {\n return 'ERR_JWKS_INVALID';\n }\n}\nexport class JWKSNoMatchingKey extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWKS_NO_MATCHING_KEY';\n this.message = 'no applicable key found in the JSON Web Key Set';\n }\n static get code() {\n return 'ERR_JWKS_NO_MATCHING_KEY';\n }\n}\nexport class JWKSMultipleMatchingKeys extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n this.message = 'multiple matching keys found in the JSON Web Key Set';\n }\n static get code() {\n return 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n }\n}\nSymbol.asyncIterator;\nexport class JWKSTimeout extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWKS_TIMEOUT';\n this.message = 'request timed out';\n }\n static get code() {\n return 'ERR_JWKS_TIMEOUT';\n }\n}\nexport class JWSSignatureVerificationFailed extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n this.message = 'signature verification failed';\n }\n static get code() {\n return 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n }\n}\n","function unusable(name, prop = 'algorithm.name') {\n return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\n}\nfunction isAlgorithm(algorithm, name) {\n return algorithm.name === name;\n}\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction getNamedCurve(alg) {\n switch (alg) {\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usages) {\n if (usages.length && !usages.some((expected) => key.usages.includes(expected))) {\n let msg = 'CryptoKey does not support this operation, its usages must include ';\n if (usages.length > 2) {\n const last = usages.pop();\n msg += `one of ${usages.join(', ')}, or ${last}.`;\n }\n else if (usages.length === 2) {\n msg += `one of ${usages[0]} or ${usages[1]}.`;\n }\n else {\n msg += `${usages[0]}.`;\n }\n throw new TypeError(msg);\n }\n}\nexport function checkSigCryptoKey(key, alg, ...usages) {\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512': {\n if (!isAlgorithm(key.algorithm, 'HMAC'))\n throw unusable('HMAC');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512': {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5'))\n throw unusable('RSASSA-PKCS1-v1_5');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512': {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS'))\n throw unusable('RSA-PSS');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'EdDSA': {\n if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {\n throw unusable('Ed25519 or Ed448');\n }\n break;\n }\n case 'ES256':\n case 'ES384':\n case 'ES512': {\n if (!isAlgorithm(key.algorithm, 'ECDSA'))\n throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usages);\n}\nexport function checkEncCryptoKey(key, alg, ...usages) {\n switch (alg) {\n case 'A128GCM':\n case 'A192GCM':\n case 'A256GCM': {\n if (!isAlgorithm(key.algorithm, 'AES-GCM'))\n throw unusable('AES-GCM');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'A128KW':\n case 'A192KW':\n case 'A256KW': {\n if (!isAlgorithm(key.algorithm, 'AES-KW'))\n throw unusable('AES-KW');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'ECDH': {\n switch (key.algorithm.name) {\n case 'ECDH':\n case 'X25519':\n case 'X448':\n break;\n default:\n throw unusable('ECDH, X25519, or X448');\n }\n break;\n }\n case 'PBES2-HS256+A128KW':\n case 'PBES2-HS384+A192KW':\n case 'PBES2-HS512+A256KW':\n if (!isAlgorithm(key.algorithm, 'PBKDF2'))\n throw unusable('PBKDF2');\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512': {\n if (!isAlgorithm(key.algorithm, 'RSA-OAEP'))\n throw unusable('RSA-OAEP');\n const expected = parseInt(alg.slice(9), 10) || 1;\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usages);\n}\n","function message(msg, actual, ...types) {\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n }\n else if (types.length === 2) {\n msg += `one of type ${types[0]} or ${types[1]}.`;\n }\n else {\n msg += `of type ${types[0]}.`;\n }\n if (actual == null) {\n msg += ` Received ${actual}`;\n }\n else if (typeof actual === 'function' && actual.name) {\n msg += ` Received function ${actual.name}`;\n }\n else if (typeof actual === 'object' && actual != null) {\n if (actual.constructor && actual.constructor.name) {\n msg += ` Received an instance of ${actual.constructor.name}`;\n }\n }\n return msg;\n}\nexport default (actual, ...types) => {\n return message('Key must be ', actual, ...types);\n};\nexport function withAlg(alg, actual, ...types) {\n return message(`Key for the ${alg} algorithm must be `, actual, ...types);\n}\n","import { isCryptoKey } from './webcrypto.js';\nexport default (key) => {\n return isCryptoKey(key);\n};\nexport const types = ['CryptoKey'];\n","const isDisjoint = (...headers) => {\n const sources = headers.filter(Boolean);\n if (sources.length === 0 || sources.length === 1) {\n return true;\n }\n let acc;\n for (const header of sources) {\n const parameters = Object.keys(header);\n if (!acc || acc.size === 0) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters) {\n if (acc.has(parameter)) {\n return false;\n }\n acc.add(parameter);\n }\n }\n return true;\n};\nexport default isDisjoint;\n","function isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\nexport default function isObject(input) {\n if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') {\n return false;\n }\n if (Object.getPrototypeOf(input) === null) {\n return true;\n }\n let proto = input;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(input) === proto;\n}\n","export default (alg, key) => {\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n }\n};\n","import crypto from './webcrypto.js';\nimport { JOSENotSupported } from '../util/errors.js';\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch (jwk.kty) {\n case 'RSA': {\n switch (jwk.alg) {\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`,\n };\n keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n case 'EC': {\n switch (jwk.alg) {\n case 'ES256':\n algorithm = { name: 'ECDSA', namedCurve: 'P-256' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ES384':\n algorithm = { name: 'ECDSA', namedCurve: 'P-384' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ES512':\n algorithm = { name: 'ECDSA', namedCurve: 'P-521' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: 'ECDH', namedCurve: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n case 'OKP': {\n switch (jwk.alg) {\n case 'EdDSA':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return { algorithm, keyUsages };\n}\nconst parse = async (jwk) => {\n if (!jwk.alg) {\n throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n }\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const rest = [\n algorithm,\n jwk.ext ?? false,\n jwk.key_ops ?? keyUsages,\n ];\n const keyData = { ...jwk };\n delete keyData.alg;\n delete keyData.use;\n return crypto.subtle.importKey('jwk', keyData, ...rest);\n};\nexport default parse;\n","import { decode as decodeBase64URL } from '../runtime/base64url.js';\nimport { fromSPKI, fromPKCS8, fromX509 } from '../runtime/asn1.js';\nimport asKeyObject from '../runtime/jwk_to_key.js';\nimport { JOSENotSupported } from '../util/errors.js';\nimport isObject from '../lib/is_object.js';\nexport async function importSPKI(spki, alg, options) {\n if (typeof spki !== 'string' || spki.indexOf('-----BEGIN PUBLIC KEY-----') !== 0) {\n throw new TypeError('\"spki\" must be SPKI formatted string');\n }\n return fromSPKI(spki, alg, options);\n}\nexport async function importX509(x509, alg, options) {\n if (typeof x509 !== 'string' || x509.indexOf('-----BEGIN CERTIFICATE-----') !== 0) {\n throw new TypeError('\"x509\" must be X.509 formatted string');\n }\n return fromX509(x509, alg, options);\n}\nexport async function importPKCS8(pkcs8, alg, options) {\n if (typeof pkcs8 !== 'string' || pkcs8.indexOf('-----BEGIN PRIVATE KEY-----') !== 0) {\n throw new TypeError('\"pkcs8\" must be PKCS#8 formatted string');\n }\n return fromPKCS8(pkcs8, alg, options);\n}\nexport async function importJWK(jwk, alg) {\n if (!isObject(jwk)) {\n throw new TypeError('JWK must be an object');\n }\n alg || (alg = jwk.alg);\n switch (jwk.kty) {\n case 'oct':\n if (typeof jwk.k !== 'string' || !jwk.k) {\n throw new TypeError('missing \"k\" (Key Value) Parameter value');\n }\n return decodeBase64URL(jwk.k);\n case 'RSA':\n if (jwk.oth !== undefined) {\n throw new JOSENotSupported('RSA JWK \"oth\" (Other Primes Info) Parameter value is not supported');\n }\n case 'EC':\n case 'OKP':\n return asKeyObject({ ...jwk, alg });\n default:\n throw new JOSENotSupported('Unsupported \"kty\" (Key Type) Parameter value');\n }\n}\n","import { withAlg as invalidKeyInput } from './invalid_key_input.js';\nimport isKeyLike, { types } from '../runtime/is_key_like.js';\nconst symmetricTypeCheck = (alg, key) => {\n if (key instanceof Uint8Array)\n return;\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, ...types, 'Uint8Array'));\n }\n if (key.type !== 'secret') {\n throw new TypeError(`${types.join(' or ')} instances for symmetric algorithms must be of type \"secret\"`);\n }\n};\nconst asymmetricTypeCheck = (alg, key, usage) => {\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, ...types));\n }\n if (key.type === 'secret') {\n throw new TypeError(`${types.join(' or ')} instances for asymmetric algorithms must not be of type \"secret\"`);\n }\n if (usage === 'sign' && key.type === 'public') {\n throw new TypeError(`${types.join(' or ')} instances for asymmetric algorithm signing must be of type \"private\"`);\n }\n if (usage === 'decrypt' && key.type === 'public') {\n throw new TypeError(`${types.join(' or ')} instances for asymmetric algorithm decryption must be of type \"private\"`);\n }\n if (key.algorithm && usage === 'verify' && key.type === 'private') {\n throw new TypeError(`${types.join(' or ')} instances for asymmetric algorithm verifying must be of type \"public\"`);\n }\n if (key.algorithm && usage === 'encrypt' && key.type === 'private') {\n throw new TypeError(`${types.join(' or ')} instances for asymmetric algorithm encryption must be of type \"public\"`);\n }\n};\nconst checkKeyType = (alg, key, usage) => {\n const symmetric = alg.startsWith('HS') ||\n alg === 'dir' ||\n alg.startsWith('PBES2') ||\n /^A\\d{3}(?:GCM)?KW$/.test(alg);\n if (symmetric) {\n symmetricTypeCheck(alg, key);\n }\n else {\n asymmetricTypeCheck(alg, key, usage);\n }\n};\nexport default checkKeyType;\n","import { JOSENotSupported } from '../util/errors.js';\nfunction validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {\n if (joseHeader.crit !== undefined && protectedHeader.crit === undefined) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n }\n if (!protectedHeader || protectedHeader.crit === undefined) {\n return new Set();\n }\n if (!Array.isArray(protectedHeader.crit) ||\n protectedHeader.crit.length === 0 ||\n protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n }\n let recognized;\n if (recognizedOption !== undefined) {\n recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);\n }\n else {\n recognized = recognizedDefault;\n }\n for (const parameter of protectedHeader.crit) {\n if (!recognized.has(parameter)) {\n throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n }\n if (joseHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n }\n else if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n }\n return new Set(protectedHeader.crit);\n}\nexport default validateCrit;\n","const validateAlgorithms = (option, algorithms) => {\n if (algorithms !== undefined &&\n (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {\n throw new TypeError(`\"${option}\" option must be an array of strings`);\n }\n if (!algorithms) {\n return undefined;\n }\n return new Set(algorithms);\n};\nexport default validateAlgorithms;\n","import { JOSENotSupported } from '../util/errors.js';\nexport default function subtleDsa(alg, algorithm) {\n const hash = `SHA-${alg.slice(-3)}`;\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return { hash, name: 'HMAC' };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return { hash, name: 'RSA-PSS', saltLength: alg.slice(-3) >> 3 };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return { hash, name: 'RSASSA-PKCS1-v1_5' };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };\n case 'EdDSA':\n return { name: algorithm.name };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n}\n","import crypto, { isCryptoKey } from './webcrypto.js';\nimport { checkSigCryptoKey } from '../lib/crypto_key.js';\nimport invalidKeyInput from '../lib/invalid_key_input.js';\nimport { types } from './is_key_like.js';\nexport default function getCryptoKey(alg, key, usage) {\n if (isCryptoKey(key)) {\n checkSigCryptoKey(key, alg, usage);\n return key;\n }\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) {\n throw new TypeError(invalidKeyInput(key, ...types));\n }\n return crypto.subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]);\n }\n throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array'));\n}\n","import subtleAlgorithm from './subtle_dsa.js';\nimport crypto from './webcrypto.js';\nimport checkKeyLength from './check_key_length.js';\nimport getVerifyKey from './get_sign_verify_key.js';\nconst verify = async (alg, key, signature, data) => {\n const cryptoKey = await getVerifyKey(alg, key, 'verify');\n checkKeyLength(alg, cryptoKey);\n const algorithm = subtleAlgorithm(alg, cryptoKey.algorithm);\n try {\n return await crypto.subtle.verify(algorithm, cryptoKey, signature, data);\n }\n catch {\n return false;\n }\n};\nexport default verify;\n","import { decode as base64url } from '../../runtime/base64url.js';\nimport verify from '../../runtime/verify.js';\nimport { JOSEAlgNotAllowed, JWSInvalid, JWSSignatureVerificationFailed } from '../../util/errors.js';\nimport { concat, encoder, decoder } from '../../lib/buffer_utils.js';\nimport isDisjoint from '../../lib/is_disjoint.js';\nimport isObject from '../../lib/is_object.js';\nimport checkKeyType from '../../lib/check_key_type.js';\nimport validateCrit from '../../lib/validate_crit.js';\nimport validateAlgorithms from '../../lib/validate_algorithms.js';\nexport async function flattenedVerify(jws, key, options) {\n if (!isObject(jws)) {\n throw new JWSInvalid('Flattened JWS must be an object');\n }\n if (jws.protected === undefined && jws.header === undefined) {\n throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n }\n if (jws.protected !== undefined && typeof jws.protected !== 'string') {\n throw new JWSInvalid('JWS Protected Header incorrect type');\n }\n if (jws.payload === undefined) {\n throw new JWSInvalid('JWS Payload missing');\n }\n if (typeof jws.signature !== 'string') {\n throw new JWSInvalid('JWS Signature missing or incorrect type');\n }\n if (jws.header !== undefined && !isObject(jws.header)) {\n throw new JWSInvalid('JWS Unprotected Header incorrect type');\n }\n let parsedProt = {};\n if (jws.protected) {\n try {\n const protectedHeader = base64url(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n }\n catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n }\n if (!isDisjoint(parsedProt, jws.header)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...parsedProt,\n ...jws.header,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n const algorithms = options && validateAlgorithms('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) {\n throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n }\n if (b64) {\n if (typeof jws.payload !== 'string') {\n throw new JWSInvalid('JWS Payload must be a string');\n }\n }\n else if (typeof jws.payload !== 'string' && !(jws.payload instanceof Uint8Array)) {\n throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n }\n let resolvedKey = false;\n if (typeof key === 'function') {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n }\n checkKeyType(alg, key, 'verify');\n const data = concat(encoder.encode(jws.protected ?? ''), encoder.encode('.'), typeof jws.payload === 'string' ? encoder.encode(jws.payload) : jws.payload);\n let signature;\n try {\n signature = base64url(jws.signature);\n }\n catch {\n throw new JWSInvalid('Failed to base64url decode the signature');\n }\n const verified = await verify(alg, key, signature, data);\n if (!verified) {\n throw new JWSSignatureVerificationFailed();\n }\n let payload;\n if (b64) {\n try {\n payload = base64url(jws.payload);\n }\n catch {\n throw new JWSInvalid('Failed to base64url decode the payload');\n }\n }\n else if (typeof jws.payload === 'string') {\n payload = encoder.encode(jws.payload);\n }\n else {\n payload = jws.payload;\n }\n const result = { payload };\n if (jws.protected !== undefined) {\n result.protectedHeader = parsedProt;\n }\n if (jws.header !== undefined) {\n result.unprotectedHeader = jws.header;\n }\n if (resolvedKey) {\n return { ...result, key };\n }\n return result;\n}\n","import { flattenedVerify } from '../flattened/verify.js';\nimport { JWSInvalid } from '../../util/errors.js';\nimport { decoder } from '../../lib/buffer_utils.js';\nexport async function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) {\n jws = decoder.decode(jws);\n }\n if (typeof jws !== 'string') {\n throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n }\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (length !== 3) {\n throw new JWSInvalid('Invalid Compact JWS');\n }\n const verified = await flattenedVerify({ payload, protected: protectedHeader, signature }, key, options);\n const result = { payload: verified.payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n","export default (date) => Math.floor(date.getTime() / 1000);\n","const minute = 60;\nconst hour = minute * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst year = day * 365.25;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nexport default (str) => {\n const matched = REGEX.exec(str);\n if (!matched || (matched[4] && matched[1])) {\n throw new TypeError('Invalid time period format');\n }\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch (unit) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if (matched[1] === '-' || matched[4] === 'ago') {\n return -numericDate;\n }\n return numericDate;\n};\n","import { JWTClaimValidationFailed, JWTExpired, JWTInvalid } from '../util/errors.js';\nimport { decoder } from './buffer_utils.js';\nimport epoch from './epoch.js';\nimport secs from './secs.js';\nimport isObject from './is_object.js';\nconst normalizeTyp = (value) => value.toLowerCase().replace(/^application\\//, '');\nconst checkAudiencePresence = (audPayload, audOption) => {\n if (typeof audPayload === 'string') {\n return audOption.includes(audPayload);\n }\n if (Array.isArray(audPayload)) {\n return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n }\n return false;\n};\nexport default (protectedHeader, encodedPayload, options = {}) => {\n const { typ } = options;\n if (typ &&\n (typeof protectedHeader.typ !== 'string' ||\n normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) {\n throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', 'typ', 'check_failed');\n }\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n }\n catch {\n }\n if (!isObject(payload)) {\n throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n }\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [...requiredClaims];\n if (maxTokenAge !== undefined)\n presenceCheck.push('iat');\n if (audience !== undefined)\n presenceCheck.push('aud');\n if (subject !== undefined)\n presenceCheck.push('sub');\n if (issuer !== undefined)\n presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse())) {\n if (!(claim in payload)) {\n throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, claim, 'missing');\n }\n }\n if (issuer && !(Array.isArray(issuer) ? issuer : [issuer]).includes(payload.iss)) {\n throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', 'iss', 'check_failed');\n }\n if (subject && payload.sub !== subject) {\n throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', 'sub', 'check_failed');\n }\n if (audience &&\n !checkAudiencePresence(payload.aud, typeof audience === 'string' ? [audience] : audience)) {\n throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', 'aud', 'check_failed');\n }\n let tolerance;\n switch (typeof options.clockTolerance) {\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((payload.iat !== undefined || maxTokenAge) && typeof payload.iat !== 'number') {\n throw new JWTClaimValidationFailed('\"iat\" claim must be a number', 'iat', 'invalid');\n }\n if (payload.nbf !== undefined) {\n if (typeof payload.nbf !== 'number') {\n throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', 'nbf', 'invalid');\n }\n if (payload.nbf > now + tolerance) {\n throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', 'nbf', 'check_failed');\n }\n }\n if (payload.exp !== undefined) {\n if (typeof payload.exp !== 'number') {\n throw new JWTClaimValidationFailed('\"exp\" claim must be a number', 'exp', 'invalid');\n }\n if (payload.exp <= now - tolerance) {\n throw new JWTExpired('\"exp\" claim timestamp check failed', 'exp', 'check_failed');\n }\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = typeof maxTokenAge === 'number' ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) {\n throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', 'iat', 'check_failed');\n }\n if (age < 0 - tolerance) {\n throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', 'iat', 'check_failed');\n }\n }\n return payload;\n};\n","import { compactVerify } from '../jws/compact/verify.js';\nimport jwtPayload from '../lib/jwt_claims_set.js';\nimport { JWTInvalid } from '../util/errors.js';\nexport async function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && verified.protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n const payload = jwtPayload(verified.protectedHeader, verified.payload, options);\n const result = { payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n","import { importJWK } from '../key/import.js';\nimport { JWKSInvalid, JOSENotSupported, JWKSNoMatchingKey, JWKSMultipleMatchingKeys, } from '../util/errors.js';\nimport isObject from '../lib/is_object.js';\nfunction getKtyFromAlg(alg) {\n switch (typeof alg === 'string' && alg.slice(0, 2)) {\n case 'RS':\n case 'PS':\n return 'RSA';\n case 'ES':\n return 'EC';\n case 'Ed':\n return 'OKP';\n default:\n throw new JOSENotSupported('Unsupported \"alg\" value for a JSON Web Key Set');\n }\n}\nexport function isJWKSLike(jwks) {\n return (jwks &&\n typeof jwks === 'object' &&\n Array.isArray(jwks.keys) &&\n jwks.keys.every(isJWKLike));\n}\nfunction isJWKLike(key) {\n return isObject(key);\n}\nfunction clone(obj) {\n if (typeof structuredClone === 'function') {\n return structuredClone(obj);\n }\n return JSON.parse(JSON.stringify(obj));\n}\nexport class LocalJWKSet {\n constructor(jwks) {\n this._cached = new WeakMap();\n if (!isJWKSLike(jwks)) {\n throw new JWKSInvalid('JSON Web Key Set malformed');\n }\n this._jwks = clone(jwks);\n }\n async getKey(protectedHeader, token) {\n const { alg, kid } = { ...protectedHeader, ...token?.header };\n const kty = getKtyFromAlg(alg);\n const candidates = this._jwks.keys.filter((jwk) => {\n let candidate = kty === jwk.kty;\n if (candidate && typeof kid === 'string') {\n candidate = kid === jwk.kid;\n }\n if (candidate && typeof jwk.alg === 'string') {\n candidate = alg === jwk.alg;\n }\n if (candidate && typeof jwk.use === 'string') {\n candidate = jwk.use === 'sig';\n }\n if (candidate && Array.isArray(jwk.key_ops)) {\n candidate = jwk.key_ops.includes('verify');\n }\n if (candidate && alg === 'EdDSA') {\n candidate = jwk.crv === 'Ed25519' || jwk.crv === 'Ed448';\n }\n if (candidate) {\n switch (alg) {\n case 'ES256':\n candidate = jwk.crv === 'P-256';\n break;\n case 'ES256K':\n candidate = jwk.crv === 'secp256k1';\n break;\n case 'ES384':\n candidate = jwk.crv === 'P-384';\n break;\n case 'ES512':\n candidate = jwk.crv === 'P-521';\n break;\n }\n }\n return candidate;\n });\n const { 0: jwk, length } = candidates;\n if (length === 0) {\n throw new JWKSNoMatchingKey();\n }\n else if (length !== 1) {\n const error = new JWKSMultipleMatchingKeys();\n const { _cached } = this;\n error[Symbol.asyncIterator] = async function* () {\n for (const jwk of candidates) {\n try {\n yield await importWithAlgCache(_cached, jwk, alg);\n }\n catch {\n continue;\n }\n }\n };\n throw error;\n }\n return importWithAlgCache(this._cached, jwk, alg);\n }\n}\nasync function importWithAlgCache(cache, jwk, alg) {\n const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk);\n if (cached[alg] === undefined) {\n const key = await importJWK({ ...jwk, ext: true }, alg);\n if (key instanceof Uint8Array || key.type !== 'public') {\n throw new JWKSInvalid('JSON Web Key Set members must be public keys');\n }\n cached[alg] = key;\n }\n return cached[alg];\n}\nexport function createLocalJWKSet(jwks) {\n const set = new LocalJWKSet(jwks);\n return async function (protectedHeader, token) {\n return set.getKey(protectedHeader, token);\n };\n}\n","import { JOSEError, JWKSTimeout } from '../util/errors.js';\nconst fetchJwks = async (url, timeout, options) => {\n let controller;\n let id;\n let timedOut = false;\n if (typeof AbortController === 'function') {\n controller = new AbortController();\n id = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, timeout);\n }\n const response = await fetch(url.href, {\n signal: controller ? controller.signal : undefined,\n redirect: 'manual',\n headers: options.headers,\n }).catch((err) => {\n if (timedOut)\n throw new JWKSTimeout();\n throw err;\n });\n if (id !== undefined)\n clearTimeout(id);\n if (response.status !== 200) {\n throw new JOSEError('Expected 200 OK from the JSON Web Key Set HTTP response');\n }\n try {\n return await response.json();\n }\n catch {\n throw new JOSEError('Failed to parse the JSON Web Key Set HTTP response as JSON');\n }\n};\nexport default fetchJwks;\n","import fetchJwks from '../runtime/fetch_jwks.js';\nimport { JWKSInvalid, JWKSNoMatchingKey } from '../util/errors.js';\nimport { isJWKSLike, LocalJWKSet } from './local.js';\nfunction isCloudflareWorkers() {\n return (typeof WebSocketPair !== 'undefined' ||\n (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||\n (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));\n}\nlet USER_AGENT;\nif (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) {\n const NAME = 'jose';\n const VERSION = 'v5.2.0';\n USER_AGENT = `${NAME}/${VERSION}`;\n}\nclass RemoteJWKSet extends LocalJWKSet {\n constructor(url, options) {\n super({ keys: [] });\n this._jwks = undefined;\n if (!(url instanceof URL)) {\n throw new TypeError('url must be an instance of URL');\n }\n this._url = new URL(url.href);\n this._options = { agent: options?.agent, headers: options?.headers };\n this._timeoutDuration =\n typeof options?.timeoutDuration === 'number' ? options?.timeoutDuration : 5000;\n this._cooldownDuration =\n typeof options?.cooldownDuration === 'number' ? options?.cooldownDuration : 30000;\n this._cacheMaxAge = typeof options?.cacheMaxAge === 'number' ? options?.cacheMaxAge : 600000;\n }\n coolingDown() {\n return typeof this._jwksTimestamp === 'number'\n ? Date.now() < this._jwksTimestamp + this._cooldownDuration\n : false;\n }\n fresh() {\n return typeof this._jwksTimestamp === 'number'\n ? Date.now() < this._jwksTimestamp + this._cacheMaxAge\n : false;\n }\n async getKey(protectedHeader, token) {\n if (!this._jwks || !this.fresh()) {\n await this.reload();\n }\n try {\n return await super.getKey(protectedHeader, token);\n }\n catch (err) {\n if (err instanceof JWKSNoMatchingKey) {\n if (this.coolingDown() === false) {\n await this.reload();\n return super.getKey(protectedHeader, token);\n }\n }\n throw err;\n }\n }\n async reload() {\n if (this._pendingFetch && isCloudflareWorkers()) {\n this._pendingFetch = undefined;\n }\n const headers = new Headers(this._options.headers);\n if (USER_AGENT && !headers.has('User-Agent')) {\n headers.set('User-Agent', USER_AGENT);\n this._options.headers = Object.fromEntries(headers.entries());\n }\n this._pendingFetch || (this._pendingFetch = fetchJwks(this._url, this._timeoutDuration, this._options)\n .then((json) => {\n if (!isJWKSLike(json)) {\n throw new JWKSInvalid('JSON Web Key Set malformed');\n }\n this._jwks = { keys: json.keys };\n this._jwksTimestamp = Date.now();\n this._pendingFetch = undefined;\n })\n .catch((err) => {\n this._pendingFetch = undefined;\n throw err;\n }));\n await this._pendingFetch;\n }\n}\nexport function createRemoteJWKSet(url, options) {\n const set = new RemoteJWKSet(url, options);\n return async function (protectedHeader, token) {\n return set.getKey(protectedHeader, token);\n };\n}\n","// import { createVerifier } from 'fast-jwt'\n// import buildGetJwks from \"get-jwks\";\nimport join from \"url-join\";\nimport * as jose from \"jose\";\n\nexport const verifyToken = async ({\n token,\n baseApiUrl,\n oid,\n}: {\n token?: string;\n baseApiUrl: string;\n oid: string;\n}) => {\n if (!token) return Promise.reject();\n\n const remoteJWKS = new URL(join(baseApiUrl, \"/.well-known/jwks.json\"));\n\n const JWKS = jose.createRemoteJWKSet(remoteJWKS);\n\n // throws if verification fails\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { payload: _, protectedHeader: __ } = await jose.jwtVerify(\n token,\n JWKS,\n {\n issuer: baseApiUrl,\n audience: oid,\n }\n );\n};\n","import { LoaderFunctionArgs } from \"@remix-run/server-runtime\";\nimport { isDeferredData } from \"@remix-run/server-runtime/dist/responses\";\nimport {\n addSlashIdToDeferredResponse,\n addSlashIdToResponse,\n assertCallbackResult,\n getUserTokenFromCookies,\n isRedirect,\n isResponse,\n} from \"./util\";\nimport { RootAuthLoaderCallback, isCallbackDefined } from \"./callback\";\nimport { verifyToken } from \"./verify\";\nimport { SSR } from \"@slashid/slashid\";\n\ntype RootLoaderSlashIDContext = {\n baseApiUrl: string;\n sdkUrl: string;\n analyticsEnabled?: boolean;\n oid: string;\n};\n\nconst defaultCallback: any = () => ({});\n\nexport const rootLoader =\n (context: RootLoaderSlashIDContext) =>\n <T extends RootAuthLoaderCallback>(callback: T = defaultCallback) =>\n async (args: LoaderFunctionArgs): Promise<ReturnType<T>> => {\n const token = getUserTokenFromCookies(args.request.headers.get(\"cookie\"));\n\n const verified = await verifyToken({\n token,\n baseApiUrl: context.baseApiUrl,\n oid: context.oid,\n })\n .then(() => true)\n .catch(() => false);\n\n const slashid = {\n slashid: verified ? token : undefined,\n };\n\n if (!isCallbackDefined(callback)) {\n return addSlashIdToResponse(new Response(JSON.stringify({})), slashid);\n }\n\n const user =\n verified && token\n ? new SSR.User(token, {\n baseURL: context.baseApiUrl,\n oid: context.oid,\n sdkURL: context.sdkUrl,\n analyticsEnabled: context.analyticsEnabled,\n })\n : undefined;\n\n const callbackResult = await callback({\n ...args,\n context: {\n ...args.context,\n user,\n },\n });\n assertCallbackResult(callbackResult);\n\n if (isDeferredData(callbackResult)) {\n return addSlashIdToDeferredResponse(callbackResult as any, slashid);\n }\n\n if (!isResponse(callbackResult)) {\n /**\n * If it's not a response then it's a POJO or null\n *\n * For this case, we apply the same behaviour as if there was no callback\n */\n const body = callbackResult ?? {};\n return addSlashIdToResponse(new Response(JSON.stringify(body)), slashid);\n }\n\n try {\n // don't modify the request, it's a redirect\n if (isRedirect(callbackResult)) return callbackResult as any;\n\n return addSlashIdToResponse(callbackResult, slashid);\n } catch {\n throw new Error(\"Bad response format in callback\");\n }\n };\n","/* eslint-disable react/display-name */\nimport { useLoaderData } from \"@remix-run/react\";\nimport {\n RemixSlashIDProviderOptions,\n SlashIDProvider,\n} from \"./slashid-provider\";\nimport { rootLoader } from \"./root-loader\";\nimport {\n LoaderFunctionArgs,\n type LoaderFunction,\n} from \"@remix-run/server-runtime\";\nimport { getUserTokenFromCookies } from \"./util\";\nimport { SSR } from \"@slashid/slashid\";\n\ntype SlashIDAppOptions = Omit<\n RemixSlashIDProviderOptions,\n \"children\" | \"initialToken\"\n>;\n\nfunction Wrapper({\n children,\n options,\n}: {\n children: React.ReactNode;\n options: SlashIDAppOptions;\n}) {\n const out = useLoaderData();\n\n const { slashid } = out as unknown as { slashid?: string };\n\n return (\n <SlashIDProvider\n baseApiUrl=\"https://api.slashid.com\"\n sdkUrl=\"https://cdn.slashid.com/sdk.html\"\n initialToken={slashid}\n {...options}\n >\n {children}\n </SlashIDProvider>\n );\n}\n\nexport const createSlashIDApp = (options: SlashIDAppOptions) => {\n const opts = {\n baseApiUrl: \"https://api.slashid.com\",\n sdkUrl: \"https://cdn.slashid.com/sdk.html\",\n ...options,\n };\n\n const SlashIDApp = ({ children }: any) => (\n <Wrapper options={options}>{children}</Wrapper>\n );\n\n const createSlashIDRootLoader = () => {\n const context = {\n baseApiUrl: opts.baseApiUrl,\n sdkUrl: opts.sdkUrl,\n analyticsEnabled: opts.analyticsEnabled,\n oid: opts.oid,\n };\n return rootLoader(context);\n };\n\n const slashIDLoader =\n (loader: LoaderFunction) => (args: LoaderFunctionArgs) => {\n const cookies = args.request.headers.get(\"cookie\");\n const token = getUserTokenFromCookies(cookies);\n\n if (!token) return loader(args);\n\n return loader({\n ...args,\n context: {\n ...args.context,\n user: new SSR.User(token, {\n baseURL: opts.baseApiUrl,\n sdkURL: opts.sdkUrl,\n oid: opts.oid,\n analyticsEnabled: opts.analyticsEnabled,\n }),\n },\n });\n };\n\n return {\n SlashIDApp,\n slashIDRootLoader: createSlashIDRootLoader(),\n slashIDLoader,\n };\n};\n","import { useRevalidator } from \"@remix-run/react\";\nimport { useSlashID as useSlashIDReact, type UseSlashID } from \"@slashid/react\";\n\nexport const useSlashID = (): UseSlashID => {\n const { logOut, ...rest } = useSlashIDReact();\n const revalidator = useRevalidator();\n\n return {\n logOut: () => {\n logOut();\n revalidator.revalidate();\n return undefined\n },\n ...rest,\n };\n};\n","declare global {\n const __REACT_FORM_STYLES__: string;\n}\n\nexport const Styles = () => {\n return <style>{__REACT_FORM_STYLES__}</style>;\n};\n","import { useRevalidator } from \"@remix-run/react\";\nimport { Form as FormReact } from \"@slashid/react\";\nimport { useCallback } from \"react\";\nimport { Styles } from \"./styles\";\n\nexport const Form = ({ children, onSuccess, ...props }: any) => {\n const revalidator = useRevalidator();\n\n const success = useCallback(() => {\n revalidator.revalidate();\n onSuccess();\n }, [onSuccess, revalidator]);\n\n return (\n <>\n <Styles />\n <FormReact {...props} onSuccess={success}>\n {children}\n </FormReact>\n </>\n );\n};\n"],"names":["addSlashIdToResponse","response","slashid","clone","data","json","addSlashIdToDeferredResponse","assertCallbackResult","callbackReturn","getUserTokenFromCookies","cookies","cookie","acc","cur","encodedKey","encodedValue","key","value","getUser","args","user","isResponse","callback","isRedirect","status","$parcel$export","n","v","s","$b53ace5c1f7fa838$exports","$0c9d6ccd124360dc$var$major","$0c9d6ccd124360dc$var$minor","$0c9d6ccd124360dc$var$patch","$0c9d6ccd124360dc$export$f9582ef3c55143f","$168d06aed8b3cdb0$export$2812a1fb15aca49c","$168d06aed8b3cdb0$export$fa89be98fe0936f2","configuration","$168d06aed8b3cdb0$export$ac4103b836844853","apiKey","accessToken","$168d06aed8b3cdb0$export$ac4f8128ea29c5","$168d06aed8b3cdb0$export$70edad7ad5bb3f5d","middlewares","next","preMiddlewares","pre","postMiddlewares","post","mime","context","initOverrides","url","init","$168d06aed8b3cdb0$export$286baf652d0b1206","headers","initOverrideFn","initParams","overriddenInit","$168d06aed8b3cdb0$var$isFormData","$168d06aed8b3cdb0$var$isBlob","constructor","fetchParams","middleware","e","$168d06aed8b3cdb0$export$26e841bcf1aeb894","msg","cause","$168d06aed8b3cdb0$export$a27bea7cdb975d70","field","$168d06aed8b3cdb0$export$83cb526776fb323d","$168d06aed8b3cdb0$export$f7e9f41ea797a17","params","prefix","$168d06aed8b3cdb0$var$querystringSingleKey","part","keyPrefix","fullKey","multiValue","singleValue","valueAsArray","$168d06aed8b3cdb0$export$9a41a2c2c33dd8d4","raw","transformer","jsonValue","$168d06aed8b3cdb0$export$20446dc680588cc3","$0eadbd49a71751c9$export$c449262465ba2bb9","$0eadbd49a71751c9$export$3fe7617ab48f3b5c","ignoreDiscriminator","$39b4d090739e0edb$export$70023f934842ce53","$39b4d090739e0edb$export$9057b09091c07cb0","$a9bac9599bd76c1d$export$9a91be5fb3879fb9","$a9bac9599bd76c1d$export$39dc308db371e81","$98d4ae80407991f3$export$53557473c48f27d7","$98d4ae80407991f3$export$488f61d1ca30688d","$6efd4ce2feb2bdc3$export$7962c6bffc1da42","$6efd4ce2feb2bdc3$export$7da7fa2b5d7d85f3","$6efd4ce2feb2bdc3$export$b1e18bb9237bd017","$5db1ceb0857c067d$export$91e7f239824ee67f","$938a3eca74e6d666$export$2ddc20e282619fc3","$7531f066927bc183$export$6da0bcef5e0a8fdb","$f449912ebe4a113d$export$9e8a349f91c23ca8","$4c15086ce037a833$export$b0b890df0497afa3","$7129eb840d90c811$export$7b6f5d07bfad78e9","$daf2c31c3fecb469$export$69b7ca2907b53e3d","$8660c4b56cb27ecd$export$751a8f178b8690f0","$532c77d166192e4f$export$27fad2cccc00f212","$a81d20114b11fe07$export$b7b281ec8692f580","$68761697813975d9$export$2704f2dae5463d10","$b1e25c535a095a1e$export$1181dc7f727e9334","$ec04d4058abe68eb$export$d7f719716c0ef239","$d180e6976bd68c99$export$8279f5e63c6521d8","$d180e6976bd68c99$export$67789e1d0e9f3dc1","$d180e6976bd68c99$export$db3563c2b590c7be","$d180e6976bd68c99$export$6eefe3f1006b48e7","$1221773f83e5dbf8$export$885886f088cd0586","$1221773f83e5dbf8$export$4298639bc743d812","$1221773f83e5dbf8$export$a40e0eed0469a814","$c40c5abb0dd863b2$export$11c41aa448e0ad82","$c40c5abb0dd863b2$export$68e40d7b475f3dd1","$c40c5abb0dd863b2$export$82ff335443c9930","$c3dfd57c89c1e2e4$export$fccc5f59fb10fb43","$c3dfd57c89c1e2e4$export$6ae5a046f2854d1f","$d31daadb48d86051$export$c89b7013df12088e","$9bd594023bed0442$export$c53683eed796cca6","$9bd594023bed0442$export$3bee7ccd7ffe9afb","$0f7f42b4792df871$export$52281bb8e2d4eb8a","$731c3bb20387fcbc$export$11c938a12b9e7a4e","$552b2b986ce10206$export$e5fe87714f320c28","$2cd13ff80d3626b9$export$e4f7639cf60c1778","$d6a124919832e9d9$export$b8669a208e58c77c","$e6643d9a3244a168$export$f1b0b8bf9576e182","$e6643d9a3244a168$export$c12821ff4657af79","$ced0e7bcad159a72$export$2886b0dfa544935e","$84d4b0b0bfe56e36$export$69d72f503d5a95ba","$84d4b0b0bfe56e36$export$31dc24e629860ee2","$ef69dd8298107877$export$19245043fc4758a9","$f46e79312b38cc71$export$13d6aef7f9d716af","$c35f4da18c4a6ef9$export$90f387175041abdf","$dad19632247d7ad3$export$2b369be06dcbfccd","$dad19632247d7ad3$export$c8d0f078679e0082","$c2a276139e1508e8$export$7bbec83240b0eeeb","$c2a276139e1508e8$export$4abdb906a4385f20","$d393f165a83b0afb$export$8e49444f78fbbdb8","$fe91a0ee8cd31d25$export$a72f46cfd2ab2833","$a5d8de5bca3957eb$export$5209219e6db8ba4","$eec3bf88135a9003$export$cb23567fd98fa46d","$a8919be709d7e1bd$export$a76e314527c05f59","$e22d1c537c1da7c9$export$2da1f0d71339461d","$1cb67901b3f3a3fc$export$1fc7ada93ab359fd","$1d78f18e8764654e$export$55abdab594c922a4","$9eee0f736eff090c$export$66614e5f3c5485b5","$5f60ac724ebd3909$export$3724b7510e24ce33","$5f60ac724ebd3909$export$7c9a38e4a1e85b4b","$d978296a495364e5$export$947f28fa7e24f5f5","$5a60a1ef94cb77c3$export$4f622a4d4faaed73","isInstance","$5a60a1ef94cb77c3$export$c452db75c4efa107","$13463f5a948e6169$export$6dc0f627c99c13a9","$29485475e30fbd17$export$a75b0e545407f1d9","$29485475e30fbd17$export$a811b2d26736ed97","$fd99e17397a87416$export$c1ff3c79d2429507","$db804c8fc7fc378a$export$51952aaa367c79db","$5d22f1c59e3d2c7d$export$df3e12f65ba023ba","$4422b127d07e08ac$export$1bc598454e9d0dfc","$28a0fc7152f59fd1$export$be6248ff0e0e157f","$28a0fc7152f59fd1$export$143dc34f19152636","$763d426bb5dfc23e$export$ba0c7e27b8aa00e","$ed86b74be8b8eb89$export$288f5f309e052c1d","$9cbd7336b515f5ff$export$84b3f9c7224f9426","$9cbd7336b515f5ff$export$2b6529f2847f83f3","$9cbd7336b515f5ff$export$44aa2b641bcf85ed","$ee0ffc5480251ffa$export$40975273e0c4497a","$ee0ffc5480251ffa$export$b727b488f0f7a4e4","$918afe7ca221f314$export$13e148a83364b95","$d72477ff18746529$export$b9e34caf47c08b2","$d72477ff18746529$export$afe857fd8914318a","$6df6f0c3c1503c39$export$b860effd636f4c33","$6df6f0c3c1503c39$export$d11a34d219cd35f6","$38e4ceff1a16944f$export$16028d5073b65888","$38e4ceff1a16944f$export$9423100a03fc92a1","$39cb95385236689b$export$fc7f4a9925d556ff","$39cb95385236689b$export$95db559018dc2213","$de585f0e4fd9d86f$export$859624b73bf55232","$de585f0e4fd9d86f$export$ebb02bfda1ac3737","$1c6e04be56d36e82$export$d8f7fb0a0d937eb3","$1c6e04be56d36e82$export$357be021b1018458","$7f29a4ab971b3e8e$export$3638d863f491f1bd","$7f29a4ab971b3e8e$export$796c1adabeaa853a","$2aab34e5b640ab49$export$e3c48c2a714dee12","$2aab34e5b640ab49$export$18255b16eead3caf","$b8c6905b3321bf04$export$7a11cc6365c7aa2d","$b8c6905b3321bf04$export$43fdfaf085711574","$d75afd2454a10ab3$export$4acec490369f0cc7","$d75afd2454a10ab3$export$7f6a248c6f964d4a","$9df250add66fe5a4$export$bfd68bd3621b7ea1","$9df250add66fe5a4$export$9f278e8bd0ab65d2","$84e44e75922d87c6$export$7eb26765f35a90a8","$c1d470802eb5d4dd$export$c5ad9a62b0e0f9c1","$c1d470802eb5d4dd$export$92265434404f74f","$c5a2fdac9e1dddc8$export$af4b4231cf2b0254","$c5a2fdac9e1dddc8$export$2e7094b7545fa908","$bcf9a87696b945ac$export$1d7fdf6b6870e0e7","$bcf9a87696b945ac$export$be603d3798694712","$61bff2e9c70d970f$export$6b84b521d90710d5","$61bff2e9c70d970f$export$16e23935a5c17df6","$38a16b083a989950$export$5cffeb8ce2443b10","$38a16b083a989950$export$2e5f50cb2cd6002e","$0172a9322b470861$export$8b7251cbcbbc3a83","$84e191c0f546a725$export$e61274da9e6eaaa0","$7be8f15fd333c945$export$3bd7d2b6a8fd413d","$de791efae2088fc4$export$95d3101c7670792a","requestParameters","queryParameters","headerParameters","token","tokenString","$8dabc67a561e7dc0$export$872437fb2a17cd0e","$6d6044a55374bf35$export$9d7eae2d04d44e94","$e758e522c3e01abb$export$f2ae3e6781ddb521","$01183d3ef1e1dae1$export$72bb25602803ae5f","$1d209ce78d67cb65$var$getCenteredWindowParams","left","$1d209ce78d67cb65$export$5d0606a13b21f3f8","windowParams","myWindow","redirectMessage","_myWindow_document","$3943e8c808f9150b$export$ca8daecbc0756b1b","base","comparison","$3943e8c808f9150b$export$fc99885b7e473d08","input","$561d3dd760db35d2$var$ACCEPTED_BASE_URL_PROTOCOLS","$561d3dd760db35d2$export$7586e69c60094c9d","obj","analyticsEnabled","oid","$561d3dd760db35d2$export$1fd9c30e1b817ee4","$561d3dd760db35d2$export$af64486b3e452a98","authenticationFactor","extras","client_id","provider","ux_mode","redirect_target","popup","setPopupUrl","$561d3dd760db35d2$export$98f5d2f2dc6acbbd","$50a898cc017f886c$var$e","$50a898cc017f886c$var$r","r","o","a","i","c","$50a898cc017f886c$var$t","t","$50a898cc017f886c$export$b9721ef022f71a68","$50a898cc017f886c$var$o","$50a898cc017f886c$export$2e2bcd8739ae039","$36a5d67002440f9c$export$d7905dc64d88e9a","$36a5d67002440f9c$export$356eb44c374cfc19","attributeNames","errors","attributes","bucketName","$0a8aed675f99e0c3$var$isTokenContainer","$0a8aed675f99e0c3$export$d3bddec52a513503","_this__clientOptions","clientConfig","_this__token","directID","_this__tokenClient","groupsClaimName","consentLevels","result","_this__tokenContainer","_ref","options","decodedToken","$962c828014ed43f3$export$61f12a353e32d6b4","$962c828014ed43f3$export$b1acc9d748d757e8","$6c3db34ca8f899b2$export$80edbf15fa61a4db","MessageType","$6c3db34ca8f899b2$export$e863b19988e8aafd","$6c3db34ca8f899b2$var$randomId","$6c3db34ca8f899b2$export$612749e00a84ad10","id","error","$6c3db34ca8f899b2$export$561665cd9d5caa15","challenge","$6c3db34ca8f899b2$export$8b7d42a6791cdca9","attestation","$6c3db34ca8f899b2$export$b2a6577196c1aa92","$6c3db34ca8f899b2$export$85b72b60e2ec2ca5","$6c3db34ca8f899b2$export$f01d2f4fd62a4592","$6c3db34ca8f899b2$export$b622fa8237033579","$6c3db34ca8f899b2$export$cbc7b39b5c005822","$6c3db34ca8f899b2$export$b19581adb4c22a0e","rndArray","$91e59605951c3712$exports","$91e59605951c3712$export$91b533cbc711414e","$91e59605951c3712$export$a98b3b17ec378e54","$91e59605951c3712$export$a8908c3867f6f20b","$91e59605951c3712$export$f47339bf28a93789","$91e59605951c3712$export$62f820c3bd739e62","$91e59605951c3712$export$5f71bfa25cb0590e","$91e59605951c3712$export$df846a7dbca1e3d2","$91e59605951c3712$export$dbb6fdd470346077","$91e59605951c3712$export$5db8ebadb53b7f77","$91e59605951c3712$export$f0f443d58d6f855d","$91e59605951c3712$export$6fbf0ec11a25c8b2","$91e59605951c3712$export$f0ff5c81573c8df0","$91e59605951c3712$export$7f84d4628fc07381","method","message","_error_response","_error_response1","_errors","_errors_","regexp","responseError","rateLimitErrorObject","text","stringified","$91e59605951c3712$var$getErrorMessage","payload","handle","previousToken","challengeId","errorType","$aae5e813cb61d169$export$2f872c0f2117be69","str","urlEncodedStr","binStr","$aae5e813cb61d169$export$c564cdbbe6da493","urlSafe","$be25baf6593a301c$export$e772c8ff12451969","ms","resolve","$dd770638bb60b80a$export$2e2bcd8739ae039","$185870848aa59297$export$d245da411ccc251b","hadFocus","$185870848aa59297$export$32deff8ed92da53f","$185870848aa59297$export$af2e6529191b5a73","$185870848aa59297$export$2d39cf9e3832749f","event","$185870848aa59297$var$PUBLIC_READ_EVENTS","$185870848aa59297$var$PUBLIC_WRITE_EVENTS","$185870848aa59297$var$PRIVATE_EVENTS","$185870848aa59297$export$ab1e84ca8f5ea7e","evt","$185870848aa59297$export$fdd1788388ec077b","$185870848aa59297$export$a447b62f94c26639","$185870848aa59297$export$6f5e8f34570e3ad1","$98dcef32dd30b893$export$ccfc10b8bad1155a","win","reject","request","ponged","responseListener","$b16ebbc972dd3e11$export$68371093923cfc31","_this_remote","sourceWindow","remoteValue","iframe","remoteOrigin","$b16ebbc972dd3e11$var$StorageBase","store","$b16ebbc972dd3e11$export$720664048a0262dc","identifiers","localIdentifiers","remoteIdentifiers","identifier","updatedIdentifiers","id1","id2","ids1","ids2","$b16ebbc972dd3e11$var$CredentialsStorageBase","$b16ebbc972dd3e11$export$24dd33171b764b1e","credIds","parsed","item","localCredIds","remoteCredIds","credId","updatedCredIds","$b16ebbc972dd3e11$export$28d449e9c93b4ea6","credIdsMap","scope","localCredIdsMap","updatedCredIdsMap","$31425f702a7b168e$export$ec7121d802e738bd","handleOrFactor","updatedUser","optionsOrSid","$708a5f26294b10cd$export$261888861cdb8a55","$223ce62d92e952f1$var$getRandomValues","$223ce62d92e952f1$var$rnds8","$223ce62d92e952f1$export$2e2bcd8739ae039","$19a53ccdb45819f0$export$2e2bcd8739ae039","$98dbfcf47d2aa778$var$validate","uuid","$98dbfcf47d2aa778$export$2e2bcd8739ae039","$1a32167e8210dffc$var$byteToHex","$1a32167e8210dffc$var$i","$1a32167e8210dffc$var$stringify","arr","offset","$1a32167e8210dffc$export$2e2bcd8739ae039","$9d6b13a2a5a8c65c$var$v4","buf","rnds","$9d6b13a2a5a8c65c$export$2e2bcd8739ae039","$44a66ad005cdacec$var$CORRELATION_ID_STORAGE_KEY","$44a66ad005cdacec$export$2b3af6baec22bd98","_e_factor","reason","_e_factor1","$708a5f26294b10cd$export$5f74d2b45f2a2732","correlationID","location","_this_user","_this_sdk_oid","blob","personIdentifiedEvent","personLoggedOut","_e_authenticationFactor","authenticationSucceededEvent","authenticationFailedEvent","virtualPageLoadEvent","$708a5f26294b10cd$var$SlashIDIFrameID","$708a5f26294b10cd$var$PRIVATE_PUBLISH","$708a5f26294b10cd$var$PRIVATE_SUBSCRIBE","$708a5f26294b10cd$var$PRIVATE_UNSUBSCRIBE","sid","type","handler","jsWindow","queryString","urlParams","challengeObjs","challengePackId","encodedChallenges","challengesData","challengesStr","_this_urlChallengesUser_authentications","challengeObj","lastAuthentication","sdkURLStr","slashIDIFrame","handleType","availableMethods","prevToken","opts","knownCredIds","cleanUpAfterError","_oidcOptions_extras","_oidcOptions_extras1","oidcOptions","_saml_extras","_saml_extras1","saml","factor","challenges","authnFactor","otpOpts","userToken","_challenge_options","otpFactorOptions","handleOtpInput","getOtp","otp","otpCode","decodedOptions","allowCredentials","idx","credential","attestationResponse","rawId","encodedCredential","sdkURL","sdkWindow","excludeCredentials","_challenge_options1","rpID","errorEvent","baseURL","crossDomainStore","$6fc43efda371d022$export$8f376290db229087","$6fc43efda371d022$export$b8e9cd941e8016ac","Os","Ps","Xo","Gn","Ot","Qo","Rs","D","d","u","f","b","Pt","er","As","g","p","y","m","P","C","h","L","J","x","fe","me","se","_","S","w","$","E","j","R","A","W","V","M","F","K","ne","de","q","k","H","z","te","ve","pe","N","Z","be","ae","oe","ue","Fe","ie","ke","Ce","ye","Pe","ut","Yo","$e","we","Ae","Ie","Je","Vt","ct","lt","ds","Sn","us","fs","Do","Fo","qt","vs","Vo","Bo","En","ps","gs","hs","bs","Cs","ys","qn","Ho","dt","On","Pn","Uo","xs","Wo","ws","Go","Ko","_s","$s","Zo","ks","Ss","Es","qs","Xr","Q","Is","Jr","Be","tn","G","Y","ee","B","ce","tr","Ms","zs","Ns","yt","Ds","nn","Qr","Fs","ea","Vs","jt","Bs","Hs","ta","Us","Ws","Gs","Ks","De","X","na","Zs","co","nr","or","Ys","Le","lo","Xs","oa","pn","uo","vn","Js","Qs","ra","ec","tc","aa","nc","oc","ia","rc","ac","ic","sc","sa","ca","la","cc","lc","rr","on","I","Ke","O","Mt","l","dc","uc","da","ge","ht","Re","vc","en","Kn","io","pc","fc","fn","fo","re","Se","He","mc","gc","le","ua","Yr","Ee","hc","Zr","xt","bc","Bt","Cc","U","yc","ze","fa","xc","va","Tc","mn","rt","jc","mo","Lc","Rc","gn","Pv","ma","zc","Mc","ga","Ac","ha","Ic","ba","Nc","hn","Zn","ya","Ln","_a","fr","Me","$a","hl","Xt","Jt","bl","Cl","Rn","yl","vr","xl","wl","_l","$l","ka","kl","Sa","An","bn","Sl","El","ql","Ol","Pl","Tl","Ea","jl","In","Ll","Rl","Al","Il","Ml","Xn","Ht","ft","zl","qa","Nl","Dl","mr","Oa","Pa","Fl","Vl","Bl","Hl","Ut","gr","hr","Ul","Wl","Gl","vt","Kl","Zl","Ta","ja","Yl","pt","Wt","Gt","Mn","La","Xl","Jl","Ra","Aa","Ia","Tv","Ma","je","Da","Fa","Va","Ed","jv","zd","Nd","Dd","Fd","Vd","Bd","Hd","Ud","zt","Wd","br","Cr","Gd","Kd","Zd","Yd","Xd","yr","zn","Jd","T","Qd","eu","_e","tu","nu","Co","ou","ru","au","iu","xr","Qn","su","cu","wr","lu","du","uu","fu","_r","Ha","Nn","Dn","$r","vu","et","Sr","pu","Cu","Ua","mu","kr","gu","hu","bu","Er","yu","tt","qe","rn","Kt","nt","xu","wu","eo","Ue","We","wt","yo","xo","_t","wo","_u","an","$u","to","ku","Su","Eu","Wa","sn","qr","qu","Rt","Or","Ou","Pr","Tr","Pu","Tu","ju","Lu","Ru","Au","ot","Ga","Oe","Ye","Ge","Ne","jr","Nt","Te","Iu","_o","$o","Mu","bt","Cn","yn","Ka","At","Za","ko","mt","zu","Ya","Nu","at","Du","Fu","Xa","Vu","Bu","Hu","Lr","Ja","Uu","Wu","Gu","Ku","Rr","Qa","Zu","Yu","Xu","Ju","Qu","ef","tf","Qt","cn","ei","Ar","Ir","nf","js","ti","ni","oi","of","ri","rf","af","sf","ai","cf","Lv","lf","df","uf","ii","ff","vf","pf","mf","gf","hf","xn","wn","_n","bf","$t","Rv","So","Cf","it","yf","xf","wf","di","_f","$f","ui","fi","kf","Sf","Ct","Ef","so","si","qf","Ve","kt","Mr","Of","Pf","ci","zr","Tf","jf","Lf","Av","Rf","no","Af","li","If","Zt","Mf","zf","Nf","Nr","Df","Ff","Vf","Bf","Hf","Uf","Wf","Gf","Kf","Zf","Yf","Xf","Jf","Qf","e1","t1","n1","o1","r1","a1","i1","$n","Fn","s1","Eo","oo","vi","c1","l1","pi","d1","u1","f1","v1","mi","p1","m1","b1","C1","g1","h1","y1","x1","gi","w1","Iv","hi","_1","qo","$1","k1","S1","E1","q1","bi","Ci","O1","P1","T1","j1","L1","R1","A1","I1","yi","M1","z1","Dr","ln","N1","D1","F1","V1","B1","Vn","xi","Fr","H1","wi","_i","$i","ki","Si","Ei","qi","Oi","U1","W1","G1","Pi","Ti","ji","Oo","Yt","K1","Mv","Tt","Ts","Xe","Z1","Vr","Br","Y1","X1","J1","Li","Q1","e0","t0","Ri","Po","Ai","Ii","Mi","n0","Dt","ro","o0","r0","zi","Ni","gt","Di","Fi","ao","To","a0","he","St","i0","s0","c0","xe","l0","jo","d0","Vi","Bi","Hi","Hr","u0","f0","v0","Ui","Lo","Wi","Gi","p0","m0","Ki","Zi","g0","h0","Yi","b0","Xi","Ji","Et","C0","y0","Jo","x0","kn","w0","S0","E0","Ur","Qi","es","Wr","q0","ts","Ro","I0","un","M0","Ft","Ao","Io","Hn","Mo","z0","N0","D0","F0","V0","ns","os","zo","st","B0","H0","U0","W0","G0","Gr","K0","Z0","Y0","X0","It","sv","mv","is","ss","yv","cs","xv","React","require$$0","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","format","_len2","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","outerName","lazyComponent","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","describeBuiltInComponentFrame","name","source","ownerFn","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","reactJsxRuntime_production_min","jsxRuntimeModule","require$$1","SlashIDProviderSSR","useMemo","SSR","ServerThemeRoot","SlashIDContext","InnerSlashIDProvider","sdkState","useSlashID","SlashIDProvider","hydrated","setHydrated","useState","useEffect","ReactSlashIDProvider","_extends","target","Action","PopStateEventType","createMemoryHistory","initialEntries","initialIndex","v5Compat","entries","entry","index","createMemoryLocation","clampIndex","action","listener","getCurrentLocation","state","createLocation","warning","createHref","createPath","path","parsePath","nextLocation","delta","nextIndex","createBrowserHistory","createBrowserLocation","window","globalHistory","pathname","search","hash","createBrowserHref","getUrlBasedHistory","createHashHistory","createHashLocation","createHashHref","href","hashIndex","validateHashLocation","invariant","cond","createKey","getHistoryState","current","parsedPath","searchIndex","getLocation","validateLocation","getIndex","handlePop","history","push","historyState","replace","createURL","ResultType","immutableRouteKeys","isIndexRoute","route","convertRoutesToDataRoutes","routes","mapRouteProperties","parentPath","manifest","treePath","indexRoute","pathOrLayoutRoute","matchRoutes","locationArg","basename","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","matchRouteBranch","safelyDecodeURI","convertRouteMatchToUiMatch","loaderData","parentsMeta","flattenRoute","relativePath","meta","joinPaths","routesMeta","computeScore","_route$path","exploded","explodeOptionalSegments","segments","first","rest","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","score","segment","branch","matchedParams","matchedPathname","end","remainingPathname","matchPath","normalizePathname","generatePath","originalPath","stringify","array","keyMatch","optional","param","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo","paramName","splatValue","safelyDecodeURIComponent","caseSensitive","regexpSource","startIndex","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","getToPathname","paths","responseInit","AbortedDeferredError","DeferredData","onAbort","_ref2","promise","undefinedError","aborted","settledKey","subscriber","signal","_ref3","unwrapTrackedPromise","isTrackedPromise","defer","redirect","redirectDocument","ErrorResponseImpl","statusText","internal","isRouteErrorResponse","validMutationMethodsArr","validMutationMethods","validRequestMethodsArr","validRequestMethods","redirectStatusCodes","redirectPreserveMethodStatusCodes","IDLE_NAVIGATION","IDLE_FETCHER","IDLE_BLOCKER","ABSOLUTE_URL_REGEX","defaultMapRouteProperties","TRANSITIONS_STORAGE_KEY","createRouter","routerWindow","isBrowser","isServer","detectErrorBoundary","dataRoutes","inFlightDataRoutes","future","unlistenHistory","subscribers","savedScrollPositions","getScrollRestorationKey","getScrollPosition","initialScrollRestored","initialMatches","initialErrors","getInternalRouterError","getShortCircuitMatches","initialized","hasLazyRoutes","hasLoaders","router","pendingAction","pendingPreventScrollReset","pendingNavigationController","pendingViewTransitionEnabled","appliedViewTransitions","removePageHideEventListener","isUninterruptedRevalidation","isRevalidationRequired","cancelledDeferredRoutes","cancelledFetcherLoads","fetchControllers","incrementingLoadId","pendingNavigationLoadId","fetchReloadIds","fetchRedirectIds","fetchLoadMatches","activeFetchers","deletedFetchers","activeDeferreds","blockerFunctions","ignoreNextHistoryUpdate","initialize","historyAction","blockerKey","shouldBlockNavigation","updateBlocker","blockers","updateState","startNavigation","restoreAppliedTransitions","_saveAppliedTransitions","persistAppliedTransitions","dispose","deleteFetcher","deleteBlocker","subscribe","newState","completedFetchers","deletedFetchersKeys","fetcher","completeNavigation","_temp","_location$state","_location$state2","flushSync","isActionReload","isMutationMethod","actionData","mergeLoaderData","preventScrollReset","viewTransitionOpts","priorPaths","toPaths","getSavedScrollPosition","navigate","normalizedPath","normalizeTo","submission","normalizeNavigateOptions","currentLocation","userReplace","revalidate","interruptActiveLoads","saveScrollPosition","routesToUse","loadingNavigation","notFoundMatches","cancelActiveDeferreds","isHashChangeOnly","createClientSideRequest","pendingActionData","pendingError","findNearestBoundary","actionOutput","handleAction","getLoadingNavigation","shortCircuited","handleLoaders","navigation","getSubmittingNavigation","actionMatch","getTargetMatch","callLoaderOrAction","isRedirectResult","startRedirectNavigation","isErrorResult","boundaryMatch","isDeferredResult","overrideNavigation","fetcherSubmission","initialHydration","activeSubmission","getSubmissionFromNavigation","matchesToLoad","revalidatingFetchers","getMatchesToLoad","routeId","updatedFetchers","markFetchRedirectsDone","revalidatingFetcher","getLoadingFetcher","abortFetcher","abortPendingFetchRevalidations","results","loaderResults","fetcherResults","callLoadersAndMaybeResolveData","findRedirect","fetcherKey","processLoaderData","deferredData","didAbortFetchLoads","abortStaleFetchLoads","shouldUpdateFetchers","fetch","setFetcherError","handleFetcherAction","handleFetcherLoader","requestMatches","existingFetcher","updateFetcherState","getSubmittingFetcher","abortController","fetchRequest","originatingLoadId","actionResult","getDoneFetcher","revalidationRequest","loadId","loadFetcher","staleKey","doneFetcher","resolveDeferredData","_temp2","redirectLocation","isDocumentReload","redirectHistoryAction","formMethod","formAction","formEncType","currentMatches","fetchersToLoad","resolveDeferredResults","getFetcher","deleteFetcherAndUpdateState","count","controller","markFetchersDone","doneKeys","landedId","yeetedKeys","getBlocker","blocker","newBlocker","blockerFunction","predicate","cancelledRouteIds","dfd","enableScrollRestoration","positions","getPosition","getKey","getScrollKey","_internalSetRoutes","newRoutes","UNSAFE_DEFERRED_SYMBOL","createStaticHandler","query","_temp3","requestContext","isValidMethod","methodNotAllowedMatches","queryImpl","queryRoute","_temp4","_result$activeDeferre","routeMatch","submit","loadRouteData","isQueryRouteResponse","isRedirectResponse","isRouteRequest","loaderRequest","pendingActionError","getLoaderMatchesUntilBoundary","processRouteLoaderData","executedLoaders","getStaticContextFromError","isSubmissionNavigation","prependBasename","fromRouteId","relative","contextualMatches","activeRouteMatch","hasNakedIndexQuery","normalizeFormMethod","isFetcher","getInvalidBodyError","rawFormMethod","stripHashFromPath","searchParams","formData","convertFormDataToSearchParams","convertSearchParamsToFormData","boundaryId","boundaryMatches","isInitialLoad","currentUrl","nextUrl","navigationMatches","isNewLoader","currentRouteMatch","nextRouteMatch","shouldRevalidateLoader","isNewRouteInstance","fetcherMatches","fetcherMatch","shouldRevalidate","currentLoaderData","currentMatch","isNew","isMissingData","currentPath","loaderMatch","arg","routeChoice","loadLazyRouteModule","lazyRoute","routeToUpdate","routeUpdates","lazyRouteProperty","isPropertyStaticallyDefined","resultType","onReject","runHandler","abortPromise","handlerError","isSameBasename","contentType","isDeferredData","_result$init","_result$init2","statusCode","foundError","loaderHeaders","newLoaderData","mergedLoaderData","_temp5","errorMessage","deferred","signals","isRevalidatingLoader","unwrap","_window","transitions","sessionPositions","mode","ServerMode","isServerMode","sanitizeError","serverMode","sanitized","sanitizeErrors","serializeError","serializeErrors","serialized","val","responses","isRedirectStatusCode","DEFERRED_VALUE_PLACEHOLDER_PREFIX","createDeferredReadableStream","encoder","criticalData","preresolvedKeys","preresolvedKey","enqueueTrackedPromise","unsubscribe","isDeferredData_1","isCallbackDefined","normalize","strArray","resultArray","component","parts","urlJoin","crypto$1","isCryptoKey","decoder","concat","buffers","size","length","buffer","decodeBase64","encoded","binary","bytes","decode","JOSEError","JWTClaimValidationFailed","claim","JWTExpired","JOSEAlgNotAllowed","JOSENotSupported","JWSInvalid","JWTInvalid","JWKSInvalid","JWKSNoMatchingKey","JWKSMultipleMatchingKeys","JWKSTimeout","JWSSignatureVerificationFailed","unusable","prop","isAlgorithm","algorithm","getHashLength","getNamedCurve","alg","checkUsage","usages","expected","last","checkSigCryptoKey","actual","types","invalidKeyInput","withAlg","isKeyLike","isDisjoint","sources","header","parameters","parameter","isObjectLike","isObject","proto","checkKeyLength","modulusLength","subtleMapping","jwk","keyUsages","parse","keyData","crypto","importJWK","decodeBase64URL","asKeyObject","symmetricTypeCheck","asymmetricTypeCheck","usage","checkKeyType","validateCrit","Err","recognizedDefault","recognizedOption","protectedHeader","joseHeader","recognized","validateAlgorithms","option","algorithms","subtleDsa","getCryptoKey","verify","signature","cryptoKey","getVerifyKey","subtleAlgorithm","flattenedVerify","jws","parsedProt","base64url","extensions","b64","resolvedKey","compactVerify","verified","epoch","date","minute","hour","day","week","year","REGEX","secs","matched","unit","numericDate","normalizeTyp","checkAudiencePresence","audPayload","audOption","jwtPayload","encodedPayload","typ","requiredClaims","issuer","subject","audience","maxTokenAge","presenceCheck","tolerance","currentDate","now","age","max","jwtVerify","jwt","getKtyFromAlg","isJWKSLike","jwks","isJWKLike","LocalJWKSet","kid","kty","candidates","candidate","_cached","importWithAlgCache","cache","cached","fetchJwks","timeout","timedOut","isCloudflareWorkers","USER_AGENT","_b","RemoteJWKSet","createRemoteJWKSet","set","verifyToken","baseApiUrl","remoteJWKS","join","JWKS","jose.createRemoteJWKSet","jose.jwtVerify","defaultCallback","rootLoader","callbackResult","body","Wrapper","out","useLoaderData","createSlashIDApp","SlashIDApp","createSlashIDRootLoader","slashIDLoader","loader","logOut","useSlashIDReact","revalidator","useRevalidator","Styles","Form","onSuccess","success","useCallback","Fragment","FormReact"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]}