@clerk/clerk-js 6.0.0-canary-core3.v20251203181537 → 6.0.0-snapshot.v20251203203405
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clerk.browser.js +4 -4
- package/dist/clerk.channel.browser.js +4 -4
- package/dist/clerk.chips.browser.js +4 -4
- package/dist/clerk.headless.browser.js +4 -4
- package/dist/clerk.headless.js +2 -2
- package/dist/clerk.js +1 -1
- package/dist/clerk.legacy.browser.js +1 -1
- package/dist/clerk.mjs +1 -1
- package/dist/clerk.no-rhc.js +1 -1
- package/dist/clerk.no-rhc.mjs +1 -1
- package/dist/types/utils/errorThrower.d.ts +1 -1
- package/dist/types/utils/web3.d.ts +2 -2
- package/package.json +3 -3
- /package/dist/{308_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 308_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{415_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 415_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → 507_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → 507_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → 507_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → 507_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 507_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{507_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → 507_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{521_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 521_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{527_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → 527_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{527_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → 527_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{527_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → 527_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{527_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → 527_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{527_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → 527_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{604_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 604_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{694_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 694_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{783_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 783_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{973_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → 973_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{base-account-sdk_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → base-account-sdk_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{base-account-sdk_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → base-account-sdk_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{base-account-sdk_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → base-account-sdk_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{base-account-sdk_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → base-account-sdk_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{base-account-sdk_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → base-account-sdk_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{coinbase-wallet-sdk_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → coinbase-wallet-sdk_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{coinbase-wallet-sdk_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → coinbase-wallet-sdk_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{coinbase-wallet-sdk_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → coinbase-wallet-sdk_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{coinbase-wallet-sdk_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → coinbase-wallet-sdk_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{coinbase-wallet-sdk_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → coinbase-wallet-sdk_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.headless_035ce8_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.headless_fea342_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{cookieSuffix_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → cookieSuffix_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{query-core-vendors_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → query-core-vendors_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{query-core-vendors_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → query-core-vendors_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{query-core-vendors_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → query-core-vendors_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{query-core-vendors_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → query-core-vendors_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{query-core-vendors_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → query-core-vendors_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{stripe-vendors_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → stripe-vendors_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{stripe-vendors_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → stripe-vendors_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{stripe-vendors_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → stripe-vendors_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{stripe-vendors_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → stripe-vendors_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{stripe-vendors_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → stripe-vendors_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{vendors_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → vendors_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{vendors_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → vendors_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{vendors_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → vendors_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{vendors_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → vendors_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{vendors_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → vendors_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-common_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → zxcvbn-common_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-common_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → zxcvbn-common_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-common_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → zxcvbn-common_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-common_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → zxcvbn-common_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-common_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → zxcvbn-common_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-ts-core_clerk.browser_c08e29_6.0.0-canary-core3.v20251203181537.js → zxcvbn-ts-core_clerk.browser_747d7c_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-ts-core_clerk.channel.browser_25749f_6.0.0-canary-core3.v20251203181537.js → zxcvbn-ts-core_clerk.channel.browser_07dda1_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-ts-core_clerk.chips.browser_60d465_6.0.0-canary-core3.v20251203181537.js → zxcvbn-ts-core_clerk.chips.browser_b105ae_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-ts-core_clerk.headless.browser_640a2c_6.0.0-canary-core3.v20251203181537.js → zxcvbn-ts-core_clerk.headless.browser_6dfe05_6.0.0-snapshot.v20251203203405.js} +0 -0
- /package/dist/{zxcvbn-ts-core_clerk.legacy.browser_115a20_6.0.0-canary-core3.v20251203181537.js → zxcvbn-ts-core_clerk.legacy.browser_d5034a_6.0.0-snapshot.v20251203203405.js} +0 -0
package/dist/clerk.js
CHANGED
|
@@ -59,4 +59,4 @@ ${t.message}`)}})(ez(e)):e).some(e=>e.test(ez(r.origin))));return i||$(`Clerk: R
|
|
|
59
59
|
${e.trim()}
|
|
60
60
|
(This notice only appears in development)`,eD={cannotRenderComponentWhenSessionExists:"The <SignUp/> and <SignIn/> components cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the Home URL instead.",cannotRenderSignUpComponentWhenSessionExists:"The <SignUp/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the value set in `afterSignUp` URL instead.",cannotRenderSignUpComponentWhenTaskExists:"The <SignUp/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",cannotRenderComponentWhenTaskDoesNotExist:"<TaskChooseOrganization/> cannot render unless a session task is pending. Clerk is redirecting to the value set in `redirectUrlComplete` instead.",cannotRenderSignInComponentWhenSessionExists:"The <SignIn/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the `afterSignIn` URL instead.",cannotRenderSignInComponentWhenTaskExists:"The <SignIn/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",cannotRenderComponentWhenUserDoesNotExist:"<UserProfile/> cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotRenderComponentWhenOrgDoesNotExist:"<OrganizationProfile/> cannot render unless an organization is active. Since no organization is currently active, this is no-op.",cannotRenderAnyOrganizationComponent:e=>eN(`The <${e}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`),cannotRenderAnyBillingComponent:e=>eN(`The <${e}/> component cannot be rendered when billing is disabled. Visit 'https://dashboard.clerk.com/last-active?path=billing/settings' to follow the necessary steps to enable billing. Since billing is disabled, this is no-op.`),cannotOpenUserProfile:"The UserProfile modal cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotOpenCheckout:"The Checkout drawer cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotOpenSignInOrSignUp:"The SignIn or SignUp modals do not render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, this is no-op.",cannotRenderAPIKeysComponent:"The <APIKeys/> component cannot be rendered when API keys is disabled. Since API keys is disabled, this is no-op.",cannotRenderAPIKeysComponentForOrgWhenUnauthorized:"The <APIKeys/> component cannot be rendered for an organization unless a user has the required permissions. Since the user does not have the necessary permissions, this is no-op.",cannotRenderAPIKeysComponentForUserWhenDisabled:"The <APIKeys/> component cannot be rendered when user API keys are disabled. Since user API keys are disabled, this is no-op.",cannotRenderAPIKeysComponentForOrgWhenDisabled:"The <APIKeys/> component cannot be rendered when organization API keys are disabled. Since organization API keys are disabled, this is no-op."};for(let e of Object.keys(eD)){let t=eD[e];"function"!=typeof t&&(eD[e]=eN(t))}let eF="clerk:beforeunload",eL=["http:","https:","wails:","chrome-extension:"];function eW(e){let t=new URL(e,window.location.href);window.dispatchEvent(new CustomEvent(eF)),window.location.href=t.href}function eK(e){return/^http(s)?:\/\//.test(e||"")}function eH(e){return e.startsWith("/")}var eV=class{#c;#U=864e5;constructor(e){this.#c=e}isEventThrottled(e){let t=Date.now(),a=this.#M(e),r=this.#c.getItem(a);return!!r&&!(t-r>this.#U)||(this.#c.setItem(a,t),!1)}#M(e){let{sk:t,pk:a,payload:r,...n}=e,i={...r,...n};return JSON.stringify(Object.keys({...r,...n}).sort().map(e=>i[e]))}},eG=class{#R="clerk_telemetry_throttler";getItem(e){return this.#B()[e]}setItem(e,t){try{let a=this.#B();a[e]=t,localStorage.setItem(this.#R,JSON.stringify(a))}catch(e){e instanceof DOMException&&("QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&localStorage.length>0&&localStorage.removeItem(this.#R)}}removeItem(e){try{let t=this.#B();delete t[e],localStorage.setItem(this.#R,JSON.stringify(t))}catch{}}#B(){try{let e=localStorage.getItem(this.#R);if(!e)return{};return JSON.parse(e)}catch{return{}}}static isSupported(){return"undefined"!=typeof window&&!!window.localStorage}},eJ=class{#c=new Map;#N=1e4;getItem(e){return this.#c.size>this.#N?void this.#c.clear():this.#c.get(e)}setItem(e,t){this.#c.set(e,t)}removeItem(e){this.#c.delete(e)}};let eZ=new Set(["error","warn","info","debug","trace"]);var e$=class{#D;#F;#L={};#W=[];#K=null;constructor(e){this.#D={maxBufferSize:e.maxBufferSize??5,samplingRate:e.samplingRate??1,perEventSampling:e.perEventSampling??!0,disabled:e.disabled??!1,debug:e.debug??!1,endpoint:"https://clerk-telemetry.com"},e.clerkVersion||"undefined"!=typeof window?this.#L.clerkVersion=e.clerkVersion??"":this.#L.clerkVersion="",this.#L.sdk=e.sdk,this.#L.sdkVersion=e.sdkVersion,this.#L.publishableKey=e.publishableKey??"";const t=eh(e.publishableKey);t&&(this.#L.instanceType=t.instanceType),e.secretKey&&(this.#L.secretKey=e.secretKey.substring(0,16)),this.#F=new eV(eG.isSupported()?new eG:new eJ)}get isEnabled(){return!("development"!==this.#L.instanceType||this.#D.disabled||"undefined"!=typeof process&&process.env&&en(process.env.CLERK_TELEMETRY_DISABLED)||"undefined"!=typeof window&&window?.navigator?.webdriver)}get isDebug(){return this.#D.debug||"undefined"!=typeof process&&process.env&&en(process.env.CLERK_TELEMETRY_DEBUG)}record(e){try{let t=this.#H(e.event,e.payload);if(this.#V(t.event,t),!this.#G(t,e.eventSamplingRate))return;this.#W.push({kind:"event",value:t}),this.#J()}catch(e){console.error("[clerk/telemetry] Error recording telemetry event",e)}}recordLog(e){try{if(!this.#Z(e))return;let t="string"==typeof e?.level&&eZ.has(e.level),a="string"==typeof e?.message&&e.message.trim().length>0,r=null,n=e?.timestamp;if("number"==typeof n||"string"==typeof n){let e=new Date(n);Number.isNaN(e.getTime())||(r=e)}if(!t||!a||null===r){this.isDebug&&"undefined"!=typeof console&&console.warn("[clerk/telemetry] Dropping invalid telemetry log entry",{levelIsValid:t,messageIsValid:a,timestampIsValid:null!==r});return}let i=this.#$(),s={sdk:i.name,sdkv:i.version,cv:this.#L.clerkVersion??"",lvl:e.level,msg:e.message,ts:r.toISOString(),pk:this.#L.publishableKey||null,payload:this.#Y(e.context)};this.#W.push({kind:"log",value:s}),this.#J()}catch(e){console.error("[clerk/telemetry] Error recording telemetry log entry",e)}}#G(e,t){return this.isEnabled&&!this.isDebug&&this.#Q(e,t)}#Z(e){return!0}#Q(e,t){let a=Math.random();return!!(a<=this.#D.samplingRate&&(!1===this.#D.perEventSampling||void 0===t||a<=t))&&!this.#F.isEventThrottled(e)}#J(){if("undefined"==typeof window)return void this.#X();if(this.#W.length>=this.#D.maxBufferSize){this.#K&&("undefined"!=typeof cancelIdleCallback?cancelIdleCallback(Number(this.#K)):clearTimeout(Number(this.#K))),this.#X();return}this.#K||("requestIdleCallback"in window?this.#K=requestIdleCallback(()=>{this.#X(),this.#K=null}):this.#K=setTimeout(()=>{this.#X(),this.#K=null},0))}#X(){let e=[...this.#W];if(this.#W=[],this.#K=null,0===e.length)return;let t=e.filter(e=>"event"===e.kind).map(e=>e.value),a=e.filter(e=>"log"===e.kind).map(e=>e.value);t.length>0&&fetch(new URL("/v1/event",this.#D.endpoint),{headers:{"Content-Type":"application/json"},keepalive:!0,method:"POST",body:JSON.stringify({events:t})}).catch(()=>void 0),a.length>0&&fetch(new URL("/v1/logs",this.#D.endpoint),{headers:{"Content-Type":"application/json"},keepalive:!0,method:"POST",body:JSON.stringify({logs:a})}).catch(()=>void 0)}#V(e,t){this.isDebug&&(void 0!==console.groupCollapsed?(console.groupCollapsed("[clerk/telemetry]",e),console.log(t),console.groupEnd()):console.log("[clerk/telemetry]",e,t))}#$(){let e={name:this.#L.sdk,version:this.#L.sdkVersion};if("undefined"!=typeof window){let t=window;if(t.Clerk){let a=t.Clerk;if("object"==typeof a&&null!==a&&"constructor"in a&&"function"==typeof a.constructor&&a.constructor.sdkMetadata){let{name:t,version:r}=a.constructor.sdkMetadata;void 0!==t&&(e.name=t),void 0!==r&&(e.version=r)}}}return e}#H(e,t){let a=this.#$();return{event:e,cv:this.#L.clerkVersion??"",it:this.#L.instanceType??"",sdk:a.name,sdkv:a.version,...this.#L.publishableKey?{pk:this.#L.publishableKey}:{},...this.#L.secretKey?{sk:this.#L.secretKey}:{},payload:t}}#Y(e){if(null==e||"object"!=typeof e)return null;try{let t=JSON.parse(JSON.stringify(e));if(t&&"object"==typeof t&&!Array.isArray(t))return t;return null}catch{return null}}};let eY="COMPONENT_MOUNTED",eQ=new Set(["SignIn","SignUp"]);function eX(e){return function(t,a,r){return{event:e,eventSamplingRate:e===eY?eQ.has(t)?1:.1:.1,payload:{component:t,appearanceProp:!!a?.appearance,baseTheme:!!a?.appearance?.baseTheme,elements:!!a?.appearance?.elements,variables:!!a?.appearance?.variables,...r}}}}function e1(e,t,a){return eX(eY)(e,t,a)}function e0(e,t,a){return eX("COMPONENT_OPENED")(e,t,a)}function e2(e){return"string"==typeof e?e:"object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name?e.name:void 0}function e9(e,t,a){return"function"==typeof e?e(t):void 0!==e?e:void 0!==a?a:void 0}let e3=(...e)=>{},e5=!1,e6=null,e8=!1,e4=[];function e7(e,t,a,r){e5&&(e4.push({level:e,message:t,context:a,source:r,ts:Date.now()}),e4.length>200&&e4.shift())}async function te(e){try{if(!e5||e6)return;let{getDebugLogger:t}=await Promise.resolve().then(n.bind(n,9854)),a=await t({logLevel:e?.logLevel,telemetryCollector:e?.telemetryCollector});if(a&&(e6=a)&&0!==e4.length){for(let e of e4){let t={...e.context||{},__preInit:!0,__preInitTs:e.ts};switch(e.level){case"error":e6.error(e.message,t,e.source);break;case"warn":e6.warn(e.message,t,e.source);break;case"info":e6.info(e.message,t,e.source);break;case"debug":e6.debug(e.message,t,e.source)}}e4.length=0}}catch(e){try{console.debug?.("Debug logger initialization failed",e)}catch{}return}}let tt={debug(e,t,a){e6?e6.debug(e,t,a):e7("debug",e,t,a)},error(e,t,a){e6?e6.error(e,t,a):e7("error",e,t,a)},info(e,t,a){e6?e6.info(e,t,a):e7("info",e,t,a)},warn(e,t,a){e6?e6.warn(e,t,a):e7("warn",e,t,a)}},ta={initialDelay:125,maxDelayBetweenRetries:0,factor:2,shouldRetry:(e,t)=>t<5,retryImmediately:!1,jitter:!0},tr=async e=>new Promise(t=>setTimeout(t,e)),tn=(e,t)=>t?e*(1+Math.random()):e,ti=async(e,t={})=>{var a;let r,n=0,{shouldRetry:i,initialDelay:s,maxDelayBetweenRetries:o,factor:l,retryImmediately:c,jitter:u,onBeforeRetry:d}={...ta,...t},h=(a={initialDelay:s,maxDelayBetweenRetries:o,factor:l,jitter:u},r=0,async()=>{let e;await tr((e=tn(e=a.initialDelay*Math.pow(a.factor,r),a.jitter),Math.min(a.maxDelayBetweenRetries||e,e))),r++});for(;;)try{return await e()}catch(e){if(!i(e,++n))throw e;d&&await d(n),c&&1===n?await tr(tn(100,u)):await h()}},ts=async e=>ti(e,{initialDelay:100,shouldRetry:(e,t)=>t<=3,retryImmediately:!0,factor:2});class to{#ee={"@zxcvbn-ts/core":()=>ts(()=>Promise.resolve().then(n.bind(n,7010))),"@zxcvbn-ts/language-common":()=>ts(()=>Promise.resolve().then(n.bind(n,655))),"@base-org/account":()=>ts(()=>Promise.resolve().then(n.bind(n,1965))),"@coinbase/wallet-sdk":()=>ts(()=>Promise.resolve().then(n.bind(n,2804))),"@stripe/stripe-js":()=>ts(()=>Promise.resolve().then(n.bind(n,5608)))};import(e){return this.#ee[e]?this.#ee[e]():Promise.resolve(void 0)}}let tl=(e=!1)=>{let t,a;if(!e)return{track:async e=>{await e()},isUnloading:()=>!1};let r=(t=!1,a=()=>t=!0,{startListening:()=>{window.addEventListener("beforeunload",a),window.addEventListener(eF,a)},stopListening:()=>{window.removeEventListener("beforeunload",a),window.removeEventListener(eF,a)},isUnloading:()=>t});return{track:async e=>{r.startListening(),await e(),r.stopListening()},isUnloading:r.isUnloading}},tc=e=>({amount:e.amount,amountFormatted:e.amount_formatted,currency:e.currency,currencySymbol:e.currency_symbol}),tu=e=>{let t={grandTotal:tc(e.grand_total),subtotal:tc(e.subtotal),taxTotal:tc(e.tax_total)};return"past_due"in e&&(t.pastDue=e.past_due?tc(e.past_due):null),"credit"in e&&(t.credit=e.credit?tc(e.credit):null),"total_due_now"in e&&(t.totalDueNow=tc(e.total_due_now)),"total_due_after_free_trial"in e&&(t.totalDueAfterFreeTrial=e.total_due_after_free_trial?tc(e.total_due_after_free_trial):null),t};function td(e,t=""){return e.errors&&!!e.errors.find(e=>e.code===t)}let th=function({packageName:e,customMessages:t}){let a=e;function r(e,t){if(!t)return`${a}: ${e}`;let r=e;for(let a of e.matchAll(/{{([a-zA-Z0-9-_]+)}}/g)){let e=(t[a[1]]||"").toString();r=r.replace(`{{${a[1]}}}`,e)}return`${a}: ${r}`}let n={...j,...t};return{setPackageName({packageName:e}){return"string"==typeof e&&(a=e),this},setMessages({customMessages:e}){return Object.assign(n,e||{}),this},throwInvalidPublishableKeyError(e){throw Error(r(n.InvalidPublishableKeyErrorMessage,e))},throwInvalidProxyUrl(e){throw Error(r(n.InvalidProxyUrlErrorMessage,e))},throwMissingPublishableKeyError(){throw Error(r(n.MissingPublishableKeyErrorMessage))},throwMissingSecretKeyError(){throw Error(r(n.MissingSecretKeyErrorMessage))},throwMissingClerkProviderError(e){throw Error(r(n.MissingClerkProvider,e))},throw(e){throw Error(r(e))}}}({packageName:"@clerk/clerk-js"});function tm(e){return decodeURIComponent(globalThis.atob(e.replace(/_/g,"/").replace(/-/g,"+")).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""))}function tp(e){let t=(e||"").split("."),[a,r,n]=t;if(3!==t.length||!a||!r||!n)throw Error("JWT could not be decoded");let i=JSON.parse(tm(r)),s={__raw:e};return Object.keys(i).forEach(e=>{s[e]=i[e]}),{encoded:{header:a,payload:r,signature:n},header:JSON.parse(tm(a)),claims:s}}function tf(){if(!s())return null;try{let e=navigator?.language;if(!e||"string"!=typeof e||""===e.trim())return null;return e}catch{return null}}function tg(){return void 0!==globalThis.document}function tb(){if(!function(){if(!tg())return!1;try{return window.self!==window.top}catch{return!0}}())return!1;try{return window.top?.location.href,!1}catch{return!0}}var ty=class e{#et=[];#ea={metamask:"MetaMask",okx_wallet:"OKX Wallet"};static #er=null;constructor(){if("undefined"==typeof window)return;window.addEventListener("eip6963:announceProvider",this.#en),window.dispatchEvent(new Event("eip6963:requestProvider"))}static getInstance(){return e.#er||(e.#er=new e),e.#er}get=e=>{let t=this.#et.find(t=>t.info.name===this.#ea[e])?.provider;return void 0!==t?t:window.ethereum};#en=e=>{this.#et.some(t=>t.info.uuid===e.detail.info.uuid)||this.#et.push(e.detail)}};let tw=()=>(function(e){async function t(e){let{provider:t}=e,a=await d(t);if(!a)return"";let r=await a.request({method:"eth_requestAccounts"});return r&&r[0]||""}async function a(e){let{identifier:t,nonce:a,provider:r}=e,n=await d(r);return n?await n.request({method:"personal_sign",params:[`0x${a.split("").map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}`,t]}):""}async function r(){return await t({provider:"metamask"})}async function n(){return await t({provider:"coinbase_wallet"})}async function i(){return await t({provider:"okx_wallet"})}async function s(){return await t({provider:"base"})}async function o(e){return await a({...e,provider:"metamask"})}async function l(e){return await a({...e,provider:"coinbase_wallet"})}async function c(e){return await a({...e,provider:"okx_wallet"})}async function u(e){return await a({...e,provider:"base"})}async function d(t){if("coinbase_wallet"===t){let t=await e.import("@coinbase/wallet-sdk");return t?t.createCoinbaseWalletSDK({preference:{options:"all"}}).getProvider():null}if("base"===t)try{let t=await e.import("@base-org/account");if(!t)return null;return t.createBaseAccountSDK({appName:"undefined"!=typeof window&&window.Clerk?.__unstable__environment?.displayConfig?.applicationName||"undefined"!=typeof document&&document.title||"Web3 Application"}).getProvider()}catch{return null}return ty.getInstance().get(t)}return{getWeb3Identifier:t,generateWeb3Signature:a,getMetamaskIdentifier:r,getCoinbaseWalletIdentifier:n,getOKXWalletIdentifier:i,getBaseIdentifier:s,generateSignatureWithMetamask:o,generateSignatureWithCoinbaseWallet:l,generateSignatureWithOKXWallet:c,generateSignatureWithBase:u}})(new to),tk="environment",tv=JSON.stringify,tx=JSON.parse;class tj{static _key(e){return`__clerk_${e}`}static isExpired(e){return!!e.exp&&Date.now()>e.exp}static setItem(e,t,a){try{let r={value:t,...a&&{exp:Date.now()+a}};window.localStorage.setItem(this._key(e),tv(r))}catch{}}static getItem(e,t){try{let a=window.localStorage.getItem(this._key(e));if(!a)return t;let r=tx(a);if(!r)return t;if(this.isExpired(r))return this.removeItem(e),t;return r?.value??t}catch{return t}}static removeItem(e){try{window.localStorage.removeItem(this._key(e))}catch{}}}let t_="ClerkJS:";function tz(e=""){throw Error(`${t_} Something went wrong initializing Clerk in development mode.${e&&` ${e}`}`)}function tS(e){throw Error(`${t_} Something went wrong initializing Clerk during the ${e} flow. Please contact support.`)}function tA(e){throw Error(`${t_} You need to start a ${e} flow by calling ${e}.create() first.`)}function tE(e,t){throw Error(`${t_} Strategy "${t}" is not a valid strategy for ${e}.`)}function tI(e){throw Error(`${t_} You need to start a ${e} flow by calling ${e}.create({ identifier: 'your web3 wallet address' }) first`)}function tC(e=""){throw Error(`${t_} Missing '${e}' option`)}function tP(e,t){throw Error(`${t_} Response: ${e||0} not supported yet.
|
|
61
61
|
For more information contact us at ${t}`)}function tq(e){throw Error(`${t_} Missing publicKey. When calling 'navigator.credentials.${e}()' it is required to pass a publicKey object.`)}async function tO(e="",t){let{async:a,defer:r,beforeLoad:n,crossOrigin:i,nonce:s}=t||{};return ti(()=>new Promise((t,o)=>{e||o(Error("loadScript cannot be called without a src")),document&&document.body||o(Error("loadScript cannot be called when document does not exist"));let l=document.createElement("script");i&&l.setAttribute("crossorigin",i),l.async=a||!1,l.defer=r||!1,l.addEventListener("load",()=>{console.log("this loaded ",e),l.remove(),t(l)}),l.addEventListener("error",t=>{l.remove(),o(t.error??Error(`failed to load script: ${e}`))}),l.src=e,l.nonce=s,n?.(l),document.body.appendChild(l)}),{shouldRetry:(e,t)=>(console.log("nikos 3",e,t),t<=5)})}async function tT(e){return window.turnstile||await tU(e).catch(()=>{throw{captchaError:"captcha_script_failed_to_load"}}),window.turnstile}async function tU(e){try{return await tO("https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",{defer:!0,nonce:e})}catch(e){throw console.warn("Clerk: Failed to load the CAPTCHA script from Cloudflare. If you see a CSP error in your browser, please add the necessary CSP rules to your app. Visit https://clerk.com/docs/security/clerk-csp for more information."),e}}function tM(e){try{let t=e.getAttribute("data-cl-theme")||void 0,a=e.getAttribute("data-cl-language")||void 0,r=e.getAttribute("data-cl-size")||void 0;return{theme:t,language:a,size:r}}catch{return{theme:void 0,language:void 0,size:void 0}}}let tR=async e=>{let t,a,r,n,{siteKey:i,widgetType:s,invisibleSiteKey:o,nonce:l}=e,{modalContainerQuerySelector:c,modalWrapperQuerySelector:u,closeModal:d,openModal:h}=e,m=await tT(l),p=[],f="",g="",b=i,y=0,w=null,k="invisible";if(c&&u){w=s,n=c,k="modal";try{await h?.()}catch{throw{captchaError:"modal_component_not_ready"}}let e=await new Promise(e=>{if(document.querySelector(c))return e(document.querySelector(c));let t=new MutationObserver(()=>{document.querySelector(c)&&(t.disconnect(),e(document.querySelector(c)))});t.observe(document.body,{childList:!0,subtree:!0})});if(e){let{theme:n,language:i,size:s}=tM(e);t=n,r=i,a=s}}if(!n&&"smart"===s){let e=document.getElementById(V);if(e){k="smart",w="smart",n=`#${V}`,e.style.maxHeight="0";let{theme:i,language:s,size:o}=tM(e);t=i,r=s,a=o}else console.error("Cannot initialize Smart CAPTCHA widget because the `clerk-captcha` DOM element was not found; falling back to Invisible CAPTCHA widget. If you are using a custom flow, visit https://clerk.com/docs/guides/development/custom-flows/bot-sign-up-protection for instructions")}if(!n){k="invisible",b=o,w="invisible",n=`.${G}`;let e=document.createElement("div");e.classList.add(G),e.style.display="none",document.body.appendChild(e)}let v=async()=>new Promise((i,s)=>{try{let o=m.render(n,{sitekey:b,appearance:"interaction-only",theme:t||"auto",size:a||"normal",language:r||"auto",action:e.action,retry:"never","refresh-expired":"auto",callback:function(e){d?.(),i([e,o])},"before-interactive-callback":()=>{if(u){let e=document.querySelector(u);e?.style.setProperty("visibility","visible"),e?.style.setProperty("pointer-events","all")}else{let e=document.getElementById(V);e&&(e.style.maxHeight="unset",e.style.minHeight="compact"===a?"140px":"68px",e.style.marginBottom="1.5rem")}},"error-callback":function(e){var t;(p.push(e),y<2&&(t=e.toString(),["crashed","undefined_error","102","103","104","106","110600","300","600"].find(e=>t.startsWith(e))))?setTimeout(()=>{m.reset(o),y++},250):s([p.join(","),o])},"unsupported-callback":function(){return s(["This browser is not supported by the CAPTCHA.",o]),!0}})}catch(e){s([e,void 0])}});try{[f,g]=await v(),m.remove(g)}catch([e,t]){throw t&&m.remove(t),{captchaError:e}}finally{if("modal"===k&&d?.(),"invisible"===k){let e=document.querySelector(`.${G}`);e&&document.body.removeChild(e)}if("smart"===k){let e=document.getElementById(V);e&&(e.style.maxHeight="0",e.style.minHeight="unset",e.style.marginBottom="unset")}}return{captchaToken:f,captchaWidgetType:w}},tB=e=>{let t=e.__unstable__environment,a=t?t.displayConfig.captchaProvider:"turnstile",r=e.__internal_getOption?.("nonce");return{captchaSiteKey:t?t.displayConfig.captchaPublicKey:null,captchaWidgetType:t?t.displayConfig.captchaWidgetType:null,captchaProvider:a,captchaPublicKeyInvisible:t?t.displayConfig.captchaPublicKeyInvisible:null,canUseCaptcha:t?t.userSettings.signUp.captcha_enabled&&e.isStandardBrowser:null,nonce:r||void 0}};class tN{clerk;constructor(e){this.clerk=e}async invisible(e){let{captchaSiteKey:t,canUseCaptcha:a,captchaPublicKeyInvisible:r,nonce:n}=tB(this.clerk);return a&&t&&r?{...await tR({action:e?.action,captchaProvider:"turnstile",invisibleSiteKey:r,nonce:e?.nonce||n||void 0,siteKey:r,widgetType:"invisible"}).catch(e=>e.captchaError?{captchaError:e.captchaError}:{captchaError:e?.message||e||"unexpected_captcha_error"}),captchaAction:e?.action}:{captchaError:"captcha_unavailable",captchaAction:e?.action}}async managedOrInvisible(e){let{captchaSiteKey:t,canUseCaptcha:a,captchaWidgetType:r,captchaProvider:n,captchaPublicKeyInvisible:i,nonce:s}=tB(this.clerk);if(a&&t&&i){let a=await tR({captchaProvider:n,invisibleSiteKey:i,nonce:s||void 0,siteKey:t,widgetType:r,...e}).catch(t=>t.captchaError?{captchaError:t.captchaError}:e?.action==="verify"?{captchaError:t?.message||t||"unexpected_captcha_error"}:void 0);return e?.action==="verify"?{...a,captchaAction:"verify"}:a}return e?.action==="verify"?{captchaError:"captcha_unavailable",captchaAction:e?.action}:{}}async managedInModal(e){return this.managedOrInvisible({modalWrapperQuerySelector:"#cl-modal-captcha-wrapper",modalContainerQuerySelector:"#cl-modal-captcha-container",openModal:()=>this.clerk.__internal_openBlankCaptchaModal(),closeModal:()=>this.clerk.__internal_closeBlankCaptchaModal(),action:e?.action})}}class tD{client;CaptchaChallengeImpl;static instance;inflightException=null;captchaRetryCount=0;MAX_RETRY_ATTEMPTS=3;static getInstance(){return tD.instance||(tD.instance=new tD(aT,tN)),tD.instance}constructor(e,t){this.client=e,this.CaptchaChallengeImpl=t}async execute(e,t){if(this.captchaAttemptsExceeded())throw new A("Security verification failed. Please try again by refreshing the page, clearing your browser cookies, or using a different web browser.",{code:"captcha_client_attempts_exceeded"});try{return this.inflightException&&await this.inflightException,await t()}catch(r){let a;if(!O(r)||T(r)&&"network_error"===r.code||r.errors[0]?.code!=="requires_captcha")throw r;if(this.inflightException)return await this.inflightException,await t();this.inflightException=new Promise(e=>a=e);try{let t=await this.managedChallenge(e);t?.captchaError!=="modal_component_not_ready"&&(await this.client.getOrCreateInstance().__internal_sendCaptchaToken(t),this.captchaRetryCount=0)}catch(e){throw this.captchaRetryCount++,e}finally{a(),this.inflightException=null}return await t()}}managedChallenge(e){return new this.CaptchaChallengeImpl(e).managedInModal({action:"verify"})}captchaAttemptsExceeded=()=>this.captchaRetryCount>=this.MAX_RETRY_ATTEMPTS}class tF{static clerk;id;pathRoot="";static get fapiClient(){return tF.clerk.getFapiClient()}async reload(e){let{rotatingTokenNonce:t}=e||{};return this._baseGet({forceUpdateClient:!0,rotatingTokenNonce:t})}isNew(){return!this.id}static async _fetch(e,t={}){return tD.getInstance().execute(this.clerk,()=>this._baseFetch(e,t))}static async _baseFetch(e,t={}){let a;tF.fapiClient||function(){throw Error(`${t_} Missing FAPI client in resources.`)}();let{fetchMaxTries:r}=t;try{a=await tF.fapiClient.request(e,{fetchMaxTries:r})}catch(t){if(this.shouldRethrowOfflineNetworkErrors())throw new A(t?.message||t,{code:"network_error"});if(!u())return tt.warn("Network request failed while offline, returning null",{method:e.method,path:e.path},"baseResource"),null;throw t}let{payload:n,status:i,statusText:s,headers:o}=a;if(o){let e=o.get("x-country");this.clerk.__internal_setCountry(e?e.toLowerCase():null)}if(("GET"!==e.method||t.forceUpdateClient)&&this._updateClient(n),i>=200&&i<=299)return n;if(i>=400){let e=n?.errors,t=e?.[0]?.long_message,a=e?.[0]?.code;401===i&&"requires_captcha"!==a&&await tF.clerk.handleUnauthenticated(),function(e,t){var a;if(!t||!t[0])return;let r=t[0],n=r.long_message;if("origin_invalid"===r.code&&((a=tF.clerk.publishableKey).startsWith("live_")||a.startsWith("pk_live_"))){let a=tF.clerk.frontendApi.replace("clerk.","");throw new v(`Clerk: Production Keys are only allowed for domain "${a}".
|
|
62
|
-
API Error: ${n}`,{data:t,status:e})}}(i,e);let r={data:e,status:i};if(429===i&&o){let e=o.get("retry-after");if(e){let t=parseInt(e,10);isNaN(t)||(r.retryAfter=t)}}throw new v(t||s,r)}return null}static _updateClient(e){if(!e)return;let t=e.client||e.meta?.client;t&&tF.clerk&&tF.clerk.updateClient(aT.getOrCreateInstance().fromJSON(t))}path(e){let t=this.pathRoot;if(this.isNew())return t;let a=t.replace(/[^/]$/,"$&/")+encodeURIComponent(this.id);return e?a.replace(/[^/]$/,"$&/")+encodeURIComponent(e):a}withDefault(e,t){return e??t}async _baseGet(e={}){let t=await tF._fetch({method:"GET",path:this.path(),rotatingTokenNonce:e.rotatingTokenNonce},e);return this.fromJSON(t?.response||t)}async _baseMutate(e){let{action:t,body:a,method:r,path:n}=e,i=await tF._fetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _baseMutateBypass(e){let{action:t,body:a,method:r,path:n}=e,i=await tF._baseFetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _basePost(e={}){return this._baseMutate({...e,method:"POST"})}async _basePostBypass(e={}){return this._baseMutateBypass({...e,method:"POST"})}async _basePut(e={}){return this._baseMutate({...e,method:"PUT"})}async _basePatch(e={}){return this._baseMutate({...e,method:"PATCH"})}async _baseDelete(e={}){await this._baseMutate({...e,method:"DELETE"})}static shouldRethrowOfflineNetworkErrors(){let e=tF.clerk?.__internal_getOption?.("experimental");return e?.rethrowOfflineNetworkErrors||!1}}function tL(e){let t=new Date(e||new Date);return t instanceof Date&&!isNaN(t.getTime())?t:new Date}class tW extends tF{pathRoot="/api_keys";id;type;name;subject;scopes;claims;revoked;revocationReason;expired;expiration;createdBy;description;secret;lastUsedAt;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type,this.name=e.name,this.subject=e.subject,this.scopes=e.scopes,this.claims=e.claims,this.revoked=e.revoked,this.revocationReason=e.revocation_reason,this.expired=e.expired,this.expiration=e.expiration?tL(e.expiration):null,this.createdBy=e.created_by,this.description=e.description,this.secret=e.secret,this.lastUsedAt=e.last_used_at?tL(e.last_used_at):null,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}__internal_toSnapshot(){return{object:"api_key",id:this.id,type:this.type,name:this.name,subject:this.subject,scopes:this.scopes,claims:this.claims,revoked:this.revoked,revocation_reason:this.revocationReason,expired:this.expired,expiration:this.expiration?this.expiration.getTime():null,created_by:this.createdBy,description:this.description,last_used_at:this.lastUsedAt?this.lastUsedAt.getTime():null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class tK extends tF{claimedAt=null;reverification=!1;singleSessionMode=!1;preferredChannels=null;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.claimedAt=this.withDefault(e.claimed_at?tL(e.claimed_at):null,this.claimedAt),this.reverification=this.withDefault(e.reverification,this.reverification),this.singleSessionMode=this.withDefault(e.single_session_mode,this.singleSessionMode),this.preferredChannels=this.withDefault(e.preferred_channels,this.preferredChannels)),this}__internal_toSnapshot(){return{claimed_at:this.claimedAt?this.claimedAt.getTime():null,id:this.id??"",object:"auth_config",reverification:this.reverification,single_session_mode:this.singleSessionMode}}}(b=y||(y={}))[b.None=0]="None",b[b.Mutable=1]="Mutable",b[b.Watching=2]="Watching",b[b.RecursedCheck=4]="RecursedCheck",b[b.Recursed=8]="Recursed",b[b.Dirty=16]="Dirty",b[b.Pending=32]="Pending";let tH=[],{link:tV,unlink:tG,propagate:tJ,checkDirty:tZ,endTracking:t$,startTracking:tY,shallowPropagate:tQ}=function({update:e,notify:t,unwatched:a}){let r=0;return{link:function(e,t){let a,n=t.depsTail;if(void 0!==n&&n.dep===e)return;if(4&t.flags&&void 0!==(a=void 0!==n?n.nextDep:t.deps)&&a.dep===e){a.version=r,t.depsTail=a;return}let i=e.subsTail;if(void 0!==i&&i.version===r&&i.sub===t)return;let s=t.depsTail=e.subsTail={version:r,dep:e,sub:t,prevDep:n,nextDep:a,prevSub:i,nextSub:void 0};void 0!==a&&(a.prevDep=s),void 0!==n?n.nextDep=s:t.deps=s,void 0!==i?i.nextSub=s:e.subs=s},unlink:n,propagate:function(e){let a,r=e.nextSub;t:for(;;){let n=e.sub,i=n.flags;if(3&i&&(60&i?12&i?4&i?!(48&i)&&function(e,t){let a=t.depsTail;if(void 0!==a){let r=t.deps;do{if(r===e)return!0;if(r===a)break;r=r.nextDep}while(void 0!==r)}return!1}(e,n)?(n.flags=40|i,i&=1):i=0:n.flags=-9&i|32:i=0:n.flags=32|i,2&i&&t(n),1&i)){let t=n.subs;if(void 0!==t){e=t,void 0!==t.nextSub&&(a={value:r,prev:a},r=e.nextSub);continue}}if(void 0!==(e=r)){r=e.nextSub;continue}for(;void 0!==a;)if(e=a.value,a=a.prev,void 0!==e){r=e.nextSub;continue t}break}},checkDirty:function(t,a){let r,n=0;t:for(;;){let s=t.dep,o=s.flags,l=!1;if(16&a.flags)l=!0;else if((17&o)==17){if(e(s)){let e=s.subs;void 0!==e.nextSub&&i(e),l=!0}}else if((33&o)==33){(void 0!==t.nextSub||void 0!==t.prevSub)&&(r={value:t,prev:r}),t=s.deps,a=s,++n;continue}if(!l&&void 0!==t.nextDep){t=t.nextDep;continue}for(;n;){--n;let s=a.subs,o=void 0!==s.nextSub;if(o?(t=r.value,r=r.prev):t=s,l){if(e(a)){o&&i(s),a=t.sub;continue}}else a.flags&=-33;if(a=t.sub,void 0!==t.nextDep){t=t.nextDep;continue t}l=!1}return l}},endTracking:function(e){let t=e.depsTail,a=void 0!==t?t.nextDep:e.deps;for(;void 0!==a;)a=n(a,e);e.flags&=-5},startTracking:function(e){++r,e.depsTail=void 0,e.flags=-57&e.flags|4},shallowPropagate:i};function n(e,t=e.sub){let r=e.dep,i=e.prevDep,s=e.nextDep,o=e.nextSub,l=e.prevSub;return void 0!==s?s.prevDep=i:t.depsTail=i,void 0!==i?i.nextDep=s:t.deps=s,void 0!==o?o.prevSub=l:r.subsTail=l,void 0!==l?l.nextSub=o:void 0===(r.subs=o)&&a(r),s}function i(e){do{let a=e.sub,r=e.nextSub,n=a.flags;(48&n)==32&&(a.flags=16|n,2&n&&t(a)),e=r}while(void 0!==e)}}({update:e=>"getter"in e?t6(e):t8(e,e.value),notify:function e(t){let a=t.flags;if(!(64&a)){t.flags=64|a;let r=t.subs;void 0!==r?e(r.sub):tH[t0++]=t}},unwatched(e){if("getter"in e){let t=e.deps;if(void 0!==t){e.flags=17;do t=tG(t,e);while(void 0!==t)}}else"previousValue"in e||at.call(e)}}),tX=0,t1=0,t0=0;function t2(t){let a=e;return e=t,a}function t9(e){return ae.bind({previousValue:e,value:e,subs:void 0,subsTail:void 0,flags:1})}function t3(e){return t7.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:17,getter:e})}function t5(a){let r={fn:a,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};void 0!==e?tV(r,e):void 0!==t&&tV(r,t);let n=t2(r);try{r.fn()}finally{t2(n)}return at.bind(r)}function t6(e){let t=t2(e);tY(e);try{let t=e.value;return t!==(e.value=e.getter(t))}finally{t2(t),t$(e)}}function t8(e,t){return e.flags=1,e.previousValue!==(e.previousValue=t)}function t4(){for(;t1<t0;){let e=tH[t1];tH[t1++]=void 0,function e(t,a){if(16&a||32&a&&tZ(t.deps,t)){let e=t2(t);tY(t);try{t.fn()}finally{t2(e),t$(t)}return}32&a&&(t.flags=-33&a);let r=t.deps;for(;void 0!==r;){let t=r.dep,a=t.flags;64&a&&e(t,t.flags=-65&a),r=r.nextDep}}(e,e.flags&=-65)}t1=0,t0=0}function t7(){let a=this.flags;if(16&a||32&a&&tZ(this.deps,this)){if(t6(this)){let e=this.subs;void 0!==e&&tQ(e)}}else 32&a&&(this.flags=-33&a);return void 0!==e?tV(this,e):void 0!==t&&tV(this,t),this.value}function ae(...t){if(t.length){let e=t[0];if(this.value!==(this.value=e)){this.flags=17;let e=this.subs;void 0!==e&&(tJ(e),tX||t4())}}else{let t=this.value;if(16&this.flags&&t8(this,t)){let e=this.subs;void 0!==e&&tQ(e)}return void 0!==e&&tV(this,e),t}}function at(){let e=this.deps;for(;void 0!==e;)e=tG(e,this);let t=this.subs;void 0!==t&&tG(t),this.flags=0}function aa(e){let{pageSize:t,initialPage:a,...r}=e||{},n=t??10;return new URLSearchParams({...Object.entries(r).reduce((e,[t,a])=>(void 0!==a&&(e[t]=a),e),{}),limit:n+"",offset:((a??1)-1)*n+""})}class ar{static #ei="/billing";static path(e,t){let{orgId:a}=t||{},r=a?`/organizations/${a}`:"/me";return`${r}${ar.#ei}${e}`}getPlans=async e=>{let{for:t,...a}=e||{},r={...a,payer_type:"organization"===t?"org":"user"};return await tF._fetch({path:`${ar.#ei}/plans`,method:"GET",search:aa(r)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new aj(e))}})};getPlan=async e=>new aj(await tF._fetch({path:`${ar.#ei}/plans/${e.id}`,method:"GET"}));getSubscription=async e=>await tF._fetch({path:ar.path("/subscription",{orgId:e.orgId}),method:"GET"}).then(e=>new aS(e?.response));getStatements=async e=>{let{orgId:t,...a}=e;return await tF._fetch({path:ar.path("/statements",{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new a_(e))}})};getStatement=async e=>new a_((await tF._fetch({path:ar.path(`/statements/${e.id}`,{orgId:e.orgId}),method:"GET"}))?.response);getPaymentAttempts=async e=>{let{orgId:t,...a}=e;return await tF._fetch({path:ar.path("/payment_attempts",{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new ag(e))}})};getPaymentAttempt=async e=>new ag(await tF._fetch({path:ar.path(`/payment_attempts/${e.id}`,{orgId:e.orgId}),method:"GET"}));startCheckout=async e=>{let{orgId:t,...a}=e;return new ap((await tF._fetch({path:ar.path("/checkouts",{orgId:t}),method:"POST",body:a}))?.response)}}let an=t9({resource:null}),ai=t9({error:null}),as=t9({status:"idle"}),ao=t3(()=>{let e=an().resource,t=ai().error,a=as().status;return{errors:ah(t,{identifier:null,password:null,code:null}),fetchStatus:a,signIn:e?e.__internal_future:null}}),al=t9({resource:null}),ac=t9({error:null}),au=t9({status:"idle"}),ad=t3(()=>{let e=al().resource,t=ac().error,a=au().status;return{errors:ah(t,{firstName:null,lastName:null,emailAddress:null,phoneNumber:null,password:null,username:null,code:null,captcha:null,legalAccepted:null}),fetchStatus:a,signUp:e?e.__internal_future:null}});function ah(e,t){let a={fields:{...t},raw:null,global:null};if(!e)return a;if(!O(e))return a.raw=[e],a.global=[B(e)],a;function r(e){return"meta"in e&&e.meta&&"paramName"in e.meta&&void 0!==e.meta.paramName}return e.errors.some(r)?e.errors.forEach(e=>{if(a.raw?a.raw.push(e):a.raw=[e],r(e)){let t=X(e.meta.paramName);t in a.fields&&(a.fields[t]=e)}}):(a.raw=[e],a.global=[B(e)]),a}class am extends tF{id;createdAt;updatedAt;imageUrl;userId=null;email;firstName;lastName;organizationId=null;organizationName;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,e.created_at&&(this.createdAt=tL(e.created_at)),e.updated_at&&(this.updatedAt=tL(e.updated_at)),this.imageUrl=e.image_url,this.userId=e.user_id,this.email=e.email,this.firstName=e.first_name,this.lastName=e.last_name,this.organizationId=e.organization_id,this.organizationName=e.organization_name),this}}class ap extends tF{id;externalClientSecret;externalGatewayId;paymentMethod;plan;planPeriod;planPeriodStart;status;totals;isImmediatePlanChange;freeTrialEndsAt;payer;needsPaymentMethod;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethod=e.payment_method?new av(e.payment_method):void 0,this.plan=new aj(e.plan),this.planPeriod=e.plan_period,this.planPeriodStart=e.plan_period_start,this.status=e.status,this.totals=tu(e.totals),this.isImmediatePlanChange=e.is_immediate_plan_change,e.free_trial_ends_at&&(this.freeTrialEndsAt=tL(e.free_trial_ends_at)),this.payer=new am(e.payer),this.needsPaymentMethod=e.needs_payment_method),this}confirm=e=>ti(()=>this._basePatch({path:ar.path(`/checkouts/${this.id}/confirm`,{orgId:this.payer.organizationId}),body:e}),{factor:1.1,maxDelayBetweenRetries:2e3,initialDelay:2e3,jitter:!1,shouldRetry(e,t){if(!O(e)||t>=4)return!1;let a=e?.status,r=409===a&&e.errors?.[0]?.code==="checkout_already_in_progress";return a>=500||r}})}class af{resource=new ap(null);config;signals;pendingOperations=new Map;constructor(e,t){this.config=t,this.signals=e,this.signals.resourceSignal({resource:this})}get status(){return this.resource.status??"needs_initialization"}get externalClientSecret(){return this.resource.externalClientSecret}get externalGatewayId(){return this.resource.externalGatewayId}get plan(){return this.resource.plan}get planPeriod(){return this.resource.planPeriod}get totals(){return this.resource.totals}get isImmediatePlanChange(){return this.resource.isImmediatePlanChange}get freeTrialEndsAt(){return this.resource.freeTrialEndsAt}get payer(){return this.resource.payer}get paymentMethod(){return this.resource.paymentMethod??null}get planPeriodStart(){return this.resource.planPeriodStart}get needsPaymentMethod(){return this.resource.needsPaymentMethod}async start(){return this.runAsyncCheckoutTask("start",async()=>{let e=await ap.clerk.billing?.startCheckout(this.config);this.resource=e},()=>{this.resource=new ap(null),this.signals.resourceSignal({resource:this})})}async confirm(e){if(!this.resource.id)throw Error("Clerk: `start()` must be called before `confirm()`");return this.runAsyncCheckoutTask("confirm",async()=>{await this.resource.confirm(e)})}async finalize(e){let{navigate:t}=e||{};return this.runAsyncCheckoutTask("finalize",async()=>{if("completed"!==this.resource.status)throw Error("Clerk: `confirm()` must be called before `finalize()`");await ap.clerk.setActive({session:ap.clerk.session?.id,navigate:t})})}runAsyncCheckoutTask(e,t,a){var r,n,i;return void 0===ap.clerk.user?(console.warn("Clerk: Checkout operations cannot be performed during transitive state"),{error:null}):(r=this,n=this.signals,i=this.pendingOperations,async(e,t,a)=>{if(i.get(e))return i.get(e);let s=(async()=>{++tX,n.errorSignal({error:null}),n.fetchSignal({status:"fetching"}),a?.(),--tX||t4(),++tX;try{return await t(),n.resourceSignal({resource:r}),{error:null}}catch(e){return n.errorSignal({error:e}),{error:e}}finally{i.delete(e),n.fetchSignal({status:"idle"}),--tX||t4()}})();return i.set(e,s),s})(e,t,a)}}class ag extends tF{id;amount;failedAt=null;paidAt=null;updatedAt;paymentMethod=null;subscriptionItem;chargeType;status;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.amount=tc(e.amount),this.paidAt=e.paid_at?tL(e.paid_at):null,this.failedAt=e.failed_at?tL(e.failed_at):null,this.updatedAt=tL(e.updated_at),this.paymentMethod=e.payment_method?new av(e.payment_method):null,this.subscriptionItem=new aA(e.subscription_item),this.chargeType=e.charge_type,this.status=e.status),this}}let ab="/payment_methods",ay=async e=>{let{orgId:t,...a}=e;return new ax((await tF._fetch({path:ar.path(`${ab}/initialize`,{orgId:t}),method:"POST",body:a}))?.response)},aw=async e=>{let{orgId:t,...a}=e;return new av((await tF._fetch({path:ar.path(ab,{orgId:t}),method:"POST",body:a}))?.response)},ak=async e=>{let{orgId:t,...a}=e??{};return await tF._fetch({path:ar.path(ab,{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new av(e))}})};class av extends tF{id;last4=null;paymentType;cardType=null;isDefault;isRemovable;status;walletType;expiryYear;expiryMonth;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.last4=e.last4,this.paymentType=e.payment_type,this.cardType=e.card_type,this.isDefault=e.is_default,this.isRemovable=e.is_removable,this.status=e.status,this.walletType=e.wallet_type,this.expiryYear=e.expiry_year,this.expiryMonth=e.expiry_month,this.createdAt=null==e.created_at?e.created_at:tL(e.created_at),this.updatedAt=null==e.updated_at?e.updated_at:tL(e.updated_at)),this}async remove(e){let{orgId:t}=e??{};return new aM((await tF._fetch({path:ar.path(`/payment_methods/${this.id}`,{orgId:t}),method:"DELETE"}))?.response)}async makeDefault(e){let{orgId:t}=e??{};return await tF._fetch({path:ar.path("/payers/default_payment_method",{orgId:t}),method:"PUT",body:{payment_method_id:this.id}}),null}}class ax extends tF{externalClientSecret;externalGatewayId;paymentMethodOrder;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethodOrder=e.payment_method_order??["card"]),this}}class aj extends tF{id;name;fee;annualFee=null;annualMonthlyFee=null;description=null;isDefault;isRecurring;hasBaseFee;forPayerType;publiclyVisible;slug;avatarUrl=null;features;freeTrialDays;freeTrialEnabled;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.fee=tc(e.fee),this.annualFee=e.annual_fee?tc(e.annual_fee):null,this.annualMonthlyFee=e.annual_monthly_fee?tc(e.annual_monthly_fee):null,this.description=e.description,this.isDefault=e.is_default,this.isRecurring=e.is_recurring,this.hasBaseFee=e.has_base_fee,this.forPayerType=e.for_payer_type,this.publiclyVisible=e.publicly_visible,this.slug=e.slug,this.avatarUrl=e.avatar_url,this.freeTrialDays=this.withDefault(e.free_trial_days,null),this.freeTrialEnabled=this.withDefault(e.free_trial_enabled,!1),this.features=(e.features||[]).map(e=>new rn(e))),this}}class a_ extends tF{id;status;timestamp;totals;groups;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.timestamp=tL(e.timestamp),this.totals=tu(e.totals),this.groups=e.groups.map(e=>new az(e))),this}}class az{id;timestamp;items;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.timestamp=tL(e.timestamp),this.items=e.items.map(e=>new ag(e))),this}}class aS extends tF{id;status;activeAt;createdAt;pastDueAt;updatedAt;nextPayment;subscriptionItems;eligibleForFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=e.updated_at?tL(e.updated_at):null,this.activeAt=tL(e.active_at),this.pastDueAt=e.past_due_at?tL(e.past_due_at):null,e.next_payment&&(this.nextPayment={amount:tc(e.next_payment.amount),date:tL(e.next_payment.date)}),this.subscriptionItems=(e.subscription_items||[]).map(e=>new aA(e)),this.eligibleForFreeTrial=this.withDefault(e.eligible_for_free_trial,!1)),this}}class aA extends tF{id;plan;planPeriod;status;createdAt;periodStart;periodEnd;canceledAt;pastDueAt;amount;credit;isFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.plan=new aj(e.plan),this.planPeriod=e.plan_period,this.status=e.status,this.createdAt=tL(e.created_at),this.pastDueAt=e.past_due_at?tL(e.past_due_at):null,this.periodStart=tL(e.period_start),this.periodEnd=e.period_end?tL(e.period_end):null,this.canceledAt=e.canceled_at?tL(e.canceled_at):null,this.amount=e.amount?tc(e.amount):void 0,this.credit=e.credit&&e.credit.amount?{amount:tc(e.credit.amount)}:void 0,this.isFreeTrial=this.withDefault(e.is_free_trial,!1)),this}async cancel(e){let{orgId:t}=e;return new aM((await tF._fetch({path:ar.path(`/subscription_items/${this.id}`,{orgId:t}),method:"DELETE"}))?.response)}}let aE={build:(e,t,a)=>[e,t,a].filter(Boolean).join("-"),parse:(e,t,a)=>{let r=aE.extractTemplate(e,t,a);return{organizationId:a,sessionId:t,template:r}},extractTemplate:(e,t,a)=>{if(e===t||a&&e===`${t}-${a}`)return;let r=e.slice(t.length+1);return a&&r.endsWith(`-${a}`)&&(r=r.slice(0,-(a.length+1))),r||void 0}},aI="clerk",aC=10,aP={broadcast:!0};class aq{prefix;data;static fromKey(e){let[t,a,r=""]=e.split("::");return new aq(t,{audience:r,tokenId:a})}constructor(e,t){this.prefix=e,this.data=t,this.prefix=e,this.data=t}toKey(){let{tokenId:e,audience:t}=this.data;return[this.prefix,e,t||""].join("::")}}let aO=((e=aI)=>{let t=new Map,a=Math.random().toString(36).slice(2),r=null;return{clear:()=>{t.forEach(e=>{void 0!==e.timeoutId&&clearTimeout(e.timeoutId)}),t.clear()},close:()=>{r&&(r.close(),r=null)},get:(a,r=aC)=>{let n=new aq(e,a),i=t.get(n.toKey());if(!i)return;let s=Math.floor(Date.now()/1e3)-i.createdAt;if(i.expiresIn-s<(r||1)+5){void 0!==i.timeoutId&&clearTimeout(i.timeoutId),t.delete(n.toKey());return}return i.entry},set:n=>{((n,i=aP)=>{let s=new aq(e,{audience:n.audience,tokenId:n.tokenId}).toKey(),o=Math.floor(Date.now()/1e3),l={createdAt:n.createdAt??o,entry:n,expiresIn:void 0},c=()=>{let e=t.get(s);e===l&&(void 0!==e.timeoutId&&clearTimeout(e.timeoutId),t.delete(s))};n.tokenResolver.then(e=>{let t=e.jwt?.claims;if(!t||"number"!=typeof t.exp||"number"!=typeof t.iat)return c();let s=t.exp-t.iat;l.expiresIn=s;let o=setTimeout(c,1e3*s);l.timeoutId=o,"function"==typeof o.unref&&o.unref();let u=r;if(u&&i.broadcast){let r=e.getRawString();if(r&&t.sid){let e=t.sid,i=t.org_id||t.o?.id,s=aE.extractTemplate(n.tokenId,e,i),o=aE.build(e,s,i);if(n.tokenId===o){let t=`bc_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;tt.info("Broadcasting token update to other tabs",{organizationId:i,sessionId:e,tabId:a,template:s,tokenId:n.tokenId,traceId:t},"tokenCache");let o={organizationId:i,sessionId:e,template:s,tokenId:n.tokenId,tokenRaw:r,traceId:t};u.postMessage(o)}}}}).catch(()=>{c()}),t.set(s,l)})(n,aP)},size:()=>t.size}})();class aT extends tF{static instance;pathRoot="/client";sessions=[];signUp=new rD;signIn=new rR;lastActiveSessionId=null;captchaBypass=!1;cookieExpiresAt=null;lastAuthenticationStrategy=null;createdAt=null;updatedAt=null;static getOrCreateInstance(e=null){return aT.instance||(aT.instance=new aT(e)),aT.instance}static clearInstance(){aT.instance=null}static isClientResource(e){return!!e&&e instanceof aT}constructor(e=null){super(),this.fromJSON(e)}get signUpAttempt(){return this.signUp}get signInAttempt(){return this.signIn}get signedInSessions(){return this.sessions.filter(e=>"active"===e.status||"pending"===e.status)}create(){return this._basePut()}fetch({fetchMaxTries:e}={}){return this._baseGet({fetchMaxTries:e})}async destroy(){return this._baseDelete({path:"/client"}).then(()=>{aO.clear(),this.id="",this.sessions=[],this.signUp=new rD(null),this.signIn=new rR(null),this.lastActiveSessionId=null,this.lastAuthenticationStrategy=null,this.cookieExpiresAt=null,this.createdAt=null,this.updatedAt=null})}removeSessions(){return this._baseDelete({path:this.path()+"/sessions"}).then(e=>(aO.clear(),e))}clearCache(){return this.sessions.forEach(e=>e.clearCache())}isEligibleForTouch(){return!!this.cookieExpiresAt&&this.cookieExpiresAt.getTime()-Date.now()<=6912e5}buildTouchUrl({redirectUrl:e}){return tF.fapiClient.buildUrl({method:"GET",path:"/client/touch",pathPrefix:"v1",search:{redirect_url:e.toString()}}).toString()}__internal_sendCaptchaToken(e){return this._basePostBypass({body:e,path:this.path()+"/verify"})}fromJSON(e){return e&&(this.id=e.id,this.sessions=(e.sessions||[]).map(e=>new rE(e)),this.signUp=new rD(e.sign_up),this.signIn=new rR(e.sign_in),this.lastActiveSessionId=e.last_active_session_id,this.captchaBypass=e.captcha_bypass||!1,this.cookieExpiresAt=e.cookie_expires_at?tL(e.cookie_expires_at):null,this.lastAuthenticationStrategy=e.last_authentication_strategy||null,this.createdAt=tL(e.created_at||void 0),this.updatedAt=tL(e.updated_at||void 0)),this}__internal_toSnapshot(){return{object:"client",id:this.id||"",sessions:this.sessions.map(e=>e.__internal_toSnapshot()),sign_up:this.signUp.__internal_toSnapshot(),sign_in:this.signIn.__internal_toSnapshot(),last_active_session_id:this.lastActiveSessionId,captcha_bypass:this.captchaBypass,cookie_expires_at:this.cookieExpiresAt?this.cookieExpiresAt.getTime():null,last_authentication_strategy:this.lastAuthenticationStrategy??null,created_at:this.createdAt?.getTime()??null,updated_at:this.updatedAt?.getTime()??null}}path(){return this.pathRoot}}class aU extends tF{billing={stripePublishableKey:null,organization:{enabled:!1,hasPaidPlans:!1},user:{enabled:!1,hasPaidPlans:!1}};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.billing.stripePublishableKey=e.billing.stripe_publishable_key,this.billing.organization.enabled=e.billing.organization.enabled,this.billing.organization.hasPaidPlans=e.billing.organization.has_paid_plans,this.billing.user.enabled=e.billing.user.enabled,this.billing.user.hasPaidPlans=e.billing.user.has_paid_plans),this}__internal_toSnapshot(){return{billing:{stripe_publishable_key:this.billing.stripePublishableKey,organization:{enabled:this.billing.organization.enabled,has_paid_plans:this.billing.organization.hasPaidPlans},user:{enabled:this.billing.user.enabled,has_paid_plans:this.billing.user.hasPaidPlans}}}}}class aM{object="";id;slug;deleted=!1;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.object=e.object,this.id=e.id,this.slug=e.slug,this.deleted=e.deleted),this}}class aR extends tF{afterCreateOrganizationUrl="";afterJoinWaitlistUrl="";afterLeaveOrganizationUrl="";afterSignInUrl="";afterSignOutAllUrl="";afterSignOutOneUrl="";afterSignOutUrl="";afterSignUpUrl="";afterSwitchSessionUrl="";applicationName="";backendHost="";branded=!1;captchaHeartbeat=!1;captchaHeartbeatIntervalMs;captchaOauthBypass=["oauth_google","oauth_microsoft","oauth_apple"];captchaProvider="turnstile";captchaPublicKey=null;captchaPublicKeyInvisible=null;captchaWidgetType=null;clerkJSVersion;createOrganizationUrl="";experimental__forceOauthFirst;faviconImageUrl="";googleOneTapClientId;homeUrl="";id="";instanceEnvironmentType="";logoImageUrl="";organizationProfileUrl="";preferredSignInStrategy="password";privacyPolicyUrl="";showDevModeWarning=!1;signInUrl="";signUpUrl="";supportEmail="";termsUrl="";theme={};userProfileUrl="";waitlistUrl="";constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.afterCreateOrganizationUrl=this.withDefault(e.after_create_organization_url,this.afterCreateOrganizationUrl),this.afterJoinWaitlistUrl=this.withDefault(e.after_join_waitlist_url,this.afterJoinWaitlistUrl),this.afterLeaveOrganizationUrl=this.withDefault(e.after_leave_organization_url,this.afterLeaveOrganizationUrl),this.afterSignInUrl=this.withDefault(e.after_sign_in_url,this.afterSignInUrl),this.afterSignOutAllUrl=this.withDefault(e.after_sign_out_all_url,this.afterSignOutAllUrl),this.afterSignOutOneUrl=this.withDefault(e.after_sign_out_one_url,this.afterSignOutOneUrl),this.afterSignUpUrl=this.withDefault(e.after_sign_up_url,this.afterSignUpUrl),this.afterSwitchSessionUrl=this.withDefault(e.after_switch_session_url,this.afterSwitchSessionUrl),this.applicationName=this.withDefault(e.application_name,this.applicationName),this.branded=this.withDefault(e.branded,this.branded),this.captchaHeartbeat=this.withDefault(e.captcha_heartbeat,this.captchaHeartbeat),this.captchaHeartbeatIntervalMs=this.withDefault(e.captcha_heartbeat_interval_ms,this.captchaHeartbeatIntervalMs),this.captchaOauthBypass=this.withDefault(e.captcha_oauth_bypass,this.captchaOauthBypass),this.captchaProvider=this.withDefault(e.captcha_provider,this.captchaProvider),this.captchaPublicKey=this.withDefault(e.captcha_public_key,this.captchaPublicKey),this.captchaPublicKeyInvisible=this.withDefault(e.captcha_public_key_invisible,this.captchaPublicKeyInvisible),this.captchaWidgetType=this.withDefault(e.captcha_widget_type,this.captchaWidgetType),this.clerkJSVersion=this.withDefault(e.clerk_js_version,this.clerkJSVersion),this.createOrganizationUrl=this.withDefault(e.create_organization_url,this.createOrganizationUrl),this.faviconImageUrl=this.withDefault(e.favicon_image_url,this.faviconImageUrl),this.googleOneTapClientId=this.withDefault(e.google_one_tap_client_id,this.googleOneTapClientId),this.homeUrl=this.withDefault(e.home_url,this.homeUrl),this.id=this.withDefault(e.id,this.id),this.instanceEnvironmentType=this.withDefault(e.instance_environment_type,this.instanceEnvironmentType),this.logoImageUrl=this.withDefault(e.logo_image_url,this.logoImageUrl),this.organizationProfileUrl=this.withDefault(e.organization_profile_url,this.organizationProfileUrl),this.preferredSignInStrategy=this.withDefault(e.preferred_sign_in_strategy,this.preferredSignInStrategy),this.privacyPolicyUrl=this.withDefault(e.privacy_policy_url,this.privacyPolicyUrl),this.showDevModeWarning=this.withDefault(e.show_devmode_warning,this.showDevModeWarning),this.signInUrl=this.withDefault(e.sign_in_url,this.signInUrl),this.signUpUrl=this.withDefault(e.sign_up_url,this.signUpUrl),this.supportEmail=this.withDefault(e.support_email,this.supportEmail),this.termsUrl=this.withDefault(e.terms_url,this.termsUrl),this.theme=this.withDefault(e.theme,this.theme),this.userProfileUrl=this.withDefault(e.user_profile_url,this.userProfileUrl),this.waitlistUrl=this.withDefault(e.waitlist_url,this.waitlistUrl)),this}__internal_toSnapshot(){return{object:"display_config",after_create_organization_url:this.afterCreateOrganizationUrl,after_join_waitlist_url:this.afterJoinWaitlistUrl,after_leave_organization_url:this.afterLeaveOrganizationUrl,after_sign_in_url:this.afterSignInUrl,after_sign_out_all_url:this.afterSignOutAllUrl,after_sign_out_one_url:this.afterSignOutOneUrl,after_sign_up_url:this.afterSignUpUrl,after_switch_session_url:this.afterSwitchSessionUrl,application_name:this.applicationName,branded:this.branded,captcha_heartbeat_interval_ms:this.captchaHeartbeatIntervalMs,captcha_heartbeat:this.captchaHeartbeat,captcha_oauth_bypass:this.captchaOauthBypass,captcha_provider:this.captchaProvider,captcha_public_key_invisible:this.captchaPublicKeyInvisible,captcha_public_key:this.captchaPublicKey,captcha_widget_type:this.captchaWidgetType,clerk_js_version:this.clerkJSVersion,create_organization_url:this.createOrganizationUrl,favicon_image_url:this.faviconImageUrl,google_one_tap_client_id:this.googleOneTapClientId,home_url:this.homeUrl,id:this.id,instance_environment_type:this.instanceEnvironmentType,logo_image_url:this.logoImageUrl,organization_profile_url:this.organizationProfileUrl,preferred_sign_in_strategy:this.preferredSignInStrategy,privacy_policy_url:this.privacyPolicyUrl,show_devmode_warning:this.showDevModeWarning,sign_in_url:this.signInUrl,sign_up_url:this.signUpUrl,support_email:this.supportEmail,terms_url:this.termsUrl,theme:this.theme,user_profile_url:this.userProfileUrl,waitlist_url:this.waitlistUrl}}}var aB='const respond=r=>{self.postMessage(r)},workerToTabIds={};self.addEventListener("message",r=>{const e=r.data;switch(e.type){case"setTimeout":workerToTabIds[e.id]=setTimeout(()=>{respond({id:e.id}),delete workerToTabIds[e.id]},e.ms);break;case"clearTimeout":workerToTabIds[e.id]&&(clearTimeout(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break;case"setInterval":workerToTabIds[e.id]=setInterval(()=>{respond({id:e.id})},e.ms);break;case"clearInterval":workerToTabIds[e.id]&&(clearInterval(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break}});\n';let aN=(e,t={})=>{if("undefined"==typeof Worker)return null;try{let a=new Blob([e],{type:"application/javascript; charset=utf-8"}),r=globalThis.URL.createObjectURL(a);return new Worker(r,t)}catch{return console.warn("Clerk: Cannot create worker from blob. Consider adding worker-src blob:; to your CSP"),null}},aD=()=>{let e=0,t=()=>e++,a=new Map,r=(e,t)=>e?.postMessage(t),n=e=>{a.get(e.data.id)?.()},i=aN(aB,{name:"clerk-timers"});if(i?.addEventListener("message",n),!i)return{setTimeout:globalThis.setTimeout.bind(globalThis),setInterval:globalThis.setInterval.bind(globalThis),clearTimeout:globalThis.clearTimeout.bind(globalThis),clearInterval:globalThis.clearInterval.bind(globalThis),cleanup:e3};let s=()=>{i||(i=aN(aB,{name:"clerk-timers"}),i?.addEventListener("message",n))};return{setTimeout:(e,n)=>{s();let o=t();return a.set(o,()=>{e(),a.delete(o)}),r(i,{type:"setTimeout",id:o,ms:n}),o},setInterval:(e,n)=>{s();let o=t();return a.set(o,e),r(i,{type:"setInterval",id:o,ms:n}),o},clearTimeout:e=>{s(),a.delete(e),r(i,{type:"clearTimeout",id:e})},clearInterval:e=>{s(),a.delete(e),r(i,{type:"clearInterval",id:e})},cleanup:()=>{i&&(i.terminate(),i=null,a.clear())}}};function aF({delayInMs:e}={delayInMs:1e3}){let t,a=aD(),r=!1,n=()=>{t&&(a.clearTimeout(t),a.cleanup()),r=!0},i=async s=>{r=!1,await s(n),r||(t=a.setTimeout(()=>{i(s)},e))};return{run:i,stop:n}}class aL extends tF{id;emailAddress="";matchesSsoConnection=!1;linkedTo=[];verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{email_address:this.emailAddress}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:"attempt_verification",body:{code:t}})};createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({redirectUrl:a})=>(await this.prepareVerification({strategy:"email_link",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{"verified"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};createEnterpriseSSOLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEnterpriseSSOLinkFlow:async({redirectUrl:a})=>{if(!(await this.prepareVerification({strategy:"enterprise_sso",redirectUrl:a})).verification.externalVerificationRedirectURL)throw Error("Unexpected: External verification redirect URL is missing");return new Promise((a,r)=>{e(()=>this.reload().then(e=>{"verified"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEnterpriseSSOLinkFlow:t}};destroy=()=>this._baseDelete();toString=()=>this.emailAddress;fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.verification=new aX(e.verification),this.matchesSsoConnection=e.matches_sso_connection,this.linkedTo=(e.linked_to||[]).map(e=>new ri(e))),this}__internal_toSnapshot(){return{object:"email_address",id:this.id,email_address:this.emailAddress,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),matches_sso_connection:this.matchesSsoConnection}}}var aW=class{static encode(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}static decode(e){let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),a=t.length,r=new Uint8Array(a);for(let e=0;e<a;e++)r[e]=t.charCodeAt(e);return r.buffer}};async function aK(e){try{let t=await navigator.credentials.create({publicKey:e});if(!t)return{error:new I("Browser failed to create credential",{code:"passkey_registration_failed"}),publicKeyCredential:null};return{publicKeyCredential:t,error:null}}catch(e){var t;return{error:"InvalidStateError"===(t=e).name?new I(t.message,{code:"passkey_already_exists"}):"NotAllowedError"===t.name?new I(t.message,{code:"passkey_registration_cancelled"}):aG(t),publicKeyCredential:null}}}let aH=new class{controller;__abort(){if(!this.controller)return;let e=Error();e.name="AbortError",this.controller.abort(e)}createAbortSignal(){this.__abort();let e=new AbortController;return this.controller=e,e.signal}abort(){this.__abort(),this.controller=void 0}};async function aV({publicKeyOptions:e,conditionalUI:t}){try{let a=await navigator.credentials.get({publicKey:e,mediation:t?"conditional":"optional",signal:aH.createAbortSignal()});if(!a)return{error:new I("Browser failed to get credential",{code:"passkey_retrieval_failed"}),publicKeyCredential:null};return{publicKeyCredential:a,error:null}}catch(e){var a;return{error:"NotAllowedError"===(a=e).name?new I(a.message,{code:"passkey_retrieval_cancelled"}):aG(a),publicKeyCredential:null}}}function aG(e){return"AbortError"===e.name?new I(e.message,{code:"passkey_operation_aborted"}):"SecurityError"===e.name?new I(e.message,{code:"passkey_invalid_rpID_or_domain"}):e}function aJ(e){let t=aQ(e.challenge),a=(e.allowCredentials||[]).map(e=>({...e,id:aQ(e.id)}));return{...e,allowCredentials:a,challenge:t}}function aZ(e){return{type:e.type,id:e.id,rawId:aY(e.rawId),authenticatorAttachment:e.authenticatorAttachment}}function a$(e){let t=e.response;return{...aZ(e),response:{clientDataJSON:aY(t.clientDataJSON),authenticatorData:aY(t.authenticatorData),signature:aY(t.signature),userHandle:t.userHandle?aY(t.userHandle):null}}}let aY=aW.encode.bind(aW),aQ=aW.decode.bind(aW);class aX extends tF{pathRoot="";status=null;strategy=null;nonce=null;message=null;externalVerificationRedirectURL=null;attempts=null;expireAt=null;error=null;verifiedAtClient=null;channel;constructor(e){super(),this.fromJSON(e)}verifiedFromTheSameClient=()=>this.verifiedAtClient===tF.clerk?.client?.id;fromJSON(e){return e&&(this.status=e.status,this.verifiedAtClient=e.verified_at_client,this.strategy=e.strategy,this.nonce=e.nonce||null,this.message=e.message||null,e.external_verification_redirect_url?this.externalVerificationRedirectURL=new URL(e.external_verification_redirect_url):this.externalVerificationRedirectURL=null,this.attempts=e.attempts,this.expireAt=tL(e.expire_at||void 0),this.error=e.error?new w(e.error):null,this.channel=e.channel||void 0),this}__internal_toSnapshot(){var e;return{object:"verification",id:this.id||"",status:this.status,strategy:this.strategy,nonce:this.nonce,message:this.message,external_verification_redirect_url:this.externalVerificationRedirectURL?.toString()||null,attempts:this.attempts,expire_at:this.expireAt?.getTime()||null,error:(e=this.error,{code:e?.code||"",message:e?.message||"",long_message:e?.longMessage,meta:{param_name:e?.meta?.paramName,session_id:e?.meta?.sessionId,email_addresses:e?.meta?.emailAddresses,identifiers:e?.meta?.identifiers,zxcvbn:e?.meta?.zxcvbn,plan:e?.meta?.plan,is_plan_upgrade_possible:e?.meta?.isPlanUpgradePossible}}),verified_at_client:this.verifiedAtClient}}}class a1 extends aX{publicKey=null;constructor(e){super(e),this.fromJSON(e)}fromJSON(e){var t;let a,r,n;return super.fromJSON(e),e?.nonce&&(this.publicKey=(a=aQ((t=JSON.parse(e.nonce)).user.id),r=aQ(t.challenge),n=(t.excludeCredentials||[]).map(e=>({...e,id:aQ(e.id)})),{...t,excludeCredentials:n,challenge:r,user:{...t.user,id:a}})),this}}class a0{emailAddress;phoneNumber;web3Wallet;externalAccount;constructor(e){e?(this.emailAddress=new a2(e.email_address),this.phoneNumber=new a2(e.phone_number),this.web3Wallet=new a2(e.web3_wallet),this.externalAccount=new aX(e.external_account)):(this.emailAddress=new a2(null),this.phoneNumber=new a2(null),this.web3Wallet=new a2(null),this.externalAccount=new aX(null))}__internal_toSnapshot(){return{email_address:this.emailAddress.__internal_toSnapshot(),phone_number:this.phoneNumber.__internal_toSnapshot(),web3_wallet:this.web3Wallet.__internal_toSnapshot(),external_account:this.externalAccount.__internal_toSnapshot()}}}class a2 extends aX{nextAction;supportedStrategies;constructor(e){super(e),e?(this.nextAction=e.next_action,this.supportedStrategies=e.supported_strategies):(this.nextAction="",this.supportedStrategies=[])}__internal_toSnapshot(){return{...super.__internal_toSnapshot(),next_action:this.nextAction,supported_strategies:this.supportedStrategies}}}class a9 extends tF{id;protocol;provider;providerUserId=null;active;emailAddress="";firstName="";lastName="";publicMetadata={};verification=null;enterpriseConnection=null;lastAuthenticatedAt=null;enterpriseConnectionId=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.provider=e.provider,this.protocol=e.protocol,this.providerUserId=e.provider_user_id,this.active=e.active,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.publicMetadata=e.public_metadata,this.lastAuthenticatedAt=e.last_authenticated_at?tL(e.last_authenticated_at):null,this.enterpriseConnectionId=e.enterprise_connection_id,e.verification&&(this.verification=new aX(e.verification)),e.enterprise_connection&&(this.enterpriseConnection=new a3(e.enterprise_connection))),this}__internal_toSnapshot(){return{object:"enterprise_account",id:this.id,provider:this.provider,protocol:this.protocol,provider_user_id:this.providerUserId,active:this.active,email_address:this.emailAddress,first_name:this.firstName,last_name:this.lastName,public_metadata:this.publicMetadata,verification:this.verification?.__internal_toSnapshot()||null,enterprise_connection:this.enterpriseConnection?.__internal_toSnapshot()||null,last_authenticated_at:this.lastAuthenticatedAt?this.lastAuthenticatedAt.getTime():null,enterprise_connection_id:this.enterpriseConnectionId}}}class a3 extends tF{id;active;allowIdpInitiated;allowSubdomains;disableAdditionalIdentifications;domain;logoPublicUrl="";name;protocol;provider;syncUserAttributes;createdAt;updatedAt;enterpriseConnectionId="";constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.domain=e.domain,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url,this.syncUserAttributes=e.sync_user_attributes,this.allowSubdomains=e.allow_subdomains,this.allowIdpInitiated=e.allow_idp_initiated,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),this.enterpriseConnectionId=e.enterprise_connection_id),this}__internal_toSnapshot(){return{object:"enterprise_account_connection",id:this.id,name:this.name,domain:this.domain,active:this.active,protocol:this.protocol,provider:this.provider,logo_public_url:this.logoPublicUrl,sync_user_attributes:this.syncUserAttributes,allow_subdomains:this.allowSubdomains,allow_idp_initiated:this.allowIdpInitiated,disable_additional_identifications:this.disableAdditionalIdentifications,enterprise_connection_id:this.enterpriseConnectionId,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}let a5="token:update",a6="user:signOut",a8="environment:update",a4="session:tokenResolved",a7=p();class re extends tF{user_api_keys_enabled=!1;orgs_api_keys_enabled=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.user_api_keys_enabled=e.user_api_keys_enabled,this.orgs_api_keys_enabled=e.orgs_api_keys_enabled),this}__internal_toSnapshot(){return{user_api_keys_enabled:this.user_api_keys_enabled,orgs_api_keys_enabled:this.orgs_api_keys_enabled}}}class rt extends tF{actions={adminDelete:!1};domains={enabled:!1,enrollmentModes:[],defaultRole:null};slug={disabled:!1};enabled=!1;maxAllowedMemberships=1;forceOrganizationSelection;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.actions&&(this.actions.adminDelete=this.withDefault(e.actions.admin_delete,this.actions.adminDelete)),e.domains&&(this.domains.enabled=this.withDefault(e.domains.enabled,this.domains.enabled),this.domains.enrollmentModes=this.withDefault(e.domains.enrollment_modes,this.domains.enrollmentModes),this.domains.defaultRole=this.withDefault(e.domains.default_role,this.domains.defaultRole)),e.slug&&(this.slug.disabled=this.withDefault(e.slug.disabled,this.slug.disabled)),this.enabled=this.withDefault(e.enabled,this.enabled),this.maxAllowedMemberships=this.withDefault(e.max_allowed_memberships,this.maxAllowedMemberships),this.forceOrganizationSelection=this.withDefault(e.force_organization_selection,this.forceOrganizationSelection)),this}__internal_toSnapshot(){return{actions:{admin_delete:this.actions.adminDelete},domains:{enabled:this.domains.enabled,enrollment_modes:this.domains.enrollmentModes,default_role:this.domains.defaultRole},enabled:this.enabled,max_allowed_memberships:this.maxAllowedMemberships}}}class ra extends tF{static instance;authConfig=new tK;displayConfig=new aR;maintenanceMode=!1;clientDebugMode=!1;pathRoot="/environment";userSettings=new r$;organizationSettings=new rt;commerceSettings=new aU;apiKeysSettings=new re;protectConfig=new rk;static getInstance(){return ra.instance||(ra.instance=new ra),ra.instance}constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.authConfig=new tK(e.auth_config),this.displayConfig=new aR(e.display_config),this.maintenanceMode=this.withDefault(e.maintenance_mode,this.maintenanceMode),this.clientDebugMode=this.withDefault(e.client_debug_mode,this.clientDebugMode),this.organizationSettings=new rt(e.organization_settings),this.userSettings=new r$(e.user_settings),this.commerceSettings=new aU(e.commerce_settings),this.apiKeysSettings=new re(e.api_keys_settings),this.protectConfig=new rk(e.protect_config)),this}fetch({touch:e,fetchMaxTries:t}={touch:!1}){return(e?this._basePatch({}):this._baseGet({fetchMaxTries:t})).then(e=>(a7.emit(a8,null),e))}isDevelopmentOrStaging=()=>!this.isProduction();isProduction=()=>"production"===this.displayConfig.instanceEnvironmentType;isSingleSession=()=>this.authConfig.singleSessionMode;onWindowLocationHost=()=>this.displayConfig.backendHost===window.location.host;__internal_toSnapshot(){return{object:"environment",auth_config:this.authConfig.__internal_toSnapshot(),display_config:this.displayConfig.__internal_toSnapshot(),id:this.id??"",maintenance_mode:this.maintenanceMode,client_debug_mode:this.clientDebugMode,organization_settings:this.organizationSettings.__internal_toSnapshot(),user_settings:this.userSettings.__internal_toSnapshot(),commerce_settings:this.commerceSettings.__internal_toSnapshot(),api_keys_settings:this.apiKeysSettings.__internal_toSnapshot(),protect_config:this.protectConfig.__internal_toSnapshot()}}}class rr extends tF{id;identificationId;provider;providerUserId="";emailAddress="";approvedScopes="";firstName="";lastName="";imageUrl="";username="";phoneNumber="";publicMetadata={};label="";verification=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}reauthorize=e=>{let{additionalScopes:t,redirectUrl:a}=e||{};return this._basePatch({action:"reauthorize",body:{additional_scope:t,redirect_url:a}})};destroy=()=>this._baseDelete();fromJSON(e){return e&&(this.id=e.id,this.identificationId=e.identification_id,this.providerUserId=e.provider_user_id,this.approvedScopes=e.approved_scopes,this.imageUrl=e.image_url,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.provider=(e.provider||"").replace("oauth_",""),this.username=e.username,this.phoneNumber=e.phone_number,this.publicMetadata=e.public_metadata,this.label=e.label,e.verification&&(this.verification=new aX(e.verification))),this}__internal_toSnapshot(){return{object:"external_account",id:this.id,identification_id:this.identificationId,provider:this.provider,provider_user_id:this.providerUserId,email_address:this.emailAddress,approved_scopes:this.approvedScopes,first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,username:this.username,phone_number:this.phoneNumber,public_metadata:this.publicMetadata,label:this.label,verification:this.verification?.__internal_toSnapshot()||null}}providerSlug(){return this.provider}providerTitle(){let e;return[(e=this.providerSlug()||"").charAt(0).toUpperCase()+e.slice(1),"Account"].join(" ")}accountIdentifier(){return this.username||this.emailAddress||this.label}}class rn extends tF{id;name;description=null;slug;avatarUrl=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.description=e.description,this.slug=e.slug,this.avatarUrl=e.avatar_url),this}}class ri extends tF{id;type;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type),this}__internal_toSnapshot(){return{object:"identification_link",id:this.id,type:this.type}}}class rs extends tF{id;name=null;publicUrl=null;static async create(e,t={}){let a,r=t;return"string"==typeof t.file?(r=t.file,a=new Headers({"Content-Type":"application/octet-stream"})):t.file&&(r=new FormData).append("file",t.file),new rs((await tF._fetch({path:e,method:"POST",body:r,headers:a}))?.response)}static async delete(e){return new rs((await tF._fetch({path:e,method:"DELETE"}))?.response)}constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.publicUrl=e.public_url),this}}class ro extends tF{id;name;organizationId;enrollmentMode;verification;affiliationEmailAddress;createdAt;updatedAt;totalPendingInvitations;totalPendingSuggestions;constructor(e){super(),this.fromJSON(e)}static async create(e,{name:t}){return new ro((await tF._fetch({path:`/organizations/${e}/domains`,method:"POST",body:{name:t}}))?.response)}prepareAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/prepare_affiliation_verification`,method:"POST",body:e});attemptAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/attempt_affiliation_verification`,method:"POST",body:e});updateEnrollmentMode=e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/update_enrollment_mode`,body:e});delete=()=>this._baseDelete({path:`/organizations/${this.organizationId}/domains/${this.id}`});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.organizationId=e.organization_id,this.enrollmentMode=e.enrollment_mode,this.affiliationEmailAddress=e.affiliation_email_address,this.totalPendingSuggestions=e.total_pending_suggestions,this.totalPendingInvitations=e.total_pending_invitations,e.verification?this.verification={status:e.verification.status,strategy:e.verification.strategy,attempts:e.verification.attempts,expiresAt:tL(e.verification.expires_at)}:this.verification=null),this}}class rl extends tF{id;organizationId;status;publicUserData;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/accept`});reject=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/reject`});fromJSON(e){return e&&(this.id=e.id,this.organizationId=e.organization_id,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),e.public_user_data&&(this.publicUserData=new rv(e.public_user_data))),this}}class rc extends tF{id;key;name;description;type;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.type=e.type,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class ru extends tF{id;key;name;description;permissions=[];createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.permissions=e.permissions.map(e=>new rc(e)),this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class rd extends tF{pathRoot="/organizations";id;name;slug;imageUrl;hasImage;publicMetadata={};adminDeleteEnabled;createdAt;updatedAt;membersCount=0;pendingInvitationsCount=0;maxAllowedMemberships;constructor(e){super(),this.fromJSON(e)}static async create(e){return new rd((await tF._fetch({path:"/organizations",method:"POST",body:e}))?.response)}static async get(e){return new rd((await tF._fetch({path:`/organizations/${e}`,method:"GET"}))?.response)}update=async e=>this._basePatch({body:e});getRoles=async e=>await tF._fetch({path:`/organizations/${this.id}/roles`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new ru(e))}});getDomains=async e=>await tF._fetch({path:`/organizations/${this.id}/domains`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new ro(e))}});getDomain=async({domainId:e})=>new ro((await tF._fetch({path:`/organizations/${this.id}/domains/${e}`,method:"GET"}))?.response);getMembershipRequests=async e=>await tF._fetch({path:`/organizations/${this.id}/membership_requests`,method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rl(e))}});createDomain=async e=>ro.create(this.id,{name:e});getMemberships=async e=>await tF._fetch({path:`/organizations/${this.id}/memberships`,method:"GET",search:aa({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rm(e))}});getInvitations=async e=>await tF._fetch({path:`/organizations/${this.id}/invitations`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rh(e))}});addMember=async({userId:e,role:t})=>await tF._fetch({method:"POST",path:`/organizations/${this.id}/memberships`,body:{userId:e,role:t}}).then(e=>new rm(e?.response));inviteMember=async e=>rh.create(this.id,e);inviteMembers=async e=>rh.createBulk(this.id,e);updateMember=async({userId:e,role:t})=>await tF._fetch({method:"PATCH",path:`/organizations/${this.id}/memberships/${e}`,body:{role:t}}).then(e=>new rm(e?.response));removeMember=async e=>await tF._fetch({method:"DELETE",path:`/organizations/${this.id}/memberships/${e}`}).then(e=>new rm(e?.response));destroy=async()=>this._baseDelete();setLogo=async({file:e})=>{let t,a;return null===e?await tF._fetch({path:`/organizations/${this.id}/logo`,method:"DELETE"}).then(e=>new rd(e?.response)):("string"==typeof e?(t=e,a=new Headers({"Content-Type":"application/octet-stream"})):(t=new FormData).append("file",e),await tF._fetch({path:`/organizations/${this.id}/logo`,method:"PUT",body:t,headers:a}).then(e=>new rd(e?.response)))};initializePaymentMethod=e=>ay({...e,orgId:this.id});addPaymentMethod=e=>aw({...e,orgId:this.id});getPaymentMethods=e=>ak({...e,orgId:this.id});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.slug=e.slug,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.publicMetadata=e.public_metadata||{},this.membersCount=e.members_count||0,this.pendingInvitationsCount=e.pending_invitations_count||0,this.maxAllowedMemberships=e.max_allowed_memberships||0,this.adminDeleteEnabled=e.admin_delete_enabled||!1,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization",id:this.id,name:this.name,slug:this.slug,image_url:this.imageUrl,has_image:this.hasImage,public_metadata:this.publicMetadata,members_count:this.membersCount,pending_invitations_count:this.pendingInvitationsCount,max_allowed_memberships:this.maxAllowedMemberships,admin_delete_enabled:this.adminDeleteEnabled,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async reload(e){let{rotatingTokenNonce:t}=e||{},a=(await tF._fetch({path:`/organizations/${this.id}`,method:"GET",rotatingTokenNonce:t},{forceUpdateClient:!0}))?.response;return this.fromJSON(a)}}class rh extends tF{id;emailAddress;organizationId;publicMetadata={};status;role;roleName;createdAt;updatedAt;static async create(e,{emailAddress:t,role:a}){return new rh((await tF._fetch({path:`/organizations/${e}/invitations`,method:"POST",body:{email_address:t,role:a}}))?.response)}static async createBulk(e,t){let{emailAddresses:a,role:r}=t;return((await tF._fetch({path:`/organizations/${e}/invitations/bulk`,method:"POST",body:{email_address:a,role:r}}))?.response).map(e=>new rh(e))}constructor(e){super(),this.fromJSON(e)}revoke=async()=>await this._basePost({path:`/organizations/${this.organizationId}/invitations/${this.id}/revoke`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.organizationId=e.organization_id,this.publicMetadata=e.public_metadata,this.role=e.role,this.roleName=e.role_name,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class rm extends tF{id;publicMetadata={};publicUserData;organization;permissions=[];role;roleName;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static retrieve=async e=>await tF._fetch({path:"/me/organization_memberships",method:"GET",search:aa({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rm(e))}});destroy=async()=>await this._baseDelete({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`});update=async({role:e})=>await this._basePatch({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`,body:{role:e}});fromJSON(e){return e&&(this.id=e.id,this.organization=new rd(e.organization),this.publicMetadata=e.public_metadata||{},e.public_user_data&&(this.publicUserData=new rv(e.public_user_data)),this.permissions=Array.isArray(e.permissions)?[...e.permissions]:[],this.role=e.role,this.roleName=e.role_name,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization_membership",id:this.id,organization:this.organization.__internal_toSnapshot(),public_metadata:this.publicMetadata,public_user_data:this.publicUserData?.__internal_toSnapshot(),permissions:this.permissions,role:this.role,role_name:this.roleName,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}reload(e){throw Error(`${t_} Calling OrganizationMembership.reload is not currently supported. Please contact support.`)}}class rp extends tF{id;publicOrganizationData;status;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async retrieve(e){return await tF._fetch({path:"/me/organization_suggestions",method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rp(e))}})}accept=async()=>await this._basePost({path:`/me/organization_suggestions/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}function rf(){return l()&&"function"==typeof window.PublicKeyCredential}async function rg(){try{return rf()&&await window.PublicKeyCredential.isConditionalMediationAvailable()}catch{return!1}}async function rb(){try{return"undefined"!=typeof window&&await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return!1}}class ry extends tF{id;pathRoot="/me/passkeys";verification=null;name=null;lastUsedAt=null;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async create(){return tF._fetch({path:"/me/passkeys",method:"POST"}).then(e=>new ry(e?.response))}static async attemptVerification(e,t){let a,r=(a=t.response,{...aZ(t),response:{clientDataJSON:aY(a.clientDataJSON),attestationObject:aY(a.attestationObject),transports:a.getTransports()}});return tF._fetch({path:`/me/passkeys/${e}/attempt_verification`,method:"POST",body:{strategy:"passkey",publicKeyCredential:JSON.stringify(r)}}).then(e=>new ry(e?.response))}static async registerPasskey(){let e=ry.clerk.__internal_isWebAuthnSupported||rf,t=ry.clerk.__internal_createPublicCredentials||aK,a=ry.clerk.__internal_isWebAuthnPlatformAuthenticatorSupported||rb;if(!e())throw new I("Passkeys are not supported on this device.",{code:"passkey_not_supported"});let r=await this.create(),{verification:n}=r,i=n?.publicKey;if(i||tq("create"),i.authenticatorSelection?.authenticatorAttachment==="platform"&&!await a())throw new I("Registration requires a platform authenticator but the device does not support it.",{code:"passkey_pa_not_supported"});let{publicKeyCredential:s,error:o}=await t(i);if(!s)throw o;return this.attemptVerification(r.id,s)}update=e=>this._basePatch({body:e});delete=async()=>new aM((await tF._fetch({path:this.path(),method:"DELETE"}))?.response);fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.lastUsedAt=e.last_used_at?tL(e.last_used_at):null,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),e.verification&&(this.verification=new a1(e.verification))),this}__internal_toSnapshot(){return{object:"passkey",id:this.id,name:this.name,verification:this.verification?.__internal_toSnapshot()||null,last_used_at:this.lastUsedAt?.getTime()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class rw extends tF{id;phoneNumber="";reservedForSecondFactor=!1;defaultSecondFactor=!1;linkedTo=[];verification;backupCodes;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create=()=>this._basePost({body:{phone_number:this.phoneNumber}});prepareVerification=()=>this._basePost({action:"prepare_verification",body:{strategy:"phone_code"}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:"attempt_verification",body:{code:t}})};setReservedForSecondFactor=e=>{let{reserved:t}=e||{};return this._basePatch({body:{reserved_for_second_factor:t}})};makeDefaultSecondFactor=()=>this._basePatch({body:{default_second_factor:!0}});destroy=()=>this._baseDelete();toString=()=>{let e=this.phoneNumber.match(/^(\d{3})(\d{3})(\d{4})$/);return e?"("+e[1]+") "+e[2]+"-"+e[3]:this.phoneNumber};fromJSON(e){return e&&(this.id=e.id,this.phoneNumber=e.phone_number,this.reservedForSecondFactor=e.reserved_for_second_factor,this.defaultSecondFactor=e.default_second_factor,this.verification=new aX(e.verification),this.linkedTo=(e.linked_to||[]).map(e=>new ri(e)),this.backupCodes=e.backup_codes),this}__internal_toSnapshot(){return{object:"phone_number",id:this.id||"",phone_number:this.phoneNumber,reserved_for_second_factor:this.reservedForSecondFactor,default_second_factor:this.defaultSecondFactor,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),backup_codes:this.backupCodes}}}class rk extends tF{id="";loaders;rollout;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=this.withDefault(e.id,this.id),this.loaders=this.withDefault(e.loaders,this.loaders)),this}__internal_toSnapshot(){return{object:"protect_config",id:this.id,loaders:this.loaders}}}class rv{firstName;lastName;imageUrl;hasImage;identifier;userId;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name||null,this.lastName=e.last_name||null,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.identifier=e.identifier||"",this.userId=e.user_id),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,has_image:this.hasImage,identifier:this.identifier,user_id:this.userId}}}let rx={strict_mfa:{afterMinutes:10,level:"multi_factor"},strict:{afterMinutes:10,level:"second_factor"},moderate:{afterMinutes:60,level:"second_factor"},lax:{afterMinutes:1440,level:"second_factor"}},rj=new Set(["first_factor","second_factor","multi_factor"]),r_=new Set(["strict_mfa","strict","moderate","lax"]),rz=(e,t)=>{let{org:a,user:r}=rS(e),[n,i]=t.split(":"),s=i||n;return"org"===n?a.includes(s):"user"===n?r.includes(s):[...a,...r].includes(s)},rS=e=>{let t=e?e.split(",").map(e=>e.trim()):[];return{org:t.filter(e=>e.split(":")[0].includes("o")).map(e=>e.split(":")[1]),user:t.filter(e=>e.split(":")[0].includes("u")).map(e=>e.split(":")[1])}};class rA extends tF{status;level;session;supportedFirstFactors=[];supportedSecondFactors=[];firstFactorVerification=new aX(null);secondFactorVerification=new aX(null);constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.session=new rE(e.session),this.level=e.level,this.supportedFirstFactors=er(e.supported_first_factors),this.supportedSecondFactors=er(e.supported_second_factors),this.firstFactorVerification=new aX(e.first_factor_verification),this.secondFactorVerification=new aX(e.second_factor_verification)),this}}class rE extends tF{pathRoot="/client/sessions";id;status;lastActiveAt;lastActiveToken;lastActiveOrganizationId;actor;user;publicUserData;factorVerificationAge=null;tasks=null;expireAt;abandonAt;createdAt;updatedAt;static isSessionResource(e){return!!e&&e instanceof rE}constructor(e){super(),this.fromJSON(e),this.#es(this.lastActiveToken)}end=()=>(aO.clear(),this._basePost({action:"end"}));remove=()=>(aO.clear(),this._basePost({action:"remove"}));touch=()=>this._basePost({action:"touch",body:{active_organization_id:this.lastActiveOrganizationId}}).then(e=>(e.lastActiveToken&&a7.emit(a5,{token:e.lastActiveToken}),e));clearCache=()=>aO.clear();getToken=async e=>ti(()=>this._getToken(e),{factor:1.55,initialDelay:3e3,maxDelayBetweenRetries:5e4,jitter:!1,shouldRetry:(e,t)=>!P(e)&&t<=8});checkAuthorization=e=>{let t,a=(this.user?.organizationMemberships||[]).find(e=>e.organization.id===this.lastActiveOrganizationId);return(t={userId:this.user?.id,factorVerificationAge:this.factorVerificationAge,orgId:a?.id,orgRole:a?.role,orgPermissions:a?.permissions,features:this.lastActiveToken?.jwt?.claims.fea||"",plans:this.lastActiveToken?.jwt?.claims.pla||""},e=>{if(!t.userId)return!1;let a=((e,t)=>{let{features:a,plans:r}=t;return e.feature&&a?rz(a,e.feature):e.plan&&r?rz(r,e.plan):null})(e,t),r=((e,t)=>{let{orgId:a,orgRole:r,orgPermissions:n}=t;return(e.role||e.permission)&&a&&r&&n?e.permission?n.includes(e.permission.replace(/^(org:)*/,"org:")):e.role?r.replace(/^(org:)*/,"org:")===e.role.replace(/^(org:)*/,"org:"):null:null})(e,t),n=((e,{factorVerificationAge:t})=>{if(!e.reverification||!t)return null;let a=(e=>{let t,a;if(!e)return!1;let r="string"==typeof e&&r_.has(e),n="object"==typeof e&&(t=e.level,rj.has(t))&&"number"==typeof(a=e.afterMinutes)&&a>0;return(!!r||!!n)&&(e=>"string"==typeof e?rx[e]:e).bind(null,e)})(e.reverification);if(!a)return null;let{level:r,afterMinutes:n}=a(),[i,s]=t,o=-1!==i?n>i:null,l=-1!==s?n>s:null;switch(r){case"first_factor":return o;case"second_factor":return -1!==s?l:o;case"multi_factor":return -1===s?o:o&&l}})(e,t);return[a||r,n].some(e=>null===e)?[a||r,n].some(e=>!0===e):[a||r,n].every(e=>!0===e)})(e)};#es=e=>{e&&aO.set({tokenId:this.#eo(),tokenResolver:Promise.resolve(e)})};#eo(e,t){let a=void 0===t?this.lastActiveOrganizationId:t;return aE.build(this.id,e,a)}startVerification=async({level:e})=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify`,body:{level:e}}))?.response);prepareFirstFactorVerification=async e=>{let t;switch(e.strategy){case"email_code":t={emailAddressId:e.emailAddressId};break;case"phone_code":t={phoneNumberId:e.phoneNumberId,default:e.default};break;case"passkey":t={};break;case"enterprise_sso":t={emailAddressId:e.emailAddressId,enterpriseConnectionId:e.enterpriseConnectionId,redirectUrl:e.redirectUrl};break;default:tE("Session.prepareFirstFactorVerification",e.strategy)}return new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};attemptFirstFactorVerification=async e=>{let t;return t="passkey"===e.strategy?{publicKeyCredential:JSON.stringify(a$(e.publicKeyCredential))}:{...e},new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};verifyWithPasskey=async()=>{let{nonce:e=null}=(await this.prepareFirstFactorVerification({strategy:"passkey"})).firstFactorVerification,t=rE.clerk.__internal_isWebAuthnSupported||rf,a=rE.clerk.__internal_getPublicCredentials||aV;if(!t())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});let r=e?aJ(JSON.parse(e)):null;r||tq("get");let{publicKeyCredential:n,error:i}=await a({publicKeyOptions:r,conditionalUI:!1});if(!n)throw i;return this.attemptFirstFactorVerification({strategy:"passkey",publicKeyCredential:n})};prepareSecondFactorVerification=async e=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_second_factor`,body:e}))?.response);attemptSecondFactorVerification=async e=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_second_factor`,body:e}))?.response);fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.expireAt=tL(e.expire_at),this.abandonAt=tL(e.abandon_at),this.factorVerificationAge=e.factor_verification_age,this.lastActiveAt=tL(e.last_active_at||void 0),this.lastActiveOrganizationId=e.last_active_organization_id,this.actor=e.actor||null,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),this.user=new rV(e.user),this.tasks=e.tasks||null,e.public_user_data&&(this.publicUserData=new rv(e.public_user_data)),this.lastActiveToken=e.last_active_token?new rW(e.last_active_token):null),this}__internal_toSnapshot(){return{object:"session",id:this.id,status:this.status,expire_at:this.expireAt.getTime(),abandon_at:this.abandonAt.getTime(),factor_verification_age:this.factorVerificationAge,last_active_at:this.lastActiveAt.getTime(),last_active_organization_id:this.lastActiveOrganizationId,actor:this.actor,tasks:this.tasks,user:this.user?.__internal_toSnapshot()||null,public_user_data:this.publicUserData.__internal_toSnapshot(),last_active_token:this.lastActiveToken?.__internal_toSnapshot()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async _getToken(e){if(!this.user)return null;let{leewayInSeconds:t,template:a,skipCache:r=!1}=e||{},n=void 0===e?.organizationId?this.lastActiveOrganizationId:e?.organizationId;if(!a&&Number(t)>=60)throw Error("Leeway can not exceed the token lifespan (60 seconds)");let i=this.#eo(a,n),s=r?void 0:aO.get({tokenId:i},t),o=!a&&n===this.lastActiveOrganizationId;if(s){tt.debug("Using cached token (no fetch needed)",{tokenId:i},"session");let e=await s.tokenResolver;return o&&a7.emit(a5,{token:e}),e.getRawString()||null}tt.info("Fetching new token from API",{organizationId:n,template:a,tokenId:i},"session");let l=a?`${this.path()}/tokens/${a}`:`${this.path()}/tokens`,c=a?{}:{organizationId:n},u=rW.create(l,c,r);return aO.set({tokenId:i,tokenResolver:u}),u.then(e=>(o&&(a7.emit(a5,{token:e}),e.jwt&&(this.lastActiveToken=e,a7.emit(a4,null))),e.getRawString()||null))}get currentTask(){let[e]=this.tasks??[];return e}}class rI extends tF{pathRoot="";id;status;abandonAt;expireAt;lastActiveAt;latestActivity;actor;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}static retrieve(){let e=tF.clerk.session?.id;return this.clerk.getFapiClient().request({method:"GET",path:"/me/sessions/active",sessionId:e}).then(e=>e.payload.map(e=>new rI(e,"/me/sessions"))).catch(()=>[])}revoke(){return this._basePost({action:"revoke",body:{}})}fromJSON(e){let t;return e?(this.id=e.id,this.status=e.status,this.expireAt=tL(e.expire_at),this.abandonAt=tL(e.abandon_at),this.lastActiveAt=tL(e.last_active_at||void 0),this.latestActivity={id:(t=e.latest_activity??{}).id,deviceType:t.device_type,browserName:t.browser_name,browserVersion:t.browser_version,country:t.country,city:t.city,isMobile:t.is_mobile,ipAddress:t.ip_address},this.actor=e.actor,this):this}}let rC=(e,t,a)=>{let{onValidation:r=e3,onValidationComplexity:n=e3}=a||{},{show_zxcvbn:i,validatePassword:s}=t,o=e=>((e,t)=>{let{max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o}=t,l=(e=>{let t;if(e.allowed_special_characters){let a=e.allowed_special_characters.replace("[","\\[");a=a.replace("]","\\]"),t=RegExp(`[${a}]`)}else t=/[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/;return(e,{minLength:a,maxLength:r})=>({max_length:e.length<r,min_length:e.length>=a,require_numbers:/\d/.test(e),require_lowercase:/[a-z]/.test(e),require_uppercase:/[A-Z]/.test(e),require_special_char:t.test(e)})})(t)(e,{maxLength:t.max_length,minLength:t.min_length}),c={max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o},u=new Map;for(let e in c)c[e]&&!l[e]&&u.set(e,!0);return Object.freeze(Object.fromEntries(u))})(e,t),l=(({min_zxcvbn_strength:e,onResult:t})=>a=>r=>{let n=a(r);return(t?.(n),n.score>=e&&n.score<3)?{state:"pass",keys:["unstable__errors.zxcvbn.couldBeStronger"],result:n}:n.score>=e?{state:"excellent",result:n}:{state:"fail",keys:["unstable__errors.zxcvbn.notEnough",...n.feedback.suggestions.map(e=>`unstable__errors.zxcvbn.suggestions.${e}`)],result:n}})(t),c={};return(t,a)=>{let{onValidation:u=r,onValidationComplexity:d=n}=a||{};if(!s)return;let h=o(t);d(0===Object.keys(h).length),c={...c,complexity:h},i&&e().then(e=>{let a=l(e)(t);u({...c={...c,strength:a},strength:a})}),c.complexity&&0===Object.keys(c.complexity).length&&i||u(c)}};function rP(e){return e?`https://${e.replace(/clerk\.accountsstage\./,"accountsstage.").replace(/clerk\.accounts\.|clerk\./,"accounts.")}`:""}async function rq(e,t,a,r,n){if(!e.client||!r.popup)return;let i=rP(e.frontendApi),{redirectUrl:s}=r,o=new URL(s);o.searchParams.set("sign_in_force_redirect_url",r.redirectUrlComplete),o.searchParams.set("sign_up_force_redirect_url",r.redirectUrlComplete),o.searchParams.set("intent",t);let l=e.buildUrlWithAuth(o.toString()),c=e.buildUrlWithAuth(`${i}/popup-callback`),u=e.buildUrlWithAuth(`${i}/popup-callback?return_url=${encodeURIComponent(l)}`),d=async t=>{if(t.origin!==i)return;let a=!1;if(t.data.session){if(!e.client?.sessions.find(e=>e.id===t.data.session))try{await e.client?.reload()}catch(e){console.error(e)}await e.setActive({session:t.data.session,redirectUrl:r.redirectUrlComplete}),a=!0}else t.data.return_url&&(e.navigate(t.data.return_url),a=!0);a&&window.removeEventListener("message",d)};window.addEventListener("message",d),await a({...r,redirectUrlComplete:c,redirectUrl:u},n)}function rO(e,{redirectCallbackUrl:t,redirectUrl:a}){let r=rP(e.frontendApi),n=new URL(t);n.searchParams.set("sign_in_force_redirect_url",a),n.searchParams.set("sign_up_force_redirect_url",a);let i=e.buildUrlWithAuth(n.toString()),s=e.buildUrlWithAuth(`${r}/popup-callback`);return{redirectCallbackUrl:e.buildUrlWithAuth(`${r}/popup-callback?return_url=${encodeURIComponent(i)}`),redirectUrl:s}}function rT(e,t){return new Promise((a,r)=>{if(!e.client||!t.popup)return void r();let n=async t=>{t.origin===rP(e.frontendApi)&&(t.data.session||t.data.return_url?(window.removeEventListener("message",n),a()):r())};window.addEventListener("message",n),t.popup.location.href=t.externalVerificationRedirectURL.toString()})}async function rU(e,t){a7.emit("resource:error",{resource:e,error:null}),a7.emit("resource:fetch",{resource:e,status:"fetching"});try{return{result:await t(),error:null}}catch(t){return a7.emit("resource:error",{resource:e,error:t}),{error:t}}finally{a7.emit("resource:fetch",{resource:e,status:"idle"})}}let rM=()=>{var e;return(e=new to,{loadZxcvbn:()=>Promise.all([e.import("@zxcvbn-ts/core"),e.import("@zxcvbn-ts/language-common")]).then(([e,t])=>{if(!e||!t)throw Error("Failed to load zxcvbn modules");let{zxcvbnOptions:a,zxcvbn:r}=e,{dictionary:n,adjacencyGraphs:i}=t;return a.setOptions({dictionary:{...n},graphs:i}),r})}).loadZxcvbn};class rR extends tF{pathRoot="/client/sign_ins";id;_status=null;supportedIdentifiers=[];supportedFirstFactors=[];supportedSecondFactors=null;firstFactorVerification=new aX(null);secondFactorVerification=new aX(null);identifier=null;createdSessionId=null;userData=new rG(null);clientTrustState;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tt.debug("SignIn.status",{id:this.id,from:t,to:e})}__internal_future=new rB(this);__internal_basePost=this._basePost.bind(this);__internal_baseGet=this._baseGet.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=e=>{tt.debug("SignIn.create",{id:this.id,strategy:"strategy"in e?e.strategy:void 0});let t=tf();return this._basePost({path:this.pathRoot,body:t?{locale:t,...e}:e})};resetPassword=e=>this._basePost({body:e,action:"reset_password"});prepareFirstFactor=e=>{let t;switch(tt.debug("SignIn.prepareFirstFactor",{id:this.id,strategy:e.strategy}),e.strategy){case"passkey":t={};break;case"email_link":t={emailAddressId:e.emailAddressId,redirectUrl:e.redirectUrl};break;case"email_code":case"reset_password_email_code":t={emailAddressId:e.emailAddressId};break;case"phone_code":t={phoneNumberId:e.phoneNumberId,default:e.default,channel:e.channel};break;case"web3_metamask_signature":case"web3_base_signature":case"web3_coinbase_wallet_signature":case"web3_okx_wallet_signature":t={web3WalletId:e.web3WalletId};break;case"reset_password_phone_code":t={phoneNumberId:e.phoneNumberId};break;case"enterprise_sso":t={redirectUrl:e.redirectUrl,actionCompleteRedirectUrl:e.actionCompleteRedirectUrl,oidcPrompt:e.oidcPrompt,enterpriseConnectionId:e.enterpriseConnectionId};break;default:tE("SignIn.prepareFirstFactor",e.strategy)}return this._basePost({body:{...t,strategy:e.strategy},action:"prepare_first_factor"})};attemptFirstFactor=e=>{let t;return tt.debug("SignIn.attemptFirstFactor",{id:this.id,strategy:e.strategy}),t="passkey"===e.strategy?{publicKeyCredential:JSON.stringify(a$(e.publicKeyCredential))}:{...e},this._basePost({body:{...t,strategy:e.strategy},action:"attempt_first_factor"})};createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({emailAddressId:a,redirectUrl:r})=>{this.id||tA("SignIn");let n={strategy:"email_link",emailAddressId:a,redirectUrl:r},i="needs_second_factor"===this.status,s=i?"secondFactorVerification":"firstFactorVerification";return i?await this.prepareSecondFactor(n):await this.prepareFirstFactor(n),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e[s].status;("verified"===r||"expired"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEmailLinkFlow:t}};prepareSecondFactor=e=>(tt.debug("SignIn.prepareSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_second_factor"}));attemptSecondFactor=e=>(tt.debug("SignIn.attemptSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_second_factor"}));authenticateWithRedirectOrPopup=async(e,t)=>{let{strategy:a,redirectUrlComplete:r,identifier:n,oidcPrompt:i,continueSignIn:s,enterpriseConnectionId:o}=e||{},l=rR.clerk.buildUrlWithAuth(e.redirectUrl);this.id&&s||await this.create({strategy:a,identifier:n,redirectUrl:l,actionCompleteRedirectUrl:r}),"enterprise_sso"===a&&await this.prepareFirstFactor({strategy:a,redirectUrl:l,actionCompleteRedirectUrl:r,oidcPrompt:i,enterpriseConnectionId:o});let{status:c,externalVerificationRedirectURL:u}=this.firstFactorVerification;"unverified"===c&&u?t(u):tP(c,rR.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eW);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tC("popup"),rq(rR.clerk,"signIn",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e.toString()})};authenticateWithWeb3=async e=>{let t,{identifier:a,generateSignature:r,strategy:n="web3_metamask_signature"}=e||{},i=n.replace("web3_","").replace("_signature","");"function"!=typeof r&&tC("generateSignature"),await this.create({identifier:a});let s=this.supportedFirstFactors?.find(e=>e.strategy===n);s||tI("SignIn"),await this.prepareFirstFactor(s);let{message:o}=this.firstFactorVerification;o||tI("SignIn");try{t=await r({identifier:a,nonce:o,provider:i})}catch(e){if("coinbase_wallet"===i&&4001===e.code)t=await r({identifier:a,nonce:o,provider:i});else throw e}return this.attemptFirstFactor({signature:t,strategy:n})};authenticateWithMetamask=async()=>{let e=await tw().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithMetamask,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async()=>{let e=await tw().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithCoinbaseWallet,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async()=>{let e=await tw().getBaseIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithBase,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async()=>{let e=await tw().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithOKXWallet,strategy:"web3_okx_wallet_signature"})};authenticateWithPasskey=async e=>{let{flow:t}=e||{},a=rR.clerk.__internal_isWebAuthnSupported||rf,r=rR.clerk.__internal_getPublicCredentials||aV,n=rR.clerk.__internal_isWebAuthnAutofillSupported||rg;if(!a())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});if("autofill"===t||"discoverable"===t)await this.create({strategy:"passkey"});else{let e=this.supportedFirstFactors.find(e=>"passkey"===e.strategy);e||function(){throw Error(`${t_} You need to start a SignIn flow by calling SignIn.create({ strategy: 'passkey' }) first`)}(),await this.prepareFirstFactor(e)}let{nonce:i}=this.firstFactorVerification,s=i?aJ(JSON.parse(i)):null;s||tq("get");let o=!1;"autofill"===t&&(o=await n());let{publicKeyCredential:l,error:c}=await r({publicKeyOptions:s,conditionalUI:o});if(!l)throw c;return this.attemptFirstFactor({publicKeyCredential:l,strategy:"passkey"})};validatePassword=(e,t)=>{if(rR.clerk.__unstable__environment?.userSettings.passwordSettings)return rC(rM(),{...rR.clerk.__unstable__environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.supportedIdentifiers=e.supported_identifiers,this.identifier=e.identifier,this.supportedFirstFactors=er(e.supported_first_factors),this.supportedSecondFactors=er(e.supported_second_factors),this.firstFactorVerification=new aX(e.first_factor_verification),this.secondFactorVerification=new aX(e.second_factor_verification),this.createdSessionId=e.created_session_id,this.userData=new rG(e.user_data),this.clientTrustState=e.client_trust_state??void 0),a7.emit("resource:update",{resource:this}),this}__internal_toSnapshot(){return{object:"sign_in",id:this.id||"",status:this.status||null,supported_identifiers:this.supportedIdentifiers,supported_first_factors:ea(this.supportedFirstFactors),supported_second_factors:ea(this.supportedSecondFactors),first_factor_verification:this.firstFactorVerification.__internal_toSnapshot(),second_factor_verification:this.secondFactorVerification.__internal_toSnapshot(),identifier:this.identifier,created_session_id:this.createdSessionId,user_data:this.userData.__internal_toSnapshot()}}}class rB{resource;emailCode={sendCode:this.sendEmailCode.bind(this),verifyCode:this.verifyEmailCode.bind(this)};emailLink={sendLink:this.sendEmailLink.bind(this),waitForVerification:this.waitForEmailLinkVerification.bind(this),get verification(){if(!s())return null;const e=eO("__clerk_status"),t=eO("__clerk_created_session");if(!e||!t)return null;const a="verified"===e&&void 0!==rR.clerk.client&&rR.clerk.client.sessions.some(e=>e.id===t);return{status:e,createdSessionId:t,verifiedFromTheSameClient:a}}};resetPasswordEmailCode={sendCode:this.sendResetPasswordEmailCode.bind(this),verifyCode:this.verifyResetPasswordEmailCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};phoneCode={sendCode:this.sendPhoneCode.bind(this),verifyCode:this.verifyPhoneCode.bind(this)};mfa={sendPhoneCode:this.sendMFAPhoneCode.bind(this),verifyPhoneCode:this.verifyMFAPhoneCode.bind(this),verifyTOTP:this.verifyTOTP.bind(this),verifyBackupCode:this.verifyBackupCode.bind(this)};#el=!1;constructor(e){this.resource=e}get id(){return this.resource.id}get identifier(){return this.resource.identifier}get createdSessionId(){return this.resource.createdSessionId}get userData(){return this.resource.userData}get status(){return this.resource.status||"needs_identifier"}get supportedFirstFactors(){return this.resource.supportedFirstFactors??[]}get supportedSecondFactors(){return this.resource.supportedSecondFactors??[]}get isTransferable(){return"transferable"===this.resource.firstFactorVerification.status}get existingSession(){if("failed"===this.resource.firstFactorVerification.status&&this.resource.firstFactorVerification.error?.code==="identifier_already_signed_in"&&this.resource.firstFactorVerification.error?.meta?.sessionId)return{sessionId:this.resource.firstFactorVerification.error?.meta?.sessionId}}get firstFactorVerification(){return this.resource.firstFactorVerification}get secondFactorVerification(){return this.resource.secondFactorVerification}get hasBeenFinalized(){return this.#el}async sendResetPasswordEmailCode(){if(!this.resource.id)throw Error("Cannot reset password without a sign in.");return rU(this.resource,async()=>{let e=this.resource.supportedFirstFactors?.find(e=>"reset_password_email_code"===e.strategy);if(!e)throw new A("Reset password email code factor not found",{code:"factor_not_found"});let{emailAddressId:t}=e;await this.resource.__internal_basePost({body:{emailAddressId:t,strategy:"reset_password_email_code"},action:"prepare_first_factor"})})}async verifyResetPasswordEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"reset_password_email_code"},action:"attempt_first_factor"})})}async submitResetPassword(e){let{password:t,signOutOfOtherSessions:a=!0}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{password:t,signOutOfOtherSessions:a},action:"reset_password"})})}async _create(e){let t=tf();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:t?{locale:t,...e}:e})}async create(e){return rU(this.resource,async()=>{await this._create(e)})}async password(e){if([e.identifier,e.emailAddress,e.phoneNumber].filter(Boolean).length>1)throw Error("Only one of identifier, emailAddress, or phoneNumber can be provided");return rU(this.resource,async()=>{let t=e.identifier||e.emailAddress||e.phoneNumber,a=this.resource.identifier,r=tf();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:{identifier:t||a,password:e.password,...r?{locale:r}:{}}})})}async sendEmailCode(e={}){let{emailAddress:t,emailAddressId:a}=e;if(!this.resource.id&&a)throw Error("signIn.emailCode.sendCode() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.emailCode.sendCode() cannot be called without an emailAddress if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"email_code",emailAddressId:a});if(!e)throw new A("Email code factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{emailAddressId:e.emailAddressId,strategy:"email_code"},action:"prepare_first_factor"})})}async verifyEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"email_code"},action:"attempt_first_factor"})})}async sendEmailLink(e){let{emailAddress:t,verificationUrl:a,emailAddressId:r}=e;if(!this.resource.id&&r)throw Error("signIn.emailLink.sendLink() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.emailLink.sendLink() cannot be called without an emailAddress if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"email_link",emailAddressId:r});if(!e)throw new A("Email link factor not found",{code:"factor_not_found"});let n=a;try{new URL(a)}catch{n=window.location.origin+a}await this.resource.__internal_basePost({body:{emailAddressId:e.emailAddressId,redirectUrl:n,strategy:"email_link"},action:"prepare_first_factor"})})}async waitForEmailLinkVerification(){return rU(this.resource,async()=>{let{run:e,stop:t}=aF();await new Promise((a,r)=>{e(async()=>{try{let e=await this.resource.__internal_baseGet(),r=e.firstFactorVerification.status;("verified"===r||"expired"===r)&&(t(),a(e))}catch(e){t(),r(e)}})})})}async sendPhoneCode(e={}){let{phoneNumber:t,phoneNumberId:a,channel:r="sms"}=e;if(!this.resource.id&&a)throw Error("signIn.phoneCode.sendCode() cannot be called with an phoneNumberId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.phoneCode.sendCode() cannot be called without an phoneNumber if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"phone_code",phoneNumberId:a});if(!e)throw new A("Phone code factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{phoneNumberId:e.phoneNumberId,strategy:"phone_code",channel:r},action:"prepare_first_factor"})})}async verifyPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"phone_code"},action:"attempt_first_factor"})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,popup:n,oidcPrompt:i,enterpriseConnectionId:s,identifier:o}=e;return rU(this.resource,async()=>{let e=a;try{new URL(a)}catch{e=window.location.origin+a}let l={redirectUrl:rR.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:e};if(n){let t=rO(rR.clerk,{redirectCallbackUrl:l.redirectUrl,redirectUrl:e});l.redirectUrl=t.redirectCallbackUrl,l.actionCompleteRedirectUrl=t.redirectUrl}await this._create({strategy:t,...l,identifier:o}),"enterprise_sso"===t&&await this.resource.__internal_basePost({body:{...l,oidcPrompt:i,enterpriseConnectionId:s,strategy:"enterprise_sso"},action:"prepare_first_factor"});let{status:c,externalVerificationRedirectURL:u}=this.resource.firstFactorVerification;"unverified"===c&&u&&(n?(await rT(rR.clerk,{popup:n,externalVerificationRedirectURL:u}),await this.resource.reload()):eW(u))})}async web3(e){let{strategy:t}=e,a=t.replace("web3_","").replace("_signature","");return rU(this.resource,async()=>{let e,r,n;switch(a){case"metamask":e=await tw().getMetamaskIdentifier(),r=tw().generateSignatureWithMetamask;break;case"coinbase_wallet":e=await tw().getCoinbaseWalletIdentifier(),r=tw().generateSignatureWithCoinbaseWallet;break;case"base":e=await tw().getBaseIdentifier(),r=tw().generateSignatureWithBase;break;case"okx_wallet":e=await tw().getOKXWalletIdentifier(),r=tw().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${a}`)}await this._create({identifier:e});let i=this.resource.supportedFirstFactors?.find(e=>e.strategy===t);if(!i)throw new A("Web3 first factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{web3WalletId:i.web3WalletId,strategy:t},action:"prepare_first_factor"});let{message:s}=this.firstFactorVerification;if(!s)throw new A("Web3 nonce not found",{code:"web3_nonce_not_found"});try{n=await r({identifier:e,nonce:s})}catch(t){if("coinbase_wallet"===a&&4001===t.code)n=await r({identifier:e,nonce:s});else throw t}await this.resource.__internal_basePost({body:{signature:n,strategy:t},action:"attempt_first_factor"})})}async passkey(e){let{flow:t}=e||{},a=rR.clerk.__internal_isWebAuthnSupported||rf,r=rR.clerk.__internal_getPublicCredentials||aV,n=rR.clerk.__internal_isWebAuthnAutofillSupported||rg;if(!a())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});return rU(this.resource,async()=>{if("autofill"===t||"discoverable"===t)await this._create({strategy:"passkey"});else{if(!this.supportedFirstFactors.find(e=>"passkey"===e.strategy))throw new A("Passkey factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{strategy:"passkey"},action:"prepare_first_factor"})}let{nonce:e}=this.firstFactorVerification,a=e?aJ(JSON.parse(e)):null;if(!a)throw new A("Missing public key options",{code:"missing_public_key_options"});let i=!1;"autofill"===t&&(i=await n());let{publicKeyCredential:s,error:o}=await r({publicKeyOptions:a,conditionalUI:i});if(!s)throw new I(o.message,{code:"passkey_retrieval_failed"});await this.resource.__internal_basePost({body:{publicKeyCredential:JSON.stringify(a$(s)),strategy:"passkey"},action:"attempt_first_factor"})})}async sendMFAPhoneCode(){return rU(this.resource,async()=>{let e=this.resource.supportedSecondFactors?.find(e=>"phone_code"===e.strategy);if(!e)throw new A("Phone code factor not found",{code:"factor_not_found"});let{phoneNumberId:t}=e;await this.resource.__internal_basePost({body:{phoneNumberId:t,strategy:"phone_code"},action:"prepare_second_factor"})})}async verifyMFAPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"phone_code"},action:"attempt_second_factor"})})}async verifyTOTP(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"totp"},action:"attempt_second_factor"})})}async verifyBackupCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"backup_code"},action:"attempt_second_factor"})})}async ticket(e){let t=e?.ticket??eO("__clerk_ticket");return this.create({ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};if(!this.resource.createdSessionId)throw Error("Cannot finalize sign-in without a created session.");return rU(this.resource,async()=>{rR.clerk.client&&!rR.clerk.client.sessions.some(e=>e.id===this.resource.createdSessionId)&&await rR.clerk.client.reload(),this.#el=!0,await rR.clerk.setActive({session:this.resource.createdSessionId,navigate:t})})}selectFirstFactor({strategy:e,emailAddressId:t,phoneNumberId:a}){if(!this.resource.supportedFirstFactors)return null;if(t){let a=this.resource.supportedFirstFactors.find(a=>a.strategy===e&&a.emailAddressId===t);if(a)return a}if(a){let t=this.resource.supportedFirstFactors.find(t=>t.strategy===e&&t.phoneNumberId===a);if(t)return t}let r=this.resource.supportedFirstFactors.find(t=>t.strategy===e&&t.safeIdentifier===this.resource.identifier);if(r)return r;let n=this.resource.supportedFirstFactors.find(t=>t.strategy===e);return n||null}}function rN(e){let{unsafeMetadata:t}={...e},a=t?"object"==typeof t?JSON.stringify(t):t:"";return{...e,...t?{unsafeMetadata:a}:{}}}class rD extends tF{pathRoot="/client/sign_ups";id;_status=null;requiredFields=[];missingFields=[];optionalFields=[];unverifiedFields=[];verifications=new a0(null);username=null;firstName=null;lastName=null;emailAddress=null;phoneNumber=null;web3wallet=null;externalAccount;hasPassword=!1;unsafeMetadata={};createdSessionId=null;createdUserId=null;abandonAt=null;legalAcceptedAt=null;locale=null;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tt.debug("SignUp.status",{id:this.id,from:t,to:e})}__internal_future=new rF(this);__internal_basePost=this._basePost.bind(this);__internal_basePatch=this._basePatch.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{tt.debug("SignUp.create",{id:this.id,strategy:e.strategy});let t={...e};if(!t.locale){let e=tf();e&&(t.locale=e)}if(!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let e=new tN(rD.clerk),a=await e.managedOrInvisible({action:"signup"});if(!a)throw new A("",{code:"captcha_unavailable"});t={...t,...a}}if(t.transfer&&this.shouldBypassCaptchaForAttempt(t)){let e=rD.clerk.client?.signIn.firstFactorVerification.strategy;e&&(t={...t,strategy:e})}return this._basePost({path:this.pathRoot,body:rN(t)})};prepareVerification=e=>(tt.debug("SignUp.prepareVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_verification"}));attemptVerification=e=>(tt.debug("SignUp.attemptVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_verification"}));prepareEmailAddressVerification=e=>this.prepareVerification(e||{strategy:"email_code"});attemptEmailAddressVerification=e=>this.attemptVerification({...e,strategy:"email_code"});createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({redirectUrl:a})=>(this.id||tA("SignUp"),await this.prepareEmailAddressVerification({strategy:"email_link",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e.verifications.emailAddress.status;("verified"===r||"expired"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};preparePhoneNumberVerification=e=>this.prepareVerification(e||{strategy:"phone_code"});attemptPhoneNumberVerification=e=>this.attemptVerification({...e,strategy:"phone_code"});prepareWeb3WalletVerification=e=>this.prepareVerification({strategy:"web3_metamask_signature",...e});attemptWeb3WalletVerification=async e=>{let{signature:t,strategy:a="web3_metamask_signature"}=e;return this.attemptVerification({signature:t,strategy:a})};authenticateWithWeb3=async e=>{let t,{generateSignature:a,identifier:r,unsafeMetadata:n,strategy:i="web3_metamask_signature",legalAccepted:s}=e||{},o=i.replace("web3_","").replace("_signature","");"function"!=typeof a&&tC("generateSignature");let l=r||this.web3wallet;await this.create({web3Wallet:l,unsafeMetadata:n,legalAccepted:s}),await this.prepareWeb3WalletVerification({strategy:i});let{message:c}=this.verifications.web3Wallet;c||tI("SignUp");try{t=await a({identifier:r,nonce:c,provider:o})}catch(e){if("coinbase_wallet"===o&&4001===e.code)t=await a({identifier:r,nonce:c,provider:o});else throw e}return this.attemptWeb3WalletVerification({signature:t,strategy:i})};authenticateWithMetamask=async e=>{let t=await tw().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithMetamask,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_metamask_signature",legalAccepted:e?.legalAccepted})};authenticateWithCoinbaseWallet=async e=>{let t=await tw().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithCoinbaseWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_coinbase_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithBase=async e=>{let t=await tw().getBaseIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithBase,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_base_signature",legalAccepted:e?.legalAccepted})};authenticateWithOKXWallet=async e=>{let t=await tw().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithOKXWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_okx_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithRedirectOrPopup=async(e,t)=>{let{redirectUrl:a,redirectUrlComplete:r,strategy:n,continueSignUp:i=!1,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u}=e,d=rD.clerk.buildUrlWithAuth(a),h=()=>{let e={strategy:n,redirectUrl:d,actionCompleteRedirectUrl:r,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u};return i&&this.id?this.update(e):this.create(e)},{verifications:m}=await h().catch(async e=>{if(O(e)&&C(e))return await rD.clerk.__unstable__environment.reload(),h();throw e}),{externalAccount:p}=m,{status:f,externalVerificationRedirectURL:g}=p;"unverified"===f&&g?t(g):tP(f,rD.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eW);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tC("popup"),rq(rD.clerk,"signUp",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e instanceof URL?e.toString():e})};update=e=>this._basePatch({body:rN(e)});upsert=e=>this.id?this.update(e):this.create(e);validatePassword=(e,t)=>{if(rD.clerk.__unstable__environment?.userSettings.passwordSettings)return rC(rM(),{...rD.clerk.__unstable__environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.requiredFields=e.required_fields,this.optionalFields=e.optional_fields,this.missingFields=e.missing_fields,this.unverifiedFields=e.unverified_fields,this.verifications=new a0(e.verifications),this.username=e.username,this.firstName=e.first_name,this.lastName=e.last_name,this.emailAddress=e.email_address,this.phoneNumber=e.phone_number,this.hasPassword=e.has_password,this.unsafeMetadata=e.unsafe_metadata,this.createdSessionId=e.created_session_id,this.createdUserId=e.created_user_id,this.abandonAt=e.abandon_at,this.web3wallet=e.web3_wallet,this.legalAcceptedAt=e.legal_accepted_at,this.locale=e.locale),a7.emit("resource:update",{resource:this}),this}__internal_toSnapshot(){return{object:"sign_up",id:this.id||"",status:this.status||null,required_fields:this.requiredFields,optional_fields:this.optionalFields,missing_fields:this.missingFields,unverified_fields:this.unverifiedFields,verifications:this.verifications.__internal_toSnapshot(),username:this.username,first_name:this.firstName,last_name:this.lastName,email_address:this.emailAddress,phone_number:this.phoneNumber,has_password:this.hasPassword,unsafe_metadata:this.unsafeMetadata,created_session_id:this.createdSessionId,created_user_id:this.createdUserId,abandon_at:this.abandonAt,web3_wallet:this.web3wallet,legal_accepted_at:this.legalAcceptedAt,locale:this.locale,external_account:this.externalAccount,external_account_strategy:this.externalAccount?.strategy}}clientBypass(){return rD.clerk.client?.captchaBypass}shouldBypassCaptchaForAttempt(e){if(!e.strategy)return!1;let t=rD.clerk.__unstable__environment.displayConfig.captchaOauthBypass;return!!(t.some(t=>t===e.strategy)||e.transfer&&t.some(e=>e===rD.clerk.client.signIn.firstFactorVerification.strategy))}__experimental_getEnterpriseConnections=()=>tF._fetch({path:`/client/sign_ups/${this.id}/enterprise_connections`,method:"GET"}).then(e=>(e?.response).map(e=>new rL(e)))}class rF{resource;verifications={sendEmailCode:this.sendEmailCode.bind(this),verifyEmailCode:this.verifyEmailCode.bind(this),sendPhoneCode:this.sendPhoneCode.bind(this),verifyPhoneCode:this.verifyPhoneCode.bind(this)};#el=!1;constructor(e){this.resource=e}get id(){return this.resource.id}get requiredFields(){return this.resource.requiredFields}get optionalFields(){return this.resource.optionalFields}get missingFields(){return this.resource.missingFields}get status(){return this.resource.status||"missing_requirements"}get username(){return this.resource.username}get firstName(){return this.resource.firstName}get lastName(){return this.resource.lastName}get emailAddress(){return this.resource.emailAddress}get phoneNumber(){return this.resource.phoneNumber}get web3Wallet(){return this.resource.web3wallet}get hasPassword(){return this.resource.hasPassword}get unsafeMetadata(){return this.resource.unsafeMetadata}get createdSessionId(){return this.resource.createdSessionId}get createdUserId(){return this.resource.createdUserId}get abandonAt(){return this.resource.abandonAt}get legalAcceptedAt(){return this.resource.legalAcceptedAt}get locale(){return this.resource.locale}get unverifiedFields(){return this.resource.unverifiedFields}get isTransferable(){return"transferable"===this.resource.verifications.externalAccount.status&&this.resource.verifications.externalAccount.error?.code==="external_account_exists"}get existingSession(){if(("failed"===this.resource.verifications.externalAccount.status||"unverified"===this.resource.verifications.externalAccount.status)&&this.resource.verifications.externalAccount.error?.code==="identifier_already_signed_in"&&this.resource.verifications.externalAccount.error?.meta?.sessionId)return{sessionId:this.resource.verifications.externalAccount.error?.meta?.sessionId}}get hasBeenFinalized(){return this.#el}async getCaptchaToken(){let e=new tN(rD.clerk),t=await e.managedOrInvisible({action:"signup"});if(!t)throw Error("Captcha challenge failed");let{captchaError:a,captchaToken:r,captchaWidgetType:n}=t;return{captchaToken:r,captchaWidgetType:n,captchaError:a}}async _create(e){let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(),n={transfer:e.transfer,captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0,locale:e.locale??tf()};await this.resource.__internal_basePost({path:this.resource.pathRoot,body:n})}async create(e){return rU(this.resource,async()=>{await this._create(e)})}async update(e){return rU(this.resource,async()=>{let t={...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0};await this.resource.__internal_basePatch({path:this.resource.pathRoot,body:t})})}async password(e){return rU(this.resource,async()=>{let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(),n={strategy:"password",captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0};await this.resource.__internal_basePost({path:this.resource.pathRoot,body:n})})}async sendEmailCode(){return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"email_code"},action:"prepare_verification"})})}async verifyEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"email_code",code:t},action:"attempt_verification"})})}async sendPhoneCode(e){let{phoneNumber:t,channel:a="sms"}=e;return rU(this.resource,async()=>{if(!this.resource.id){let{captchaToken:e,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:{phoneNumber:t,captchaToken:e,captchaWidgetType:a,captchaError:r}})}await this.resource.__internal_basePost({body:{strategy:"phone_code",channel:a},action:"prepare_verification"})})}async verifyPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"phone_code",code:t},action:"attempt_verification"})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,popup:c}=e;return rU(this.resource,async()=>{let{captchaToken:e,captchaWidgetType:u,captchaError:d}=await this.getCaptchaToken(),h=a;try{new URL(a)}catch{h=window.location.origin+a}let m={redirectUrl:rD.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:h};if(c){let e=rO(rD.clerk,{redirectCallbackUrl:m.redirectUrl,redirectUrl:h});m.redirectUrl=e.redirectCallbackUrl,m.actionCompleteRedirectUrl=e.redirectUrl}let p=()=>this.resource.__internal_basePost({path:this.resource.pathRoot,body:{strategy:t,...m,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,captchaToken:e,captchaWidgetType:u,captchaError:d}});await p().catch(async e=>{if(O(e)&&C(e))return await rD.clerk.__unstable__environment.reload(),p();throw e});let{status:f,externalVerificationRedirectURL:g}=this.resource.verifications.externalAccount;"unverified"===f&&g&&(c?(await rT(rD.clerk,{popup:c,externalVerificationRedirectURL:g}),await this.resource.reload()):eW(g))})}async web3(e){let{strategy:t,unsafeMetadata:a,legalAccepted:r}=e,n=t.replace("web3_","").replace("_signature","");return rU(this.resource,async()=>{let e,i,s;switch(n){case"metamask":e=await tw().getMetamaskIdentifier(),i=tw().generateSignatureWithMetamask;break;case"coinbase_wallet":e=await tw().getCoinbaseWalletIdentifier(),i=tw().generateSignatureWithCoinbaseWallet;break;case"base":e=await tw().getBaseIdentifier(),i=tw().generateSignatureWithBase;break;case"okx_wallet":e=await tw().getOKXWalletIdentifier(),i=tw().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${n}`)}let o=e||this.resource.web3wallet;await this._create({web3Wallet:o,unsafeMetadata:a,legalAccepted:r}),await this.resource.__internal_basePost({body:{strategy:t},action:"prepare_verification"});let{message:l}=this.resource.verifications.web3Wallet;l||tI("SignUp");try{s=await i({identifier:e,nonce:l})}catch(t){if("coinbase_wallet"===n&&4001===t.code)s=await i({identifier:e,nonce:l});else throw t}await this.resource.__internal_basePost({body:{signature:s,strategy:t},action:"attempt_verification"})})}async ticket(e){let t=e?.ticket??eO("__clerk_ticket");return this.create({...e,ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};return rU(this.resource,async()=>{if(!this.resource.createdSessionId)throw Error("Cannot finalize sign-up without a created session.");this.#el=!0,await rD.clerk.setActive({session:this.resource.createdSessionId,navigate:t})})}}class rL extends tF{id;name;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name),this}}class rW extends tF{pathRoot="tokens";jwt;static async create(e,t={},a=!1){return new rW(await tF._fetch({body:t,method:"POST",path:e,search:a?"debug=skip_cache":void 0}),e)}constructor(e,t){super(),t&&(this.pathRoot=t),e?.jwt&&(this.jwt=tp(e.jwt))}getRawString=()=>this.jwt?.claims.__raw||"";fromJSON(e){return e&&(this.jwt=tp(e.jwt)),this}__internal_toSnapshot(){return{object:"token",id:this.id||"",jwt:this.getRawString()}}}class rK extends tF{pathRoot="/me";id="";secret;uri;verified=!1;backupCodes;updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.secret=e.secret,this.uri=e.uri,this.verified=e.verified,this.backupCodes=e.backup_codes,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}}class rH extends tF{pathRoot="/me";id;codes=[];updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.codes=e.codes,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}}class rV extends tF{pathRoot="/me";id="";externalId=null;username=null;emailAddresses=[];phoneNumbers=[];web3Wallets=[];externalAccounts=[];enterpriseAccounts=[];passkeys=[];organizationMemberships=[];passwordEnabled=!1;firstName=null;lastName=null;fullName=null;primaryEmailAddressId=null;primaryEmailAddress=null;primaryPhoneNumberId=null;primaryPhoneNumber=null;primaryWeb3WalletId=null;primaryWeb3Wallet=null;imageUrl="";hasImage=!1;twoFactorEnabled=!1;totpEnabled=!1;backupCodeEnabled=!1;publicMetadata={};unsafeMetadata={};createOrganizationEnabled=!1;createOrganizationsLimit=null;deleteSelfEnabled=!1;lastSignInAt=null;legalAcceptedAt=null;updatedAt=null;createdAt=null;cachedSessionsWithActivities=null;static isUserResource(e){return!!e&&e instanceof rV}constructor(e){super(),this.fromJSON(e)}path(){return this.pathRoot}isPrimaryIdentification=e=>{switch(e.constructor){case aL:return this.primaryEmailAddressId===e.id;case rw:return this.primaryPhoneNumberId===e.id;case rQ:return this.primaryWeb3WalletId===e.id;default:return!1}};createEmailAddress=e=>{let{email:t}=e||{};return new aL({email_address:t},this.path()+"/email_addresses/").create()};createPasskey=()=>ry.registerPasskey();createPhoneNumber=e=>{let{phoneNumber:t}=e||{};return new rw({phone_number:t},this.path()+"/phone_numbers/").create()};createWeb3Wallet=e=>{let{web3Wallet:t}=e||{};return new rQ({web3_wallet:t},this.path()+"/web3_wallets/").create()};createExternalAccount=async e=>{let{strategy:t,redirectUrl:a,additionalScopes:r}=e||{};return new rr((await tF._fetch({path:"/me/external_accounts",method:"POST",body:{strategy:t,redirect_url:a,additional_scope:r}}))?.response,this.path()+"/external_accounts")};createTOTP=async()=>new rK((await tF._fetch({path:"/me/totp",method:"POST"}))?.response);verifyTOTP=async({code:e})=>new rK((await tF._fetch({path:"/me/totp/attempt_verification",method:"POST",body:{code:e}}))?.response);disableTOTP=async()=>new aM((await tF._fetch({path:"/me/totp",method:"DELETE"}))?.response);createBackupCode=async()=>new rH((await tF._fetch({path:this.path()+"/backup_codes/",method:"POST"}))?.response);update=e=>this._basePatch({body:rN(e)});updatePassword=e=>this._basePost({body:e,path:`${this.path()}/change_password`});removePassword=e=>this._basePost({body:e,path:`${this.path()}/remove_password`});delete=()=>this._baseDelete({path:"/me"}).then(e=>(a7.emit(a6,null),e));getSessions=async()=>{if(this.cachedSessionsWithActivities)return this.cachedSessionsWithActivities;let e=await rI.retrieve();return this.cachedSessionsWithActivities=e,e};setProfileImage=e=>{let{file:t}=e||{};return null===t?rs.delete(`${this.path()}/profile_image`):rs.create(`${this.path()}/profile_image`,{file:t})};getOrganizationInvitations=e=>rJ.retrieve(e);getOrganizationSuggestions=e=>rp.retrieve(e);getOrganizationMemberships=e=>rm.retrieve(e);leaveOrganization=async e=>new aM((await tF._fetch({path:`${this.path()}/organization_memberships/${e}`,method:"DELETE"}))?.response);initializePaymentMethod=e=>ay(e);addPaymentMethod=e=>aw(e);getPaymentMethods=e=>ak(e);get verifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status=="verified")}get unverifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status!="verified")}get verifiedWeb3Wallets(){return this.web3Wallets.filter(e=>e.verification?.status=="verified")}get hasVerifiedEmailAddress(){return this.emailAddresses.filter(e=>"verified"===e.verification.status).length>0}get hasVerifiedPhoneNumber(){return this.phoneNumbers.filter(e=>"verified"===e.verification.status).length>0}fromJSON(e){return e&&(this.id=e.id,this.externalId=e.external_id||null,this.firstName=e.first_name||null,this.lastName=e.last_name||null,(this.firstName||this.lastName)&&(this.fullName=(({firstName:e,lastName:t,name:a})=>a||[e,t].join(" ").trim()||"")({firstName:this.firstName,lastName:this.lastName})),this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.username=e.username||null,this.passwordEnabled=e.password_enabled||!1,this.emailAddresses=(e.email_addresses||[]).map(e=>new aL(e,this.path()+"/email_addresses")),this.primaryEmailAddressId=e.primary_email_address_id||null,this.primaryEmailAddress=this.emailAddresses.find(({id:e})=>e===this.primaryEmailAddressId)||null,this.phoneNumbers=(e.phone_numbers||[]).map(e=>new rw(e,this.path()+"/phone_numbers")),this.primaryPhoneNumberId=e.primary_phone_number_id||null,this.primaryPhoneNumber=this.phoneNumbers.find(({id:e})=>e===this.primaryPhoneNumberId)||null,this.web3Wallets=(e.web3_wallets||[]).map(e=>new rQ(e,this.path()+"/web3_wallets")),this.primaryWeb3WalletId=e.primary_web3_wallet_id||null,this.primaryWeb3Wallet=this.web3Wallets.find(({id:e})=>e===this.primaryWeb3WalletId)||null,this.externalAccounts=(e.external_accounts||[]).map(e=>new rr(e,this.path()+"/external_accounts")),this.passkeys=(e.passkeys||[]).map(e=>new ry(e)),this.organizationMemberships=(e.organization_memberships||[]).map(e=>new rm(e)),this.enterpriseAccounts=(e.enterprise_accounts||[]).map(e=>new a9(e,this.path()+"/enterprise_accounts")),this.publicMetadata=e.public_metadata||{},this.unsafeMetadata=e.unsafe_metadata||{},this.totpEnabled=e.totp_enabled||!1,this.backupCodeEnabled=e.backup_code_enabled||!1,this.twoFactorEnabled=e.two_factor_enabled||!1,this.createOrganizationEnabled=e.create_organization_enabled||!1,this.createOrganizationsLimit=e.create_organizations_limit||null,this.deleteSelfEnabled=e.delete_self_enabled||!1,e.last_sign_in_at&&(this.lastSignInAt=tL(e.last_sign_in_at)),e.legal_accepted_at&&(this.legalAcceptedAt=tL(e.legal_accepted_at)),this.updatedAt=tL(e.updated_at||void 0),this.createdAt=tL(e.created_at||void 0)),this}__internal_toSnapshot(){return{object:"user",id:this.id,external_id:this.externalId,first_name:this.firstName,last_name:this.lastName,username:this.username,public_metadata:this.publicMetadata,unsafe_metadata:this.unsafeMetadata,image_url:this.imageUrl,has_image:this.hasImage,email_addresses:this.emailAddresses.map(e=>e.__internal_toSnapshot()),phone_numbers:this.phoneNumbers.map(e=>e.__internal_toSnapshot()),web3_wallets:this.web3Wallets.map(e=>e.__internal_toSnapshot()),external_accounts:this.externalAccounts.map(e=>e.__internal_toSnapshot()),passkeys:this.passkeys.map(e=>e.__internal_toSnapshot()),organization_memberships:this.organizationMemberships.map(e=>e.__internal_toSnapshot()),enterprise_accounts:this.enterpriseAccounts.map(e=>e.__internal_toSnapshot()),totp_enabled:this.totpEnabled,backup_code_enabled:this.backupCodeEnabled,two_factor_enabled:this.twoFactorEnabled,create_organization_enabled:this.createOrganizationEnabled,create_organizations_limit:this.createOrganizationsLimit,delete_self_enabled:this.deleteSelfEnabled,primary_email_address_id:this.primaryEmailAddressId,primary_phone_number_id:this.primaryPhoneNumberId,primary_web3_wallet_id:this.primaryWeb3WalletId,password_enabled:this.passwordEnabled,profile_image_id:this.imageUrl,last_sign_in_at:this.lastSignInAt?.getTime()||null,legal_accepted_at:this.legalAcceptedAt?.getTime()||null,updated_at:this.updatedAt?.getTime()||null,created_at:this.createdAt?.getTime()||null}}}class rG{firstName;lastName;imageUrl;hasImage;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name,this.lastName=e.last_name,this.imageUrl=e.image_url??void 0,this.hasImage=e.has_image??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl||null,has_image:this.hasImage||null}}}class rJ extends tF{id;emailAddress;publicOrganizationData;publicMetadata={};status;role;createdAt;updatedAt;static async retrieve(e){return await tF._fetch({path:"/me/organization_invitations",method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rJ(e))}})}constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/me/organization_invitations/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.publicMetadata=e.public_metadata,this.role=e.role,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}let rZ={enabled:!1,first_factors:[],name:"phone_number",required:!1,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1};class r$ extends tF{id=void 0;actions={create_organization:!1,delete_self:!1};attributes={email_address:{enabled:!0,first_factors:["email_code"],name:"email_address",required:!0,second_factors:[],used_for_first_factor:!0,used_for_second_factor:!1,verifications:["email_code"],verify_at_sign_up:!0},phone_number:{...rZ,name:"phone_number"},username:{...rZ,name:"username"},web3_wallet:{...rZ,name:"web3_wallet"},first_name:{...rZ,name:"first_name"},last_name:{...rZ,name:"last_name"},password:{enabled:!0,first_factors:[],name:"password",required:!0,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1},authenticator_app:{...rZ,name:"authenticator_app"},backup_code:{...rZ,name:"backup_code"},passkey:{...rZ,name:"passkey"}};enterpriseSSO={enabled:!1};passkeySettings={allow_autofill:!1,show_sign_in_button:!1};passwordSettings={};signIn={second_factor:{required:!1,enabled:!1}};signUp={allowlist_only:!1,captcha_enabled:!1,legal_consent_enabled:!1,mode:"public",progressive:!0};social={};usernameSettings={};get authenticatableSocialStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled&&e.authenticatable).map(([,e])=>e.strategy).sort():[]}get enabledFirstFactorIdentifiers(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&!e.startsWith("web3")).map(([e])=>e):[]}get socialProviderStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled).map(([,e])=>e.strategy).sort():[]}get web3FirstFactors(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&e.startsWith("web3")).map(([,e])=>e.first_factors).flat():[]}get alternativePhoneCodeChannels(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&"phone_number"===e).map(([,e])=>e?.channels?.filter(e=>"sms"!==e)||[]).flat():[]}constructor(e=null){super(),this.fromJSON(e)}get instanceIsPasswordBased(){return!!(this.attributes?.password?.enabled&&this.attributes.password?.required)}get hasValidAuthFactor(){return!!(this.attributes?.email_address?.enabled||this.attributes?.phone_number?.enabled||this.attributes.password?.required&&this.attributes.username?.required)}fromJSON(e){return e&&(this.attributes=this.withDefault(e.attributes?Object.fromEntries(Object.entries(e.attributes).map(e=>[e[0],{...e[1],name:e[0]}])):null,this.attributes),this.actions=this.withDefault(e.actions,this.actions),this.enterpriseSSO=this.withDefault(e.enterprise_sso,this.enterpriseSSO),this.passkeySettings=this.withDefault(e.passkey_settings,this.passkeySettings),this.passwordSettings=e.password_settings?{...e.password_settings,min_length:Math.max(e.password_settings?.min_length??8,8),max_length:e.password_settings?.max_length===0?72:Math.min(e.password_settings?.max_length??72,72)}:this.passwordSettings,this.signIn=this.withDefault(e.sign_in,this.signIn),this.signUp=this.withDefault(e.sign_up,this.signUp),this.social=this.withDefault(e.social,this.social),this.usernameSettings=e.username_settings?{...e.username_settings,min_length:Math.max(e.username_settings?.min_length??4,4),max_length:Math.min(e.username_settings?.max_length??64,64)}:this.usernameSettings),this}__internal_toSnapshot(){return{actions:this.actions,attributes:this.attributes,passkey_settings:this.passkeySettings,password_settings:this.passwordSettings,sign_in:this.signIn,sign_up:this.signUp,social:this.social}}}class rY extends tF{pathRoot="/waitlist";id="";updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}static async join(e){return new rY((await tF._fetch({path:"/waitlist",method:"POST",body:e}))?.response)}}class rQ extends tF{id;web3Wallet="";verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{web3_wallet:this.web3Wallet}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{signature:t}=e;return this._basePost({action:"attempt_verification",body:{signature:t}})};destroy(){return this._baseDelete()}toString(){return this.web3Wallet}fromJSON(e){return e&&(this.id=e.id,this.web3Wallet=e.web3_wallet,this.verification=new aX(e.verification)),this}__internal_toSnapshot(){return{object:"web3_wallet",id:this.id,web3_wallet:this.web3Wallet,verification:this.verification.__internal_toSnapshot()}}}function rX(e,t){var a,r;return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||(a=t,r=e,a.organizationMemberships.length!==r.organizationMemberships.length||a.organizationMemberships[0]?.updatedAt!==r.organizationMemberships[0]?.updatedAt)}function r1(e,t){return!function(e,t){if(!e&&t||e&&!t)return!0;if(!e&&e===t)return!1;if(!e||!t)return!0;try{if(aT.isClientResource(e))return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||e.sessions.length!==t.sessions.length;if(rE.isSessionResource(e)){var a,r;return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||e.lastActiveToken?.jwt?.claims?.__raw!==t.lastActiveToken?.jwt?.claims?.__raw||function(e,t){if(e.lastActiveOrganizationId!==t.lastActiveOrganizationId)return!0;let a=e.user?.organizationMemberships?.find(t=>t.organization.id===e.lastActiveOrganizationId),r=t.user?.organizationMemberships?.find(t=>t.organization.id===e.lastActiveOrganizationId);return a?.permissions?.length!==r?.permissions?.length}(e,t)||(a=e,r=t,!!a.user!=!!r.user||!!a.user&&!!r.user&&rX(a.user,r.user))}if(rV.isUserResource(e))return rX(e,t)}catch{}return!0}(e,t)?e:t}let r0="__clerk_db_jwt";function r2(e,t){let a=new URL(e),r=a.searchParams.get(r0);a.searchParams.delete(r0);let n=r||t;return n&&a.searchParams.set(r0,n),a}let r9=e=>{let t=new URL(e);return t.searchParams.delete(r0),t},r3=e=>{let t=new URL(e);return t.searchParams.delete("__dev_session"),t.hash=decodeURI(t.hash).replace(/__clerk_db_jwt\[(.*)\]/,""),t.href.endsWith("#")&&(t.hash=""),t};function r5(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)e[r]=a[r]}return e}var r6=function e(t,a){function r(e,r,n){if("undefined"!=typeof document){"number"==typeof(n=r5({},a,n)).expires&&(n.expires=new Date(Date.now()+864e5*n.expires)),n.expires&&(n.expires=n.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var s in n)n[s]&&(i+="; "+s,!0!==n[s]&&(i+="="+n[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var a=document.cookie?document.cookie.split("; "):[],r={},n=0;n<a.length;n++){var i=a[n].split("="),s=i.slice(1).join("=");try{var o=decodeURIComponent(i[0]);if(r[o]=t.read(s,o),e===o)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",r5({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,r5({},this.attributes,t))},withConverter:function(t){return e(r5({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(a)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});function r8(e){return{get:()=>r6.get(e),set(t,a={}){r6.set(e,t,a)},remove(t){r6.remove(e,t)}}}let r4=e=>"https:"===window.location.protocol||"None"===e&&void 0===window.safari&&(void 0!==window.isSecureContext?window.isSecureContext:"localhost"===window.location.hostname);function r7(e,t){let a=function(e){try{return new Date(e||new Date)}catch{return new Date}}(e);return a.setFullYear(a.getFullYear()+t),a}let ne=r8("__clerk_test_etld"),nt="__client_uat",na="__session",nr=()=>{let e=tb()?"None":"Lax",t=r4(e);return{sameSite:e,secure:t,partitioned:!1}};async function nn(e){let t;try{t=await ep(e)}catch(o){var a;a=`Suffixed cookie failed due to ${o.message} (secure-context: ${window.isSecureContext}, url: ${window.location.href})`,Z.has(a)||(console.log(a),Z.add(a));let{default:r}=await Promise.resolve().then(n.t.bind(n,180,23)),{default:i}=await Promise.resolve().then(n.t.bind(n,3413,23)),s=r(e);t=i.stringify(s).replace(/\+/gi,"-").replace(/\//gi,"_").substring(0,8)}return t}let ni=()=>{let e=tb()?"None":"Lax",t=r4(e);return{sameSite:e,secure:t}};var ns=n(5945),no=n.n(ns);class nl{lock=(function(e){let t=new(no());return window.addEventListener("beforeunload",async()=>{await t.releaseLock(e)}),{acquireLockAndRun:async a=>{if("locks"in navigator&&isSecureContext){let t=new AbortController,r=setTimeout(()=>t.abort(),4999);return await navigator.locks.request(e,{signal:t.signal},async()=>(clearTimeout(r),await a())).catch(()=>!1)}if(await t.acquireLock(e,5e3))try{return await a()}finally{await t.releaseLock(e)}}}})("clerk.lock.refreshSessionToken");workerTimers=aD();timerId=null;initiated=!1;startPollingForSessionToken(e){if(this.timerId||this.initiated)return;let t=async()=>{this.initiated=!0,await this.lock.acquireLockAndRun(e),this.timerId=this.workerTimers.setTimeout(t,5e3)};t()}stopPollingForSessionToken(){null!=this.timerId&&(this.workerTimers.clearTimeout(this.timerId),this.timerId=null),this.initiated=!1}}class nc{clerk;instanceType;clerkEventBus;poller=null;clientUat;sessionCookie;activeCookie;devBrowser;static async create(e,t,a,r){let n=await nn(e.publishableKey),i=new nc(e,t,n,a,r);return await i.setup(),i}constructor(e,t,r,n,i){this.clerk=e,this.instanceType=n,this.clerkEventBus=i,a7.on(a5,({token:e})=>{this.updateSessionCookie(e&&e.getRawString()),this.setClientUatCookieForDevelopmentInstances()}),a7.on(a6,()=>this.handleSignOut()),this.refreshTokenOnFocus(),this.startPollingForToken(),this.clientUat=(e=>{let t=r8(nt),r=r8(ef(nt,e));return{set:e=>{let n=r7(Date.now(),1),i=tb()?"None":"Strict",s=r4(i),o=function(e=window.location.hostname,t=ne){if(a)return a;if(["localhost","127.0.0.1","0.0.0.0"].includes(e))return e;let r=e.split(".");if(1===r.length)return e;for(let e=r.length-2;e>=0;e--){let n=r.slice(e).join(".");if(t.set("1",{domain:n}),"1"===t.get())return t.remove({domain:n}),a=n,n;t.remove({domain:n})}}(),l="0";e&&e.updatedAt&&e.signedInSessions.length>0&&(l=Math.floor(e.updatedAt.getTime()/1e3).toString()),r.remove(),t.remove(),r.set(l,{domain:o,expires:n,partitioned:!1,sameSite:i,secure:s}),t.set(l,{domain:o,expires:n,partitioned:!1,sameSite:i,secure:s})},get:()=>parseInt(r.get()||t.get()||"0",10)}})(r),this.sessionCookie=(e=>{let t=r8(na),a=r8(ef(na,e)),r=()=>{let e=nr();t.remove(e),a.remove(e)};return{set:e=>{let n=r7(Date.now(),1),{sameSite:i,secure:s,partitioned:o}=nr();o&&r(),t.set(e,{expires:n,sameSite:i,secure:s,partitioned:o}),a.set(e,{expires:n,sameSite:i,secure:s,partitioned:o})},remove:r,get:()=>a.get()||t.get()}})(r),this.activeCookie=(()=>{let e=r8("clerk_active_context"),t={secure:r4("None")};return{set:a=>{e.set(a,t)},get:()=>e.get(),remove:()=>e.remove(t)}})(),this.devBrowser=function({cookieSuffix:e,frontendApi:t,fapiClient:a}){let r,n,i=(r=r8(r0),n=r8(ef(r0,e)),{get:()=>n.get()||r.get(),set:e=>{let t=r7(Date.now(),1),{sameSite:a,secure:i}=ni();n.set(e,{expires:t,sameSite:a,secure:i}),r.set(e,{expires:t,sameSite:a,secure:i})},remove:()=>{let e=ni();n.remove(e),r.remove(e)}});function s(){return i.get()}function o(e){i.set(e)}function l(){i.remove()}return{clear:function(){l()},setup:async function(){var e;let r;if(!ek(t))return;a.onBeforeRequest(e=>{let t=s();t&&e?.url&&(e.url=r2(e.url,t))}),a.onAfterResponse((e,t)=>{let a=t?.headers?.get("Clerk-Db-Jwt");a&&o(a)});let n=(r=(e=new URL(window.location.href)).searchParams.get(r0)||"",r9(r3(e)).href!==e.href&&void 0!==globalThis.history&&globalThis.history.replaceState(null,"",r9(r3(e))),r);if(n)return void o(n);if(i.get())return;let l=a.buildUrl({path:"/dev_browser"}),c=await fetch(l.toString(),{method:"POST"});if(!c.ok){let e=function(e=[]){return e.length>0?e.map(e=>new w(e)):[]}((await c.json()).errors);e[0]?tz(e[0].longMessage):tz()}let u=await c.json();o(u?.id)},getDevBrowserJWT:s,setDevBrowserJWT:o,removeDevBrowserJWT:l}}({frontendApi:e.frontendApi,fapiClient:t,cookieSuffix:r})}async setup(){return"production"===this.instanceType?this.setupProduction():this.setupDevelopment()}isSignedOut(){return this.clerk.loaded?!!this.clerk.user:0>=this.clientUat.get()}async handleUnauthenticatedDevBrowser(){this.devBrowser.clear(),await this.devBrowser.setup()}decorateUrlWithDevBrowserToken(e){let t=this.devBrowser.getDevBrowserJWT();if(!t)throw Error(`${t_} Missing dev browser jwt. Please contact support.`);return r2(e,t)}async setupDevelopment(){await this.devBrowser.setup()}setupProduction(){this.devBrowser.clear()}startPollingForToken(){this.poller||(this.poller=new nl,this.poller.startPollingForSessionToken(()=>this.refreshSessionToken()))}stopPollingForToken(){this.poller&&(this.poller.stopPollingForSessionToken(),this.poller=null)}refreshTokenOnFocus(){window.addEventListener("focus",()=>{"visible"===document.visibilityState&&this.refreshSessionToken({updateCookieImmediately:!0})})}async refreshSessionToken({updateCookieImmediately:e=!1}={}){if(this.clerk.session)try{let t=await this.clerk.session.getToken();e&&this.updateSessionCookie(t)}catch(e){return this.handleGetTokenError(e)}}updateSessionCookie(e){if(document.hasFocus()||this.isCurrentContextActive())return e||u()||tt.warn("Removing session cookie (offline)",{sessionId:this.clerk.session?.id},"authCookieService"),this.setActiveContextInStorage(),e?this.sessionCookie.set(e):this.sessionCookie.remove()}setClientUatCookieForDevelopmentInstances(){"production"!==this.instanceType&&this.inCustomDevelopmentDomain()&&this.clientUat.set(this.clerk.client)}inCustomDevelopmentDomain(){let e=this.clerk.frontendApi.replace("clerk.","");return!window.location.host.endsWith(e)}handleGetTokenError(e){if(O(e)||T(e)||(`${e.message}${e.name}`||"").toLowerCase().replace(/\s+/g,"").includes("networkerror")){if(P(e))return void this.clerk.handleUnauthenticated().catch(e3);this.clerkEventBus.emit(f,"degraded")}}handleSignOut(){this.activeCookie.remove(),this.sessionCookie.remove(),this.setClientUatCookieForDevelopmentInstances()}setActiveContextInStorage(){let e=this.clerk.session?.id||"",t=this.clerk.organization?.id||"",a=`${e}:${t}`;":"!==a?this.activeCookie.set(a):this.activeCookie.remove()}isCurrentContextActive(){let e=this.activeCookie.get();if(!e)return!0;let[t,a]=e.split(":"),r=this.clerk.session?.id||"",n=this.clerk.organization?.id||"";return t===r&&a===n}getSessionCookie(){return this.sessionCookie.get()}}class nu{clerk;captchaChallenge;timers;constructor(e,t=new tN(e),a=aD()){this.clerk=e,this.captchaChallenge=t,this.timers=a}async start(){this.isEnabled()&&(await this.challengeAndSend(),this.timers.setInterval(()=>{this.challengeAndSend()},this.intervalInMs()))}async challengeAndSend(){if(!(!this.clerk.client||this.clientBypass()))try{let e=await this.captchaChallenge.invisible({action:"heartbeat"});await this.clerk.client.__internal_sendCaptchaToken(e)}catch{}}isEnabled(){return!!this.clerk.__unstable__environment?.displayConfig?.captchaHeartbeat}clientBypass(){return this.clerk.client?.captchaBypass}intervalInMs(){return this.clerk.__unstable__environment?.displayConfig?.captchaHeartbeatIntervalMs??6e5}}let nd=["/client","/waitlist"];class nh{async getBaseFapiProxyOptions(){let e=await tF.clerk.session?.getToken();if(!e)throw new A("No valid session token available",{code:"no_session_token"});return{pathPrefix:"",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},credentials:"same-origin"}}async getAll(e){return tF._fetch({...await this.getBaseFapiProxyOptions(),method:"GET",path:"/api_keys",search:aa({...e,subject:e?.subject??tF.clerk.organization?.id??tF.clerk.user?.id??"",query:e?.query??""})}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new tW(e))}})}async create(e){return new tW(await tF._fetch({...await this.getBaseFapiProxyOptions(),path:"/api_keys",method:"POST",body:JSON.stringify({type:"api_key",name:e.name,subject:e.subject??tF.clerk.organization?.id??tF.clerk.user?.id??"",description:e.description,seconds_until_expiration:e.secondsUntilExpiration})}))}async revoke(e){return new tW(await tF._fetch({...await this.getBaseFapiProxyOptions(),method:"POST",path:`/api_keys/${e.apiKeyID}/revoke`,body:JSON.stringify({revocation_reason:e.revocationReason})}))}}let nm=new Map;class np{#ec=!1;load(e){let t=e?.protectConfig;if(t?.loaders&&Array.isArray(t.loaders)&&0!==t.loaders.length&&!this.#ec){if(s())for(let e of(this.#ec=!0,t.loaders))try{this.applyLoader(e)}catch(e){$(`[protect] failed to apply loader: ${e}`)}}}applyLoader(e){if(void 0!==e.rollout){let t=e.rollout;if("number"!=typeof t||t<0)return void $(`[protect] loader rollout value is invalid: ${t}`);if(0===t||Math.random()>t)return}let t=e.type||"script",a=e.target||"body",r=document.createElement(t);if(e.attributes)for(let[t,a]of Object.entries(e.attributes))switch(typeof a){case"string":case"number":case"boolean":r.setAttribute(t,String(a));break;default:$(`[protect] loader attribute is invalid type: ${t}=${a}`)}switch(e.textContent&&"string"==typeof e.textContent&&(r.textContent=e.textContent),a){case"head":document.head.appendChild(r);break;case"body":document.body.appendChild(r);break;default:if(a?.startsWith("#")){let e=document.getElementById(a.substring(1));if(!e)return void $(`[protect] loader target element not found: ${a}`);e.appendChild(r);return}$(`[protect] loader target is invalid: ${a}`)}}}class nf{signInResourceSignal=an;signInErrorSignal=ai;signInFetchSignal=as;signInSignal=ao;signUpResourceSignal=al;signUpErrorSignal=ac;signUpFetchSignal=au;signUpSignal=ad;__internal_effect=t5;__internal_computed=t3;constructor(){a7.on("resource:update",this.onResourceUpdated),a7.on("resource:error",this.onResourceError),a7.on("resource:fetch",this.onResourceFetch)}onResourceError=e=>{e.resource instanceof rR&&this.signInErrorSignal({error:e.error}),e.resource instanceof rD&&this.signUpErrorSignal({error:e.error})};onResourceUpdated=e=>{if(e.resource instanceof rR){if(ng(this.signInResourceSignal().resource,e.resource))return;this.signInResourceSignal({resource:e.resource})}if(e.resource instanceof rD){if(ng(this.signUpResourceSignal().resource,e.resource))return;this.signUpResourceSignal({resource:e.resource})}};onResourceFetch=e=>{e.resource instanceof rR&&this.signInFetchSignal({status:e.status}),e.resource instanceof rD&&this.signUpFetchSignal({status:e.status})}}function ng(e,t){return!t?.id&&e&&e.__internal_future?.hasBeenFinalized===!1}let nb="cannot_render_billing_disabled",ny="cannot_render_user_missing",nw="cannot_render_organizations_disabled",nk="cannot_render_organization_missing",nv="cannot_render_single_session_enabled",nx={polling:!0,standardBrowser:!0,touchSession:!0,isSatellite:!1,signInUrl:void 0,signUpUrl:void 0,afterSignOutUrl:void 0,signInFallbackRedirectUrl:void 0,signUpFallbackRedirectUrl:void 0,signInForceRedirectUrl:void 0,signUpForceRedirectUrl:void 0,newSubscriptionRedirectUrl:void 0};class nj{static version="6.0.0-canary-core3.v20251203181537";static sdkMetadata={name:"@clerk/clerk-js",version:"6.0.0-canary-core3.v20251203181537"};static _billing;static _apiKeys;_checkout;client;session;organization;user;__internal_country;telemetry;__internal_state=new nf;internal_last_error=null;environment;#eu;#ed="";#eh;#em;#ep;#ef;#eg;#eb=null;#ey;#ew;#ek;#ev="loading";#ex=[];#ej=[];#e_={};#ez=null;#eS=0;#eA=p();get __internal_queryClient(){return this.#eu||Promise.resolve().then(n.bind(n,3303)).then(e=>e.QueryClient).then(e=>{this.#eu||(this.#eu=new e,this.#eA.emit("queryClientStatus","ready"))}),this.#eu?{__tag:"clerk-rq-client",client:this.#eu}:void 0}__internal_getCachedResources;__internal_createPublicCredentials;__internal_getPublicCredentials;__internal_isWebAuthnSupported;__internal_isWebAuthnAutofillSupported;__internal_isWebAuthnPlatformAuthenticatorSupported;__internal_setActiveInProgress=!1;get publishableKey(){return this.#ed}get version(){return nj.version}set sdkMetadata(e){nj.sdkMetadata=e}get sdkMetadata(){return nj.sdkMetadata}get loaded(){return"degraded"===this.status||"ready"===this.status}get status(){return this.#ev}get isSatellite(){return!!tg()&&e9(this.#e_.isSatellite,new URL(window.location.href),!1)}get domain(){if(tg()){let e=function(e=""){return(e||"").replace(/^.+:\/\//,"")}(e9(this.#eh,new URL(window.location.href)));if("production"===this.#ek){let t;if(!e)return"";if(e.match(/^(clerk\.)+\w*$/))t=/(clerk\.)*(?=clerk\.)/;else{if(e.match(/\.clerk.accounts/))return e;t=/^(clerk\.)*/gi}return`clerk.${e.replace(t,"")}`}return e}return""}get proxyUrl(){if(tg()){let e=e9(this.#em,new URL(window.location.href));return!e||eK(e)||eH(e)||th.throwInvalidProxyUrl({url:e}),e?eH(e)?new URL(e,window.location.origin).toString():e:""}return""}get frontendApi(){let e=eh(this.publishableKey);return e?e.frontendApi:th.throwInvalidPublishableKeyError({key:this.publishableKey})}get instanceType(){return this.#ek}get isStandardBrowser(){return this.#e_.standardBrowser||!1}get billing(){return nj._billing||(nj._billing=new ar),nj._billing}get apiKeys(){return nj._apiKeys||(nj._apiKeys=new nh),nj._apiKeys}__experimental_checkout(e){return this._checkout||(this._checkout=e=>(function(e,t){let a,r,n,i,{for:s,planId:o,planPeriod:l}=t;if(null===e.user)throw Error("Clerk: User is not authenticated");if("organization"===s&&null===e.organization)throw Error("Clerk: The current session does not have an active organization. Use `setActive` to set the organization");let c=function(e){let{userId:t,orgId:a,planId:r,planPeriod:n}=e;return`${t}-${a||"user"}-${r}-${n}`}({userId:e.user?.id||"",orgId:"organization"===s?e.organization?.id:void 0,planId:o,planPeriod:l}),u=nm.get(c);if(u)return u.signals.computedSignal();let d=(a=t9({resource:null}),r=t9({error:null}),n=t9({status:"idle"}),i=t3(()=>{let e=a().resource,t=r().error,i=n().status;return{errors:ah(t,{}),fetchStatus:i,checkout:e}}),{resourceSignal:a,errorSignal:r,fetchSignal:n,computedSignal:i}),h=new af(d,{..."organization"===s?{orgId:e.organization?.id}:{},planId:o,planPeriod:l});return nm.set(c,{resource:h,signals:d}),d.computedSignal()})(this,e)),this._checkout(e)}__internal_getOption(e){return this.#e_[e]}get isSignedIn(){return this?.session?.status!=="pending"&&!!this.session}constructor(e,t){if(!(e=(e||"").trim()))return th.throwMissingPublishableKeyError();const a=eh(e);if(!a)return th.throwInvalidPublishableKeyError({key:e});this.#eh=t?.domain,this.#em=t?.proxyUrl,this.environment=ra.getInstance(),this.#ek=a.instanceType,this.#ed=e,this.#ew=function(e){let t=[],a=[];async function r(e){for await(let a of["undefined"!=typeof window&&window.__unstable__onBeforeRequest,...t].filter(e=>e))if(await a(e)===!1)return!1;return!0}async function n(e,t){for await(let r of["undefined"!=typeof window&&window.__unstable__onAfterResponse,...a].filter(e=>e))if(await r(e,t)===!1)return!1;return!0}function i({method:t,path:a,sessionId:r,search:n,rotatingTokenNonce:i}){let s=new URLSearchParams(n);return s.append("__clerk_api_version","2025-11-10"),s.append("_clerk_js_version","6.0.0-canary-core3.v20251203181537"),i&&s.append("rotating_token_nonce",i),e.domain&&"development"===e.instanceType&&e.isSatellite&&s.append("__domain",e.domain),t&&"GET"!==t&&"POST"!==t&&s.append("_method",t),a&&!nd.some(e=>a.startsWith(e))&&r&&s.append("_clerk_session_id",r),eb([...s.entries()].reduce((e,[t,a])=>(e[t]=a.includes(",")?a.split(","):a,e),{}))}function s(t){let{path:a,pathPrefix:r="v1"}=t;if(e.proxyUrl){let n=new URL(e.proxyUrl),s=n.pathname.slice(1);return s.endsWith("/")&&(s=s.slice(0,-1)),ej({base:n.origin,pathname:`${s}/${r}${a}`,search:i(t)},{stringify:!1})}let n="production"===e.instanceType?e.domain:"";return ej({base:`https://${n||e.frontendApi}`,pathname:`${r}${a}`,search:i(t)},{stringify:!1})}async function o(t,a){let i,o={...t},{method:l="GET",body:u}=o;!u||"object"!=typeof u||u instanceof FormData||(o.body=function(e){if(!e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let[a,r]of Object.entries(e))void 0!==r&&(t[a]=r);return t}(u)),o.url=s({...o,sessionId:e.getSessionId()}),o.headers=new Headers(o.headers),"GET"===l||u instanceof FormData||o.headers.has("content-type")||o.headers.set("content-type","application/x-www-form-urlencoded"),"application/x-www-form-urlencoded"===o.headers.get("content-type")&&(o.body=u?eb(u,{keyEncoder:ee}):u);let d=await r(o),h="GET"===l?"GET":"POST",m=o.url,p={...o,method:h,credentials:o.credentials||"include"};try{if(d){let e=a?.fetchMaxTries??(c()?4:11);i=await ti(()=>fetch(m,p),{retryImmediately:!0,initialDelay:700,maxDelayBetweenRetries:5e3,shouldRetry:(t,a)=>"GET"===h&&a<e,onBeforeRetry:e=>{m.searchParams.set("_clerk_retry_attempt",e.toString())}})}else i=new Response("{}",o)}catch(t){let e=m.toString();tt.error("network error",{error:t,url:e,method:l},"fapiClient");throw Error(`${t_} Network error at "${e}" - ${t}. Please try again.`)}let f=204!==i.status?await i.json():null,g=Object.assign(i,{payload:f});return i.ok||tt.error("request failed",{method:l,path:o.path,status:i.status},"fapiClient"),await n(o,g),g}return{buildEmailAddress:function(t){return function({localPart:e,frontendApi:t}){return`${e}@${t?t.replace("clerk.",""):"clerk.com"}`}({localPart:t,frontendApi:e.frontendApi})},buildUrl:s,onAfterResponse:function(e){a.push(e)},onBeforeRequest:function(e){t.push(e)},request:o}}({domain:this.domain,frontendApi:this.frontendApi,instanceType:this.instanceType,isSatellite:this.isSatellite,getSessionId:()=>this.session?.id,proxyUrl:this.proxyUrl}),this.#eA.emit(f,"loading"),this.#eA.prioritizedOn(f,e=>this.#ev=e),tF.clerk=this,this.#ef=new np}getFapiClient=()=>this.#ew;load=async e=>{if(tt.info("load() start",{},"clerk"),!this.loaded){if("development"===this.#ek&&$("Clerk: Clerk has been loaded with development keys. Development instances have strict usage limits and should not be used when deploying your application to production. Learn more: https://clerk.com/docs/deployments/overview"),this.#e_=this.#eE(e),this.#e_.clerkUiCtor&&(this.#ey=Promise.resolve(this.#e_.clerkUiCtor).then(e=>new e(()=>this,()=>this.environment,this.#e_,new to))),"development"===this.#ek&&(this.#e_.routerPush||this.#e_.routerReplace)&&(!this.#e_.routerPush||!this.#e_.routerReplace)){let e=this.#e_.routerPush?"routerReplace":"routerPush";$(`Clerk: Both \`routerPush\` and \`routerReplace\` need to be defined, but \`${e}\` is not defined. This may cause issues with navigation in your application.`)}a7.on(a4,()=>{this.#eI(this.session),this.#eC()}),this.#e_.sdkMetadata&&(nj.sdkMetadata=this.#e_.sdkMetadata),!1!==this.#e_.telemetry&&(this.telemetry=new e$({clerkVersion:nj.version,samplingRate:1,perEventSampling:!this.#e_.__internal_keyless_claimKeylessApplicationUrl&&void 0,publishableKey:this.publishableKey,...this.#e_.telemetry}),this.#e_.appearance&&this.telemetry.record({event:"THEME_USAGE",eventSamplingRate:1,payload:function(e){let t;if(!e||"object"!=typeof e)return{};let a=e.theme||e.baseTheme;if(!a)return{};if(Array.isArray(a))for(let e of a){let a=e2(e);if(a){t=a;break}}else t=e2(a);return{themeName:t}}(this.#e_.appearance)}));try{this.#e_.standardBrowser?await this.#eP():await this.#eq();let e=this.#e_.telemetry,t=!1!==e&&!e?.disabled,a=!!this.#e_.__internal_keyless_claimKeylessApplicationUrl,r=!!this.environment?.clientDebugMode,n=this.environment?.isProduction?.()??!1,i=r||a&&!n,s=a&&!r?"error":void 0;i&&function(e={}){if(e8)return;let{enabled:t=!1,...a}=e;t&&(e5=!0,e8=!0,te(a))}({enabled:!0,...s?{logLevel:s}:{},...t&&this.telemetry?{telemetryCollector:this.telemetry}:{}}),this.#ef?.load(this.environment),tt.info("load() complete",{},"clerk")}catch(e){throw this.#eA.emit(f,"error"),tt.error("load() failed",{error:e},"clerk"),e}}};#eO(){let e;return!!(!this.#e_.signUpUrl&&this.#e_.signInUrl&&(e=this.#e_.signInUrl,!eg.test(e)))}signOut=async(e,t)=>{if(!this.client||0===this.client.sessions.length)return;let a="undefined"!=typeof window&&"function"==typeof window.__unstable__onBeforeSetActive?window.__unstable__onBeforeSetActive:e3,r="undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3,n=e&&"object"==typeof e?e:t||{},i=n?.redirectUrl||this.buildAfterSignOutUrl();tt.debug("signOut() start",{hasClient:!!this.client,multiSessionCount:this.client?.signedInSessions.length??0,redirectUrl:i,sessionTarget:n?.sessionId??null},"clerk");let s="function"==typeof e?e:void 0,o=async()=>{let e=tl(this.#e_.standardBrowser);a7.emit(a6,null),this.#eT(),await e.track(async()=>{s?await s():await this.navigate(i)}),e.isUnloading()||(this.#eI(),this.#eC(),await r())};if(await a(),!n.sessionId||1===this.client.signedInSessions.length){this.#e_.experimental?.persistClient??!0?await this.client.removeSessions():await this.client.destroy(),await o(),tt.info("signOut() complete",{redirectUrl:e_(i)},"clerk");return}let l=this.client.signedInSessions.find(e=>e.id===n.sessionId),c=l?.id&&this.session?.id===l.id;await l?.remove(),c&&(await o(),tt.info("signOut() complete",{redirectUrl:e_(i)},"clerk"))};openGoogleOneTap=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("googleOneTap",e||{})),this.telemetry?.record(e0("GoogleOneTap",e))};closeGoogleOneTap=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("googleOneTap"))};openSignIn=e=>{if(N(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotOpenSignInOrSignUp,{code:nv});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("signIn",e||{}));let t={withSignUp:e?.withSignUp??this.#eO()};this.telemetry?.record(e0("SignIn",e,t))};closeSignIn=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signIn"))};__internal_openCheckout=e=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("Checkout"),{code:nb});return}if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenCheckout,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("checkout",e||{}))};__internal_closeCheckout=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("checkout"))};__internal_openPlanDetails=e=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("PlanDetails"),{code:nb});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("planDetails",e||{})),this.telemetry?.record(e0("PlanDetails",e))};__internal_closePlanDetails=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("planDetails"))};__internal_openSubscriptionDetails=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("subscriptionDetails",e||{}))};__internal_closeSubscriptionDetails=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("subscriptionDetails"))};__internal_openReverification=e=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenUserProfile,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("userVerification",e||{})),this.telemetry?.record(e0("UserVerification",e))};__internal_closeReverification=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userVerification"))};__internal_attemptToEnableEnvironmentSetting=e=>{let{for:t,caller:a}=e;if(this.user||"development"!==this.#ek||$(`Clerk: "${a}" requires an active user session. Ensure a user is signed in before executing ${a}.`),"organizations"===t){let t;return(t=this.environment,t?.organizationSettings.enabled||this.session?.currentTask?.key==="choose-organization")?{isEnabled:!0}:("development"===this.#ek&&this.__internal_openEnableOrganizationsPrompt({caller:a,onSuccess:()=>window.location.reload(),onClose:e.onClose}),{isEnabled:!1})}throw Error(`Attempted to enable an unknown or unsupported setting "${t}".`)};__internal_openEnableOrganizationsPrompt=e=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("enableOrganizationsPrompt",e||{})));__internal_closeEnableOrganizationsPrompt=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.closeModal("enableOrganizationsPrompt")));__internal_openBlankCaptchaModal=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.openModal("blankCaptcha",{})));__internal_closeBlankCaptchaModal=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.closeModal("blankCaptcha")));__internal_loadStripeJs=async()=>{let{loadStripe:e}=await Promise.resolve().then(n.bind(n,5608));return e};openSignUp=e=>{if(N(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotOpenSignInOrSignUp,{code:nv});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("signUp",e||{})),this.telemetry?.record(e0("SignUp",e))};closeSignUp=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signUp"))};openUserProfile=e=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenUserProfile,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("userProfile",e||{}));let t=(e?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e0("UserProfile",e,t))};closeUserProfile=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userProfile"))};openOrganizationProfile=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:nw})}});if(t){if(!this.organization){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenOrgDoesNotExist,{code:nk});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("organizationProfile",e||{})),this.telemetry?.record(e0("OrganizationProfile",e))}};closeOrganizationProfile=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("organizationProfile"))};openCreateOrganization=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:nw})}});t&&(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("createOrganization",e||{})),this.telemetry?.record(e0("CreateOrganization",e)))};closeCreateOrganization=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("createOrganization"))};openWaitlist=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("waitlist",e||{})),this.telemetry?.record(e0("Waitlist",e))};closeWaitlist=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("waitlist"))};mountSignIn=(e,t)=>{this.assertComponentsReady(this.#ey);let a="SignIn";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"signIn",node:e,props:t}));let r={withSignUp:t?.withSignUp??this.#eO()};this.telemetry?.record(e1(a,t,r))};unmountSignIn=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserAvatar=(e,t)=>{this.assertComponentsReady(this.#ey);let a="UserAvatar";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userAvatar",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountUserAvatar=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountSignUp=(e,t)=>{this.assertComponentsReady(this.#ey);let a="SignUp";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"signUp",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountSignUp=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserProfile=(e,t)=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenUserDoesNotExist,{code:ny});return}this.assertComponentsReady(this.#ey);let a="UserProfile";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userProfile",node:e,props:t}));let r=(t?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e1(a,t,r))};unmountUserProfile=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationProfile=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:nw})}});if(!a)return;let r=!!this.user;if(!this.organization&&r){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenOrgDoesNotExist,{code:nk});return}this.assertComponentsReady(this.#ey);let n="OrganizationProfile";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:n,appearanceKey:"userProfile",node:e,props:t})),this.telemetry?.record(e1(n,t))};unmountOrganizationProfile=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountCreateOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="CreateOrganization";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"createOrganization",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountCreateOrganization=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationSwitcher=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationSwitcher",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationSwitcher"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="OrganizationSwitcher";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"organizationSwitcher",node:e,props:t})),this.telemetry?.record(e1(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationSwitcher=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__experimental_prefetchOrganizationSwitcher=()=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.prefetch("organizationSwitcher"))};mountOrganizationList=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationList",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationList"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="OrganizationList";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"organizationList",node:e,props:t})),this.telemetry?.record(e1(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationList=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserButton=(e,t)=>{this.assertComponentsReady(this.#ey);let a="UserButton";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userButton",node:e,props:t}));let r={...t?.customMenuItems?.length||0?{customItems:!0}:void 0,...t?.__experimental_asStandalone?{standalone:!0}:void 0};this.telemetry?.record(e1(a,t,r))};unmountUserButton=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountWaitlist=(e,t)=>{this.assertComponentsReady(this.#ey);let a="Waitlist";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"waitlist",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountWaitlist=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountPricingTable=(e,t)=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("PricingTable"),{code:nb});return}this.assertComponentsReady(this.#ey);let a="PricingTable";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"pricingTable",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountPricingTable=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__internal_mountOAuthConsent=(e,t)=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:"OAuthConsent",appearanceKey:"__internal_oauthConsent",node:e,props:t}))};__internal_unmountOAuthConsent=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountAPIKeys=(e,t)=>{let a;if($("Clerk: <APIKeys /> component is in early access and not yet recommended for production use."),F(this,a=this.environment)&&L(this,a)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponent,{code:"cannot_render_api_keys_disabled"});return}if(this.organization&&L(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponentForOrgWhenDisabled,{code:"cannot_render_api_keys_org_disabled"});return}if(F(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponentForUserWhenDisabled,{code:"cannot_render_api_keys_user_disabled"});return}this.assertComponentsReady(this.#ey);let r="APIKeys";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"apiKeys",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountAPIKeys=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountTaskChooseOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"TaskChooseOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("TaskChooseOrganization"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="TaskChooseOrganization";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"taskChooseOrganization",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountTaskChooseOrganization=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};setActive=async e=>{let{organization:t,redirectUrl:a,navigate:r}=e,{session:n}=e;this.__internal_setActiveInProgress=!0,tt.debug("setActive() start",{hasClient:!!this.client,sessionTarget:"string"==typeof n?n:n?.id??n??null,organizationTarget:"string"==typeof t?t:t?.id??t??null,redirectUrl:a??null},"clerk");try{var i;let s;if(!this.client)throw tt.warn("Clerk setActive called before client is loaded",{},"clerk"),Error("setActive is being called before the client is loaded. Wait for init.");if(void 0===n&&!this.session)throw tt.warn("Clerk setActive precondition not met: no target session and no active session",{},"clerk"),Error("setActive should either be called with a session param or there should be already an active session.");"string"==typeof n&&(n=this.client.sessions.find(e=>e.id===n)||null);let o="undefined"!=typeof window&&"function"==typeof window.__unstable__onBeforeSetActive?window.__unstable__onBeforeSetActive:e3,l="undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3,c=void 0===n?this.session:n;c?.status==="pending"&&(i={...this.#e_,...e},s=["taskUrls","navigate"],Object.keys(i).some(e=>s.includes(e))||$('Clerk: Session has pending tasks but no handling is configured. To handle pending tasks, provide either "taskUrls" for navigation to custom URLs or "navigate" for programmatic navigation. Without these options, users may get stuck on incomplete flows.'));let d=void 0!==t;if(c&&d){let e="string"==typeof t?t:t?.id;if("string"==typeof e&&e.startsWith("org_"))c.lastActiveOrganizationId=e||null;else{let t=c.user.organizationMemberships.find(t=>t.organization.slug===e),a=t?.organization.id||null,r=null===a;if(this.environment?.organizationSettings?.forceOrganizationSelection&&r)return;c.lastActiveOrganizationId=a}}c?.status!=="pending"&&await o(null===c?"sign-out":void 0),(tg()&&globalThis.document.hasFocus()||!this.#e_.standardBrowser)&&(await this.#eU(c),c=this.#eM(c?.id)),await c?.getToken()||(u()||tt.warn("Token is null when setting active session (offline)",{sessionId:c?.id},"clerk"),a7.emit(a5,{token:null}));let h=tl(this.#e_.standardBrowser),m=c?.status==="pending"&&c?.currentTask&&this.#e_.taskUrls?.[c?.currentTask.key];if((a||m||r)&&await h.track(async()=>{if(this.client){if(c?.status!=="pending"&&this.#eT(),m){let e=a?ej({base:m,hashSearchParams:{redirectUrl:a}},{stringify:!0}):m;await this.navigate(e)}else if(r&&c)await r({session:c});else if(a){if(this.client.isEligibleForTouch()){let e=new URL(a,window.location.href),t=this.buildUrlWithAuth(this.client.buildTouchUrl({redirectUrl:e}));await this.navigate(t)}await this.navigate(a)}}}),h.isUnloading())return;this.#eI(c),this.#eC(),c?.status!=="pending"&&await l()}finally{this.__internal_setActiveInProgress=!1}};addListener=e=>{var t;let a;return t=e,e=e=>{var r;a||={...e},t(a={...{client:r1((r=a).client,e.client),session:r1(r.session,e.session),user:r1(r.user,e.user),organization:r1(r.organization,e.organization)}})},this.#ex.push(e),this.client&&e({client:this.client,session:this.session,user:this.user,organization:this.organization}),()=>{this.#ex=this.#ex.filter(t=>t!==e)}};on=(...e)=>{this.#eA.on(...e)};off=(...e)=>{this.#eA.off(...e)};__internal_addNavigationListener=e=>(this.#ej.push(e),()=>{this.#ej=this.#ej.filter(t=>t!==e)});navigate=async(e,t)=>{if(!e||!tg())return;setTimeout(()=>{this.#eR()},0);let a=new URL(e,window.location.href);this.#eB.includes(a.protocol)||(console.warn(`Clerk: "${a.protocol}" is not a valid protocol. Redirecting to "/" instead. If you think this is a mistake, please open an issue.`),a=new URL("/",window.location.href));let r=t?.replace&&this.#e_.routerReplace?this.#e_.routerReplace:this.#e_.routerPush;if(tt.info(`Clerk is navigating to: ${a}`),this.#e_.routerDebug&&console.log(`Clerk is navigating to: ${a}`),"null"!==a.origin&&a.origin!==window.location.origin||!r)return void eW(a);let n={...t?.metadata?{__internal_metadata:t?.metadata}:{},windowNavigate:eW};return await r(e_(a),n)};buildUrlWithAuth(e){if("production"===this.#ek)return e;let t=new URL(e,window.location.origin);return t.origin!==window.location.origin&&this.#ep?this.#ep.decorateUrlWithDevBrowserToken(t).href:t.href}buildSignInUrl(e){return this.#eN("signInUrl",{...e,redirectUrl:e?.redirectUrl||window.location.href},e?.initialValues)}buildSignUpUrl(e){return this.#eN("signUpUrl",{...e,redirectUrl:e?.redirectUrl||window.location.href},e?.initialValues)}buildUserProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.userProfileUrl):""}buildHomeUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.homeUrl):""}buildAfterSignInUrl({params:e}={}){return this.buildUrlWithAuth(new eC(this.#e_,{},e).getAfterSignInUrl())}buildAfterSignUpUrl({params:e}={}){return this.buildUrlWithAuth(new eC(this.#e_,{},e).getAfterSignUpUrl())}buildAfterSignOutUrl(){return this.#e_.afterSignOutUrl?this.buildUrlWithAuth(this.#e_.afterSignOutUrl):"/"}buildNewSubscriptionRedirectUrl(){return this.#e_.newSubscriptionRedirectUrl?this.#e_.newSubscriptionRedirectUrl:this.buildAfterSignInUrl()}buildWaitlistUrl(e){return this.environment&&this.environment.displayConfig?ej({base:this.#e_.waitlistUrl||this.environment.displayConfig.waitlistUrl,hashSearchParams:[new URLSearchParams(e?.initialValues||{})]},{stringify:!0}):""}buildAfterMultiSessionSingleSignOutUrl(){return this.environment?this.#e_.afterMultiSessionSingleSignOutUrl?this.buildUrlWithAuth(this.#e_.afterMultiSessionSingleSignOutUrl):this.#e_.signInUrl?this.buildUrlWithAuth(ej({base:this.#e_.signInUrl,hashPath:"choose"},{stringify:!0})):this.buildUrlWithAuth(this.environment.displayConfig.afterSignOutOneUrl):""}buildCreateOrganizationUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.createOrganizationUrl):""}buildOrganizationProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.organizationProfileUrl):""}buildTasksUrl(e){let t=this.session?.currentTask;if(!t)return"";let a=this.#e_.taskUrls?.[t.key];return a||ej({base:this.buildSignInUrl(e),hashPath:eR(t)},{stringify:!0})}#eD=async()=>{if(!tg())return;let e=new URLSearchParams({[W]:"true"}),t=eO(H);t&&eK(t)||function(){throw Error(`${t_} Invalid redirect_url. A valid http or https url should be used for the redirection.`)}();let a=ej({base:eO(H),searchParams:e},{stringify:!0});return this.navigate(this.buildUrlWithAuth(a))};redirectWithAuth=async e=>{if(tg())return this.navigate(this.buildUrlWithAuth(e))};redirectToSignIn=async e=>{if(tg())return this.navigate(this.buildSignInUrl(e))};redirectToSignUp=async e=>{if(tg())return this.navigate(this.buildSignUpUrl(e))};redirectToUserProfile=async()=>{if(tg())return this.navigate(this.buildUserProfileUrl())};redirectToCreateOrganization=async()=>{if(tg())return this.navigate(this.buildCreateOrganizationUrl())};redirectToOrganizationProfile=async()=>{if(tg())return this.navigate(this.buildOrganizationProfileUrl())};redirectToAfterSignIn=async()=>{if(tg())return this.navigate(this.buildAfterSignInUrl())};redirectToAfterSignUp=async()=>{if(tg())return this.navigate(this.buildAfterSignUpUrl())};redirectToAfterSignOut=async()=>{if(tg())return this.navigate(this.buildAfterSignOutUrl())};redirectToWaitlist=async()=>{if(tg())return this.navigate(this.buildWaitlistUrl())};redirectToTasks=async e=>{if(tg())return this.navigate(this.buildTasksUrl(e))};handleEmailLinkVerification=async(e,t)=>{if(!this.client)return;let a=eO("__clerk_status");if("expired"===a)throw new _(S.Expired);if("client_mismatch"===a)throw new _(S.ClientMismatch);if("verified"!==a)throw new _(S.Failed);let r=eO("__clerk_created_session"),{signIn:n,signUp:i,sessions:s}=this.client,o=s.some(e=>e.id===r),l="needs_second_factor"===n.status||"missing_requirements"===i.status,c=e=>t&&"function"==typeof t?t(e):this.navigate(e),u=e.redirectUrl?()=>c(e.redirectUrl):e3;return o?this.setActive({session:r,redirectUrl:e.redirectUrlComplete}):l?u():("function"==typeof e.onVerifiedOnOtherDevice&&e.onVerifiedOnOtherDevice(),null)};handleGoogleOneTapCallback=async(e,t,a)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:r,signUp:n}=this.client,i="identifier"in(e||{})?e:r,s="missingFields"in(e||{})?e:n,o=e=>a&&"function"==typeof a?a(this.buildUrlWithAuth(e)):this.navigate(this.buildUrlWithAuth(e));return this._handleRedirectCallback(t,{signUp:s,signIn:i,navigate:o})};_handleRedirectCallback=async(e,{signIn:t,signUp:a,navigate:r})=>{if(!this.loaded||!this.environment||!this.client)return;if(!window.opener&&e.reloadResource)try{"signIn"===e.reloadResource?await t.reload():"signUp"===e.reloadResource&&await a.reload()}catch{}let{displayConfig:n}=this.environment,{firstFactorVerification:i}=t,{externalAccount:s}=a.verifications,o={status:a.status,missingFields:a.missingFields,externalAccountStatus:s.status,externalAccountErrorCode:s.error?.code,externalAccountSessionId:s.error?.meta?.sessionId,sessionId:a.createdSessionId},l={status:t.status,firstFactorVerificationStatus:i.status,firstFactorVerificationErrorCode:i.error?.code,firstFactorVerificationSessionId:i.error?.meta?.sessionId,sessionId:t.createdSessionId},c=e=>()=>r(e),u=c(e.signInUrl||n.signInUrl),d=c(e.signUpUrl||n.signUpUrl),h=c(e.firstFactorUrl||ej({base:n.signInUrl,hashPath:"/factor-one"},{stringify:!0})),m=c(e.secondFactorUrl||ej({base:n.signInUrl,hashPath:"/factor-two"},{stringify:!0})),p=c(e.resetPasswordUrl||ej({base:n.signInUrl,hashPath:"/reset-password"},{stringify:!0})),f=new eC(this.#e_,e),g=c(e.continueSignUpUrl||ej({base:n.signUpUrl,hashPath:"/continue"},{stringify:!0})),b=({missingFields:t})=>t.length?g():(({signUp:e,verifyEmailPath:t,verifyPhonePath:a,continuePath:r,navigate:n,handleComplete:i,redirectUrl:s="",redirectUrlComplete:o="",oidcPrompt:l})=>{if("complete"===e.status)return i&&i();if("missing_requirements"===e.status){if(e.missingFields.some(e=>"enterprise_sso"===e))return e.authenticateWithRedirect({strategy:"enterprise_sso",redirectUrl:s,redirectUrlComplete:o,continueSignUp:!0,oidcPrompt:l});let i=eU();if(e.unverifiedFields?.includes("email_address")&&t)return n(t,{searchParams:i});if(e.unverifiedFields?.includes("phone_number")&&a)return n(a,{searchParams:i});if(r)return n(r,{searchParams:i})}})({signUp:a,verifyEmailPath:e.verifyEmailAddressUrl||ej({base:n.signUpUrl,hashPath:"/verify-email-address"},{stringify:!0}),verifyPhonePath:e.verifyPhoneNumberUrl||ej({base:n.signUpUrl,hashPath:"/verify-phone-number"},{stringify:!0}),navigate:r}),y=e.signInUrl||n.signInUrl,w=e.signUpUrl||n.signUpUrl,k=async({session:e,baseUrl:t,redirectUrl:a})=>{e.currentTask?await eB(e,{baseUrl:t,navigate:this.navigate}):await this.navigate(a)};if("complete"===l.status)return this.setActive({session:l.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:y,redirectUrl:f.getAfterSignInUrl()})}});if("transferable"===o.externalAccountStatus&&"external_account_exists"===o.externalAccountErrorCode){let e=await t.create({transfer:!0});switch(e.status){case"complete":return this.setActive({session:e.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignInUrl()})}});case"needs_first_factor":return h();case"needs_second_factor":return m();case"needs_new_password":return p();default:tS("sign in")}}let v="user_locked"===o.externalAccountErrorCode,x="user_locked"===l.firstFactorVerificationErrorCode;if(v)return d();if(x)return u();if("needs_first_factor"===l.status&&!t.supportedFirstFactors?.every(e=>"enterprise_sso"===e.strategy))return h();if("needs_new_password"===l.status)return p();if("transferable"===l.firstFactorVerificationStatus){if(!1===e.transferable)return u();let t=await a.create({transfer:!0});switch(t.status){case"complete":return this.setActive({session:t.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});case"missing_requirements":return b({missingFields:t.missingFields});default:tS("sign in")}}if("complete"===o.status)return this.setActive({session:o.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});if("needs_second_factor"===l.status)return m();let j=("failed"===o.externalAccountStatus||"unverified"===o.externalAccountStatus)&&"identifier_already_signed_in"===o.externalAccountErrorCode&&o.externalAccountSessionId,_="failed"===l.firstFactorVerificationStatus&&"identifier_already_signed_in"===l.firstFactorVerificationErrorCode&&l.firstFactorVerificationSessionId;if(j||_){let e=l.firstFactorVerificationSessionId||o.externalAccountSessionId;if(e)return this.setActive({session:e,navigate:async({session:e})=>{await k({session:e,baseUrl:j?w:y,redirectUrl:f.getAfterSignInUrl()})}})}return(e=>{let{externalAccount:t}=e.verifications;return!!t.error})(a)?d():"verified"===o.externalAccountStatus&&"missing_requirements"===o.status?b({missingFields:a.missingFields}):this.session?.currentTask?void await this.redirectToTasks({redirectUrl:this.buildAfterSignInUrl()}):u()};handleRedirectCallback=async(e={},t)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:a,signUp:r}=this.client,n=e=>t&&"function"==typeof t?t(e):this.navigate(e);return this._handleRedirectCallback(e,{signUp:r,signIn:a,navigate:n})};handleUnauthenticated=async(e={broadcast:!0})=>{if(this.client&&this.session)try{let t=await aT.getOrCreateInstance().fetch();if(this.updateClient(t),this.session)return;return e.broadcast&&a7.emit(a6,null),this.setActive({session:null})}catch(e){if(O(e)&&[403,500].includes(e.status))return this.setActive({session:null});throw e}};authenticateWithGoogleOneTap=async e=>this.client?.signIn.create({strategy:"google_one_tap",token:e.token}).catch(t=>{if(O(t)&&"external_account_not_found"===t.errors[0].code)return this.client?.signUp.create({strategy:"google_one_tap",token:e.token,legalAccepted:e.legalAccepted});throw t});authenticateWithMetamask=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_okx_wallet_signature"})};authenticateWithWeb3=async({redirectUrl:e,signUpContinueUrl:t,customNavigate:a,unsafeMetadata:r,strategy:n,legalAccepted:i,secondFactorUrl:s})=>{let o,l;if(!this.client||!this.environment)return;let{displayConfig:c}=this.environment,u=n.replace("web3_","").replace("_signature",""),d=await tw().getWeb3Identifier({provider:u});switch(u){case"metamask":o=tw().generateSignatureWithMetamask;break;case"base":o=tw().generateSignatureWithBase;break;case"coinbase_wallet":o=tw().generateSignatureWithCoinbaseWallet;break;default:o=tw().generateSignatureWithOKXWallet}let h=e=>()=>a&&"function"==typeof a?a(e):this.navigate(e),m=h(s||ej({base:c.signInUrl,hashPath:"/factor-two"},{stringify:!0})),p=h(t||ej({base:c.signUpUrl,hashPath:"/continue"},{stringify:!0}));try{l=await this.client.signIn.authenticateWithWeb3({identifier:d,generateSignature:o,strategy:n})}catch(e){if(td(e,"form_identifier_not_found"))l=await this.client.signUp.authenticateWithWeb3({identifier:d,generateSignature:o,unsafeMetadata:r,strategy:n,legalAccepted:i}),t&&"missing_requirements"===l.status&&"verified"===l.verifications.web3Wallet.status&&await p();else throw e}let f=async({session:e,redirectUrl:t})=>{e.currentTask?await eB(e,{baseUrl:c.signInUrl,navigate:this.navigate}):await this.navigate(t)};switch(l.status){case"needs_second_factor":await m();break;case"complete":l.createdSessionId&&await this.setActive({session:l.createdSessionId,navigate:async({session:t})=>{await f({session:t,redirectUrl:e??this.buildAfterSignInUrl()})}});break;default:return}};createOrganization=async({name:e,slug:t})=>rd.create({name:e,slug:t});getOrganization=async e=>rd.get(e);joinWaitlist=async({emailAddress:e})=>rY.join({emailAddress:e});updateEnvironment(e){this.environment=e}__internal_setCountry=e=>{this.__internal_country||(this.__internal_country=e)};get __internal_last_error(){let e=this.internal_last_error;return this.internal_last_error=null,e}set __internal_last_error(e){this.internal_last_error=e}updateClient=e=>{if(!this.client){let t=this.#e_.selectInitialSession?this.#e_.selectInitialSession(e):this.#eF(e);this.#eI(t)}if(this.client=e,this.session){let e=this.#eM(this.session.id);"active"===this.session.status&&e?.status==="pending"&&("undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3)(),this.#eI(e),this.session?.lastActiveToken||u()||tt.warn("No last active token when updating client (offline)",{sessionId:this.session?.id},"clerk"),a7.emit(a5,{token:this.session?.lastActiveToken})}this.#eC()};get __unstable__environment(){return this.environment}__unstable__setEnvironment=async e=>{this.environment=new ra(e)};__unstable__onBeforeRequest=e=>{this.#ew.onBeforeRequest(e)};__unstable__onAfterResponse=e=>{this.#ew.onAfterResponse(e)};__unstable__updateProps=e=>{let t={...e,options:this.#eE({...this.#e_,...e.options})};return this.#ey?.then(e=>e.ensureMounted()).then(e=>e.updateProps(t))};__internal_navigateWithError(e,t){return this.__internal_last_error=t,this.navigate(e)}#eL=()=>{let e=new URLSearchParams({[H]:window.location.href});return ej({base:this.#e_.signInUrl,searchParams:e},{stringify:!0})};#eW=()=>{let e;if(this.proxyUrl){let t=new URL(this.proxyUrl);e=new URL(`${t.pathname}/v1/client/sync`,t.origin)}else this.domain&&(e=new URL("/v1/client/sync",`https://${this.domain}`));return e?.searchParams.append("redirect_url",window.location.href),e?.toString()||""};#eK=()=>"true"!==eO(W)&&!!this.isSatellite&&!!this.#ep?.isSignedOut();#eH=()=>"production"!==this.#ek&&!this.isSatellite&&!!eO(H);#eV=async()=>{"development"===this.instanceType?await this.navigate(this.#eL()):"production"===this.instanceType&&await this.navigate(this.#eW())};#eG=(e,t)=>{let a;try{a=new URL(e)}catch{throw Error(`${t_} The signInUrl needs to have a absolute url format.`)}a.origin===t&&function(){throw Error(`${t_} The signInUrl needs to be on a different origin than your satellite application.`)}()};#eJ=()=>{this.isSatellite&&("development"!==this.#ek||this.#e_.signInUrl||function(){throw Error(`${t_} Missing signInUrl. A satellite application needs to specify the signInUrl for development instances.`)}(),this.proxyUrl||this.domain||function(){throw Error(`${t_} Missing domain and proxyUrl. A satellite application needs to specify a domain or a proxyUrl.`)}(),this.#e_.signInUrl&&this.#eG(this.#e_.signInUrl,window.location.origin))};#eP=async()=>{if(this.#ep=await nc.create(this,this.#ew,this.#ek,this.#eA),this.#eJ(),this.#eK())return void await this.#eV();if(this.#eH())return void await this.#eD();this.#ez=(()=>{if(!s())return{onPageFocus:e3};let e=[];return window.addEventListener("focus",()=>{"visible"===document.visibilityState&&e.forEach(e=>e())}),{onPageFocus:t=>{e.push(t)}}})(),"undefined"!=typeof BroadcastChannel&&(this.#eb=new BroadcastChannel("clerk")),this.#eZ();let e=function(e=window.location.hostname){if(!e)return!1;let t=ev.get(e);void 0===t&&(t=es.some(t=>e.startsWith("accounts.")&&e.endsWith(t))||eo.some(t=>e.endsWith(t)&&!e.endsWith(".clerk"+t)),ev.set(e,t));return t}(window?.location.hostname),t="development"===this.#ek&&!e,a=0,r=0;for(;r<2;){r++;try{var n;let e=ra.getInstance().fetch({touch:t}).then(e=>this.updateEnvironment(e)).catch(()=>{++a;let e=tj.getItem(tk,null);e&&this.updateEnvironment(new ra(e))}),r=async()=>aT.getOrCreateInstance().fetch().then(e=>this.updateClient(e)).catch(async e=>{if(P(e))throw e;++a;let t=this.#ep?.getSessionCookie(),r=function(e){let t;try{t=new rW({jwt:e||"",object:"token",id:void 0})}catch{t=null}if(aT.clearInstance(),!t?.jwt)return aT.getOrCreateInstance({object:"client",last_active_session_id:null,id:"client_init",sessions:[]});let{sessionId:a,userId:r,orgId:n,orgRole:i,orgPermissions:s,orgSlug:o,factorVerificationAge:l}=(e=>{let t,a,r,n,i=e.fva??null,s=e.sts??null;if(2===e.v){if(e.o){t=e.o?.id,r=e.o?.slg,e.o?.rol&&(a=`org:${e.o?.rol}`);let{org:i}=rS(e.fea),{permissions:s,featurePermissionMap:o}=(({per:e,fpm:t})=>{if(!e||!t)return{permissions:[],featurePermissionMap:[]};let a=e.split(",").map(e=>e.trim());return{permissions:a,featurePermissionMap:t.split(",").map(e=>Number.parseInt(e.trim(),10)).map(e=>e.toString(2).padStart(a.length,"0").split("").map(e=>Number.parseInt(e,10)).reverse()).filter(Boolean)}})({per:e.o?.per,fpm:e.o?.fpm});n=function({features:e,permissions:t,featurePermissionMap:a}){if(!e||!t||!a)return[];let r=[];for(let n=0;n<e.length;n++){let i=e[n];if(n>=a.length)continue;let s=a[n];if(s)for(let e=0;e<s.length;e++)1===s[e]&&r.push(`org:${i}:${t[e]}`)}return r}({features:i,featurePermissionMap:o,permissions:s})}}else t=e.org_id,a=e.org_role,r=e.org_slug,n=e.org_permissions;return{sessionClaims:e,sessionId:e.sid,sessionStatus:s,actor:e.act,userId:e.sub,orgId:t,orgRole:a,orgSlug:r,orgPermissions:n,factorVerificationAge:i}})(t.jwt.claims),c={object:"client",last_active_session_id:a,id:"client_init",sessions:[{object:"session",id:a,status:"active",last_active_organization_id:n||null,last_active_token:{id:void 0,object:"token",jwt:e},factor_verification_age:l||null,public_user_data:{user_id:r},user:{object:"user",id:r,organization_memberships:n&&o&&i?[{object:"organization_membership",id:n,role:i,permissions:s||[],organization:{object:"organization",id:n,name:o,slug:o,members_count:1,max_allowed_memberships:1}}]:[]}}]};return aT.getOrCreateInstance(c)}(t);return this.updateClient(r),this.#ep?.stopPollingForToken(),await this.session?.getToken({skipCache:!0}).catch(()=>null).finally(()=>{this.#ep?.startPollingForToken()}),null}),[,i]=await (n=[e,r()],Promise.all(Array.from(n).map(e=>e.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})))));if("rejected"===i.status){let e=i.reason;if(td(e,"requires_captcha"))await r();else throw e}if(this.#ep?.setClientUatCookieForDevelopmentInstances(),await this.#e$())return;break}catch(e){if(td(e,"dev_browser_unauthenticated"))await this.#ep.handleUnauthenticatedDevBrowser();else if(!u())return void console.warn(e);else throw e}r>=2&&function(){throw Error(`${t_} Something went wrong initializing Clerk.`)}()}this.#eg=new nu(this),this.#eg.start(),this.#eY(),this.#eQ(),this.#eX(),this.#eA.emit(f,a>0?"degraded":"ready")};shouldFallbackToCachedResources=()=>!!this.__internal_getCachedResources;#eq=async()=>{let e,t,a=this.shouldFallbackToCachedResources()?1:void 0,r=0;try{[e,t]=await Promise.all([ra.getInstance().fetch({touch:!1,fetchMaxTries:a}),aT.getOrCreateInstance().fetch({fetchMaxTries:a})])}catch(a){if(T(a)&&"network_error"===a.code&&this.shouldFallbackToCachedResources()){let a=await this.__internal_getCachedResources?.();e=new ra(a?.environment),aT.clearInstance(),t=aT.getOrCreateInstance(a?.client),++r}else throw a}this.updateClient(t),this.updateEnvironment(e),this.#eA.emit(f,r>0?"degraded":"ready")};__internal_reloadInitialResources=async()=>{let[e,t]=await Promise.all([ra.getInstance().fetch({touch:!1,fetchMaxTries:1}),aT.getOrCreateInstance().fetch({fetchMaxTries:1})]);this.updateClient(t),this.updateEnvironment(e),this.#eC()};#eF=e=>{if(e.lastActiveSessionId){let t=e.signedInSessions.find(t=>t.id===e.lastActiveSessionId);if(t)return t}return e.signedInSessions[0]||null};#eZ=()=>{s()&&(this.#ez?.onPageFocus(()=>{this.session&&!(!(this.environment&&!this.environment.authConfig.singleSessionMode)&&this.#eS>Date.now())&&(this.#eS=Date.now()+5e3,this.#e_.touchSession&&this.#eU(this.session))}),this.#eb?.addEventListener("message",e=>{e.data?.type==="signout"&&this.handleUnauthenticated({broadcast:!1})}),a7.on(a6,()=>{this.#eb?.postMessage({type:"signout"})}),a7.on(a8,()=>{tj.setItem(tk,this.environment?.__internal_toSnapshot(),864e5)}))};#eU=async e=>{if(!e)return Promise.resolve();await e.touch().catch(e=>{P(e)&&this.handleUnauthenticated()})};#eC=()=>{if(this.client)for(let e of this.#ex)e({client:this.client,session:this.session,user:this.user,organization:this.organization})};#eR=()=>{for(let e of this.#ej)e()};#eT=()=>{this.session=void 0,this.organization=void 0,this.user=void 0,this.#eC()};#e1=()=>(this.session?.user.organizationMemberships||[]).map(e=>e.organization).find(e=>e.id===this.session?.lastActiveOrganizationId)||null;#eI=e=>{this.session=e||null,this.organization=this.#e1(),this.user=this.session?this.session.user:null};#eM=e=>this.client?.signedInSessions.find(t=>t.id===e)||null;#eQ=()=>{this.addListener(({session:e})=>{e?.actor&&this.#ey?.then(e=>e.ensureMounted()).then(e=>e.mountImpersonationFab())})};#eX=()=>{this.#e_.__internal_keyless_claimKeylessApplicationUrl&&this.#ey?.then(e=>e.ensureMounted()).then(e=>{e.updateProps({options:{__internal_keyless_claimKeylessApplicationUrl:this.#e_.__internal_keyless_claimKeylessApplicationUrl,__internal_keyless_copyInstanceKeysUrl:this.#e_.__internal_keyless_copyInstanceKeysUrl,__internal_keyless_dismissPrompt:this.#e_.__internal_keyless_dismissPrompt}})})};#eN=(e,t,a)=>{if(!e||!this.loaded||!this.environment||!this.environment.displayConfig)return"";let r=this.#e_[e]||this.environment.displayConfig[e];this.#eO()&&(r=this.#e_.signInUrl);let n=new eC(this.#e_,t).toSearchParams(),i=new URLSearchParams(a||{}),s=ej({base:r,hashPath:this.#eO()&&"signUpUrl"===e?"/create":"",hashSearchParams:[i,n]},{stringify:!0});return this.buildUrlWithAuth(s)};assertComponentsReady(e){if(!e)throw Error("Clerk was not loaded with Ui components")}#e$=async()=>{var e;let t,a,r,n,i=new URLSearchParams(window.location.search).get("redirect_url"),s="production"===this.instanceType,o=null!==i&&(e=this.frontendApi,a=(t=new URL(i,ey)).pathname,r=eE.includes(a)||eI.includes(a),e===t.host&&r);if(s||!o)return!1;let l=this.session,c=this.#e_.signInUrl||this.environment?.displayConfig.signInUrl,u=c&&window.location.href.startsWith(c),d=this.#e_.signUpUrl||this.environment?.displayConfig.signUpUrl,h=d&&window.location.href.startsWith(d);return n=new URL(i,ey),(!eE.includes(n.pathname)||!!l||!u&&!h)&&(await this.navigate(this.buildUrlWithAuth(i)),!0)};#eE=e=>({...nx,...e,allowedRedirectOrigins:function(e,t,a){if(Array.isArray(e)&&e.length)return e;let r=[];return"undefined"!=typeof window&&window.location&&r.push(window.location.origin),r.push(`https://${ex(t)}`),r.push(`https://*.${ex(t)}`),"development"===a&&r.push(`https://${t}`),r}(e?.allowedRedirectOrigins,this.frontendApi,this.instanceType)});#eY=()=>{try{eT(W),eT(eP),eT(K),eT("__clerk_handshake"),eT("__clerk_handshake_nonce"),eT("__clerk_help")}catch{}};get #eB(){let e=eL;return this.#e_.allowedRedirectProtocols&&(e=e.concat(this.#e_.allowedRedirectProtocols)),e}}})();var s=exports;for(var o in i)s[o]=i[o];i.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})();
|
|
62
|
+
API Error: ${n}`,{data:t,status:e})}}(i,e);let r={data:e,status:i};if(429===i&&o){let e=o.get("retry-after");if(e){let t=parseInt(e,10);isNaN(t)||(r.retryAfter=t)}}throw new v(t||s,r)}return null}static _updateClient(e){if(!e)return;let t=e.client||e.meta?.client;t&&tF.clerk&&tF.clerk.updateClient(aT.getOrCreateInstance().fromJSON(t))}path(e){let t=this.pathRoot;if(this.isNew())return t;let a=t.replace(/[^/]$/,"$&/")+encodeURIComponent(this.id);return e?a.replace(/[^/]$/,"$&/")+encodeURIComponent(e):a}withDefault(e,t){return e??t}async _baseGet(e={}){let t=await tF._fetch({method:"GET",path:this.path(),rotatingTokenNonce:e.rotatingTokenNonce},e);return this.fromJSON(t?.response||t)}async _baseMutate(e){let{action:t,body:a,method:r,path:n}=e,i=await tF._fetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _baseMutateBypass(e){let{action:t,body:a,method:r,path:n}=e,i=await tF._baseFetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _basePost(e={}){return this._baseMutate({...e,method:"POST"})}async _basePostBypass(e={}){return this._baseMutateBypass({...e,method:"POST"})}async _basePut(e={}){return this._baseMutate({...e,method:"PUT"})}async _basePatch(e={}){return this._baseMutate({...e,method:"PATCH"})}async _baseDelete(e={}){await this._baseMutate({...e,method:"DELETE"})}static shouldRethrowOfflineNetworkErrors(){let e=tF.clerk?.__internal_getOption?.("experimental");return e?.rethrowOfflineNetworkErrors||!1}}function tL(e){let t=new Date(e||new Date);return t instanceof Date&&!isNaN(t.getTime())?t:new Date}class tW extends tF{pathRoot="/api_keys";id;type;name;subject;scopes;claims;revoked;revocationReason;expired;expiration;createdBy;description;secret;lastUsedAt;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type,this.name=e.name,this.subject=e.subject,this.scopes=e.scopes,this.claims=e.claims,this.revoked=e.revoked,this.revocationReason=e.revocation_reason,this.expired=e.expired,this.expiration=e.expiration?tL(e.expiration):null,this.createdBy=e.created_by,this.description=e.description,this.secret=e.secret,this.lastUsedAt=e.last_used_at?tL(e.last_used_at):null,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}__internal_toSnapshot(){return{object:"api_key",id:this.id,type:this.type,name:this.name,subject:this.subject,scopes:this.scopes,claims:this.claims,revoked:this.revoked,revocation_reason:this.revocationReason,expired:this.expired,expiration:this.expiration?this.expiration.getTime():null,created_by:this.createdBy,description:this.description,last_used_at:this.lastUsedAt?this.lastUsedAt.getTime():null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class tK extends tF{claimedAt=null;reverification=!1;singleSessionMode=!1;preferredChannels=null;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.claimedAt=this.withDefault(e.claimed_at?tL(e.claimed_at):null,this.claimedAt),this.reverification=this.withDefault(e.reverification,this.reverification),this.singleSessionMode=this.withDefault(e.single_session_mode,this.singleSessionMode),this.preferredChannels=this.withDefault(e.preferred_channels,this.preferredChannels)),this}__internal_toSnapshot(){return{claimed_at:this.claimedAt?this.claimedAt.getTime():null,id:this.id??"",object:"auth_config",reverification:this.reverification,single_session_mode:this.singleSessionMode}}}(b=y||(y={}))[b.None=0]="None",b[b.Mutable=1]="Mutable",b[b.Watching=2]="Watching",b[b.RecursedCheck=4]="RecursedCheck",b[b.Recursed=8]="Recursed",b[b.Dirty=16]="Dirty",b[b.Pending=32]="Pending";let tH=[],{link:tV,unlink:tG,propagate:tJ,checkDirty:tZ,endTracking:t$,startTracking:tY,shallowPropagate:tQ}=function({update:e,notify:t,unwatched:a}){let r=0;return{link:function(e,t){let a,n=t.depsTail;if(void 0!==n&&n.dep===e)return;if(4&t.flags&&void 0!==(a=void 0!==n?n.nextDep:t.deps)&&a.dep===e){a.version=r,t.depsTail=a;return}let i=e.subsTail;if(void 0!==i&&i.version===r&&i.sub===t)return;let s=t.depsTail=e.subsTail={version:r,dep:e,sub:t,prevDep:n,nextDep:a,prevSub:i,nextSub:void 0};void 0!==a&&(a.prevDep=s),void 0!==n?n.nextDep=s:t.deps=s,void 0!==i?i.nextSub=s:e.subs=s},unlink:n,propagate:function(e){let a,r=e.nextSub;t:for(;;){let n=e.sub,i=n.flags;if(3&i&&(60&i?12&i?4&i?!(48&i)&&function(e,t){let a=t.depsTail;if(void 0!==a){let r=t.deps;do{if(r===e)return!0;if(r===a)break;r=r.nextDep}while(void 0!==r)}return!1}(e,n)?(n.flags=40|i,i&=1):i=0:n.flags=-9&i|32:i=0:n.flags=32|i,2&i&&t(n),1&i)){let t=n.subs;if(void 0!==t){e=t,void 0!==t.nextSub&&(a={value:r,prev:a},r=e.nextSub);continue}}if(void 0!==(e=r)){r=e.nextSub;continue}for(;void 0!==a;)if(e=a.value,a=a.prev,void 0!==e){r=e.nextSub;continue t}break}},checkDirty:function(t,a){let r,n=0;t:for(;;){let s=t.dep,o=s.flags,l=!1;if(16&a.flags)l=!0;else if((17&o)==17){if(e(s)){let e=s.subs;void 0!==e.nextSub&&i(e),l=!0}}else if((33&o)==33){(void 0!==t.nextSub||void 0!==t.prevSub)&&(r={value:t,prev:r}),t=s.deps,a=s,++n;continue}if(!l&&void 0!==t.nextDep){t=t.nextDep;continue}for(;n;){--n;let s=a.subs,o=void 0!==s.nextSub;if(o?(t=r.value,r=r.prev):t=s,l){if(e(a)){o&&i(s),a=t.sub;continue}}else a.flags&=-33;if(a=t.sub,void 0!==t.nextDep){t=t.nextDep;continue t}l=!1}return l}},endTracking:function(e){let t=e.depsTail,a=void 0!==t?t.nextDep:e.deps;for(;void 0!==a;)a=n(a,e);e.flags&=-5},startTracking:function(e){++r,e.depsTail=void 0,e.flags=-57&e.flags|4},shallowPropagate:i};function n(e,t=e.sub){let r=e.dep,i=e.prevDep,s=e.nextDep,o=e.nextSub,l=e.prevSub;return void 0!==s?s.prevDep=i:t.depsTail=i,void 0!==i?i.nextDep=s:t.deps=s,void 0!==o?o.prevSub=l:r.subsTail=l,void 0!==l?l.nextSub=o:void 0===(r.subs=o)&&a(r),s}function i(e){do{let a=e.sub,r=e.nextSub,n=a.flags;(48&n)==32&&(a.flags=16|n,2&n&&t(a)),e=r}while(void 0!==e)}}({update:e=>"getter"in e?t6(e):t8(e,e.value),notify:function e(t){let a=t.flags;if(!(64&a)){t.flags=64|a;let r=t.subs;void 0!==r?e(r.sub):tH[t0++]=t}},unwatched(e){if("getter"in e){let t=e.deps;if(void 0!==t){e.flags=17;do t=tG(t,e);while(void 0!==t)}}else"previousValue"in e||at.call(e)}}),tX=0,t1=0,t0=0;function t2(t){let a=e;return e=t,a}function t9(e){return ae.bind({previousValue:e,value:e,subs:void 0,subsTail:void 0,flags:1})}function t3(e){return t7.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:17,getter:e})}function t5(a){let r={fn:a,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};void 0!==e?tV(r,e):void 0!==t&&tV(r,t);let n=t2(r);try{r.fn()}finally{t2(n)}return at.bind(r)}function t6(e){let t=t2(e);tY(e);try{let t=e.value;return t!==(e.value=e.getter(t))}finally{t2(t),t$(e)}}function t8(e,t){return e.flags=1,e.previousValue!==(e.previousValue=t)}function t4(){for(;t1<t0;){let e=tH[t1];tH[t1++]=void 0,function e(t,a){if(16&a||32&a&&tZ(t.deps,t)){let e=t2(t);tY(t);try{t.fn()}finally{t2(e),t$(t)}return}32&a&&(t.flags=-33&a);let r=t.deps;for(;void 0!==r;){let t=r.dep,a=t.flags;64&a&&e(t,t.flags=-65&a),r=r.nextDep}}(e,e.flags&=-65)}t1=0,t0=0}function t7(){let a=this.flags;if(16&a||32&a&&tZ(this.deps,this)){if(t6(this)){let e=this.subs;void 0!==e&&tQ(e)}}else 32&a&&(this.flags=-33&a);return void 0!==e?tV(this,e):void 0!==t&&tV(this,t),this.value}function ae(...t){if(t.length){let e=t[0];if(this.value!==(this.value=e)){this.flags=17;let e=this.subs;void 0!==e&&(tJ(e),tX||t4())}}else{let t=this.value;if(16&this.flags&&t8(this,t)){let e=this.subs;void 0!==e&&tQ(e)}return void 0!==e&&tV(this,e),t}}function at(){let e=this.deps;for(;void 0!==e;)e=tG(e,this);let t=this.subs;void 0!==t&&tG(t),this.flags=0}function aa(e){let{pageSize:t,initialPage:a,...r}=e||{},n=t??10;return new URLSearchParams({...Object.entries(r).reduce((e,[t,a])=>(void 0!==a&&(e[t]=a),e),{}),limit:n+"",offset:((a??1)-1)*n+""})}class ar{static #ei="/billing";static path(e,t){let{orgId:a}=t||{},r=a?`/organizations/${a}`:"/me";return`${r}${ar.#ei}${e}`}getPlans=async e=>{let{for:t,...a}=e||{},r={...a,payer_type:"organization"===t?"org":"user"};return await tF._fetch({path:`${ar.#ei}/plans`,method:"GET",search:aa(r)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new aj(e))}})};getPlan=async e=>new aj(await tF._fetch({path:`${ar.#ei}/plans/${e.id}`,method:"GET"}));getSubscription=async e=>await tF._fetch({path:ar.path("/subscription",{orgId:e.orgId}),method:"GET"}).then(e=>new aS(e?.response));getStatements=async e=>{let{orgId:t,...a}=e;return await tF._fetch({path:ar.path("/statements",{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new a_(e))}})};getStatement=async e=>new a_((await tF._fetch({path:ar.path(`/statements/${e.id}`,{orgId:e.orgId}),method:"GET"}))?.response);getPaymentAttempts=async e=>{let{orgId:t,...a}=e;return await tF._fetch({path:ar.path("/payment_attempts",{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new ag(e))}})};getPaymentAttempt=async e=>new ag(await tF._fetch({path:ar.path(`/payment_attempts/${e.id}`,{orgId:e.orgId}),method:"GET"}));startCheckout=async e=>{let{orgId:t,...a}=e;return new ap((await tF._fetch({path:ar.path("/checkouts",{orgId:t}),method:"POST",body:a}))?.response)}}let an=t9({resource:null}),ai=t9({error:null}),as=t9({status:"idle"}),ao=t3(()=>{let e=an().resource,t=ai().error,a=as().status;return{errors:ah(t,{identifier:null,password:null,code:null}),fetchStatus:a,signIn:e?e.__internal_future:null}}),al=t9({resource:null}),ac=t9({error:null}),au=t9({status:"idle"}),ad=t3(()=>{let e=al().resource,t=ac().error,a=au().status;return{errors:ah(t,{firstName:null,lastName:null,emailAddress:null,phoneNumber:null,password:null,username:null,code:null,captcha:null,legalAccepted:null}),fetchStatus:a,signUp:e?e.__internal_future:null}});function ah(e,t){let a={fields:{...t},raw:null,global:null};if(!e)return a;if(!O(e))return a.raw=[e],a.global=[B(e)],a;function r(e){return"meta"in e&&e.meta&&"paramName"in e.meta&&void 0!==e.meta.paramName}return e.errors.some(r)?e.errors.forEach(e=>{if(a.raw?a.raw.push(e):a.raw=[e],r(e)){let t=X(e.meta.paramName);t in a.fields&&(a.fields[t]=e)}}):(a.raw=[e],a.global=[B(e)]),a}class am extends tF{id;createdAt;updatedAt;imageUrl;userId=null;email;firstName;lastName;organizationId=null;organizationName;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,e.created_at&&(this.createdAt=tL(e.created_at)),e.updated_at&&(this.updatedAt=tL(e.updated_at)),this.imageUrl=e.image_url,this.userId=e.user_id,this.email=e.email,this.firstName=e.first_name,this.lastName=e.last_name,this.organizationId=e.organization_id,this.organizationName=e.organization_name),this}}class ap extends tF{id;externalClientSecret;externalGatewayId;paymentMethod;plan;planPeriod;planPeriodStart;status;totals;isImmediatePlanChange;freeTrialEndsAt;payer;needsPaymentMethod;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethod=e.payment_method?new av(e.payment_method):void 0,this.plan=new aj(e.plan),this.planPeriod=e.plan_period,this.planPeriodStart=e.plan_period_start,this.status=e.status,this.totals=tu(e.totals),this.isImmediatePlanChange=e.is_immediate_plan_change,e.free_trial_ends_at&&(this.freeTrialEndsAt=tL(e.free_trial_ends_at)),this.payer=new am(e.payer),this.needsPaymentMethod=e.needs_payment_method),this}confirm=e=>ti(()=>this._basePatch({path:ar.path(`/checkouts/${this.id}/confirm`,{orgId:this.payer.organizationId}),body:e}),{factor:1.1,maxDelayBetweenRetries:2e3,initialDelay:2e3,jitter:!1,shouldRetry(e,t){if(!O(e)||t>=4)return!1;let a=e?.status,r=409===a&&e.errors?.[0]?.code==="checkout_already_in_progress";return a>=500||r}})}class af{resource=new ap(null);config;signals;pendingOperations=new Map;constructor(e,t){this.config=t,this.signals=e,this.signals.resourceSignal({resource:this})}get status(){return this.resource.status??"needs_initialization"}get externalClientSecret(){return this.resource.externalClientSecret}get externalGatewayId(){return this.resource.externalGatewayId}get plan(){return this.resource.plan}get planPeriod(){return this.resource.planPeriod}get totals(){return this.resource.totals}get isImmediatePlanChange(){return this.resource.isImmediatePlanChange}get freeTrialEndsAt(){return this.resource.freeTrialEndsAt}get payer(){return this.resource.payer}get paymentMethod(){return this.resource.paymentMethod??null}get planPeriodStart(){return this.resource.planPeriodStart}get needsPaymentMethod(){return this.resource.needsPaymentMethod}async start(){return this.runAsyncCheckoutTask("start",async()=>{let e=await ap.clerk.billing?.startCheckout(this.config);this.resource=e},()=>{this.resource=new ap(null),this.signals.resourceSignal({resource:this})})}async confirm(e){if(!this.resource.id)throw Error("Clerk: `start()` must be called before `confirm()`");return this.runAsyncCheckoutTask("confirm",async()=>{await this.resource.confirm(e)})}async finalize(e){let{navigate:t}=e||{};return this.runAsyncCheckoutTask("finalize",async()=>{if("completed"!==this.resource.status)throw Error("Clerk: `confirm()` must be called before `finalize()`");await ap.clerk.setActive({session:ap.clerk.session?.id,navigate:t})})}runAsyncCheckoutTask(e,t,a){var r,n,i;return void 0===ap.clerk.user?(console.warn("Clerk: Checkout operations cannot be performed during transitive state"),{error:null}):(r=this,n=this.signals,i=this.pendingOperations,async(e,t,a)=>{if(i.get(e))return i.get(e);let s=(async()=>{++tX,n.errorSignal({error:null}),n.fetchSignal({status:"fetching"}),a?.(),--tX||t4(),++tX;try{return await t(),n.resourceSignal({resource:r}),{error:null}}catch(e){return n.errorSignal({error:e}),{error:e}}finally{i.delete(e),n.fetchSignal({status:"idle"}),--tX||t4()}})();return i.set(e,s),s})(e,t,a)}}class ag extends tF{id;amount;failedAt=null;paidAt=null;updatedAt;paymentMethod=null;subscriptionItem;chargeType;status;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.amount=tc(e.amount),this.paidAt=e.paid_at?tL(e.paid_at):null,this.failedAt=e.failed_at?tL(e.failed_at):null,this.updatedAt=tL(e.updated_at),this.paymentMethod=e.payment_method?new av(e.payment_method):null,this.subscriptionItem=new aA(e.subscription_item),this.chargeType=e.charge_type,this.status=e.status),this}}let ab="/payment_methods",ay=async e=>{let{orgId:t,...a}=e;return new ax((await tF._fetch({path:ar.path(`${ab}/initialize`,{orgId:t}),method:"POST",body:a}))?.response)},aw=async e=>{let{orgId:t,...a}=e;return new av((await tF._fetch({path:ar.path(ab,{orgId:t}),method:"POST",body:a}))?.response)},ak=async e=>{let{orgId:t,...a}=e??{};return await tF._fetch({path:ar.path(ab,{orgId:t}),method:"GET",search:aa(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new av(e))}})};class av extends tF{id;last4=null;paymentType;cardType=null;isDefault;isRemovable;status;walletType;expiryYear;expiryMonth;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.last4=e.last4,this.paymentType=e.payment_type,this.cardType=e.card_type,this.isDefault=e.is_default,this.isRemovable=e.is_removable,this.status=e.status,this.walletType=e.wallet_type,this.expiryYear=e.expiry_year,this.expiryMonth=e.expiry_month,this.createdAt=null==e.created_at?e.created_at:tL(e.created_at),this.updatedAt=null==e.updated_at?e.updated_at:tL(e.updated_at)),this}async remove(e){let{orgId:t}=e??{};return new aM((await tF._fetch({path:ar.path(`/payment_methods/${this.id}`,{orgId:t}),method:"DELETE"}))?.response)}async makeDefault(e){let{orgId:t}=e??{};return await tF._fetch({path:ar.path("/payers/default_payment_method",{orgId:t}),method:"PUT",body:{payment_method_id:this.id}}),null}}class ax extends tF{externalClientSecret;externalGatewayId;paymentMethodOrder;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethodOrder=e.payment_method_order??["card"]),this}}class aj extends tF{id;name;fee;annualFee=null;annualMonthlyFee=null;description=null;isDefault;isRecurring;hasBaseFee;forPayerType;publiclyVisible;slug;avatarUrl=null;features;freeTrialDays;freeTrialEnabled;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.fee=tc(e.fee),this.annualFee=e.annual_fee?tc(e.annual_fee):null,this.annualMonthlyFee=e.annual_monthly_fee?tc(e.annual_monthly_fee):null,this.description=e.description,this.isDefault=e.is_default,this.isRecurring=e.is_recurring,this.hasBaseFee=e.has_base_fee,this.forPayerType=e.for_payer_type,this.publiclyVisible=e.publicly_visible,this.slug=e.slug,this.avatarUrl=e.avatar_url,this.freeTrialDays=this.withDefault(e.free_trial_days,null),this.freeTrialEnabled=this.withDefault(e.free_trial_enabled,!1),this.features=(e.features||[]).map(e=>new rn(e))),this}}class a_ extends tF{id;status;timestamp;totals;groups;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.timestamp=tL(e.timestamp),this.totals=tu(e.totals),this.groups=e.groups.map(e=>new az(e))),this}}class az{id;timestamp;items;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.timestamp=tL(e.timestamp),this.items=e.items.map(e=>new ag(e))),this}}class aS extends tF{id;status;activeAt;createdAt;pastDueAt;updatedAt;nextPayment;subscriptionItems;eligibleForFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=e.updated_at?tL(e.updated_at):null,this.activeAt=tL(e.active_at),this.pastDueAt=e.past_due_at?tL(e.past_due_at):null,e.next_payment&&(this.nextPayment={amount:tc(e.next_payment.amount),date:tL(e.next_payment.date)}),this.subscriptionItems=(e.subscription_items||[]).map(e=>new aA(e)),this.eligibleForFreeTrial=this.withDefault(e.eligible_for_free_trial,!1)),this}}class aA extends tF{id;plan;planPeriod;status;createdAt;periodStart;periodEnd;canceledAt;pastDueAt;amount;credit;isFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.plan=new aj(e.plan),this.planPeriod=e.plan_period,this.status=e.status,this.createdAt=tL(e.created_at),this.pastDueAt=e.past_due_at?tL(e.past_due_at):null,this.periodStart=tL(e.period_start),this.periodEnd=e.period_end?tL(e.period_end):null,this.canceledAt=e.canceled_at?tL(e.canceled_at):null,this.amount=e.amount?tc(e.amount):void 0,this.credit=e.credit&&e.credit.amount?{amount:tc(e.credit.amount)}:void 0,this.isFreeTrial=this.withDefault(e.is_free_trial,!1)),this}async cancel(e){let{orgId:t}=e;return new aM((await tF._fetch({path:ar.path(`/subscription_items/${this.id}`,{orgId:t}),method:"DELETE"}))?.response)}}let aE={build:(e,t,a)=>[e,t,a].filter(Boolean).join("-"),parse:(e,t,a)=>{let r=aE.extractTemplate(e,t,a);return{organizationId:a,sessionId:t,template:r}},extractTemplate:(e,t,a)=>{if(e===t||a&&e===`${t}-${a}`)return;let r=e.slice(t.length+1);return a&&r.endsWith(`-${a}`)&&(r=r.slice(0,-(a.length+1))),r||void 0}},aI="clerk",aC=10,aP={broadcast:!0};class aq{prefix;data;static fromKey(e){let[t,a,r=""]=e.split("::");return new aq(t,{audience:r,tokenId:a})}constructor(e,t){this.prefix=e,this.data=t,this.prefix=e,this.data=t}toKey(){let{tokenId:e,audience:t}=this.data;return[this.prefix,e,t||""].join("::")}}let aO=((e=aI)=>{let t=new Map,a=Math.random().toString(36).slice(2),r=null;return{clear:()=>{t.forEach(e=>{void 0!==e.timeoutId&&clearTimeout(e.timeoutId)}),t.clear()},close:()=>{r&&(r.close(),r=null)},get:(a,r=aC)=>{let n=new aq(e,a),i=t.get(n.toKey());if(!i)return;let s=Math.floor(Date.now()/1e3)-i.createdAt;if(i.expiresIn-s<(r||1)+5){void 0!==i.timeoutId&&clearTimeout(i.timeoutId),t.delete(n.toKey());return}return i.entry},set:n=>{((n,i=aP)=>{let s=new aq(e,{audience:n.audience,tokenId:n.tokenId}).toKey(),o=Math.floor(Date.now()/1e3),l={createdAt:n.createdAt??o,entry:n,expiresIn:void 0},c=()=>{let e=t.get(s);e===l&&(void 0!==e.timeoutId&&clearTimeout(e.timeoutId),t.delete(s))};n.tokenResolver.then(e=>{let t=e.jwt?.claims;if(!t||"number"!=typeof t.exp||"number"!=typeof t.iat)return c();let s=t.exp-t.iat;l.expiresIn=s;let o=setTimeout(c,1e3*s);l.timeoutId=o,"function"==typeof o.unref&&o.unref();let u=r;if(u&&i.broadcast){let r=e.getRawString();if(r&&t.sid){let e=t.sid,i=t.org_id||t.o?.id,s=aE.extractTemplate(n.tokenId,e,i),o=aE.build(e,s,i);if(n.tokenId===o){let t=`bc_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;tt.info("Broadcasting token update to other tabs",{organizationId:i,sessionId:e,tabId:a,template:s,tokenId:n.tokenId,traceId:t},"tokenCache");let o={organizationId:i,sessionId:e,template:s,tokenId:n.tokenId,tokenRaw:r,traceId:t};u.postMessage(o)}}}}).catch(()=>{c()}),t.set(s,l)})(n,aP)},size:()=>t.size}})();class aT extends tF{static instance;pathRoot="/client";sessions=[];signUp=new rD;signIn=new rR;lastActiveSessionId=null;captchaBypass=!1;cookieExpiresAt=null;lastAuthenticationStrategy=null;createdAt=null;updatedAt=null;static getOrCreateInstance(e=null){return aT.instance||(aT.instance=new aT(e)),aT.instance}static clearInstance(){aT.instance=null}static isClientResource(e){return!!e&&e instanceof aT}constructor(e=null){super(),this.fromJSON(e)}get signUpAttempt(){return this.signUp}get signInAttempt(){return this.signIn}get signedInSessions(){return this.sessions.filter(e=>"active"===e.status||"pending"===e.status)}create(){return this._basePut()}fetch({fetchMaxTries:e}={}){return this._baseGet({fetchMaxTries:e})}async destroy(){return this._baseDelete({path:"/client"}).then(()=>{aO.clear(),this.id="",this.sessions=[],this.signUp=new rD(null),this.signIn=new rR(null),this.lastActiveSessionId=null,this.lastAuthenticationStrategy=null,this.cookieExpiresAt=null,this.createdAt=null,this.updatedAt=null})}removeSessions(){return this._baseDelete({path:this.path()+"/sessions"}).then(e=>(aO.clear(),e))}clearCache(){return this.sessions.forEach(e=>e.clearCache())}isEligibleForTouch(){return!!this.cookieExpiresAt&&this.cookieExpiresAt.getTime()-Date.now()<=6912e5}buildTouchUrl({redirectUrl:e}){return tF.fapiClient.buildUrl({method:"GET",path:"/client/touch",pathPrefix:"v1",search:{redirect_url:e.toString()}}).toString()}__internal_sendCaptchaToken(e){return this._basePostBypass({body:e,path:this.path()+"/verify"})}fromJSON(e){return e&&(this.id=e.id,this.sessions=(e.sessions||[]).map(e=>new rE(e)),this.signUp=new rD(e.sign_up),this.signIn=new rR(e.sign_in),this.lastActiveSessionId=e.last_active_session_id,this.captchaBypass=e.captcha_bypass||!1,this.cookieExpiresAt=e.cookie_expires_at?tL(e.cookie_expires_at):null,this.lastAuthenticationStrategy=e.last_authentication_strategy||null,this.createdAt=tL(e.created_at||void 0),this.updatedAt=tL(e.updated_at||void 0)),this}__internal_toSnapshot(){return{object:"client",id:this.id||"",sessions:this.sessions.map(e=>e.__internal_toSnapshot()),sign_up:this.signUp.__internal_toSnapshot(),sign_in:this.signIn.__internal_toSnapshot(),last_active_session_id:this.lastActiveSessionId,captcha_bypass:this.captchaBypass,cookie_expires_at:this.cookieExpiresAt?this.cookieExpiresAt.getTime():null,last_authentication_strategy:this.lastAuthenticationStrategy??null,created_at:this.createdAt?.getTime()??null,updated_at:this.updatedAt?.getTime()??null}}path(){return this.pathRoot}}class aU extends tF{billing={stripePublishableKey:null,organization:{enabled:!1,hasPaidPlans:!1},user:{enabled:!1,hasPaidPlans:!1}};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.billing.stripePublishableKey=e.billing.stripe_publishable_key,this.billing.organization.enabled=e.billing.organization.enabled,this.billing.organization.hasPaidPlans=e.billing.organization.has_paid_plans,this.billing.user.enabled=e.billing.user.enabled,this.billing.user.hasPaidPlans=e.billing.user.has_paid_plans),this}__internal_toSnapshot(){return{billing:{stripe_publishable_key:this.billing.stripePublishableKey,organization:{enabled:this.billing.organization.enabled,has_paid_plans:this.billing.organization.hasPaidPlans},user:{enabled:this.billing.user.enabled,has_paid_plans:this.billing.user.hasPaidPlans}}}}}class aM{object="";id;slug;deleted=!1;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.object=e.object,this.id=e.id,this.slug=e.slug,this.deleted=e.deleted),this}}class aR extends tF{afterCreateOrganizationUrl="";afterJoinWaitlistUrl="";afterLeaveOrganizationUrl="";afterSignInUrl="";afterSignOutAllUrl="";afterSignOutOneUrl="";afterSignOutUrl="";afterSignUpUrl="";afterSwitchSessionUrl="";applicationName="";backendHost="";branded=!1;captchaHeartbeat=!1;captchaHeartbeatIntervalMs;captchaOauthBypass=["oauth_google","oauth_microsoft","oauth_apple"];captchaProvider="turnstile";captchaPublicKey=null;captchaPublicKeyInvisible=null;captchaWidgetType=null;clerkJSVersion;createOrganizationUrl="";experimental__forceOauthFirst;faviconImageUrl="";googleOneTapClientId;homeUrl="";id="";instanceEnvironmentType="";logoImageUrl="";organizationProfileUrl="";preferredSignInStrategy="password";privacyPolicyUrl="";showDevModeWarning=!1;signInUrl="";signUpUrl="";supportEmail="";termsUrl="";theme={};userProfileUrl="";waitlistUrl="";constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.afterCreateOrganizationUrl=this.withDefault(e.after_create_organization_url,this.afterCreateOrganizationUrl),this.afterJoinWaitlistUrl=this.withDefault(e.after_join_waitlist_url,this.afterJoinWaitlistUrl),this.afterLeaveOrganizationUrl=this.withDefault(e.after_leave_organization_url,this.afterLeaveOrganizationUrl),this.afterSignInUrl=this.withDefault(e.after_sign_in_url,this.afterSignInUrl),this.afterSignOutAllUrl=this.withDefault(e.after_sign_out_all_url,this.afterSignOutAllUrl),this.afterSignOutOneUrl=this.withDefault(e.after_sign_out_one_url,this.afterSignOutOneUrl),this.afterSignUpUrl=this.withDefault(e.after_sign_up_url,this.afterSignUpUrl),this.afterSwitchSessionUrl=this.withDefault(e.after_switch_session_url,this.afterSwitchSessionUrl),this.applicationName=this.withDefault(e.application_name,this.applicationName),this.branded=this.withDefault(e.branded,this.branded),this.captchaHeartbeat=this.withDefault(e.captcha_heartbeat,this.captchaHeartbeat),this.captchaHeartbeatIntervalMs=this.withDefault(e.captcha_heartbeat_interval_ms,this.captchaHeartbeatIntervalMs),this.captchaOauthBypass=this.withDefault(e.captcha_oauth_bypass,this.captchaOauthBypass),this.captchaProvider=this.withDefault(e.captcha_provider,this.captchaProvider),this.captchaPublicKey=this.withDefault(e.captcha_public_key,this.captchaPublicKey),this.captchaPublicKeyInvisible=this.withDefault(e.captcha_public_key_invisible,this.captchaPublicKeyInvisible),this.captchaWidgetType=this.withDefault(e.captcha_widget_type,this.captchaWidgetType),this.clerkJSVersion=this.withDefault(e.clerk_js_version,this.clerkJSVersion),this.createOrganizationUrl=this.withDefault(e.create_organization_url,this.createOrganizationUrl),this.faviconImageUrl=this.withDefault(e.favicon_image_url,this.faviconImageUrl),this.googleOneTapClientId=this.withDefault(e.google_one_tap_client_id,this.googleOneTapClientId),this.homeUrl=this.withDefault(e.home_url,this.homeUrl),this.id=this.withDefault(e.id,this.id),this.instanceEnvironmentType=this.withDefault(e.instance_environment_type,this.instanceEnvironmentType),this.logoImageUrl=this.withDefault(e.logo_image_url,this.logoImageUrl),this.organizationProfileUrl=this.withDefault(e.organization_profile_url,this.organizationProfileUrl),this.preferredSignInStrategy=this.withDefault(e.preferred_sign_in_strategy,this.preferredSignInStrategy),this.privacyPolicyUrl=this.withDefault(e.privacy_policy_url,this.privacyPolicyUrl),this.showDevModeWarning=this.withDefault(e.show_devmode_warning,this.showDevModeWarning),this.signInUrl=this.withDefault(e.sign_in_url,this.signInUrl),this.signUpUrl=this.withDefault(e.sign_up_url,this.signUpUrl),this.supportEmail=this.withDefault(e.support_email,this.supportEmail),this.termsUrl=this.withDefault(e.terms_url,this.termsUrl),this.theme=this.withDefault(e.theme,this.theme),this.userProfileUrl=this.withDefault(e.user_profile_url,this.userProfileUrl),this.waitlistUrl=this.withDefault(e.waitlist_url,this.waitlistUrl)),this}__internal_toSnapshot(){return{object:"display_config",after_create_organization_url:this.afterCreateOrganizationUrl,after_join_waitlist_url:this.afterJoinWaitlistUrl,after_leave_organization_url:this.afterLeaveOrganizationUrl,after_sign_in_url:this.afterSignInUrl,after_sign_out_all_url:this.afterSignOutAllUrl,after_sign_out_one_url:this.afterSignOutOneUrl,after_sign_up_url:this.afterSignUpUrl,after_switch_session_url:this.afterSwitchSessionUrl,application_name:this.applicationName,branded:this.branded,captcha_heartbeat_interval_ms:this.captchaHeartbeatIntervalMs,captcha_heartbeat:this.captchaHeartbeat,captcha_oauth_bypass:this.captchaOauthBypass,captcha_provider:this.captchaProvider,captcha_public_key_invisible:this.captchaPublicKeyInvisible,captcha_public_key:this.captchaPublicKey,captcha_widget_type:this.captchaWidgetType,clerk_js_version:this.clerkJSVersion,create_organization_url:this.createOrganizationUrl,favicon_image_url:this.faviconImageUrl,google_one_tap_client_id:this.googleOneTapClientId,home_url:this.homeUrl,id:this.id,instance_environment_type:this.instanceEnvironmentType,logo_image_url:this.logoImageUrl,organization_profile_url:this.organizationProfileUrl,preferred_sign_in_strategy:this.preferredSignInStrategy,privacy_policy_url:this.privacyPolicyUrl,show_devmode_warning:this.showDevModeWarning,sign_in_url:this.signInUrl,sign_up_url:this.signUpUrl,support_email:this.supportEmail,terms_url:this.termsUrl,theme:this.theme,user_profile_url:this.userProfileUrl,waitlist_url:this.waitlistUrl}}}var aB='const respond=r=>{self.postMessage(r)},workerToTabIds={};self.addEventListener("message",r=>{const e=r.data;switch(e.type){case"setTimeout":workerToTabIds[e.id]=setTimeout(()=>{respond({id:e.id}),delete workerToTabIds[e.id]},e.ms);break;case"clearTimeout":workerToTabIds[e.id]&&(clearTimeout(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break;case"setInterval":workerToTabIds[e.id]=setInterval(()=>{respond({id:e.id})},e.ms);break;case"clearInterval":workerToTabIds[e.id]&&(clearInterval(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break}});\n';let aN=(e,t={})=>{if("undefined"==typeof Worker)return null;try{let a=new Blob([e],{type:"application/javascript; charset=utf-8"}),r=globalThis.URL.createObjectURL(a);return new Worker(r,t)}catch{return console.warn("Clerk: Cannot create worker from blob. Consider adding worker-src blob:; to your CSP"),null}},aD=()=>{let e=0,t=()=>e++,a=new Map,r=(e,t)=>e?.postMessage(t),n=e=>{a.get(e.data.id)?.()},i=aN(aB,{name:"clerk-timers"});if(i?.addEventListener("message",n),!i)return{setTimeout:globalThis.setTimeout.bind(globalThis),setInterval:globalThis.setInterval.bind(globalThis),clearTimeout:globalThis.clearTimeout.bind(globalThis),clearInterval:globalThis.clearInterval.bind(globalThis),cleanup:e3};let s=()=>{i||(i=aN(aB,{name:"clerk-timers"}),i?.addEventListener("message",n))};return{setTimeout:(e,n)=>{s();let o=t();return a.set(o,()=>{e(),a.delete(o)}),r(i,{type:"setTimeout",id:o,ms:n}),o},setInterval:(e,n)=>{s();let o=t();return a.set(o,e),r(i,{type:"setInterval",id:o,ms:n}),o},clearTimeout:e=>{s(),a.delete(e),r(i,{type:"clearTimeout",id:e})},clearInterval:e=>{s(),a.delete(e),r(i,{type:"clearInterval",id:e})},cleanup:()=>{i&&(i.terminate(),i=null,a.clear())}}};function aF({delayInMs:e}={delayInMs:1e3}){let t,a=aD(),r=!1,n=()=>{t&&(a.clearTimeout(t),a.cleanup()),r=!0},i=async s=>{r=!1,await s(n),r||(t=a.setTimeout(()=>{i(s)},e))};return{run:i,stop:n}}class aL extends tF{id;emailAddress="";matchesSsoConnection=!1;linkedTo=[];verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{email_address:this.emailAddress}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:"attempt_verification",body:{code:t}})};createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({redirectUrl:a})=>(await this.prepareVerification({strategy:"email_link",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{"verified"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};createEnterpriseSSOLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEnterpriseSSOLinkFlow:async({redirectUrl:a})=>{if(!(await this.prepareVerification({strategy:"enterprise_sso",redirectUrl:a})).verification.externalVerificationRedirectURL)throw Error("Unexpected: External verification redirect URL is missing");return new Promise((a,r)=>{e(()=>this.reload().then(e=>{"verified"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEnterpriseSSOLinkFlow:t}};destroy=()=>this._baseDelete();toString=()=>this.emailAddress;fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.verification=new aX(e.verification),this.matchesSsoConnection=e.matches_sso_connection,this.linkedTo=(e.linked_to||[]).map(e=>new ri(e))),this}__internal_toSnapshot(){return{object:"email_address",id:this.id,email_address:this.emailAddress,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),matches_sso_connection:this.matchesSsoConnection}}}var aW=class{static encode(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}static decode(e){let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),a=t.length,r=new Uint8Array(a);for(let e=0;e<a;e++)r[e]=t.charCodeAt(e);return r.buffer}};async function aK(e){try{let t=await navigator.credentials.create({publicKey:e});if(!t)return{error:new I("Browser failed to create credential",{code:"passkey_registration_failed"}),publicKeyCredential:null};return{publicKeyCredential:t,error:null}}catch(e){var t;return{error:"InvalidStateError"===(t=e).name?new I(t.message,{code:"passkey_already_exists"}):"NotAllowedError"===t.name?new I(t.message,{code:"passkey_registration_cancelled"}):aG(t),publicKeyCredential:null}}}let aH=new class{controller;__abort(){if(!this.controller)return;let e=Error();e.name="AbortError",this.controller.abort(e)}createAbortSignal(){this.__abort();let e=new AbortController;return this.controller=e,e.signal}abort(){this.__abort(),this.controller=void 0}};async function aV({publicKeyOptions:e,conditionalUI:t}){try{let a=await navigator.credentials.get({publicKey:e,mediation:t?"conditional":"optional",signal:aH.createAbortSignal()});if(!a)return{error:new I("Browser failed to get credential",{code:"passkey_retrieval_failed"}),publicKeyCredential:null};return{publicKeyCredential:a,error:null}}catch(e){var a;return{error:"NotAllowedError"===(a=e).name?new I(a.message,{code:"passkey_retrieval_cancelled"}):aG(a),publicKeyCredential:null}}}function aG(e){return"AbortError"===e.name?new I(e.message,{code:"passkey_operation_aborted"}):"SecurityError"===e.name?new I(e.message,{code:"passkey_invalid_rpID_or_domain"}):e}function aJ(e){let t=aQ(e.challenge),a=(e.allowCredentials||[]).map(e=>({...e,id:aQ(e.id)}));return{...e,allowCredentials:a,challenge:t}}function aZ(e){return{type:e.type,id:e.id,rawId:aY(e.rawId),authenticatorAttachment:e.authenticatorAttachment}}function a$(e){let t=e.response;return{...aZ(e),response:{clientDataJSON:aY(t.clientDataJSON),authenticatorData:aY(t.authenticatorData),signature:aY(t.signature),userHandle:t.userHandle?aY(t.userHandle):null}}}let aY=aW.encode.bind(aW),aQ=aW.decode.bind(aW);class aX extends tF{pathRoot="";status=null;strategy=null;nonce=null;message=null;externalVerificationRedirectURL=null;attempts=null;expireAt=null;error=null;verifiedAtClient=null;channel;constructor(e){super(),this.fromJSON(e)}verifiedFromTheSameClient=()=>this.verifiedAtClient===tF.clerk?.client?.id;fromJSON(e){return e&&(this.status=e.status,this.verifiedAtClient=e.verified_at_client,this.strategy=e.strategy,this.nonce=e.nonce||null,this.message=e.message||null,e.external_verification_redirect_url?this.externalVerificationRedirectURL=new URL(e.external_verification_redirect_url):this.externalVerificationRedirectURL=null,this.attempts=e.attempts,this.expireAt=tL(e.expire_at||void 0),this.error=e.error?new w(e.error):null,this.channel=e.channel||void 0),this}__internal_toSnapshot(){var e;return{object:"verification",id:this.id||"",status:this.status,strategy:this.strategy,nonce:this.nonce,message:this.message,external_verification_redirect_url:this.externalVerificationRedirectURL?.toString()||null,attempts:this.attempts,expire_at:this.expireAt?.getTime()||null,error:(e=this.error,{code:e?.code||"",message:e?.message||"",long_message:e?.longMessage,meta:{param_name:e?.meta?.paramName,session_id:e?.meta?.sessionId,email_addresses:e?.meta?.emailAddresses,identifiers:e?.meta?.identifiers,zxcvbn:e?.meta?.zxcvbn,plan:e?.meta?.plan,is_plan_upgrade_possible:e?.meta?.isPlanUpgradePossible}}),verified_at_client:this.verifiedAtClient}}}class a1 extends aX{publicKey=null;constructor(e){super(e),this.fromJSON(e)}fromJSON(e){var t;let a,r,n;return super.fromJSON(e),e?.nonce&&(this.publicKey=(a=aQ((t=JSON.parse(e.nonce)).user.id),r=aQ(t.challenge),n=(t.excludeCredentials||[]).map(e=>({...e,id:aQ(e.id)})),{...t,excludeCredentials:n,challenge:r,user:{...t.user,id:a}})),this}}class a0{emailAddress;phoneNumber;web3Wallet;externalAccount;constructor(e){e?(this.emailAddress=new a2(e.email_address),this.phoneNumber=new a2(e.phone_number),this.web3Wallet=new a2(e.web3_wallet),this.externalAccount=new aX(e.external_account)):(this.emailAddress=new a2(null),this.phoneNumber=new a2(null),this.web3Wallet=new a2(null),this.externalAccount=new aX(null))}__internal_toSnapshot(){return{email_address:this.emailAddress.__internal_toSnapshot(),phone_number:this.phoneNumber.__internal_toSnapshot(),web3_wallet:this.web3Wallet.__internal_toSnapshot(),external_account:this.externalAccount.__internal_toSnapshot()}}}class a2 extends aX{nextAction;supportedStrategies;constructor(e){super(e),e?(this.nextAction=e.next_action,this.supportedStrategies=e.supported_strategies):(this.nextAction="",this.supportedStrategies=[])}__internal_toSnapshot(){return{...super.__internal_toSnapshot(),next_action:this.nextAction,supported_strategies:this.supportedStrategies}}}class a9 extends tF{id;protocol;provider;providerUserId=null;active;emailAddress="";firstName="";lastName="";publicMetadata={};verification=null;enterpriseConnection=null;lastAuthenticatedAt=null;enterpriseConnectionId=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.provider=e.provider,this.protocol=e.protocol,this.providerUserId=e.provider_user_id,this.active=e.active,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.publicMetadata=e.public_metadata,this.lastAuthenticatedAt=e.last_authenticated_at?tL(e.last_authenticated_at):null,this.enterpriseConnectionId=e.enterprise_connection_id,e.verification&&(this.verification=new aX(e.verification)),e.enterprise_connection&&(this.enterpriseConnection=new a3(e.enterprise_connection))),this}__internal_toSnapshot(){return{object:"enterprise_account",id:this.id,provider:this.provider,protocol:this.protocol,provider_user_id:this.providerUserId,active:this.active,email_address:this.emailAddress,first_name:this.firstName,last_name:this.lastName,public_metadata:this.publicMetadata,verification:this.verification?.__internal_toSnapshot()||null,enterprise_connection:this.enterpriseConnection?.__internal_toSnapshot()||null,last_authenticated_at:this.lastAuthenticatedAt?this.lastAuthenticatedAt.getTime():null,enterprise_connection_id:this.enterpriseConnectionId}}}class a3 extends tF{id;active;allowIdpInitiated;allowSubdomains;disableAdditionalIdentifications;domain;logoPublicUrl="";name;protocol;provider;syncUserAttributes;createdAt;updatedAt;enterpriseConnectionId="";constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.domain=e.domain,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url,this.syncUserAttributes=e.sync_user_attributes,this.allowSubdomains=e.allow_subdomains,this.allowIdpInitiated=e.allow_idp_initiated,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),this.enterpriseConnectionId=e.enterprise_connection_id),this}__internal_toSnapshot(){return{object:"enterprise_account_connection",id:this.id,name:this.name,domain:this.domain,active:this.active,protocol:this.protocol,provider:this.provider,logo_public_url:this.logoPublicUrl,sync_user_attributes:this.syncUserAttributes,allow_subdomains:this.allowSubdomains,allow_idp_initiated:this.allowIdpInitiated,disable_additional_identifications:this.disableAdditionalIdentifications,enterprise_connection_id:this.enterpriseConnectionId,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}let a5="token:update",a6="user:signOut",a8="environment:update",a4="session:tokenResolved",a7=p();class re extends tF{user_api_keys_enabled=!1;orgs_api_keys_enabled=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.user_api_keys_enabled=e.user_api_keys_enabled,this.orgs_api_keys_enabled=e.orgs_api_keys_enabled),this}__internal_toSnapshot(){return{user_api_keys_enabled:this.user_api_keys_enabled,orgs_api_keys_enabled:this.orgs_api_keys_enabled}}}class rt extends tF{actions={adminDelete:!1};domains={enabled:!1,enrollmentModes:[],defaultRole:null};slug={disabled:!1};enabled=!1;maxAllowedMemberships=1;forceOrganizationSelection;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.actions&&(this.actions.adminDelete=this.withDefault(e.actions.admin_delete,this.actions.adminDelete)),e.domains&&(this.domains.enabled=this.withDefault(e.domains.enabled,this.domains.enabled),this.domains.enrollmentModes=this.withDefault(e.domains.enrollment_modes,this.domains.enrollmentModes),this.domains.defaultRole=this.withDefault(e.domains.default_role,this.domains.defaultRole)),e.slug&&(this.slug.disabled=this.withDefault(e.slug.disabled,this.slug.disabled)),this.enabled=this.withDefault(e.enabled,this.enabled),this.maxAllowedMemberships=this.withDefault(e.max_allowed_memberships,this.maxAllowedMemberships),this.forceOrganizationSelection=this.withDefault(e.force_organization_selection,this.forceOrganizationSelection)),this}__internal_toSnapshot(){return{actions:{admin_delete:this.actions.adminDelete},domains:{enabled:this.domains.enabled,enrollment_modes:this.domains.enrollmentModes,default_role:this.domains.defaultRole},enabled:this.enabled,max_allowed_memberships:this.maxAllowedMemberships}}}class ra extends tF{static instance;authConfig=new tK;displayConfig=new aR;maintenanceMode=!1;clientDebugMode=!1;pathRoot="/environment";userSettings=new r$;organizationSettings=new rt;commerceSettings=new aU;apiKeysSettings=new re;protectConfig=new rk;static getInstance(){return ra.instance||(ra.instance=new ra),ra.instance}constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.authConfig=new tK(e.auth_config),this.displayConfig=new aR(e.display_config),this.maintenanceMode=this.withDefault(e.maintenance_mode,this.maintenanceMode),this.clientDebugMode=this.withDefault(e.client_debug_mode,this.clientDebugMode),this.organizationSettings=new rt(e.organization_settings),this.userSettings=new r$(e.user_settings),this.commerceSettings=new aU(e.commerce_settings),this.apiKeysSettings=new re(e.api_keys_settings),this.protectConfig=new rk(e.protect_config)),this}fetch({touch:e,fetchMaxTries:t}={touch:!1}){return(e?this._basePatch({}):this._baseGet({fetchMaxTries:t})).then(e=>(a7.emit(a8,null),e))}isDevelopmentOrStaging=()=>!this.isProduction();isProduction=()=>"production"===this.displayConfig.instanceEnvironmentType;isSingleSession=()=>this.authConfig.singleSessionMode;onWindowLocationHost=()=>this.displayConfig.backendHost===window.location.host;__internal_toSnapshot(){return{object:"environment",auth_config:this.authConfig.__internal_toSnapshot(),display_config:this.displayConfig.__internal_toSnapshot(),id:this.id??"",maintenance_mode:this.maintenanceMode,client_debug_mode:this.clientDebugMode,organization_settings:this.organizationSettings.__internal_toSnapshot(),user_settings:this.userSettings.__internal_toSnapshot(),commerce_settings:this.commerceSettings.__internal_toSnapshot(),api_keys_settings:this.apiKeysSettings.__internal_toSnapshot(),protect_config:this.protectConfig.__internal_toSnapshot()}}}class rr extends tF{id;identificationId;provider;providerUserId="";emailAddress="";approvedScopes="";firstName="";lastName="";imageUrl="";username="";phoneNumber="";publicMetadata={};label="";verification=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}reauthorize=e=>{let{additionalScopes:t,redirectUrl:a}=e||{};return this._basePatch({action:"reauthorize",body:{additional_scope:t,redirect_url:a}})};destroy=()=>this._baseDelete();fromJSON(e){return e&&(this.id=e.id,this.identificationId=e.identification_id,this.providerUserId=e.provider_user_id,this.approvedScopes=e.approved_scopes,this.imageUrl=e.image_url,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.provider=(e.provider||"").replace("oauth_",""),this.username=e.username,this.phoneNumber=e.phone_number,this.publicMetadata=e.public_metadata,this.label=e.label,e.verification&&(this.verification=new aX(e.verification))),this}__internal_toSnapshot(){return{object:"external_account",id:this.id,identification_id:this.identificationId,provider:this.provider,provider_user_id:this.providerUserId,email_address:this.emailAddress,approved_scopes:this.approvedScopes,first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,username:this.username,phone_number:this.phoneNumber,public_metadata:this.publicMetadata,label:this.label,verification:this.verification?.__internal_toSnapshot()||null}}providerSlug(){return this.provider}providerTitle(){let e;return[(e=this.providerSlug()||"").charAt(0).toUpperCase()+e.slice(1),"Account"].join(" ")}accountIdentifier(){return this.username||this.emailAddress||this.label}}class rn extends tF{id;name;description=null;slug;avatarUrl=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.description=e.description,this.slug=e.slug,this.avatarUrl=e.avatar_url),this}}class ri extends tF{id;type;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type),this}__internal_toSnapshot(){return{object:"identification_link",id:this.id,type:this.type}}}class rs extends tF{id;name=null;publicUrl=null;static async create(e,t={}){let a,r=t;return"string"==typeof t.file?(r=t.file,a=new Headers({"Content-Type":"application/octet-stream"})):t.file&&(r=new FormData).append("file",t.file),new rs((await tF._fetch({path:e,method:"POST",body:r,headers:a}))?.response)}static async delete(e){return new rs((await tF._fetch({path:e,method:"DELETE"}))?.response)}constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.publicUrl=e.public_url),this}}class ro extends tF{id;name;organizationId;enrollmentMode;verification;affiliationEmailAddress;createdAt;updatedAt;totalPendingInvitations;totalPendingSuggestions;constructor(e){super(),this.fromJSON(e)}static async create(e,{name:t}){return new ro((await tF._fetch({path:`/organizations/${e}/domains`,method:"POST",body:{name:t}}))?.response)}prepareAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/prepare_affiliation_verification`,method:"POST",body:e});attemptAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/attempt_affiliation_verification`,method:"POST",body:e});updateEnrollmentMode=e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/update_enrollment_mode`,body:e});delete=()=>this._baseDelete({path:`/organizations/${this.organizationId}/domains/${this.id}`});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.organizationId=e.organization_id,this.enrollmentMode=e.enrollment_mode,this.affiliationEmailAddress=e.affiliation_email_address,this.totalPendingSuggestions=e.total_pending_suggestions,this.totalPendingInvitations=e.total_pending_invitations,e.verification?this.verification={status:e.verification.status,strategy:e.verification.strategy,attempts:e.verification.attempts,expiresAt:tL(e.verification.expires_at)}:this.verification=null),this}}class rl extends tF{id;organizationId;status;publicUserData;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/accept`});reject=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/reject`});fromJSON(e){return e&&(this.id=e.id,this.organizationId=e.organization_id,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),e.public_user_data&&(this.publicUserData=new rv(e.public_user_data))),this}}class rc extends tF{id;key;name;description;type;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.type=e.type,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class ru extends tF{id;key;name;description;permissions=[];createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.permissions=e.permissions.map(e=>new rc(e)),this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class rd extends tF{pathRoot="/organizations";id;name;slug;imageUrl;hasImage;publicMetadata={};adminDeleteEnabled;createdAt;updatedAt;membersCount=0;pendingInvitationsCount=0;maxAllowedMemberships;constructor(e){super(),this.fromJSON(e)}static async create(e){return new rd((await tF._fetch({path:"/organizations",method:"POST",body:e}))?.response)}static async get(e){return new rd((await tF._fetch({path:`/organizations/${e}`,method:"GET"}))?.response)}update=async e=>this._basePatch({body:e});getRoles=async e=>await tF._fetch({path:`/organizations/${this.id}/roles`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new ru(e))}});getDomains=async e=>await tF._fetch({path:`/organizations/${this.id}/domains`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new ro(e))}});getDomain=async({domainId:e})=>new ro((await tF._fetch({path:`/organizations/${this.id}/domains/${e}`,method:"GET"}))?.response);getMembershipRequests=async e=>await tF._fetch({path:`/organizations/${this.id}/membership_requests`,method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rl(e))}});createDomain=async e=>ro.create(this.id,{name:e});getMemberships=async e=>await tF._fetch({path:`/organizations/${this.id}/memberships`,method:"GET",search:aa({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rm(e))}});getInvitations=async e=>await tF._fetch({path:`/organizations/${this.id}/invitations`,method:"GET",search:aa(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rh(e))}});addMember=async({userId:e,role:t})=>await tF._fetch({method:"POST",path:`/organizations/${this.id}/memberships`,body:{userId:e,role:t}}).then(e=>new rm(e?.response));inviteMember=async e=>rh.create(this.id,e);inviteMembers=async e=>rh.createBulk(this.id,e);updateMember=async({userId:e,role:t})=>await tF._fetch({method:"PATCH",path:`/organizations/${this.id}/memberships/${e}`,body:{role:t}}).then(e=>new rm(e?.response));removeMember=async e=>await tF._fetch({method:"DELETE",path:`/organizations/${this.id}/memberships/${e}`}).then(e=>new rm(e?.response));destroy=async()=>this._baseDelete();setLogo=async({file:e})=>{let t,a;return null===e?await tF._fetch({path:`/organizations/${this.id}/logo`,method:"DELETE"}).then(e=>new rd(e?.response)):("string"==typeof e?(t=e,a=new Headers({"Content-Type":"application/octet-stream"})):(t=new FormData).append("file",e),await tF._fetch({path:`/organizations/${this.id}/logo`,method:"PUT",body:t,headers:a}).then(e=>new rd(e?.response)))};initializePaymentMethod=e=>ay({...e,orgId:this.id});addPaymentMethod=e=>aw({...e,orgId:this.id});getPaymentMethods=e=>ak({...e,orgId:this.id});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.slug=e.slug,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.publicMetadata=e.public_metadata||{},this.membersCount=e.members_count||0,this.pendingInvitationsCount=e.pending_invitations_count||0,this.maxAllowedMemberships=e.max_allowed_memberships||0,this.adminDeleteEnabled=e.admin_delete_enabled||!1,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization",id:this.id,name:this.name,slug:this.slug,image_url:this.imageUrl,has_image:this.hasImage,public_metadata:this.publicMetadata,members_count:this.membersCount,pending_invitations_count:this.pendingInvitationsCount,max_allowed_memberships:this.maxAllowedMemberships,admin_delete_enabled:this.adminDeleteEnabled,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async reload(e){let{rotatingTokenNonce:t}=e||{},a=(await tF._fetch({path:`/organizations/${this.id}`,method:"GET",rotatingTokenNonce:t},{forceUpdateClient:!0}))?.response;return this.fromJSON(a)}}class rh extends tF{id;emailAddress;organizationId;publicMetadata={};status;role;roleName;createdAt;updatedAt;static async create(e,{emailAddress:t,role:a}){return new rh((await tF._fetch({path:`/organizations/${e}/invitations`,method:"POST",body:{email_address:t,role:a}}))?.response)}static async createBulk(e,t){let{emailAddresses:a,role:r}=t;return((await tF._fetch({path:`/organizations/${e}/invitations/bulk`,method:"POST",body:{email_address:a,role:r}}))?.response).map(e=>new rh(e))}constructor(e){super(),this.fromJSON(e)}revoke=async()=>await this._basePost({path:`/organizations/${this.organizationId}/invitations/${this.id}/revoke`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.organizationId=e.organization_id,this.publicMetadata=e.public_metadata,this.role=e.role,this.roleName=e.role_name,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}class rm extends tF{id;publicMetadata={};publicUserData;organization;permissions=[];role;roleName;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static retrieve=async e=>await tF._fetch({path:"/me/organization_memberships",method:"GET",search:aa({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rm(e))}});destroy=async()=>await this._baseDelete({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`});update=async({role:e})=>await this._basePatch({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`,body:{role:e}});fromJSON(e){return e&&(this.id=e.id,this.organization=new rd(e.organization),this.publicMetadata=e.public_metadata||{},e.public_user_data&&(this.publicUserData=new rv(e.public_user_data)),this.permissions=Array.isArray(e.permissions)?[...e.permissions]:[],this.role=e.role,this.roleName=e.role_name,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization_membership",id:this.id,organization:this.organization.__internal_toSnapshot(),public_metadata:this.publicMetadata,public_user_data:this.publicUserData?.__internal_toSnapshot(),permissions:this.permissions,role:this.role,role_name:this.roleName,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}reload(e){throw Error(`${t_} Calling OrganizationMembership.reload is not currently supported. Please contact support.`)}}class rp extends tF{id;publicOrganizationData;status;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async retrieve(e){return await tF._fetch({path:"/me/organization_suggestions",method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rp(e))}})}accept=async()=>await this._basePost({path:`/me/organization_suggestions/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}function rf(){return l()&&"function"==typeof window.PublicKeyCredential}async function rg(){try{return rf()&&await window.PublicKeyCredential.isConditionalMediationAvailable()}catch{return!1}}async function rb(){try{return"undefined"!=typeof window&&await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return!1}}class ry extends tF{id;pathRoot="/me/passkeys";verification=null;name=null;lastUsedAt=null;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async create(){return tF._fetch({path:"/me/passkeys",method:"POST"}).then(e=>new ry(e?.response))}static async attemptVerification(e,t){let a,r=(a=t.response,{...aZ(t),response:{clientDataJSON:aY(a.clientDataJSON),attestationObject:aY(a.attestationObject),transports:a.getTransports()}});return tF._fetch({path:`/me/passkeys/${e}/attempt_verification`,method:"POST",body:{strategy:"passkey",publicKeyCredential:JSON.stringify(r)}}).then(e=>new ry(e?.response))}static async registerPasskey(){let e=ry.clerk.__internal_isWebAuthnSupported||rf,t=ry.clerk.__internal_createPublicCredentials||aK,a=ry.clerk.__internal_isWebAuthnPlatformAuthenticatorSupported||rb;if(!e())throw new I("Passkeys are not supported on this device.",{code:"passkey_not_supported"});let r=await this.create(),{verification:n}=r,i=n?.publicKey;if(i||tq("create"),i.authenticatorSelection?.authenticatorAttachment==="platform"&&!await a())throw new I("Registration requires a platform authenticator but the device does not support it.",{code:"passkey_pa_not_supported"});let{publicKeyCredential:s,error:o}=await t(i);if(!s)throw o;return this.attemptVerification(r.id,s)}update=e=>this._basePatch({body:e});delete=async()=>new aM((await tF._fetch({path:this.path(),method:"DELETE"}))?.response);fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.lastUsedAt=e.last_used_at?tL(e.last_used_at):null,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),e.verification&&(this.verification=new a1(e.verification))),this}__internal_toSnapshot(){return{object:"passkey",id:this.id,name:this.name,verification:this.verification?.__internal_toSnapshot()||null,last_used_at:this.lastUsedAt?.getTime()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class rw extends tF{id;phoneNumber="";reservedForSecondFactor=!1;defaultSecondFactor=!1;linkedTo=[];verification;backupCodes;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create=()=>this._basePost({body:{phone_number:this.phoneNumber}});prepareVerification=()=>this._basePost({action:"prepare_verification",body:{strategy:"phone_code"}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:"attempt_verification",body:{code:t}})};setReservedForSecondFactor=e=>{let{reserved:t}=e||{};return this._basePatch({body:{reserved_for_second_factor:t}})};makeDefaultSecondFactor=()=>this._basePatch({body:{default_second_factor:!0}});destroy=()=>this._baseDelete();toString=()=>{let e=this.phoneNumber.match(/^(\d{3})(\d{3})(\d{4})$/);return e?"("+e[1]+") "+e[2]+"-"+e[3]:this.phoneNumber};fromJSON(e){return e&&(this.id=e.id,this.phoneNumber=e.phone_number,this.reservedForSecondFactor=e.reserved_for_second_factor,this.defaultSecondFactor=e.default_second_factor,this.verification=new aX(e.verification),this.linkedTo=(e.linked_to||[]).map(e=>new ri(e)),this.backupCodes=e.backup_codes),this}__internal_toSnapshot(){return{object:"phone_number",id:this.id||"",phone_number:this.phoneNumber,reserved_for_second_factor:this.reservedForSecondFactor,default_second_factor:this.defaultSecondFactor,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),backup_codes:this.backupCodes}}}class rk extends tF{id="";loaders;rollout;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=this.withDefault(e.id,this.id),this.loaders=this.withDefault(e.loaders,this.loaders)),this}__internal_toSnapshot(){return{object:"protect_config",id:this.id,loaders:this.loaders}}}class rv{firstName;lastName;imageUrl;hasImage;identifier;userId;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name||null,this.lastName=e.last_name||null,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.identifier=e.identifier||"",this.userId=e.user_id),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,has_image:this.hasImage,identifier:this.identifier,user_id:this.userId}}}let rx={strict_mfa:{afterMinutes:10,level:"multi_factor"},strict:{afterMinutes:10,level:"second_factor"},moderate:{afterMinutes:60,level:"second_factor"},lax:{afterMinutes:1440,level:"second_factor"}},rj=new Set(["first_factor","second_factor","multi_factor"]),r_=new Set(["strict_mfa","strict","moderate","lax"]),rz=(e,t)=>{let{org:a,user:r}=rS(e),[n,i]=t.split(":"),s=i||n;return"org"===n?a.includes(s):"user"===n?r.includes(s):[...a,...r].includes(s)},rS=e=>{let t=e?e.split(",").map(e=>e.trim()):[];return{org:t.filter(e=>e.split(":")[0].includes("o")).map(e=>e.split(":")[1]),user:t.filter(e=>e.split(":")[0].includes("u")).map(e=>e.split(":")[1])}};class rA extends tF{status;level;session;supportedFirstFactors=[];supportedSecondFactors=[];firstFactorVerification=new aX(null);secondFactorVerification=new aX(null);constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.session=new rE(e.session),this.level=e.level,this.supportedFirstFactors=er(e.supported_first_factors),this.supportedSecondFactors=er(e.supported_second_factors),this.firstFactorVerification=new aX(e.first_factor_verification),this.secondFactorVerification=new aX(e.second_factor_verification)),this}}class rE extends tF{pathRoot="/client/sessions";id;status;lastActiveAt;lastActiveToken;lastActiveOrganizationId;actor;user;publicUserData;factorVerificationAge=null;tasks=null;expireAt;abandonAt;createdAt;updatedAt;static isSessionResource(e){return!!e&&e instanceof rE}constructor(e){super(),this.fromJSON(e),this.#es(this.lastActiveToken)}end=()=>(aO.clear(),this._basePost({action:"end"}));remove=()=>(aO.clear(),this._basePost({action:"remove"}));touch=()=>this._basePost({action:"touch",body:{active_organization_id:this.lastActiveOrganizationId}}).then(e=>(e.lastActiveToken&&a7.emit(a5,{token:e.lastActiveToken}),e));clearCache=()=>aO.clear();getToken=async e=>ti(()=>this._getToken(e),{factor:1.55,initialDelay:3e3,maxDelayBetweenRetries:5e4,jitter:!1,shouldRetry:(e,t)=>!P(e)&&t<=8});checkAuthorization=e=>{let t,a=(this.user?.organizationMemberships||[]).find(e=>e.organization.id===this.lastActiveOrganizationId);return(t={userId:this.user?.id,factorVerificationAge:this.factorVerificationAge,orgId:a?.id,orgRole:a?.role,orgPermissions:a?.permissions,features:this.lastActiveToken?.jwt?.claims.fea||"",plans:this.lastActiveToken?.jwt?.claims.pla||""},e=>{if(!t.userId)return!1;let a=((e,t)=>{let{features:a,plans:r}=t;return e.feature&&a?rz(a,e.feature):e.plan&&r?rz(r,e.plan):null})(e,t),r=((e,t)=>{let{orgId:a,orgRole:r,orgPermissions:n}=t;return(e.role||e.permission)&&a&&r&&n?e.permission?n.includes(e.permission.replace(/^(org:)*/,"org:")):e.role?r.replace(/^(org:)*/,"org:")===e.role.replace(/^(org:)*/,"org:"):null:null})(e,t),n=((e,{factorVerificationAge:t})=>{if(!e.reverification||!t)return null;let a=(e=>{let t,a;if(!e)return!1;let r="string"==typeof e&&r_.has(e),n="object"==typeof e&&(t=e.level,rj.has(t))&&"number"==typeof(a=e.afterMinutes)&&a>0;return(!!r||!!n)&&(e=>"string"==typeof e?rx[e]:e).bind(null,e)})(e.reverification);if(!a)return null;let{level:r,afterMinutes:n}=a(),[i,s]=t,o=-1!==i?n>i:null,l=-1!==s?n>s:null;switch(r){case"first_factor":return o;case"second_factor":return -1!==s?l:o;case"multi_factor":return -1===s?o:o&&l}})(e,t);return[a||r,n].some(e=>null===e)?[a||r,n].some(e=>!0===e):[a||r,n].every(e=>!0===e)})(e)};#es=e=>{e&&aO.set({tokenId:this.#eo(),tokenResolver:Promise.resolve(e)})};#eo(e,t){let a=void 0===t?this.lastActiveOrganizationId:t;return aE.build(this.id,e,a)}startVerification=async({level:e})=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify`,body:{level:e}}))?.response);prepareFirstFactorVerification=async e=>{let t;switch(e.strategy){case"email_code":t={emailAddressId:e.emailAddressId};break;case"phone_code":t={phoneNumberId:e.phoneNumberId,default:e.default};break;case"passkey":t={};break;case"enterprise_sso":t={emailAddressId:e.emailAddressId,enterpriseConnectionId:e.enterpriseConnectionId,redirectUrl:e.redirectUrl};break;default:tE("Session.prepareFirstFactorVerification",e.strategy)}return new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};attemptFirstFactorVerification=async e=>{let t;return t="passkey"===e.strategy?{publicKeyCredential:JSON.stringify(a$(e.publicKeyCredential))}:{...e},new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};verifyWithPasskey=async()=>{let{nonce:e=null}=(await this.prepareFirstFactorVerification({strategy:"passkey"})).firstFactorVerification,t=rE.clerk.__internal_isWebAuthnSupported||rf,a=rE.clerk.__internal_getPublicCredentials||aV;if(!t())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});let r=e?aJ(JSON.parse(e)):null;r||tq("get");let{publicKeyCredential:n,error:i}=await a({publicKeyOptions:r,conditionalUI:!1});if(!n)throw i;return this.attemptFirstFactorVerification({strategy:"passkey",publicKeyCredential:n})};prepareSecondFactorVerification=async e=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_second_factor`,body:e}))?.response);attemptSecondFactorVerification=async e=>new rA((await tF._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_second_factor`,body:e}))?.response);fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.expireAt=tL(e.expire_at),this.abandonAt=tL(e.abandon_at),this.factorVerificationAge=e.factor_verification_age,this.lastActiveAt=tL(e.last_active_at||void 0),this.lastActiveOrganizationId=e.last_active_organization_id,this.actor=e.actor||null,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at),this.user=new rV(e.user),this.tasks=e.tasks||null,e.public_user_data&&(this.publicUserData=new rv(e.public_user_data)),this.lastActiveToken=e.last_active_token?new rW(e.last_active_token):null),this}__internal_toSnapshot(){return{object:"session",id:this.id,status:this.status,expire_at:this.expireAt.getTime(),abandon_at:this.abandonAt.getTime(),factor_verification_age:this.factorVerificationAge,last_active_at:this.lastActiveAt.getTime(),last_active_organization_id:this.lastActiveOrganizationId,actor:this.actor,tasks:this.tasks,user:this.user?.__internal_toSnapshot()||null,public_user_data:this.publicUserData.__internal_toSnapshot(),last_active_token:this.lastActiveToken?.__internal_toSnapshot()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async _getToken(e){if(!this.user)return null;let{leewayInSeconds:t,template:a,skipCache:r=!1}=e||{},n=void 0===e?.organizationId?this.lastActiveOrganizationId:e?.organizationId;if(!a&&Number(t)>=60)throw Error("Leeway can not exceed the token lifespan (60 seconds)");let i=this.#eo(a,n),s=r?void 0:aO.get({tokenId:i},t),o=!a&&n===this.lastActiveOrganizationId;if(s){tt.debug("Using cached token (no fetch needed)",{tokenId:i},"session");let e=await s.tokenResolver;return o&&a7.emit(a5,{token:e}),e.getRawString()||null}tt.info("Fetching new token from API",{organizationId:n,template:a,tokenId:i},"session");let l=a?`${this.path()}/tokens/${a}`:`${this.path()}/tokens`,c=a?{}:{organizationId:n},u=rW.create(l,c,r);return aO.set({tokenId:i,tokenResolver:u}),u.then(e=>(o&&(a7.emit(a5,{token:e}),e.jwt&&(this.lastActiveToken=e,a7.emit(a4,null))),e.getRawString()||null))}get currentTask(){let[e]=this.tasks??[];return e}}class rI extends tF{pathRoot="";id;status;abandonAt;expireAt;lastActiveAt;latestActivity;actor;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}static retrieve(){let e=tF.clerk.session?.id;return this.clerk.getFapiClient().request({method:"GET",path:"/me/sessions/active",sessionId:e}).then(e=>e.payload.map(e=>new rI(e,"/me/sessions"))).catch(()=>[])}revoke(){return this._basePost({action:"revoke",body:{}})}fromJSON(e){let t;return e?(this.id=e.id,this.status=e.status,this.expireAt=tL(e.expire_at),this.abandonAt=tL(e.abandon_at),this.lastActiveAt=tL(e.last_active_at||void 0),this.latestActivity={id:(t=e.latest_activity??{}).id,deviceType:t.device_type,browserName:t.browser_name,browserVersion:t.browser_version,country:t.country,city:t.city,isMobile:t.is_mobile,ipAddress:t.ip_address},this.actor=e.actor,this):this}}let rC=(e,t,a)=>{let{onValidation:r=e3,onValidationComplexity:n=e3}=a||{},{show_zxcvbn:i,validatePassword:s}=t,o=e=>((e,t)=>{let{max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o}=t,l=(e=>{let t;if(e.allowed_special_characters){let a=e.allowed_special_characters.replace("[","\\[");a=a.replace("]","\\]"),t=RegExp(`[${a}]`)}else t=/[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/;return(e,{minLength:a,maxLength:r})=>({max_length:e.length<r,min_length:e.length>=a,require_numbers:/\d/.test(e),require_lowercase:/[a-z]/.test(e),require_uppercase:/[A-Z]/.test(e),require_special_char:t.test(e)})})(t)(e,{maxLength:t.max_length,minLength:t.min_length}),c={max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o},u=new Map;for(let e in c)c[e]&&!l[e]&&u.set(e,!0);return Object.freeze(Object.fromEntries(u))})(e,t),l=(({min_zxcvbn_strength:e,onResult:t})=>a=>r=>{let n=a(r);return(t?.(n),n.score>=e&&n.score<3)?{state:"pass",keys:["unstable__errors.zxcvbn.couldBeStronger"],result:n}:n.score>=e?{state:"excellent",result:n}:{state:"fail",keys:["unstable__errors.zxcvbn.notEnough",...n.feedback.suggestions.map(e=>`unstable__errors.zxcvbn.suggestions.${e}`)],result:n}})(t),c={};return(t,a)=>{let{onValidation:u=r,onValidationComplexity:d=n}=a||{};if(!s)return;let h=o(t);d(0===Object.keys(h).length),c={...c,complexity:h},i&&e().then(e=>{let a=l(e)(t);u({...c={...c,strength:a},strength:a})}),c.complexity&&0===Object.keys(c.complexity).length&&i||u(c)}};function rP(e){return e?`https://${e.replace(/clerk\.accountsstage\./,"accountsstage.").replace(/clerk\.accounts\.|clerk\./,"accounts.")}`:""}async function rq(e,t,a,r,n){if(!e.client||!r.popup)return;let i=rP(e.frontendApi),{redirectUrl:s}=r,o=new URL(s);o.searchParams.set("sign_in_force_redirect_url",r.redirectUrlComplete),o.searchParams.set("sign_up_force_redirect_url",r.redirectUrlComplete),o.searchParams.set("intent",t);let l=e.buildUrlWithAuth(o.toString()),c=e.buildUrlWithAuth(`${i}/popup-callback`),u=e.buildUrlWithAuth(`${i}/popup-callback?return_url=${encodeURIComponent(l)}`),d=async t=>{if(t.origin!==i)return;let a=!1;if(t.data.session){if(!e.client?.sessions.find(e=>e.id===t.data.session))try{await e.client?.reload()}catch(e){console.error(e)}await e.setActive({session:t.data.session,redirectUrl:r.redirectUrlComplete}),a=!0}else t.data.return_url&&(e.navigate(t.data.return_url),a=!0);a&&window.removeEventListener("message",d)};window.addEventListener("message",d),await a({...r,redirectUrlComplete:c,redirectUrl:u},n)}function rO(e,{redirectCallbackUrl:t,redirectUrl:a}){let r=rP(e.frontendApi),n=new URL(t);n.searchParams.set("sign_in_force_redirect_url",a),n.searchParams.set("sign_up_force_redirect_url",a);let i=e.buildUrlWithAuth(n.toString()),s=e.buildUrlWithAuth(`${r}/popup-callback`);return{redirectCallbackUrl:e.buildUrlWithAuth(`${r}/popup-callback?return_url=${encodeURIComponent(i)}`),redirectUrl:s}}function rT(e,t){return new Promise((a,r)=>{if(!e.client||!t.popup)return void r();let n=async t=>{t.origin===rP(e.frontendApi)&&(t.data.session||t.data.return_url?(window.removeEventListener("message",n),a()):r())};window.addEventListener("message",n),t.popup.location.href=t.externalVerificationRedirectURL.toString()})}async function rU(e,t){a7.emit("resource:error",{resource:e,error:null}),a7.emit("resource:fetch",{resource:e,status:"fetching"});try{return{result:await t(),error:null}}catch(t){return a7.emit("resource:error",{resource:e,error:t}),{error:t}}finally{a7.emit("resource:fetch",{resource:e,status:"idle"})}}let rM=()=>{var e;return(e=new to,{loadZxcvbn:()=>Promise.all([e.import("@zxcvbn-ts/core"),e.import("@zxcvbn-ts/language-common")]).then(([e,t])=>{if(!e||!t)throw Error("Failed to load zxcvbn modules");let{zxcvbnOptions:a,zxcvbn:r}=e,{dictionary:n,adjacencyGraphs:i}=t;return a.setOptions({dictionary:{...n},graphs:i}),r})}).loadZxcvbn};class rR extends tF{pathRoot="/client/sign_ins";id;_status=null;supportedIdentifiers=[];supportedFirstFactors=[];supportedSecondFactors=null;firstFactorVerification=new aX(null);secondFactorVerification=new aX(null);identifier=null;createdSessionId=null;userData=new rG(null);clientTrustState;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tt.debug("SignIn.status",{id:this.id,from:t,to:e})}__internal_future=new rB(this);__internal_basePost=this._basePost.bind(this);__internal_baseGet=this._baseGet.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=e=>{tt.debug("SignIn.create",{id:this.id,strategy:"strategy"in e?e.strategy:void 0});let t=tf();return this._basePost({path:this.pathRoot,body:t?{locale:t,...e}:e})};resetPassword=e=>this._basePost({body:e,action:"reset_password"});prepareFirstFactor=e=>{let t;switch(tt.debug("SignIn.prepareFirstFactor",{id:this.id,strategy:e.strategy}),e.strategy){case"passkey":t={};break;case"email_link":t={emailAddressId:e.emailAddressId,redirectUrl:e.redirectUrl};break;case"email_code":case"reset_password_email_code":t={emailAddressId:e.emailAddressId};break;case"phone_code":t={phoneNumberId:e.phoneNumberId,default:e.default,channel:e.channel};break;case"web3_metamask_signature":case"web3_base_signature":case"web3_coinbase_wallet_signature":case"web3_okx_wallet_signature":t={web3WalletId:e.web3WalletId};break;case"reset_password_phone_code":t={phoneNumberId:e.phoneNumberId};break;case"enterprise_sso":t={redirectUrl:e.redirectUrl,actionCompleteRedirectUrl:e.actionCompleteRedirectUrl,oidcPrompt:e.oidcPrompt,enterpriseConnectionId:e.enterpriseConnectionId};break;default:tE("SignIn.prepareFirstFactor",e.strategy)}return this._basePost({body:{...t,strategy:e.strategy},action:"prepare_first_factor"})};attemptFirstFactor=e=>{let t;return tt.debug("SignIn.attemptFirstFactor",{id:this.id,strategy:e.strategy}),t="passkey"===e.strategy?{publicKeyCredential:JSON.stringify(a$(e.publicKeyCredential))}:{...e},this._basePost({body:{...t,strategy:e.strategy},action:"attempt_first_factor"})};createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({emailAddressId:a,redirectUrl:r})=>{this.id||tA("SignIn");let n={strategy:"email_link",emailAddressId:a,redirectUrl:r},i="needs_second_factor"===this.status,s=i?"secondFactorVerification":"firstFactorVerification";return i?await this.prepareSecondFactor(n):await this.prepareFirstFactor(n),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e[s].status;("verified"===r||"expired"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEmailLinkFlow:t}};prepareSecondFactor=e=>(tt.debug("SignIn.prepareSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_second_factor"}));attemptSecondFactor=e=>(tt.debug("SignIn.attemptSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_second_factor"}));authenticateWithRedirectOrPopup=async(e,t)=>{let{strategy:a,redirectUrlComplete:r,identifier:n,oidcPrompt:i,continueSignIn:s,enterpriseConnectionId:o}=e||{},l=rR.clerk.buildUrlWithAuth(e.redirectUrl);this.id&&s||await this.create({strategy:a,identifier:n,redirectUrl:l,actionCompleteRedirectUrl:r}),"enterprise_sso"===a&&await this.prepareFirstFactor({strategy:a,redirectUrl:l,actionCompleteRedirectUrl:r,oidcPrompt:i,enterpriseConnectionId:o});let{status:c,externalVerificationRedirectURL:u}=this.firstFactorVerification;"unverified"===c&&u?t(u):tP(c,rR.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eW);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tC("popup"),rq(rR.clerk,"signIn",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e.toString()})};authenticateWithWeb3=async e=>{let t,{identifier:a,generateSignature:r,strategy:n="web3_metamask_signature"}=e||{},i=n.replace("web3_","").replace("_signature","");"function"!=typeof r&&tC("generateSignature"),await this.create({identifier:a});let s=this.supportedFirstFactors?.find(e=>e.strategy===n);s||tI("SignIn"),await this.prepareFirstFactor(s);let{message:o}=this.firstFactorVerification;o||tI("SignIn");try{t=await r({identifier:a,nonce:o,provider:i})}catch(e){if("coinbase_wallet"===i&&4001===e.code)t=await r({identifier:a,nonce:o,provider:i});else throw e}return this.attemptFirstFactor({signature:t,strategy:n})};authenticateWithMetamask=async()=>{let e=await tw().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithMetamask,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async()=>{let e=await tw().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithCoinbaseWallet,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async()=>{let e=await tw().getBaseIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithBase,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async()=>{let e=await tw().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tw().generateSignatureWithOKXWallet,strategy:"web3_okx_wallet_signature"})};authenticateWithPasskey=async e=>{let{flow:t}=e||{},a=rR.clerk.__internal_isWebAuthnSupported||rf,r=rR.clerk.__internal_getPublicCredentials||aV,n=rR.clerk.__internal_isWebAuthnAutofillSupported||rg;if(!a())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});if("autofill"===t||"discoverable"===t)await this.create({strategy:"passkey"});else{let e=this.supportedFirstFactors.find(e=>"passkey"===e.strategy);e||function(){throw Error(`${t_} You need to start a SignIn flow by calling SignIn.create({ strategy: 'passkey' }) first`)}(),await this.prepareFirstFactor(e)}let{nonce:i}=this.firstFactorVerification,s=i?aJ(JSON.parse(i)):null;s||tq("get");let o=!1;"autofill"===t&&(o=await n());let{publicKeyCredential:l,error:c}=await r({publicKeyOptions:s,conditionalUI:o});if(!l)throw c;return this.attemptFirstFactor({publicKeyCredential:l,strategy:"passkey"})};validatePassword=(e,t)=>{if(rR.clerk.__unstable__environment?.userSettings.passwordSettings)return rC(rM(),{...rR.clerk.__unstable__environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.supportedIdentifiers=e.supported_identifiers,this.identifier=e.identifier,this.supportedFirstFactors=er(e.supported_first_factors),this.supportedSecondFactors=er(e.supported_second_factors),this.firstFactorVerification=new aX(e.first_factor_verification),this.secondFactorVerification=new aX(e.second_factor_verification),this.createdSessionId=e.created_session_id,this.userData=new rG(e.user_data),this.clientTrustState=e.client_trust_state??void 0),a7.emit("resource:update",{resource:this}),this}__internal_toSnapshot(){return{object:"sign_in",id:this.id||"",status:this.status||null,supported_identifiers:this.supportedIdentifiers,supported_first_factors:ea(this.supportedFirstFactors),supported_second_factors:ea(this.supportedSecondFactors),first_factor_verification:this.firstFactorVerification.__internal_toSnapshot(),second_factor_verification:this.secondFactorVerification.__internal_toSnapshot(),identifier:this.identifier,created_session_id:this.createdSessionId,user_data:this.userData.__internal_toSnapshot()}}}class rB{resource;emailCode={sendCode:this.sendEmailCode.bind(this),verifyCode:this.verifyEmailCode.bind(this)};emailLink={sendLink:this.sendEmailLink.bind(this),waitForVerification:this.waitForEmailLinkVerification.bind(this),get verification(){if(!s())return null;const e=eO("__clerk_status"),t=eO("__clerk_created_session");if(!e||!t)return null;const a="verified"===e&&void 0!==rR.clerk.client&&rR.clerk.client.sessions.some(e=>e.id===t);return{status:e,createdSessionId:t,verifiedFromTheSameClient:a}}};resetPasswordEmailCode={sendCode:this.sendResetPasswordEmailCode.bind(this),verifyCode:this.verifyResetPasswordEmailCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};phoneCode={sendCode:this.sendPhoneCode.bind(this),verifyCode:this.verifyPhoneCode.bind(this)};mfa={sendPhoneCode:this.sendMFAPhoneCode.bind(this),verifyPhoneCode:this.verifyMFAPhoneCode.bind(this),verifyTOTP:this.verifyTOTP.bind(this),verifyBackupCode:this.verifyBackupCode.bind(this)};#el=!1;constructor(e){this.resource=e}get id(){return this.resource.id}get identifier(){return this.resource.identifier}get createdSessionId(){return this.resource.createdSessionId}get userData(){return this.resource.userData}get status(){return this.resource.status||"needs_identifier"}get supportedFirstFactors(){return this.resource.supportedFirstFactors??[]}get supportedSecondFactors(){return this.resource.supportedSecondFactors??[]}get isTransferable(){return"transferable"===this.resource.firstFactorVerification.status}get existingSession(){if("failed"===this.resource.firstFactorVerification.status&&this.resource.firstFactorVerification.error?.code==="identifier_already_signed_in"&&this.resource.firstFactorVerification.error?.meta?.sessionId)return{sessionId:this.resource.firstFactorVerification.error?.meta?.sessionId}}get firstFactorVerification(){return this.resource.firstFactorVerification}get secondFactorVerification(){return this.resource.secondFactorVerification}get hasBeenFinalized(){return this.#el}async sendResetPasswordEmailCode(){if(!this.resource.id)throw Error("Cannot reset password without a sign in.");return rU(this.resource,async()=>{let e=this.resource.supportedFirstFactors?.find(e=>"reset_password_email_code"===e.strategy);if(!e)throw new A("Reset password email code factor not found",{code:"factor_not_found"});let{emailAddressId:t}=e;await this.resource.__internal_basePost({body:{emailAddressId:t,strategy:"reset_password_email_code"},action:"prepare_first_factor"})})}async verifyResetPasswordEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"reset_password_email_code"},action:"attempt_first_factor"})})}async submitResetPassword(e){let{password:t,signOutOfOtherSessions:a=!0}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{password:t,signOutOfOtherSessions:a},action:"reset_password"})})}async _create(e){let t=tf();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:t?{locale:t,...e}:e})}async create(e){return rU(this.resource,async()=>{await this._create(e)})}async password(e){if([e.identifier,e.emailAddress,e.phoneNumber].filter(Boolean).length>1)throw Error("Only one of identifier, emailAddress, or phoneNumber can be provided");return rU(this.resource,async()=>{let t=e.identifier||e.emailAddress||e.phoneNumber,a=this.resource.identifier,r=tf();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:{identifier:t||a,password:e.password,...r?{locale:r}:{}}})})}async sendEmailCode(e={}){let{emailAddress:t,emailAddressId:a}=e;if(!this.resource.id&&a)throw Error("signIn.emailCode.sendCode() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.emailCode.sendCode() cannot be called without an emailAddress if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"email_code",emailAddressId:a});if(!e)throw new A("Email code factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{emailAddressId:e.emailAddressId,strategy:"email_code"},action:"prepare_first_factor"})})}async verifyEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"email_code"},action:"attempt_first_factor"})})}async sendEmailLink(e){let{emailAddress:t,verificationUrl:a,emailAddressId:r}=e;if(!this.resource.id&&r)throw Error("signIn.emailLink.sendLink() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.emailLink.sendLink() cannot be called without an emailAddress if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"email_link",emailAddressId:r});if(!e)throw new A("Email link factor not found",{code:"factor_not_found"});let n=a;try{new URL(a)}catch{n=window.location.origin+a}await this.resource.__internal_basePost({body:{emailAddressId:e.emailAddressId,redirectUrl:n,strategy:"email_link"},action:"prepare_first_factor"})})}async waitForEmailLinkVerification(){return rU(this.resource,async()=>{let{run:e,stop:t}=aF();await new Promise((a,r)=>{e(async()=>{try{let e=await this.resource.__internal_baseGet(),r=e.firstFactorVerification.status;("verified"===r||"expired"===r)&&(t(),a(e))}catch(e){t(),r(e)}})})})}async sendPhoneCode(e={}){let{phoneNumber:t,phoneNumberId:a,channel:r="sms"}=e;if(!this.resource.id&&a)throw Error("signIn.phoneCode.sendCode() cannot be called with an phoneNumberId if an existing signIn does not exist.");if(!this.resource.id&&!t)throw Error("signIn.phoneCode.sendCode() cannot be called without an phoneNumber if an existing signIn does not exist.");return rU(this.resource,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:"phone_code",phoneNumberId:a});if(!e)throw new A("Phone code factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{phoneNumberId:e.phoneNumberId,strategy:"phone_code",channel:r},action:"prepare_first_factor"})})}async verifyPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"phone_code"},action:"attempt_first_factor"})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,popup:n,oidcPrompt:i,enterpriseConnectionId:s,identifier:o}=e;return rU(this.resource,async()=>{let e=a;try{new URL(a)}catch{e=window.location.origin+a}let l={redirectUrl:rR.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:e};if(n){let t=rO(rR.clerk,{redirectCallbackUrl:l.redirectUrl,redirectUrl:e});l.redirectUrl=t.redirectCallbackUrl,l.actionCompleteRedirectUrl=t.redirectUrl}await this._create({strategy:t,...l,identifier:o}),"enterprise_sso"===t&&await this.resource.__internal_basePost({body:{...l,oidcPrompt:i,enterpriseConnectionId:s,strategy:"enterprise_sso"},action:"prepare_first_factor"});let{status:c,externalVerificationRedirectURL:u}=this.resource.firstFactorVerification;"unverified"===c&&u&&(n?(await rT(rR.clerk,{popup:n,externalVerificationRedirectURL:u}),await this.resource.reload()):eW(u))})}async web3(e){let{strategy:t}=e,a=t.replace("web3_","").replace("_signature","");return rU(this.resource,async()=>{let e,r,n;switch(a){case"metamask":e=await tw().getMetamaskIdentifier(),r=tw().generateSignatureWithMetamask;break;case"coinbase_wallet":e=await tw().getCoinbaseWalletIdentifier(),r=tw().generateSignatureWithCoinbaseWallet;break;case"base":e=await tw().getBaseIdentifier(),r=tw().generateSignatureWithBase;break;case"okx_wallet":e=await tw().getOKXWalletIdentifier(),r=tw().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${a}`)}await this._create({identifier:e});let i=this.resource.supportedFirstFactors?.find(e=>e.strategy===t);if(!i)throw new A("Web3 first factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{web3WalletId:i.web3WalletId,strategy:t},action:"prepare_first_factor"});let{message:s}=this.firstFactorVerification;if(!s)throw new A("Web3 nonce not found",{code:"web3_nonce_not_found"});try{n=await r({identifier:e,nonce:s})}catch(t){if("coinbase_wallet"===a&&4001===t.code)n=await r({identifier:e,nonce:s});else throw t}await this.resource.__internal_basePost({body:{signature:n,strategy:t},action:"attempt_first_factor"})})}async passkey(e){let{flow:t}=e||{},a=rR.clerk.__internal_isWebAuthnSupported||rf,r=rR.clerk.__internal_getPublicCredentials||aV,n=rR.clerk.__internal_isWebAuthnAutofillSupported||rg;if(!a())throw new I("Passkeys are not supported",{code:"passkey_not_supported"});return rU(this.resource,async()=>{if("autofill"===t||"discoverable"===t)await this._create({strategy:"passkey"});else{if(!this.supportedFirstFactors.find(e=>"passkey"===e.strategy))throw new A("Passkey factor not found",{code:"factor_not_found"});await this.resource.__internal_basePost({body:{strategy:"passkey"},action:"prepare_first_factor"})}let{nonce:e}=this.firstFactorVerification,a=e?aJ(JSON.parse(e)):null;if(!a)throw new A("Missing public key options",{code:"missing_public_key_options"});let i=!1;"autofill"===t&&(i=await n());let{publicKeyCredential:s,error:o}=await r({publicKeyOptions:a,conditionalUI:i});if(!s)throw new I(o.message,{code:"passkey_retrieval_failed"});await this.resource.__internal_basePost({body:{publicKeyCredential:JSON.stringify(a$(s)),strategy:"passkey"},action:"attempt_first_factor"})})}async sendMFAPhoneCode(){return rU(this.resource,async()=>{let e=this.resource.supportedSecondFactors?.find(e=>"phone_code"===e.strategy);if(!e)throw new A("Phone code factor not found",{code:"factor_not_found"});let{phoneNumberId:t}=e;await this.resource.__internal_basePost({body:{phoneNumberId:t,strategy:"phone_code"},action:"prepare_second_factor"})})}async verifyMFAPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"phone_code"},action:"attempt_second_factor"})})}async verifyTOTP(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"totp"},action:"attempt_second_factor"})})}async verifyBackupCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{code:t,strategy:"backup_code"},action:"attempt_second_factor"})})}async ticket(e){let t=e?.ticket??eO("__clerk_ticket");return this.create({ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};if(!this.resource.createdSessionId)throw Error("Cannot finalize sign-in without a created session.");return rU(this.resource,async()=>{rR.clerk.client&&!rR.clerk.client.sessions.some(e=>e.id===this.resource.createdSessionId)&&await rR.clerk.client.reload(),this.#el=!0,await rR.clerk.setActive({session:this.resource.createdSessionId,navigate:t})})}selectFirstFactor({strategy:e,emailAddressId:t,phoneNumberId:a}){if(!this.resource.supportedFirstFactors)return null;if(t){let a=this.resource.supportedFirstFactors.find(a=>a.strategy===e&&a.emailAddressId===t);if(a)return a}if(a){let t=this.resource.supportedFirstFactors.find(t=>t.strategy===e&&t.phoneNumberId===a);if(t)return t}let r=this.resource.supportedFirstFactors.find(t=>t.strategy===e&&t.safeIdentifier===this.resource.identifier);if(r)return r;let n=this.resource.supportedFirstFactors.find(t=>t.strategy===e);return n||null}}function rN(e){let{unsafeMetadata:t}={...e},a=t?"object"==typeof t?JSON.stringify(t):t:"";return{...e,...t?{unsafeMetadata:a}:{}}}class rD extends tF{pathRoot="/client/sign_ups";id;_status=null;requiredFields=[];missingFields=[];optionalFields=[];unverifiedFields=[];verifications=new a0(null);username=null;firstName=null;lastName=null;emailAddress=null;phoneNumber=null;web3wallet=null;externalAccount;hasPassword=!1;unsafeMetadata={};createdSessionId=null;createdUserId=null;abandonAt=null;legalAcceptedAt=null;locale=null;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tt.debug("SignUp.status",{id:this.id,from:t,to:e})}__internal_future=new rF(this);__internal_basePost=this._basePost.bind(this);__internal_basePatch=this._basePatch.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{tt.debug("SignUp.create",{id:this.id,strategy:e.strategy});let t={...e};if(!t.locale){let e=tf();e&&(t.locale=e)}if(!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let e=new tN(rD.clerk),a=await e.managedOrInvisible({action:"signup"});if(!a)throw new A("",{code:"captcha_unavailable"});t={...t,...a}}if(t.transfer&&this.shouldBypassCaptchaForAttempt(t)){let e=rD.clerk.client?.signIn.firstFactorVerification.strategy;e&&(t={...t,strategy:e})}return this._basePost({path:this.pathRoot,body:rN(t)})};prepareVerification=e=>(tt.debug("SignUp.prepareVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_verification"}));attemptVerification=e=>(tt.debug("SignUp.attemptVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_verification"}));prepareEmailAddressVerification=e=>this.prepareVerification(e||{strategy:"email_code"});attemptEmailAddressVerification=e=>this.attemptVerification({...e,strategy:"email_code"});createEmailLinkFlow=()=>{let{run:e,stop:t}=aF();return{startEmailLinkFlow:async({redirectUrl:a})=>(this.id||tA("SignUp"),await this.prepareEmailAddressVerification({strategy:"email_link",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e.verifications.emailAddress.status;("verified"===r||"expired"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};preparePhoneNumberVerification=e=>this.prepareVerification(e||{strategy:"phone_code"});attemptPhoneNumberVerification=e=>this.attemptVerification({...e,strategy:"phone_code"});prepareWeb3WalletVerification=e=>this.prepareVerification({strategy:"web3_metamask_signature",...e});attemptWeb3WalletVerification=async e=>{let{signature:t,strategy:a="web3_metamask_signature"}=e;return this.attemptVerification({signature:t,strategy:a})};authenticateWithWeb3=async e=>{let t,{generateSignature:a,identifier:r,unsafeMetadata:n,strategy:i="web3_metamask_signature",legalAccepted:s}=e||{},o=i.replace("web3_","").replace("_signature","");"function"!=typeof a&&tC("generateSignature");let l=r||this.web3wallet;await this.create({web3Wallet:l,unsafeMetadata:n,legalAccepted:s}),await this.prepareWeb3WalletVerification({strategy:i});let{message:c}=this.verifications.web3Wallet;c||tI("SignUp");try{t=await a({identifier:r,nonce:c,provider:o})}catch(e){if("coinbase_wallet"===o&&4001===e.code)t=await a({identifier:r,nonce:c,provider:o});else throw e}return this.attemptWeb3WalletVerification({signature:t,strategy:i})};authenticateWithMetamask=async e=>{let t=await tw().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithMetamask,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_metamask_signature",legalAccepted:e?.legalAccepted})};authenticateWithCoinbaseWallet=async e=>{let t=await tw().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithCoinbaseWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_coinbase_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithBase=async e=>{let t=await tw().getBaseIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithBase,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_base_signature",legalAccepted:e?.legalAccepted})};authenticateWithOKXWallet=async e=>{let t=await tw().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tw().generateSignatureWithOKXWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_okx_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithRedirectOrPopup=async(e,t)=>{let{redirectUrl:a,redirectUrlComplete:r,strategy:n,continueSignUp:i=!1,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u}=e,d=rD.clerk.buildUrlWithAuth(a),h=()=>{let e={strategy:n,redirectUrl:d,actionCompleteRedirectUrl:r,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u};return i&&this.id?this.update(e):this.create(e)},{verifications:m}=await h().catch(async e=>{if(O(e)&&C(e))return await rD.clerk.__unstable__environment.reload(),h();throw e}),{externalAccount:p}=m,{status:f,externalVerificationRedirectURL:g}=p;"unverified"===f&&g?t(g):tP(f,rD.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eW);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tC("popup"),rq(rD.clerk,"signUp",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e instanceof URL?e.toString():e})};update=e=>this._basePatch({body:rN(e)});upsert=e=>this.id?this.update(e):this.create(e);validatePassword=(e,t)=>{if(rD.clerk.__unstable__environment?.userSettings.passwordSettings)return rC(rM(),{...rD.clerk.__unstable__environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.requiredFields=e.required_fields,this.optionalFields=e.optional_fields,this.missingFields=e.missing_fields,this.unverifiedFields=e.unverified_fields,this.verifications=new a0(e.verifications),this.username=e.username,this.firstName=e.first_name,this.lastName=e.last_name,this.emailAddress=e.email_address,this.phoneNumber=e.phone_number,this.hasPassword=e.has_password,this.unsafeMetadata=e.unsafe_metadata,this.createdSessionId=e.created_session_id,this.createdUserId=e.created_user_id,this.abandonAt=e.abandon_at,this.web3wallet=e.web3_wallet,this.legalAcceptedAt=e.legal_accepted_at,this.locale=e.locale),a7.emit("resource:update",{resource:this}),this}__internal_toSnapshot(){return{object:"sign_up",id:this.id||"",status:this.status||null,required_fields:this.requiredFields,optional_fields:this.optionalFields,missing_fields:this.missingFields,unverified_fields:this.unverifiedFields,verifications:this.verifications.__internal_toSnapshot(),username:this.username,first_name:this.firstName,last_name:this.lastName,email_address:this.emailAddress,phone_number:this.phoneNumber,has_password:this.hasPassword,unsafe_metadata:this.unsafeMetadata,created_session_id:this.createdSessionId,created_user_id:this.createdUserId,abandon_at:this.abandonAt,web3_wallet:this.web3wallet,legal_accepted_at:this.legalAcceptedAt,locale:this.locale,external_account:this.externalAccount,external_account_strategy:this.externalAccount?.strategy}}clientBypass(){return rD.clerk.client?.captchaBypass}shouldBypassCaptchaForAttempt(e){if(!e.strategy)return!1;let t=rD.clerk.__unstable__environment.displayConfig.captchaOauthBypass;return!!(t.some(t=>t===e.strategy)||e.transfer&&t.some(e=>e===rD.clerk.client.signIn.firstFactorVerification.strategy))}__experimental_getEnterpriseConnections=()=>tF._fetch({path:`/client/sign_ups/${this.id}/enterprise_connections`,method:"GET"}).then(e=>(e?.response).map(e=>new rL(e)))}class rF{resource;verifications={sendEmailCode:this.sendEmailCode.bind(this),verifyEmailCode:this.verifyEmailCode.bind(this),sendPhoneCode:this.sendPhoneCode.bind(this),verifyPhoneCode:this.verifyPhoneCode.bind(this)};#el=!1;constructor(e){this.resource=e}get id(){return this.resource.id}get requiredFields(){return this.resource.requiredFields}get optionalFields(){return this.resource.optionalFields}get missingFields(){return this.resource.missingFields}get status(){return this.resource.status||"missing_requirements"}get username(){return this.resource.username}get firstName(){return this.resource.firstName}get lastName(){return this.resource.lastName}get emailAddress(){return this.resource.emailAddress}get phoneNumber(){return this.resource.phoneNumber}get web3Wallet(){return this.resource.web3wallet}get hasPassword(){return this.resource.hasPassword}get unsafeMetadata(){return this.resource.unsafeMetadata}get createdSessionId(){return this.resource.createdSessionId}get createdUserId(){return this.resource.createdUserId}get abandonAt(){return this.resource.abandonAt}get legalAcceptedAt(){return this.resource.legalAcceptedAt}get locale(){return this.resource.locale}get unverifiedFields(){return this.resource.unverifiedFields}get isTransferable(){return"transferable"===this.resource.verifications.externalAccount.status&&this.resource.verifications.externalAccount.error?.code==="external_account_exists"}get existingSession(){if(("failed"===this.resource.verifications.externalAccount.status||"unverified"===this.resource.verifications.externalAccount.status)&&this.resource.verifications.externalAccount.error?.code==="identifier_already_signed_in"&&this.resource.verifications.externalAccount.error?.meta?.sessionId)return{sessionId:this.resource.verifications.externalAccount.error?.meta?.sessionId}}get hasBeenFinalized(){return this.#el}async getCaptchaToken(){let e=new tN(rD.clerk),t=await e.managedOrInvisible({action:"signup"});if(!t)throw Error("Captcha challenge failed");let{captchaError:a,captchaToken:r,captchaWidgetType:n}=t;return{captchaToken:r,captchaWidgetType:n,captchaError:a}}async _create(e){let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(),n={transfer:e.transfer,captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0,locale:e.locale??tf()};await this.resource.__internal_basePost({path:this.resource.pathRoot,body:n})}async create(e){return rU(this.resource,async()=>{await this._create(e)})}async update(e){return rU(this.resource,async()=>{let t={...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0};await this.resource.__internal_basePatch({path:this.resource.pathRoot,body:t})})}async password(e){return rU(this.resource,async()=>{let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(),n={strategy:"password",captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?rN(e.unsafeMetadata):void 0};await this.resource.__internal_basePost({path:this.resource.pathRoot,body:n})})}async sendEmailCode(){return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"email_code"},action:"prepare_verification"})})}async verifyEmailCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"email_code",code:t},action:"attempt_verification"})})}async sendPhoneCode(e){let{phoneNumber:t,channel:a="sms"}=e;return rU(this.resource,async()=>{if(!this.resource.id){let{captchaToken:e,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken();await this.resource.__internal_basePost({path:this.resource.pathRoot,body:{phoneNumber:t,captchaToken:e,captchaWidgetType:a,captchaError:r}})}await this.resource.__internal_basePost({body:{strategy:"phone_code",channel:a},action:"prepare_verification"})})}async verifyPhoneCode(e){let{code:t}=e;return rU(this.resource,async()=>{await this.resource.__internal_basePost({body:{strategy:"phone_code",code:t},action:"attempt_verification"})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,popup:c}=e;return rU(this.resource,async()=>{let{captchaToken:e,captchaWidgetType:u,captchaError:d}=await this.getCaptchaToken(),h=a;try{new URL(a)}catch{h=window.location.origin+a}let m={redirectUrl:rD.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:h};if(c){let e=rO(rD.clerk,{redirectCallbackUrl:m.redirectUrl,redirectUrl:h});m.redirectUrl=e.redirectCallbackUrl,m.actionCompleteRedirectUrl=e.redirectUrl}let p=()=>this.resource.__internal_basePost({path:this.resource.pathRoot,body:{strategy:t,...m,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,captchaToken:e,captchaWidgetType:u,captchaError:d}});await p().catch(async e=>{if(O(e)&&C(e))return await rD.clerk.__unstable__environment.reload(),p();throw e});let{status:f,externalVerificationRedirectURL:g}=this.resource.verifications.externalAccount;"unverified"===f&&g&&(c?(await rT(rD.clerk,{popup:c,externalVerificationRedirectURL:g}),await this.resource.reload()):eW(g))})}async web3(e){let{strategy:t,unsafeMetadata:a,legalAccepted:r}=e,n=t.replace("web3_","").replace("_signature","");return rU(this.resource,async()=>{let e,i,s;switch(n){case"metamask":e=await tw().getMetamaskIdentifier(),i=tw().generateSignatureWithMetamask;break;case"coinbase_wallet":e=await tw().getCoinbaseWalletIdentifier(),i=tw().generateSignatureWithCoinbaseWallet;break;case"base":e=await tw().getBaseIdentifier(),i=tw().generateSignatureWithBase;break;case"okx_wallet":e=await tw().getOKXWalletIdentifier(),i=tw().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${n}`)}let o=e||this.resource.web3wallet;await this._create({web3Wallet:o,unsafeMetadata:a,legalAccepted:r}),await this.resource.__internal_basePost({body:{strategy:t},action:"prepare_verification"});let{message:l}=this.resource.verifications.web3Wallet;l||tI("SignUp");try{s=await i({identifier:e,nonce:l})}catch(t){if("coinbase_wallet"===n&&4001===t.code)s=await i({identifier:e,nonce:l});else throw t}await this.resource.__internal_basePost({body:{signature:s,strategy:t},action:"attempt_verification"})})}async ticket(e){let t=e?.ticket??eO("__clerk_ticket");return this.create({...e,ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};return rU(this.resource,async()=>{if(!this.resource.createdSessionId)throw Error("Cannot finalize sign-up without a created session.");this.#el=!0,await rD.clerk.setActive({session:this.resource.createdSessionId,navigate:t})})}}class rL extends tF{id;name;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name),this}}class rW extends tF{pathRoot="tokens";jwt;static async create(e,t={},a=!1){return new rW(await tF._fetch({body:t,method:"POST",path:e,search:a?"debug=skip_cache":void 0}),e)}constructor(e,t){super(),t&&(this.pathRoot=t),e?.jwt&&(this.jwt=tp(e.jwt))}getRawString=()=>this.jwt?.claims.__raw||"";fromJSON(e){return e&&(this.jwt=tp(e.jwt)),this}__internal_toSnapshot(){return{object:"token",id:this.id||"",jwt:this.getRawString()}}}class rK extends tF{pathRoot="/me";id="";secret;uri;verified=!1;backupCodes;updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.secret=e.secret,this.uri=e.uri,this.verified=e.verified,this.backupCodes=e.backup_codes,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}}class rH extends tF{pathRoot="/me";id;codes=[];updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.codes=e.codes,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}}class rV extends tF{pathRoot="/me";id="";externalId=null;username=null;emailAddresses=[];phoneNumbers=[];web3Wallets=[];externalAccounts=[];enterpriseAccounts=[];passkeys=[];organizationMemberships=[];passwordEnabled=!1;firstName=null;lastName=null;fullName=null;primaryEmailAddressId=null;primaryEmailAddress=null;primaryPhoneNumberId=null;primaryPhoneNumber=null;primaryWeb3WalletId=null;primaryWeb3Wallet=null;imageUrl="";hasImage=!1;twoFactorEnabled=!1;totpEnabled=!1;backupCodeEnabled=!1;publicMetadata={};unsafeMetadata={};createOrganizationEnabled=!1;createOrganizationsLimit=null;deleteSelfEnabled=!1;lastSignInAt=null;legalAcceptedAt=null;updatedAt=null;createdAt=null;cachedSessionsWithActivities=null;static isUserResource(e){return!!e&&e instanceof rV}constructor(e){super(),this.fromJSON(e)}path(){return this.pathRoot}isPrimaryIdentification=e=>{switch(e.constructor){case aL:return this.primaryEmailAddressId===e.id;case rw:return this.primaryPhoneNumberId===e.id;case rQ:return this.primaryWeb3WalletId===e.id;default:return!1}};createEmailAddress=e=>{let{email:t}=e||{};return new aL({email_address:t},this.path()+"/email_addresses/").create()};createPasskey=()=>ry.registerPasskey();createPhoneNumber=e=>{let{phoneNumber:t}=e||{};return new rw({phone_number:t},this.path()+"/phone_numbers/").create()};createWeb3Wallet=e=>{let{web3Wallet:t}=e||{};return new rQ({web3_wallet:t},this.path()+"/web3_wallets/").create()};createExternalAccount=async e=>{let{strategy:t,redirectUrl:a,additionalScopes:r}=e||{};return new rr((await tF._fetch({path:"/me/external_accounts",method:"POST",body:{strategy:t,redirect_url:a,additional_scope:r}}))?.response,this.path()+"/external_accounts")};createTOTP=async()=>new rK((await tF._fetch({path:"/me/totp",method:"POST"}))?.response);verifyTOTP=async({code:e})=>new rK((await tF._fetch({path:"/me/totp/attempt_verification",method:"POST",body:{code:e}}))?.response);disableTOTP=async()=>new aM((await tF._fetch({path:"/me/totp",method:"DELETE"}))?.response);createBackupCode=async()=>new rH((await tF._fetch({path:this.path()+"/backup_codes/",method:"POST"}))?.response);update=e=>this._basePatch({body:rN(e)});updatePassword=e=>this._basePost({body:e,path:`${this.path()}/change_password`});removePassword=e=>this._basePost({body:e,path:`${this.path()}/remove_password`});delete=()=>this._baseDelete({path:"/me"}).then(e=>(a7.emit(a6,null),e));getSessions=async()=>{if(this.cachedSessionsWithActivities)return this.cachedSessionsWithActivities;let e=await rI.retrieve();return this.cachedSessionsWithActivities=e,e};setProfileImage=e=>{let{file:t}=e||{};return null===t?rs.delete(`${this.path()}/profile_image`):rs.create(`${this.path()}/profile_image`,{file:t})};getOrganizationInvitations=e=>rJ.retrieve(e);getOrganizationSuggestions=e=>rp.retrieve(e);getOrganizationMemberships=e=>rm.retrieve(e);leaveOrganization=async e=>new aM((await tF._fetch({path:`${this.path()}/organization_memberships/${e}`,method:"DELETE"}))?.response);initializePaymentMethod=e=>ay(e);addPaymentMethod=e=>aw(e);getPaymentMethods=e=>ak(e);get verifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status=="verified")}get unverifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status!="verified")}get verifiedWeb3Wallets(){return this.web3Wallets.filter(e=>e.verification?.status=="verified")}get hasVerifiedEmailAddress(){return this.emailAddresses.filter(e=>"verified"===e.verification.status).length>0}get hasVerifiedPhoneNumber(){return this.phoneNumbers.filter(e=>"verified"===e.verification.status).length>0}fromJSON(e){return e&&(this.id=e.id,this.externalId=e.external_id||null,this.firstName=e.first_name||null,this.lastName=e.last_name||null,(this.firstName||this.lastName)&&(this.fullName=(({firstName:e,lastName:t,name:a})=>a||[e,t].join(" ").trim()||"")({firstName:this.firstName,lastName:this.lastName})),this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.username=e.username||null,this.passwordEnabled=e.password_enabled||!1,this.emailAddresses=(e.email_addresses||[]).map(e=>new aL(e,this.path()+"/email_addresses")),this.primaryEmailAddressId=e.primary_email_address_id||null,this.primaryEmailAddress=this.emailAddresses.find(({id:e})=>e===this.primaryEmailAddressId)||null,this.phoneNumbers=(e.phone_numbers||[]).map(e=>new rw(e,this.path()+"/phone_numbers")),this.primaryPhoneNumberId=e.primary_phone_number_id||null,this.primaryPhoneNumber=this.phoneNumbers.find(({id:e})=>e===this.primaryPhoneNumberId)||null,this.web3Wallets=(e.web3_wallets||[]).map(e=>new rQ(e,this.path()+"/web3_wallets")),this.primaryWeb3WalletId=e.primary_web3_wallet_id||null,this.primaryWeb3Wallet=this.web3Wallets.find(({id:e})=>e===this.primaryWeb3WalletId)||null,this.externalAccounts=(e.external_accounts||[]).map(e=>new rr(e,this.path()+"/external_accounts")),this.passkeys=(e.passkeys||[]).map(e=>new ry(e)),this.organizationMemberships=(e.organization_memberships||[]).map(e=>new rm(e)),this.enterpriseAccounts=(e.enterprise_accounts||[]).map(e=>new a9(e,this.path()+"/enterprise_accounts")),this.publicMetadata=e.public_metadata||{},this.unsafeMetadata=e.unsafe_metadata||{},this.totpEnabled=e.totp_enabled||!1,this.backupCodeEnabled=e.backup_code_enabled||!1,this.twoFactorEnabled=e.two_factor_enabled||!1,this.createOrganizationEnabled=e.create_organization_enabled||!1,this.createOrganizationsLimit=e.create_organizations_limit||null,this.deleteSelfEnabled=e.delete_self_enabled||!1,e.last_sign_in_at&&(this.lastSignInAt=tL(e.last_sign_in_at)),e.legal_accepted_at&&(this.legalAcceptedAt=tL(e.legal_accepted_at)),this.updatedAt=tL(e.updated_at||void 0),this.createdAt=tL(e.created_at||void 0)),this}__internal_toSnapshot(){return{object:"user",id:this.id,external_id:this.externalId,first_name:this.firstName,last_name:this.lastName,username:this.username,public_metadata:this.publicMetadata,unsafe_metadata:this.unsafeMetadata,image_url:this.imageUrl,has_image:this.hasImage,email_addresses:this.emailAddresses.map(e=>e.__internal_toSnapshot()),phone_numbers:this.phoneNumbers.map(e=>e.__internal_toSnapshot()),web3_wallets:this.web3Wallets.map(e=>e.__internal_toSnapshot()),external_accounts:this.externalAccounts.map(e=>e.__internal_toSnapshot()),passkeys:this.passkeys.map(e=>e.__internal_toSnapshot()),organization_memberships:this.organizationMemberships.map(e=>e.__internal_toSnapshot()),enterprise_accounts:this.enterpriseAccounts.map(e=>e.__internal_toSnapshot()),totp_enabled:this.totpEnabled,backup_code_enabled:this.backupCodeEnabled,two_factor_enabled:this.twoFactorEnabled,create_organization_enabled:this.createOrganizationEnabled,create_organizations_limit:this.createOrganizationsLimit,delete_self_enabled:this.deleteSelfEnabled,primary_email_address_id:this.primaryEmailAddressId,primary_phone_number_id:this.primaryPhoneNumberId,primary_web3_wallet_id:this.primaryWeb3WalletId,password_enabled:this.passwordEnabled,profile_image_id:this.imageUrl,last_sign_in_at:this.lastSignInAt?.getTime()||null,legal_accepted_at:this.legalAcceptedAt?.getTime()||null,updated_at:this.updatedAt?.getTime()||null,created_at:this.createdAt?.getTime()||null}}}class rG{firstName;lastName;imageUrl;hasImage;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name,this.lastName=e.last_name,this.imageUrl=e.image_url??void 0,this.hasImage=e.has_image??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl||null,has_image:this.hasImage||null}}}class rJ extends tF{id;emailAddress;publicOrganizationData;publicMetadata={};status;role;createdAt;updatedAt;static async retrieve(e){return await tF._fetch({path:"/me/organization_invitations",method:"GET",search:aa(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rJ(e))}})}constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/me/organization_invitations/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.publicMetadata=e.public_metadata,this.role=e.role,this.status=e.status,this.createdAt=tL(e.created_at),this.updatedAt=tL(e.updated_at)),this}}let rZ={enabled:!1,first_factors:[],name:"phone_number",required:!1,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1};class r$ extends tF{id=void 0;actions={create_organization:!1,delete_self:!1};attributes={email_address:{enabled:!0,first_factors:["email_code"],name:"email_address",required:!0,second_factors:[],used_for_first_factor:!0,used_for_second_factor:!1,verifications:["email_code"],verify_at_sign_up:!0},phone_number:{...rZ,name:"phone_number"},username:{...rZ,name:"username"},web3_wallet:{...rZ,name:"web3_wallet"},first_name:{...rZ,name:"first_name"},last_name:{...rZ,name:"last_name"},password:{enabled:!0,first_factors:[],name:"password",required:!0,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1},authenticator_app:{...rZ,name:"authenticator_app"},backup_code:{...rZ,name:"backup_code"},passkey:{...rZ,name:"passkey"}};enterpriseSSO={enabled:!1};passkeySettings={allow_autofill:!1,show_sign_in_button:!1};passwordSettings={};signIn={second_factor:{required:!1,enabled:!1}};signUp={allowlist_only:!1,captcha_enabled:!1,legal_consent_enabled:!1,mode:"public",progressive:!0};social={};usernameSettings={};get authenticatableSocialStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled&&e.authenticatable).map(([,e])=>e.strategy).sort():[]}get enabledFirstFactorIdentifiers(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&!e.startsWith("web3")).map(([e])=>e):[]}get socialProviderStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled).map(([,e])=>e.strategy).sort():[]}get web3FirstFactors(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&e.startsWith("web3")).map(([,e])=>e.first_factors).flat():[]}get alternativePhoneCodeChannels(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&"phone_number"===e).map(([,e])=>e?.channels?.filter(e=>"sms"!==e)||[]).flat():[]}constructor(e=null){super(),this.fromJSON(e)}get instanceIsPasswordBased(){return!!(this.attributes?.password?.enabled&&this.attributes.password?.required)}get hasValidAuthFactor(){return!!(this.attributes?.email_address?.enabled||this.attributes?.phone_number?.enabled||this.attributes.password?.required&&this.attributes.username?.required)}fromJSON(e){return e&&(this.attributes=this.withDefault(e.attributes?Object.fromEntries(Object.entries(e.attributes).map(e=>[e[0],{...e[1],name:e[0]}])):null,this.attributes),this.actions=this.withDefault(e.actions,this.actions),this.enterpriseSSO=this.withDefault(e.enterprise_sso,this.enterpriseSSO),this.passkeySettings=this.withDefault(e.passkey_settings,this.passkeySettings),this.passwordSettings=e.password_settings?{...e.password_settings,min_length:Math.max(e.password_settings?.min_length??8,8),max_length:e.password_settings?.max_length===0?72:Math.min(e.password_settings?.max_length??72,72)}:this.passwordSettings,this.signIn=this.withDefault(e.sign_in,this.signIn),this.signUp=this.withDefault(e.sign_up,this.signUp),this.social=this.withDefault(e.social,this.social),this.usernameSettings=e.username_settings?{...e.username_settings,min_length:Math.max(e.username_settings?.min_length??4,4),max_length:Math.min(e.username_settings?.max_length??64,64)}:this.usernameSettings),this}__internal_toSnapshot(){return{actions:this.actions,attributes:this.attributes,passkey_settings:this.passkeySettings,password_settings:this.passwordSettings,sign_in:this.signIn,sign_up:this.signUp,social:this.social}}}class rY extends tF{pathRoot="/waitlist";id="";updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.updatedAt=tL(e.updated_at),this.createdAt=tL(e.created_at)),this}static async join(e){return new rY((await tF._fetch({path:"/waitlist",method:"POST",body:e}))?.response)}}class rQ extends tF{id;web3Wallet="";verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{web3_wallet:this.web3Wallet}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{signature:t}=e;return this._basePost({action:"attempt_verification",body:{signature:t}})};destroy(){return this._baseDelete()}toString(){return this.web3Wallet}fromJSON(e){return e&&(this.id=e.id,this.web3Wallet=e.web3_wallet,this.verification=new aX(e.verification)),this}__internal_toSnapshot(){return{object:"web3_wallet",id:this.id,web3_wallet:this.web3Wallet,verification:this.verification.__internal_toSnapshot()}}}function rX(e,t){var a,r;return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||(a=t,r=e,a.organizationMemberships.length!==r.organizationMemberships.length||a.organizationMemberships[0]?.updatedAt!==r.organizationMemberships[0]?.updatedAt)}function r1(e,t){return!function(e,t){if(!e&&t||e&&!t)return!0;if(!e&&e===t)return!1;if(!e||!t)return!0;try{if(aT.isClientResource(e))return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||e.sessions.length!==t.sessions.length;if(rE.isSessionResource(e)){var a,r;return e.id!==t.id||e.updatedAt.getTime()<t.updatedAt.getTime()||e.lastActiveToken?.jwt?.claims?.__raw!==t.lastActiveToken?.jwt?.claims?.__raw||function(e,t){if(e.lastActiveOrganizationId!==t.lastActiveOrganizationId)return!0;let a=e.user?.organizationMemberships?.find(t=>t.organization.id===e.lastActiveOrganizationId),r=t.user?.organizationMemberships?.find(t=>t.organization.id===e.lastActiveOrganizationId);return a?.permissions?.length!==r?.permissions?.length}(e,t)||(a=e,r=t,!!a.user!=!!r.user||!!a.user&&!!r.user&&rX(a.user,r.user))}if(rV.isUserResource(e))return rX(e,t)}catch{}return!0}(e,t)?e:t}let r0="__clerk_db_jwt";function r2(e,t){let a=new URL(e),r=a.searchParams.get(r0);a.searchParams.delete(r0);let n=r||t;return n&&a.searchParams.set(r0,n),a}let r9=e=>{let t=new URL(e);return t.searchParams.delete(r0),t},r3=e=>{let t=new URL(e);return t.searchParams.delete("__dev_session"),t.hash=decodeURI(t.hash).replace(/__clerk_db_jwt\[(.*)\]/,""),t.href.endsWith("#")&&(t.hash=""),t};function r5(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)e[r]=a[r]}return e}var r6=function e(t,a){function r(e,r,n){if("undefined"!=typeof document){"number"==typeof(n=r5({},a,n)).expires&&(n.expires=new Date(Date.now()+864e5*n.expires)),n.expires&&(n.expires=n.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var s in n)n[s]&&(i+="; "+s,!0!==n[s]&&(i+="="+n[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var a=document.cookie?document.cookie.split("; "):[],r={},n=0;n<a.length;n++){var i=a[n].split("="),s=i.slice(1).join("=");try{var o=decodeURIComponent(i[0]);if(r[o]=t.read(s,o),e===o)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",r5({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,r5({},this.attributes,t))},withConverter:function(t){return e(r5({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(a)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});function r8(e){return{get:()=>r6.get(e),set(t,a={}){r6.set(e,t,a)},remove(t){r6.remove(e,t)}}}let r4=e=>"https:"===window.location.protocol||"None"===e&&void 0===window.safari&&(void 0!==window.isSecureContext?window.isSecureContext:"localhost"===window.location.hostname);function r7(e,t){let a=function(e){try{return new Date(e||new Date)}catch{return new Date}}(e);return a.setFullYear(a.getFullYear()+t),a}let ne=r8("__clerk_test_etld"),nt="__client_uat",na="__session",nr=()=>{let e=tb()?"None":"Lax",t=r4(e);return{sameSite:e,secure:t,partitioned:!1}};async function nn(e){let t;try{t=await ep(e)}catch(o){var a;a=`Suffixed cookie failed due to ${o.message} (secure-context: ${window.isSecureContext}, url: ${window.location.href})`,Z.has(a)||(console.log(a),Z.add(a));let{default:r}=await Promise.resolve().then(n.t.bind(n,180,23)),{default:i}=await Promise.resolve().then(n.t.bind(n,3413,23)),s=r(e);t=i.stringify(s).replace(/\+/gi,"-").replace(/\//gi,"_").substring(0,8)}return t}let ni=()=>{let e=tb()?"None":"Lax",t=r4(e);return{sameSite:e,secure:t}};var ns=n(5945),no=n.n(ns);class nl{lock=(function(e){let t=new(no());return window.addEventListener("beforeunload",async()=>{await t.releaseLock(e)}),{acquireLockAndRun:async a=>{if("locks"in navigator&&isSecureContext){let t=new AbortController,r=setTimeout(()=>t.abort(),4999);return await navigator.locks.request(e,{signal:t.signal},async()=>(clearTimeout(r),await a())).catch(()=>!1)}if(await t.acquireLock(e,5e3))try{return await a()}finally{await t.releaseLock(e)}}}})("clerk.lock.refreshSessionToken");workerTimers=aD();timerId=null;initiated=!1;startPollingForSessionToken(e){if(this.timerId||this.initiated)return;let t=async()=>{this.initiated=!0,await this.lock.acquireLockAndRun(e),this.timerId=this.workerTimers.setTimeout(t,5e3)};t()}stopPollingForSessionToken(){null!=this.timerId&&(this.workerTimers.clearTimeout(this.timerId),this.timerId=null),this.initiated=!1}}class nc{clerk;instanceType;clerkEventBus;poller=null;clientUat;sessionCookie;activeCookie;devBrowser;static async create(e,t,a,r){let n=await nn(e.publishableKey),i=new nc(e,t,n,a,r);return await i.setup(),i}constructor(e,t,r,n,i){this.clerk=e,this.instanceType=n,this.clerkEventBus=i,a7.on(a5,({token:e})=>{this.updateSessionCookie(e&&e.getRawString()),this.setClientUatCookieForDevelopmentInstances()}),a7.on(a6,()=>this.handleSignOut()),this.refreshTokenOnFocus(),this.startPollingForToken(),this.clientUat=(e=>{let t=r8(nt),r=r8(ef(nt,e));return{set:e=>{let n=r7(Date.now(),1),i=tb()?"None":"Strict",s=r4(i),o=function(e=window.location.hostname,t=ne){if(a)return a;if(["localhost","127.0.0.1","0.0.0.0"].includes(e))return e;let r=e.split(".");if(1===r.length)return e;for(let e=r.length-2;e>=0;e--){let n=r.slice(e).join(".");if(t.set("1",{domain:n}),"1"===t.get())return t.remove({domain:n}),a=n,n;t.remove({domain:n})}}(),l="0";e&&e.updatedAt&&e.signedInSessions.length>0&&(l=Math.floor(e.updatedAt.getTime()/1e3).toString()),r.remove(),t.remove(),r.set(l,{domain:o,expires:n,partitioned:!1,sameSite:i,secure:s}),t.set(l,{domain:o,expires:n,partitioned:!1,sameSite:i,secure:s})},get:()=>parseInt(r.get()||t.get()||"0",10)}})(r),this.sessionCookie=(e=>{let t=r8(na),a=r8(ef(na,e)),r=()=>{let e=nr();t.remove(e),a.remove(e)};return{set:e=>{let n=r7(Date.now(),1),{sameSite:i,secure:s,partitioned:o}=nr();o&&r(),t.set(e,{expires:n,sameSite:i,secure:s,partitioned:o}),a.set(e,{expires:n,sameSite:i,secure:s,partitioned:o})},remove:r,get:()=>a.get()||t.get()}})(r),this.activeCookie=(()=>{let e=r8("clerk_active_context"),t={secure:r4("None")};return{set:a=>{e.set(a,t)},get:()=>e.get(),remove:()=>e.remove(t)}})(),this.devBrowser=function({cookieSuffix:e,frontendApi:t,fapiClient:a}){let r,n,i=(r=r8(r0),n=r8(ef(r0,e)),{get:()=>n.get()||r.get(),set:e=>{let t=r7(Date.now(),1),{sameSite:a,secure:i}=ni();n.set(e,{expires:t,sameSite:a,secure:i}),r.set(e,{expires:t,sameSite:a,secure:i})},remove:()=>{let e=ni();n.remove(e),r.remove(e)}});function s(){return i.get()}function o(e){i.set(e)}function l(){i.remove()}return{clear:function(){l()},setup:async function(){var e;let r;if(!ek(t))return;a.onBeforeRequest(e=>{let t=s();t&&e?.url&&(e.url=r2(e.url,t))}),a.onAfterResponse((e,t)=>{let a=t?.headers?.get("Clerk-Db-Jwt");a&&o(a)});let n=(r=(e=new URL(window.location.href)).searchParams.get(r0)||"",r9(r3(e)).href!==e.href&&void 0!==globalThis.history&&globalThis.history.replaceState(null,"",r9(r3(e))),r);if(n)return void o(n);if(i.get())return;let l=a.buildUrl({path:"/dev_browser"}),c=await fetch(l.toString(),{method:"POST"});if(!c.ok){let e=function(e=[]){return e.length>0?e.map(e=>new w(e)):[]}((await c.json()).errors);e[0]?tz(e[0].longMessage):tz()}let u=await c.json();o(u?.id)},getDevBrowserJWT:s,setDevBrowserJWT:o,removeDevBrowserJWT:l}}({frontendApi:e.frontendApi,fapiClient:t,cookieSuffix:r})}async setup(){return"production"===this.instanceType?this.setupProduction():this.setupDevelopment()}isSignedOut(){return this.clerk.loaded?!!this.clerk.user:0>=this.clientUat.get()}async handleUnauthenticatedDevBrowser(){this.devBrowser.clear(),await this.devBrowser.setup()}decorateUrlWithDevBrowserToken(e){let t=this.devBrowser.getDevBrowserJWT();if(!t)throw Error(`${t_} Missing dev browser jwt. Please contact support.`);return r2(e,t)}async setupDevelopment(){await this.devBrowser.setup()}setupProduction(){this.devBrowser.clear()}startPollingForToken(){this.poller||(this.poller=new nl,this.poller.startPollingForSessionToken(()=>this.refreshSessionToken()))}stopPollingForToken(){this.poller&&(this.poller.stopPollingForSessionToken(),this.poller=null)}refreshTokenOnFocus(){window.addEventListener("focus",()=>{"visible"===document.visibilityState&&this.refreshSessionToken({updateCookieImmediately:!0})})}async refreshSessionToken({updateCookieImmediately:e=!1}={}){if(this.clerk.session)try{let t=await this.clerk.session.getToken();e&&this.updateSessionCookie(t)}catch(e){return this.handleGetTokenError(e)}}updateSessionCookie(e){if(document.hasFocus()||this.isCurrentContextActive())return e||u()||tt.warn("Removing session cookie (offline)",{sessionId:this.clerk.session?.id},"authCookieService"),this.setActiveContextInStorage(),e?this.sessionCookie.set(e):this.sessionCookie.remove()}setClientUatCookieForDevelopmentInstances(){"production"!==this.instanceType&&this.inCustomDevelopmentDomain()&&this.clientUat.set(this.clerk.client)}inCustomDevelopmentDomain(){let e=this.clerk.frontendApi.replace("clerk.","");return!window.location.host.endsWith(e)}handleGetTokenError(e){if(O(e)||T(e)||(`${e.message}${e.name}`||"").toLowerCase().replace(/\s+/g,"").includes("networkerror")){if(P(e))return void this.clerk.handleUnauthenticated().catch(e3);this.clerkEventBus.emit(f,"degraded")}}handleSignOut(){this.activeCookie.remove(),this.sessionCookie.remove(),this.setClientUatCookieForDevelopmentInstances()}setActiveContextInStorage(){let e=this.clerk.session?.id||"",t=this.clerk.organization?.id||"",a=`${e}:${t}`;":"!==a?this.activeCookie.set(a):this.activeCookie.remove()}isCurrentContextActive(){let e=this.activeCookie.get();if(!e)return!0;let[t,a]=e.split(":"),r=this.clerk.session?.id||"",n=this.clerk.organization?.id||"";return t===r&&a===n}getSessionCookie(){return this.sessionCookie.get()}}class nu{clerk;captchaChallenge;timers;constructor(e,t=new tN(e),a=aD()){this.clerk=e,this.captchaChallenge=t,this.timers=a}async start(){this.isEnabled()&&(await this.challengeAndSend(),this.timers.setInterval(()=>{this.challengeAndSend()},this.intervalInMs()))}async challengeAndSend(){if(!(!this.clerk.client||this.clientBypass()))try{let e=await this.captchaChallenge.invisible({action:"heartbeat"});await this.clerk.client.__internal_sendCaptchaToken(e)}catch{}}isEnabled(){return!!this.clerk.__unstable__environment?.displayConfig?.captchaHeartbeat}clientBypass(){return this.clerk.client?.captchaBypass}intervalInMs(){return this.clerk.__unstable__environment?.displayConfig?.captchaHeartbeatIntervalMs??6e5}}let nd=["/client","/waitlist"];class nh{async getBaseFapiProxyOptions(){let e=await tF.clerk.session?.getToken();if(!e)throw new A("No valid session token available",{code:"no_session_token"});return{pathPrefix:"",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},credentials:"same-origin"}}async getAll(e){return tF._fetch({...await this.getBaseFapiProxyOptions(),method:"GET",path:"/api_keys",search:aa({...e,subject:e?.subject??tF.clerk.organization?.id??tF.clerk.user?.id??"",query:e?.query??""})}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new tW(e))}})}async create(e){return new tW(await tF._fetch({...await this.getBaseFapiProxyOptions(),path:"/api_keys",method:"POST",body:JSON.stringify({type:"api_key",name:e.name,subject:e.subject??tF.clerk.organization?.id??tF.clerk.user?.id??"",description:e.description,seconds_until_expiration:e.secondsUntilExpiration})}))}async revoke(e){return new tW(await tF._fetch({...await this.getBaseFapiProxyOptions(),method:"POST",path:`/api_keys/${e.apiKeyID}/revoke`,body:JSON.stringify({revocation_reason:e.revocationReason})}))}}let nm=new Map;class np{#ec=!1;load(e){let t=e?.protectConfig;if(t?.loaders&&Array.isArray(t.loaders)&&0!==t.loaders.length&&!this.#ec){if(s())for(let e of(this.#ec=!0,t.loaders))try{this.applyLoader(e)}catch(e){$(`[protect] failed to apply loader: ${e}`)}}}applyLoader(e){if(void 0!==e.rollout){let t=e.rollout;if("number"!=typeof t||t<0)return void $(`[protect] loader rollout value is invalid: ${t}`);if(0===t||Math.random()>t)return}let t=e.type||"script",a=e.target||"body",r=document.createElement(t);if(e.attributes)for(let[t,a]of Object.entries(e.attributes))switch(typeof a){case"string":case"number":case"boolean":r.setAttribute(t,String(a));break;default:$(`[protect] loader attribute is invalid type: ${t}=${a}`)}switch(e.textContent&&"string"==typeof e.textContent&&(r.textContent=e.textContent),a){case"head":document.head.appendChild(r);break;case"body":document.body.appendChild(r);break;default:if(a?.startsWith("#")){let e=document.getElementById(a.substring(1));if(!e)return void $(`[protect] loader target element not found: ${a}`);e.appendChild(r);return}$(`[protect] loader target is invalid: ${a}`)}}}class nf{signInResourceSignal=an;signInErrorSignal=ai;signInFetchSignal=as;signInSignal=ao;signUpResourceSignal=al;signUpErrorSignal=ac;signUpFetchSignal=au;signUpSignal=ad;__internal_effect=t5;__internal_computed=t3;constructor(){a7.on("resource:update",this.onResourceUpdated),a7.on("resource:error",this.onResourceError),a7.on("resource:fetch",this.onResourceFetch)}onResourceError=e=>{e.resource instanceof rR&&this.signInErrorSignal({error:e.error}),e.resource instanceof rD&&this.signUpErrorSignal({error:e.error})};onResourceUpdated=e=>{if(e.resource instanceof rR){if(ng(this.signInResourceSignal().resource,e.resource))return;this.signInResourceSignal({resource:e.resource})}if(e.resource instanceof rD){if(ng(this.signUpResourceSignal().resource,e.resource))return;this.signUpResourceSignal({resource:e.resource})}};onResourceFetch=e=>{e.resource instanceof rR&&this.signInFetchSignal({status:e.status}),e.resource instanceof rD&&this.signUpFetchSignal({status:e.status})}}function ng(e,t){return!t?.id&&e&&e.__internal_future?.hasBeenFinalized===!1}let nb="cannot_render_billing_disabled",ny="cannot_render_user_missing",nw="cannot_render_organizations_disabled",nk="cannot_render_organization_missing",nv="cannot_render_single_session_enabled",nx={polling:!0,standardBrowser:!0,touchSession:!0,isSatellite:!1,signInUrl:void 0,signUpUrl:void 0,afterSignOutUrl:void 0,signInFallbackRedirectUrl:void 0,signUpFallbackRedirectUrl:void 0,signInForceRedirectUrl:void 0,signUpForceRedirectUrl:void 0,newSubscriptionRedirectUrl:void 0};class nj{static version="6.0.0-snapshot.v20251203203405";static sdkMetadata={name:"@clerk/clerk-js",version:"6.0.0-snapshot.v20251203203405"};static _billing;static _apiKeys;_checkout;client;session;organization;user;__internal_country;telemetry;__internal_state=new nf;internal_last_error=null;environment;#eu;#ed="";#eh;#em;#ep;#ef;#eg;#eb=null;#ey;#ew;#ek;#ev="loading";#ex=[];#ej=[];#e_={};#ez=null;#eS=0;#eA=p();get __internal_queryClient(){return this.#eu||Promise.resolve().then(n.bind(n,3303)).then(e=>e.QueryClient).then(e=>{this.#eu||(this.#eu=new e,this.#eA.emit("queryClientStatus","ready"))}),this.#eu?{__tag:"clerk-rq-client",client:this.#eu}:void 0}__internal_getCachedResources;__internal_createPublicCredentials;__internal_getPublicCredentials;__internal_isWebAuthnSupported;__internal_isWebAuthnAutofillSupported;__internal_isWebAuthnPlatformAuthenticatorSupported;__internal_setActiveInProgress=!1;get publishableKey(){return this.#ed}get version(){return nj.version}set sdkMetadata(e){nj.sdkMetadata=e}get sdkMetadata(){return nj.sdkMetadata}get loaded(){return"degraded"===this.status||"ready"===this.status}get status(){return this.#ev}get isSatellite(){return!!tg()&&e9(this.#e_.isSatellite,new URL(window.location.href),!1)}get domain(){if(tg()){let e=function(e=""){return(e||"").replace(/^.+:\/\//,"")}(e9(this.#eh,new URL(window.location.href)));if("production"===this.#ek){let t;if(!e)return"";if(e.match(/^(clerk\.)+\w*$/))t=/(clerk\.)*(?=clerk\.)/;else{if(e.match(/\.clerk.accounts/))return e;t=/^(clerk\.)*/gi}return`clerk.${e.replace(t,"")}`}return e}return""}get proxyUrl(){if(tg()){let e=e9(this.#em,new URL(window.location.href));return!e||eK(e)||eH(e)||th.throwInvalidProxyUrl({url:e}),e?eH(e)?new URL(e,window.location.origin).toString():e:""}return""}get frontendApi(){let e=eh(this.publishableKey);return e?e.frontendApi:th.throwInvalidPublishableKeyError({key:this.publishableKey})}get instanceType(){return this.#ek}get isStandardBrowser(){return this.#e_.standardBrowser||!1}get billing(){return nj._billing||(nj._billing=new ar),nj._billing}get apiKeys(){return nj._apiKeys||(nj._apiKeys=new nh),nj._apiKeys}__experimental_checkout(e){return this._checkout||(this._checkout=e=>(function(e,t){let a,r,n,i,{for:s,planId:o,planPeriod:l}=t;if(null===e.user)throw Error("Clerk: User is not authenticated");if("organization"===s&&null===e.organization)throw Error("Clerk: The current session does not have an active organization. Use `setActive` to set the organization");let c=function(e){let{userId:t,orgId:a,planId:r,planPeriod:n}=e;return`${t}-${a||"user"}-${r}-${n}`}({userId:e.user?.id||"",orgId:"organization"===s?e.organization?.id:void 0,planId:o,planPeriod:l}),u=nm.get(c);if(u)return u.signals.computedSignal();let d=(a=t9({resource:null}),r=t9({error:null}),n=t9({status:"idle"}),i=t3(()=>{let e=a().resource,t=r().error,i=n().status;return{errors:ah(t,{}),fetchStatus:i,checkout:e}}),{resourceSignal:a,errorSignal:r,fetchSignal:n,computedSignal:i}),h=new af(d,{..."organization"===s?{orgId:e.organization?.id}:{},planId:o,planPeriod:l});return nm.set(c,{resource:h,signals:d}),d.computedSignal()})(this,e)),this._checkout(e)}__internal_getOption(e){return this.#e_[e]}get isSignedIn(){return this?.session?.status!=="pending"&&!!this.session}constructor(e,t){if(!(e=(e||"").trim()))return th.throwMissingPublishableKeyError();const a=eh(e);if(!a)return th.throwInvalidPublishableKeyError({key:e});this.#eh=t?.domain,this.#em=t?.proxyUrl,this.environment=ra.getInstance(),this.#ek=a.instanceType,this.#ed=e,this.#ew=function(e){let t=[],a=[];async function r(e){for await(let a of["undefined"!=typeof window&&window.__unstable__onBeforeRequest,...t].filter(e=>e))if(await a(e)===!1)return!1;return!0}async function n(e,t){for await(let r of["undefined"!=typeof window&&window.__unstable__onAfterResponse,...a].filter(e=>e))if(await r(e,t)===!1)return!1;return!0}function i({method:t,path:a,sessionId:r,search:n,rotatingTokenNonce:i}){let s=new URLSearchParams(n);return s.append("__clerk_api_version","2025-11-10"),s.append("_clerk_js_version","6.0.0-snapshot.v20251203203405"),i&&s.append("rotating_token_nonce",i),e.domain&&"development"===e.instanceType&&e.isSatellite&&s.append("__domain",e.domain),t&&"GET"!==t&&"POST"!==t&&s.append("_method",t),a&&!nd.some(e=>a.startsWith(e))&&r&&s.append("_clerk_session_id",r),eb([...s.entries()].reduce((e,[t,a])=>(e[t]=a.includes(",")?a.split(","):a,e),{}))}function s(t){let{path:a,pathPrefix:r="v1"}=t;if(e.proxyUrl){let n=new URL(e.proxyUrl),s=n.pathname.slice(1);return s.endsWith("/")&&(s=s.slice(0,-1)),ej({base:n.origin,pathname:`${s}/${r}${a}`,search:i(t)},{stringify:!1})}let n="production"===e.instanceType?e.domain:"";return ej({base:`https://${n||e.frontendApi}`,pathname:`${r}${a}`,search:i(t)},{stringify:!1})}async function o(t,a){let i,o={...t},{method:l="GET",body:u}=o;!u||"object"!=typeof u||u instanceof FormData||(o.body=function(e){if(!e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let[a,r]of Object.entries(e))void 0!==r&&(t[a]=r);return t}(u)),o.url=s({...o,sessionId:e.getSessionId()}),o.headers=new Headers(o.headers),"GET"===l||u instanceof FormData||o.headers.has("content-type")||o.headers.set("content-type","application/x-www-form-urlencoded"),"application/x-www-form-urlencoded"===o.headers.get("content-type")&&(o.body=u?eb(u,{keyEncoder:ee}):u);let d=await r(o),h="GET"===l?"GET":"POST",m=o.url,p={...o,method:h,credentials:o.credentials||"include"};try{if(d){let e=a?.fetchMaxTries??(c()?4:11);i=await ti(()=>fetch(m,p),{retryImmediately:!0,initialDelay:700,maxDelayBetweenRetries:5e3,shouldRetry:(t,a)=>"GET"===h&&a<e,onBeforeRetry:e=>{m.searchParams.set("_clerk_retry_attempt",e.toString())}})}else i=new Response("{}",o)}catch(t){let e=m.toString();tt.error("network error",{error:t,url:e,method:l},"fapiClient");throw Error(`${t_} Network error at "${e}" - ${t}. Please try again.`)}let f=204!==i.status?await i.json():null,g=Object.assign(i,{payload:f});return i.ok||tt.error("request failed",{method:l,path:o.path,status:i.status},"fapiClient"),await n(o,g),g}return{buildEmailAddress:function(t){return function({localPart:e,frontendApi:t}){return`${e}@${t?t.replace("clerk.",""):"clerk.com"}`}({localPart:t,frontendApi:e.frontendApi})},buildUrl:s,onAfterResponse:function(e){a.push(e)},onBeforeRequest:function(e){t.push(e)},request:o}}({domain:this.domain,frontendApi:this.frontendApi,instanceType:this.instanceType,isSatellite:this.isSatellite,getSessionId:()=>this.session?.id,proxyUrl:this.proxyUrl}),this.#eA.emit(f,"loading"),this.#eA.prioritizedOn(f,e=>this.#ev=e),tF.clerk=this,this.#ef=new np}getFapiClient=()=>this.#ew;load=async e=>{if(tt.info("load() start",{},"clerk"),!this.loaded){if("development"===this.#ek&&$("Clerk: Clerk has been loaded with development keys. Development instances have strict usage limits and should not be used when deploying your application to production. Learn more: https://clerk.com/docs/deployments/overview"),this.#e_=this.#eE(e),this.#e_.clerkUiCtor&&(this.#ey=Promise.resolve(this.#e_.clerkUiCtor).then(e=>new e(()=>this,()=>this.environment,this.#e_,new to))),"development"===this.#ek&&(this.#e_.routerPush||this.#e_.routerReplace)&&(!this.#e_.routerPush||!this.#e_.routerReplace)){let e=this.#e_.routerPush?"routerReplace":"routerPush";$(`Clerk: Both \`routerPush\` and \`routerReplace\` need to be defined, but \`${e}\` is not defined. This may cause issues with navigation in your application.`)}a7.on(a4,()=>{this.#eI(this.session),this.#eC()}),this.#e_.sdkMetadata&&(nj.sdkMetadata=this.#e_.sdkMetadata),!1!==this.#e_.telemetry&&(this.telemetry=new e$({clerkVersion:nj.version,samplingRate:1,perEventSampling:!this.#e_.__internal_keyless_claimKeylessApplicationUrl&&void 0,publishableKey:this.publishableKey,...this.#e_.telemetry}),this.#e_.appearance&&this.telemetry.record({event:"THEME_USAGE",eventSamplingRate:1,payload:function(e){let t;if(!e||"object"!=typeof e)return{};let a=e.theme||e.baseTheme;if(!a)return{};if(Array.isArray(a))for(let e of a){let a=e2(e);if(a){t=a;break}}else t=e2(a);return{themeName:t}}(this.#e_.appearance)}));try{this.#e_.standardBrowser?await this.#eP():await this.#eq();let e=this.#e_.telemetry,t=!1!==e&&!e?.disabled,a=!!this.#e_.__internal_keyless_claimKeylessApplicationUrl,r=!!this.environment?.clientDebugMode,n=this.environment?.isProduction?.()??!1,i=r||a&&!n,s=a&&!r?"error":void 0;i&&function(e={}){if(e8)return;let{enabled:t=!1,...a}=e;t&&(e5=!0,e8=!0,te(a))}({enabled:!0,...s?{logLevel:s}:{},...t&&this.telemetry?{telemetryCollector:this.telemetry}:{}}),this.#ef?.load(this.environment),tt.info("load() complete",{},"clerk")}catch(e){throw this.#eA.emit(f,"error"),tt.error("load() failed",{error:e},"clerk"),e}}};#eO(){let e;return!!(!this.#e_.signUpUrl&&this.#e_.signInUrl&&(e=this.#e_.signInUrl,!eg.test(e)))}signOut=async(e,t)=>{if(!this.client||0===this.client.sessions.length)return;let a="undefined"!=typeof window&&"function"==typeof window.__unstable__onBeforeSetActive?window.__unstable__onBeforeSetActive:e3,r="undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3,n=e&&"object"==typeof e?e:t||{},i=n?.redirectUrl||this.buildAfterSignOutUrl();tt.debug("signOut() start",{hasClient:!!this.client,multiSessionCount:this.client?.signedInSessions.length??0,redirectUrl:i,sessionTarget:n?.sessionId??null},"clerk");let s="function"==typeof e?e:void 0,o=async()=>{let e=tl(this.#e_.standardBrowser);a7.emit(a6,null),this.#eT(),await e.track(async()=>{s?await s():await this.navigate(i)}),e.isUnloading()||(this.#eI(),this.#eC(),await r())};if(await a(),!n.sessionId||1===this.client.signedInSessions.length){this.#e_.experimental?.persistClient??!0?await this.client.removeSessions():await this.client.destroy(),await o(),tt.info("signOut() complete",{redirectUrl:e_(i)},"clerk");return}let l=this.client.signedInSessions.find(e=>e.id===n.sessionId),c=l?.id&&this.session?.id===l.id;await l?.remove(),c&&(await o(),tt.info("signOut() complete",{redirectUrl:e_(i)},"clerk"))};openGoogleOneTap=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("googleOneTap",e||{})),this.telemetry?.record(e0("GoogleOneTap",e))};closeGoogleOneTap=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("googleOneTap"))};openSignIn=e=>{if(N(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotOpenSignInOrSignUp,{code:nv});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("signIn",e||{}));let t={withSignUp:e?.withSignUp??this.#eO()};this.telemetry?.record(e0("SignIn",e,t))};closeSignIn=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signIn"))};__internal_openCheckout=e=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("Checkout"),{code:nb});return}if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenCheckout,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("checkout",e||{}))};__internal_closeCheckout=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("checkout"))};__internal_openPlanDetails=e=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("PlanDetails"),{code:nb});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("planDetails",e||{})),this.telemetry?.record(e0("PlanDetails",e))};__internal_closePlanDetails=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("planDetails"))};__internal_openSubscriptionDetails=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openDrawer("subscriptionDetails",e||{}))};__internal_closeSubscriptionDetails=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("subscriptionDetails"))};__internal_openReverification=e=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenUserProfile,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("userVerification",e||{})),this.telemetry?.record(e0("UserVerification",e))};__internal_closeReverification=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userVerification"))};__internal_attemptToEnableEnvironmentSetting=e=>{let{for:t,caller:a}=e;if(this.user||"development"!==this.#ek||$(`Clerk: "${a}" requires an active user session. Ensure a user is signed in before executing ${a}.`),"organizations"===t){let t;return(t=this.environment,t?.organizationSettings.enabled||this.session?.currentTask?.key==="choose-organization")?{isEnabled:!0}:("development"===this.#ek&&this.__internal_openEnableOrganizationsPrompt({caller:a,onSuccess:()=>window.location.reload(),onClose:e.onClose}),{isEnabled:!1})}throw Error(`Attempted to enable an unknown or unsupported setting "${t}".`)};__internal_openEnableOrganizationsPrompt=e=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("enableOrganizationsPrompt",e||{})));__internal_closeEnableOrganizationsPrompt=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.closeModal("enableOrganizationsPrompt")));__internal_openBlankCaptchaModal=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.openModal("blankCaptcha",{})));__internal_closeBlankCaptchaModal=()=>(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.closeModal("blankCaptcha")));__internal_loadStripeJs=async()=>{let{loadStripe:e}=await Promise.resolve().then(n.bind(n,5608));return e};openSignUp=e=>{if(N(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotOpenSignInOrSignUp,{code:nv});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("signUp",e||{})),this.telemetry?.record(e0("SignUp",e))};closeSignUp=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signUp"))};openUserProfile=e=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotOpenUserProfile,{code:ny});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("userProfile",e||{}));let t=(e?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e0("UserProfile",e,t))};closeUserProfile=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userProfile"))};openOrganizationProfile=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:nw})}});if(t){if(!this.organization){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenOrgDoesNotExist,{code:nk});return}this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("organizationProfile",e||{})),this.telemetry?.record(e0("OrganizationProfile",e))}};closeOrganizationProfile=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("organizationProfile"))};openCreateOrganization=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:nw})}});t&&(this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("createOrganization",e||{})),this.telemetry?.record(e0("CreateOrganization",e)))};closeCreateOrganization=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("createOrganization"))};openWaitlist=e=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(t=>t.openModal("waitlist",e||{})),this.telemetry?.record(e0("Waitlist",e))};closeWaitlist=()=>{this.#ey?.then(e=>e.ensureMounted()).then(e=>e.closeModal("waitlist"))};mountSignIn=(e,t)=>{this.assertComponentsReady(this.#ey);let a="SignIn";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"signIn",node:e,props:t}));let r={withSignUp:t?.withSignUp??this.#eO()};this.telemetry?.record(e1(a,t,r))};unmountSignIn=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserAvatar=(e,t)=>{this.assertComponentsReady(this.#ey);let a="UserAvatar";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userAvatar",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountUserAvatar=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountSignUp=(e,t)=>{this.assertComponentsReady(this.#ey);let a="SignUp";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"signUp",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountSignUp=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserProfile=(e,t)=>{if(!this.user){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenUserDoesNotExist,{code:ny});return}this.assertComponentsReady(this.#ey);let a="UserProfile";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userProfile",node:e,props:t}));let r=(t?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e1(a,t,r))};unmountUserProfile=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationProfile=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:nw})}});if(!a)return;let r=!!this.user;if(!this.organization&&r){if("development"===this.#ek)throw new A(eD.cannotRenderComponentWhenOrgDoesNotExist,{code:nk});return}this.assertComponentsReady(this.#ey);let n="OrganizationProfile";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:n,appearanceKey:"userProfile",node:e,props:t})),this.telemetry?.record(e1(n,t))};unmountOrganizationProfile=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountCreateOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="CreateOrganization";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"createOrganization",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountCreateOrganization=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationSwitcher=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationSwitcher",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationSwitcher"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="OrganizationSwitcher";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"organizationSwitcher",node:e,props:t})),this.telemetry?.record(e1(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationSwitcher=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__experimental_prefetchOrganizationSwitcher=()=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(e=>e.prefetch("organizationSwitcher"))};mountOrganizationList=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationList",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("OrganizationList"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="OrganizationList";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"organizationList",node:e,props:t})),this.telemetry?.record(e1(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationList=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserButton=(e,t)=>{this.assertComponentsReady(this.#ey);let a="UserButton";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"userButton",node:e,props:t}));let r={...t?.customMenuItems?.length||0?{customItems:!0}:void 0,...t?.__experimental_asStandalone?{standalone:!0}:void 0};this.telemetry?.record(e1(a,t,r))};unmountUserButton=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountWaitlist=(e,t)=>{this.assertComponentsReady(this.#ey);let a="Waitlist";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"waitlist",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountWaitlist=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountPricingTable=(e,t)=>{if(D(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAnyBillingComponent("PricingTable"),{code:nb});return}this.assertComponentsReady(this.#ey);let a="PricingTable";this.#ey.then(e=>e.ensureMounted()).then(r=>r.mountComponent({name:a,appearanceKey:"pricingTable",node:e,props:t})),this.telemetry?.record(e1(a,t))};unmountPricingTable=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__internal_mountOAuthConsent=(e,t)=>{this.assertComponentsReady(this.#ey),this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:"OAuthConsent",appearanceKey:"__internal_oauthConsent",node:e,props:t}))};__internal_unmountOAuthConsent=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountAPIKeys=(e,t)=>{let a;if($("Clerk: <APIKeys /> component is in early access and not yet recommended for production use."),F(this,a=this.environment)&&L(this,a)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponent,{code:"cannot_render_api_keys_disabled"});return}if(this.organization&&L(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponentForOrgWhenDisabled,{code:"cannot_render_api_keys_org_disabled"});return}if(F(this,this.environment)){if("development"===this.#ek)throw new A(eD.cannotRenderAPIKeysComponentForUserWhenDisabled,{code:"cannot_render_api_keys_user_disabled"});return}this.assertComponentsReady(this.#ey);let r="APIKeys";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"apiKeys",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountAPIKeys=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountTaskChooseOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"TaskChooseOrganization",onClose:()=>{throw new A(eD.cannotRenderAnyOrganizationComponent("TaskChooseOrganization"),{code:nw})}});if(!a)return;this.assertComponentsReady(this.#ey);let r="TaskChooseOrganization";this.#ey.then(e=>e.ensureMounted()).then(a=>a.mountComponent({name:r,appearanceKey:"taskChooseOrganization",node:e,props:t})),this.telemetry?.record(e1(r,t))};unmountTaskChooseOrganization=e=>{this.#ey?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};setActive=async e=>{let{organization:t,redirectUrl:a,navigate:r}=e,{session:n}=e;this.__internal_setActiveInProgress=!0,tt.debug("setActive() start",{hasClient:!!this.client,sessionTarget:"string"==typeof n?n:n?.id??n??null,organizationTarget:"string"==typeof t?t:t?.id??t??null,redirectUrl:a??null},"clerk");try{var i;let s;if(!this.client)throw tt.warn("Clerk setActive called before client is loaded",{},"clerk"),Error("setActive is being called before the client is loaded. Wait for init.");if(void 0===n&&!this.session)throw tt.warn("Clerk setActive precondition not met: no target session and no active session",{},"clerk"),Error("setActive should either be called with a session param or there should be already an active session.");"string"==typeof n&&(n=this.client.sessions.find(e=>e.id===n)||null);let o="undefined"!=typeof window&&"function"==typeof window.__unstable__onBeforeSetActive?window.__unstable__onBeforeSetActive:e3,l="undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3,c=void 0===n?this.session:n;c?.status==="pending"&&(i={...this.#e_,...e},s=["taskUrls","navigate"],Object.keys(i).some(e=>s.includes(e))||$('Clerk: Session has pending tasks but no handling is configured. To handle pending tasks, provide either "taskUrls" for navigation to custom URLs or "navigate" for programmatic navigation. Without these options, users may get stuck on incomplete flows.'));let d=void 0!==t;if(c&&d){let e="string"==typeof t?t:t?.id;if("string"==typeof e&&e.startsWith("org_"))c.lastActiveOrganizationId=e||null;else{let t=c.user.organizationMemberships.find(t=>t.organization.slug===e),a=t?.organization.id||null,r=null===a;if(this.environment?.organizationSettings?.forceOrganizationSelection&&r)return;c.lastActiveOrganizationId=a}}c?.status!=="pending"&&await o(null===c?"sign-out":void 0),(tg()&&globalThis.document.hasFocus()||!this.#e_.standardBrowser)&&(await this.#eU(c),c=this.#eM(c?.id)),await c?.getToken()||(u()||tt.warn("Token is null when setting active session (offline)",{sessionId:c?.id},"clerk"),a7.emit(a5,{token:null}));let h=tl(this.#e_.standardBrowser),m=c?.status==="pending"&&c?.currentTask&&this.#e_.taskUrls?.[c?.currentTask.key];if((a||m||r)&&await h.track(async()=>{if(this.client){if(c?.status!=="pending"&&this.#eT(),m){let e=a?ej({base:m,hashSearchParams:{redirectUrl:a}},{stringify:!0}):m;await this.navigate(e)}else if(r&&c)await r({session:c});else if(a){if(this.client.isEligibleForTouch()){let e=new URL(a,window.location.href),t=this.buildUrlWithAuth(this.client.buildTouchUrl({redirectUrl:e}));await this.navigate(t)}await this.navigate(a)}}}),h.isUnloading())return;this.#eI(c),this.#eC(),c?.status!=="pending"&&await l()}finally{this.__internal_setActiveInProgress=!1}};addListener=e=>{var t;let a;return t=e,e=e=>{var r;a||={...e},t(a={...{client:r1((r=a).client,e.client),session:r1(r.session,e.session),user:r1(r.user,e.user),organization:r1(r.organization,e.organization)}})},this.#ex.push(e),this.client&&e({client:this.client,session:this.session,user:this.user,organization:this.organization}),()=>{this.#ex=this.#ex.filter(t=>t!==e)}};on=(...e)=>{this.#eA.on(...e)};off=(...e)=>{this.#eA.off(...e)};__internal_addNavigationListener=e=>(this.#ej.push(e),()=>{this.#ej=this.#ej.filter(t=>t!==e)});navigate=async(e,t)=>{if(!e||!tg())return;setTimeout(()=>{this.#eR()},0);let a=new URL(e,window.location.href);this.#eB.includes(a.protocol)||(console.warn(`Clerk: "${a.protocol}" is not a valid protocol. Redirecting to "/" instead. If you think this is a mistake, please open an issue.`),a=new URL("/",window.location.href));let r=t?.replace&&this.#e_.routerReplace?this.#e_.routerReplace:this.#e_.routerPush;if(tt.info(`Clerk is navigating to: ${a}`),this.#e_.routerDebug&&console.log(`Clerk is navigating to: ${a}`),"null"!==a.origin&&a.origin!==window.location.origin||!r)return void eW(a);let n={...t?.metadata?{__internal_metadata:t?.metadata}:{},windowNavigate:eW};return await r(e_(a),n)};buildUrlWithAuth(e){if("production"===this.#ek)return e;let t=new URL(e,window.location.origin);return t.origin!==window.location.origin&&this.#ep?this.#ep.decorateUrlWithDevBrowserToken(t).href:t.href}buildSignInUrl(e){return this.#eN("signInUrl",{...e,redirectUrl:e?.redirectUrl||window.location.href},e?.initialValues)}buildSignUpUrl(e){return this.#eN("signUpUrl",{...e,redirectUrl:e?.redirectUrl||window.location.href},e?.initialValues)}buildUserProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.userProfileUrl):""}buildHomeUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.homeUrl):""}buildAfterSignInUrl({params:e}={}){return this.buildUrlWithAuth(new eC(this.#e_,{},e).getAfterSignInUrl())}buildAfterSignUpUrl({params:e}={}){return this.buildUrlWithAuth(new eC(this.#e_,{},e).getAfterSignUpUrl())}buildAfterSignOutUrl(){return this.#e_.afterSignOutUrl?this.buildUrlWithAuth(this.#e_.afterSignOutUrl):"/"}buildNewSubscriptionRedirectUrl(){return this.#e_.newSubscriptionRedirectUrl?this.#e_.newSubscriptionRedirectUrl:this.buildAfterSignInUrl()}buildWaitlistUrl(e){return this.environment&&this.environment.displayConfig?ej({base:this.#e_.waitlistUrl||this.environment.displayConfig.waitlistUrl,hashSearchParams:[new URLSearchParams(e?.initialValues||{})]},{stringify:!0}):""}buildAfterMultiSessionSingleSignOutUrl(){return this.environment?this.#e_.afterMultiSessionSingleSignOutUrl?this.buildUrlWithAuth(this.#e_.afterMultiSessionSingleSignOutUrl):this.#e_.signInUrl?this.buildUrlWithAuth(ej({base:this.#e_.signInUrl,hashPath:"choose"},{stringify:!0})):this.buildUrlWithAuth(this.environment.displayConfig.afterSignOutOneUrl):""}buildCreateOrganizationUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.createOrganizationUrl):""}buildOrganizationProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.organizationProfileUrl):""}buildTasksUrl(e){let t=this.session?.currentTask;if(!t)return"";let a=this.#e_.taskUrls?.[t.key];return a||ej({base:this.buildSignInUrl(e),hashPath:eR(t)},{stringify:!0})}#eD=async()=>{if(!tg())return;let e=new URLSearchParams({[W]:"true"}),t=eO(H);t&&eK(t)||function(){throw Error(`${t_} Invalid redirect_url. A valid http or https url should be used for the redirection.`)}();let a=ej({base:eO(H),searchParams:e},{stringify:!0});return this.navigate(this.buildUrlWithAuth(a))};redirectWithAuth=async e=>{if(tg())return this.navigate(this.buildUrlWithAuth(e))};redirectToSignIn=async e=>{if(tg())return this.navigate(this.buildSignInUrl(e))};redirectToSignUp=async e=>{if(tg())return this.navigate(this.buildSignUpUrl(e))};redirectToUserProfile=async()=>{if(tg())return this.navigate(this.buildUserProfileUrl())};redirectToCreateOrganization=async()=>{if(tg())return this.navigate(this.buildCreateOrganizationUrl())};redirectToOrganizationProfile=async()=>{if(tg())return this.navigate(this.buildOrganizationProfileUrl())};redirectToAfterSignIn=async()=>{if(tg())return this.navigate(this.buildAfterSignInUrl())};redirectToAfterSignUp=async()=>{if(tg())return this.navigate(this.buildAfterSignUpUrl())};redirectToAfterSignOut=async()=>{if(tg())return this.navigate(this.buildAfterSignOutUrl())};redirectToWaitlist=async()=>{if(tg())return this.navigate(this.buildWaitlistUrl())};redirectToTasks=async e=>{if(tg())return this.navigate(this.buildTasksUrl(e))};handleEmailLinkVerification=async(e,t)=>{if(!this.client)return;let a=eO("__clerk_status");if("expired"===a)throw new _(S.Expired);if("client_mismatch"===a)throw new _(S.ClientMismatch);if("verified"!==a)throw new _(S.Failed);let r=eO("__clerk_created_session"),{signIn:n,signUp:i,sessions:s}=this.client,o=s.some(e=>e.id===r),l="needs_second_factor"===n.status||"missing_requirements"===i.status,c=e=>t&&"function"==typeof t?t(e):this.navigate(e),u=e.redirectUrl?()=>c(e.redirectUrl):e3;return o?this.setActive({session:r,redirectUrl:e.redirectUrlComplete}):l?u():("function"==typeof e.onVerifiedOnOtherDevice&&e.onVerifiedOnOtherDevice(),null)};handleGoogleOneTapCallback=async(e,t,a)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:r,signUp:n}=this.client,i="identifier"in(e||{})?e:r,s="missingFields"in(e||{})?e:n,o=e=>a&&"function"==typeof a?a(this.buildUrlWithAuth(e)):this.navigate(this.buildUrlWithAuth(e));return this._handleRedirectCallback(t,{signUp:s,signIn:i,navigate:o})};_handleRedirectCallback=async(e,{signIn:t,signUp:a,navigate:r})=>{if(!this.loaded||!this.environment||!this.client)return;if(!window.opener&&e.reloadResource)try{"signIn"===e.reloadResource?await t.reload():"signUp"===e.reloadResource&&await a.reload()}catch{}let{displayConfig:n}=this.environment,{firstFactorVerification:i}=t,{externalAccount:s}=a.verifications,o={status:a.status,missingFields:a.missingFields,externalAccountStatus:s.status,externalAccountErrorCode:s.error?.code,externalAccountSessionId:s.error?.meta?.sessionId,sessionId:a.createdSessionId},l={status:t.status,firstFactorVerificationStatus:i.status,firstFactorVerificationErrorCode:i.error?.code,firstFactorVerificationSessionId:i.error?.meta?.sessionId,sessionId:t.createdSessionId},c=e=>()=>r(e),u=c(e.signInUrl||n.signInUrl),d=c(e.signUpUrl||n.signUpUrl),h=c(e.firstFactorUrl||ej({base:n.signInUrl,hashPath:"/factor-one"},{stringify:!0})),m=c(e.secondFactorUrl||ej({base:n.signInUrl,hashPath:"/factor-two"},{stringify:!0})),p=c(e.resetPasswordUrl||ej({base:n.signInUrl,hashPath:"/reset-password"},{stringify:!0})),f=new eC(this.#e_,e),g=c(e.continueSignUpUrl||ej({base:n.signUpUrl,hashPath:"/continue"},{stringify:!0})),b=({missingFields:t})=>t.length?g():(({signUp:e,verifyEmailPath:t,verifyPhonePath:a,continuePath:r,navigate:n,handleComplete:i,redirectUrl:s="",redirectUrlComplete:o="",oidcPrompt:l})=>{if("complete"===e.status)return i&&i();if("missing_requirements"===e.status){if(e.missingFields.some(e=>"enterprise_sso"===e))return e.authenticateWithRedirect({strategy:"enterprise_sso",redirectUrl:s,redirectUrlComplete:o,continueSignUp:!0,oidcPrompt:l});let i=eU();if(e.unverifiedFields?.includes("email_address")&&t)return n(t,{searchParams:i});if(e.unverifiedFields?.includes("phone_number")&&a)return n(a,{searchParams:i});if(r)return n(r,{searchParams:i})}})({signUp:a,verifyEmailPath:e.verifyEmailAddressUrl||ej({base:n.signUpUrl,hashPath:"/verify-email-address"},{stringify:!0}),verifyPhonePath:e.verifyPhoneNumberUrl||ej({base:n.signUpUrl,hashPath:"/verify-phone-number"},{stringify:!0}),navigate:r}),y=e.signInUrl||n.signInUrl,w=e.signUpUrl||n.signUpUrl,k=async({session:e,baseUrl:t,redirectUrl:a})=>{e.currentTask?await eB(e,{baseUrl:t,navigate:this.navigate}):await this.navigate(a)};if("complete"===l.status)return this.setActive({session:l.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:y,redirectUrl:f.getAfterSignInUrl()})}});if("transferable"===o.externalAccountStatus&&"external_account_exists"===o.externalAccountErrorCode){let e=await t.create({transfer:!0});switch(e.status){case"complete":return this.setActive({session:e.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignInUrl()})}});case"needs_first_factor":return h();case"needs_second_factor":return m();case"needs_new_password":return p();default:tS("sign in")}}let v="user_locked"===o.externalAccountErrorCode,x="user_locked"===l.firstFactorVerificationErrorCode;if(v)return d();if(x)return u();if("needs_first_factor"===l.status&&!t.supportedFirstFactors?.every(e=>"enterprise_sso"===e.strategy))return h();if("needs_new_password"===l.status)return p();if("transferable"===l.firstFactorVerificationStatus){if(!1===e.transferable)return u();let t=await a.create({transfer:!0});switch(t.status){case"complete":return this.setActive({session:t.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});case"missing_requirements":return b({missingFields:t.missingFields});default:tS("sign in")}}if("complete"===o.status)return this.setActive({session:o.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});if("needs_second_factor"===l.status)return m();let j=("failed"===o.externalAccountStatus||"unverified"===o.externalAccountStatus)&&"identifier_already_signed_in"===o.externalAccountErrorCode&&o.externalAccountSessionId,_="failed"===l.firstFactorVerificationStatus&&"identifier_already_signed_in"===l.firstFactorVerificationErrorCode&&l.firstFactorVerificationSessionId;if(j||_){let e=l.firstFactorVerificationSessionId||o.externalAccountSessionId;if(e)return this.setActive({session:e,navigate:async({session:e})=>{await k({session:e,baseUrl:j?w:y,redirectUrl:f.getAfterSignInUrl()})}})}return(e=>{let{externalAccount:t}=e.verifications;return!!t.error})(a)?d():"verified"===o.externalAccountStatus&&"missing_requirements"===o.status?b({missingFields:a.missingFields}):this.session?.currentTask?void await this.redirectToTasks({redirectUrl:this.buildAfterSignInUrl()}):u()};handleRedirectCallback=async(e={},t)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:a,signUp:r}=this.client,n=e=>t&&"function"==typeof t?t(e):this.navigate(e);return this._handleRedirectCallback(e,{signUp:r,signIn:a,navigate:n})};handleUnauthenticated=async(e={broadcast:!0})=>{if(this.client&&this.session)try{let t=await aT.getOrCreateInstance().fetch();if(this.updateClient(t),this.session)return;return e.broadcast&&a7.emit(a6,null),this.setActive({session:null})}catch(e){if(O(e)&&[403,500].includes(e.status))return this.setActive({session:null});throw e}};authenticateWithGoogleOneTap=async e=>this.client?.signIn.create({strategy:"google_one_tap",token:e.token}).catch(t=>{if(O(t)&&"external_account_not_found"===t.errors[0].code)return this.client?.signUp.create({strategy:"google_one_tap",token:e.token,legalAccepted:e.legalAccepted});throw t});authenticateWithMetamask=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_okx_wallet_signature"})};authenticateWithWeb3=async({redirectUrl:e,signUpContinueUrl:t,customNavigate:a,unsafeMetadata:r,strategy:n,legalAccepted:i,secondFactorUrl:s})=>{let o,l;if(!this.client||!this.environment)return;let{displayConfig:c}=this.environment,u=n.replace("web3_","").replace("_signature",""),d=await tw().getWeb3Identifier({provider:u});switch(u){case"metamask":o=tw().generateSignatureWithMetamask;break;case"base":o=tw().generateSignatureWithBase;break;case"coinbase_wallet":o=tw().generateSignatureWithCoinbaseWallet;break;default:o=tw().generateSignatureWithOKXWallet}let h=e=>()=>a&&"function"==typeof a?a(e):this.navigate(e),m=h(s||ej({base:c.signInUrl,hashPath:"/factor-two"},{stringify:!0})),p=h(t||ej({base:c.signUpUrl,hashPath:"/continue"},{stringify:!0}));try{l=await this.client.signIn.authenticateWithWeb3({identifier:d,generateSignature:o,strategy:n})}catch(e){if(td(e,"form_identifier_not_found"))l=await this.client.signUp.authenticateWithWeb3({identifier:d,generateSignature:o,unsafeMetadata:r,strategy:n,legalAccepted:i}),t&&"missing_requirements"===l.status&&"verified"===l.verifications.web3Wallet.status&&await p();else throw e}let f=async({session:e,redirectUrl:t})=>{e.currentTask?await eB(e,{baseUrl:c.signInUrl,navigate:this.navigate}):await this.navigate(t)};switch(l.status){case"needs_second_factor":await m();break;case"complete":l.createdSessionId&&await this.setActive({session:l.createdSessionId,navigate:async({session:t})=>{await f({session:t,redirectUrl:e??this.buildAfterSignInUrl()})}});break;default:return}};createOrganization=async({name:e,slug:t})=>rd.create({name:e,slug:t});getOrganization=async e=>rd.get(e);joinWaitlist=async({emailAddress:e})=>rY.join({emailAddress:e});updateEnvironment(e){this.environment=e}__internal_setCountry=e=>{this.__internal_country||(this.__internal_country=e)};get __internal_last_error(){let e=this.internal_last_error;return this.internal_last_error=null,e}set __internal_last_error(e){this.internal_last_error=e}updateClient=e=>{if(!this.client){let t=this.#e_.selectInitialSession?this.#e_.selectInitialSession(e):this.#eF(e);this.#eI(t)}if(this.client=e,this.session){let e=this.#eM(this.session.id);"active"===this.session.status&&e?.status==="pending"&&("undefined"!=typeof window&&"function"==typeof window.__unstable__onAfterSetActive?window.__unstable__onAfterSetActive:e3)(),this.#eI(e),this.session?.lastActiveToken||u()||tt.warn("No last active token when updating client (offline)",{sessionId:this.session?.id},"clerk"),a7.emit(a5,{token:this.session?.lastActiveToken})}this.#eC()};get __unstable__environment(){return this.environment}__unstable__setEnvironment=async e=>{this.environment=new ra(e)};__unstable__onBeforeRequest=e=>{this.#ew.onBeforeRequest(e)};__unstable__onAfterResponse=e=>{this.#ew.onAfterResponse(e)};__unstable__updateProps=e=>{let t={...e,options:this.#eE({...this.#e_,...e.options})};return this.#ey?.then(e=>e.ensureMounted()).then(e=>e.updateProps(t))};__internal_navigateWithError(e,t){return this.__internal_last_error=t,this.navigate(e)}#eL=()=>{let e=new URLSearchParams({[H]:window.location.href});return ej({base:this.#e_.signInUrl,searchParams:e},{stringify:!0})};#eW=()=>{let e;if(this.proxyUrl){let t=new URL(this.proxyUrl);e=new URL(`${t.pathname}/v1/client/sync`,t.origin)}else this.domain&&(e=new URL("/v1/client/sync",`https://${this.domain}`));return e?.searchParams.append("redirect_url",window.location.href),e?.toString()||""};#eK=()=>"true"!==eO(W)&&!!this.isSatellite&&!!this.#ep?.isSignedOut();#eH=()=>"production"!==this.#ek&&!this.isSatellite&&!!eO(H);#eV=async()=>{"development"===this.instanceType?await this.navigate(this.#eL()):"production"===this.instanceType&&await this.navigate(this.#eW())};#eG=(e,t)=>{let a;try{a=new URL(e)}catch{throw Error(`${t_} The signInUrl needs to have a absolute url format.`)}a.origin===t&&function(){throw Error(`${t_} The signInUrl needs to be on a different origin than your satellite application.`)}()};#eJ=()=>{this.isSatellite&&("development"!==this.#ek||this.#e_.signInUrl||function(){throw Error(`${t_} Missing signInUrl. A satellite application needs to specify the signInUrl for development instances.`)}(),this.proxyUrl||this.domain||function(){throw Error(`${t_} Missing domain and proxyUrl. A satellite application needs to specify a domain or a proxyUrl.`)}(),this.#e_.signInUrl&&this.#eG(this.#e_.signInUrl,window.location.origin))};#eP=async()=>{if(this.#ep=await nc.create(this,this.#ew,this.#ek,this.#eA),this.#eJ(),this.#eK())return void await this.#eV();if(this.#eH())return void await this.#eD();this.#ez=(()=>{if(!s())return{onPageFocus:e3};let e=[];return window.addEventListener("focus",()=>{"visible"===document.visibilityState&&e.forEach(e=>e())}),{onPageFocus:t=>{e.push(t)}}})(),"undefined"!=typeof BroadcastChannel&&(this.#eb=new BroadcastChannel("clerk")),this.#eZ();let e=function(e=window.location.hostname){if(!e)return!1;let t=ev.get(e);void 0===t&&(t=es.some(t=>e.startsWith("accounts.")&&e.endsWith(t))||eo.some(t=>e.endsWith(t)&&!e.endsWith(".clerk"+t)),ev.set(e,t));return t}(window?.location.hostname),t="development"===this.#ek&&!e,a=0,r=0;for(;r<2;){r++;try{var n;let e=ra.getInstance().fetch({touch:t}).then(e=>this.updateEnvironment(e)).catch(()=>{++a;let e=tj.getItem(tk,null);e&&this.updateEnvironment(new ra(e))}),r=async()=>aT.getOrCreateInstance().fetch().then(e=>this.updateClient(e)).catch(async e=>{if(P(e))throw e;++a;let t=this.#ep?.getSessionCookie(),r=function(e){let t;try{t=new rW({jwt:e||"",object:"token",id:void 0})}catch{t=null}if(aT.clearInstance(),!t?.jwt)return aT.getOrCreateInstance({object:"client",last_active_session_id:null,id:"client_init",sessions:[]});let{sessionId:a,userId:r,orgId:n,orgRole:i,orgPermissions:s,orgSlug:o,factorVerificationAge:l}=(e=>{let t,a,r,n,i=e.fva??null,s=e.sts??null;if(2===e.v){if(e.o){t=e.o?.id,r=e.o?.slg,e.o?.rol&&(a=`org:${e.o?.rol}`);let{org:i}=rS(e.fea),{permissions:s,featurePermissionMap:o}=(({per:e,fpm:t})=>{if(!e||!t)return{permissions:[],featurePermissionMap:[]};let a=e.split(",").map(e=>e.trim());return{permissions:a,featurePermissionMap:t.split(",").map(e=>Number.parseInt(e.trim(),10)).map(e=>e.toString(2).padStart(a.length,"0").split("").map(e=>Number.parseInt(e,10)).reverse()).filter(Boolean)}})({per:e.o?.per,fpm:e.o?.fpm});n=function({features:e,permissions:t,featurePermissionMap:a}){if(!e||!t||!a)return[];let r=[];for(let n=0;n<e.length;n++){let i=e[n];if(n>=a.length)continue;let s=a[n];if(s)for(let e=0;e<s.length;e++)1===s[e]&&r.push(`org:${i}:${t[e]}`)}return r}({features:i,featurePermissionMap:o,permissions:s})}}else t=e.org_id,a=e.org_role,r=e.org_slug,n=e.org_permissions;return{sessionClaims:e,sessionId:e.sid,sessionStatus:s,actor:e.act,userId:e.sub,orgId:t,orgRole:a,orgSlug:r,orgPermissions:n,factorVerificationAge:i}})(t.jwt.claims),c={object:"client",last_active_session_id:a,id:"client_init",sessions:[{object:"session",id:a,status:"active",last_active_organization_id:n||null,last_active_token:{id:void 0,object:"token",jwt:e},factor_verification_age:l||null,public_user_data:{user_id:r},user:{object:"user",id:r,organization_memberships:n&&o&&i?[{object:"organization_membership",id:n,role:i,permissions:s||[],organization:{object:"organization",id:n,name:o,slug:o,members_count:1,max_allowed_memberships:1}}]:[]}}]};return aT.getOrCreateInstance(c)}(t);return this.updateClient(r),this.#ep?.stopPollingForToken(),await this.session?.getToken({skipCache:!0}).catch(()=>null).finally(()=>{this.#ep?.startPollingForToken()}),null}),[,i]=await (n=[e,r()],Promise.all(Array.from(n).map(e=>e.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})))));if("rejected"===i.status){let e=i.reason;if(td(e,"requires_captcha"))await r();else throw e}if(this.#ep?.setClientUatCookieForDevelopmentInstances(),await this.#e$())return;break}catch(e){if(td(e,"dev_browser_unauthenticated"))await this.#ep.handleUnauthenticatedDevBrowser();else if(!u())return void console.warn(e);else throw e}r>=2&&function(){throw Error(`${t_} Something went wrong initializing Clerk.`)}()}this.#eg=new nu(this),this.#eg.start(),this.#eY(),this.#eQ(),this.#eX(),this.#eA.emit(f,a>0?"degraded":"ready")};shouldFallbackToCachedResources=()=>!!this.__internal_getCachedResources;#eq=async()=>{let e,t,a=this.shouldFallbackToCachedResources()?1:void 0,r=0;try{[e,t]=await Promise.all([ra.getInstance().fetch({touch:!1,fetchMaxTries:a}),aT.getOrCreateInstance().fetch({fetchMaxTries:a})])}catch(a){if(T(a)&&"network_error"===a.code&&this.shouldFallbackToCachedResources()){let a=await this.__internal_getCachedResources?.();e=new ra(a?.environment),aT.clearInstance(),t=aT.getOrCreateInstance(a?.client),++r}else throw a}this.updateClient(t),this.updateEnvironment(e),this.#eA.emit(f,r>0?"degraded":"ready")};__internal_reloadInitialResources=async()=>{let[e,t]=await Promise.all([ra.getInstance().fetch({touch:!1,fetchMaxTries:1}),aT.getOrCreateInstance().fetch({fetchMaxTries:1})]);this.updateClient(t),this.updateEnvironment(e),this.#eC()};#eF=e=>{if(e.lastActiveSessionId){let t=e.signedInSessions.find(t=>t.id===e.lastActiveSessionId);if(t)return t}return e.signedInSessions[0]||null};#eZ=()=>{s()&&(this.#ez?.onPageFocus(()=>{this.session&&!(!(this.environment&&!this.environment.authConfig.singleSessionMode)&&this.#eS>Date.now())&&(this.#eS=Date.now()+5e3,this.#e_.touchSession&&this.#eU(this.session))}),this.#eb?.addEventListener("message",e=>{e.data?.type==="signout"&&this.handleUnauthenticated({broadcast:!1})}),a7.on(a6,()=>{this.#eb?.postMessage({type:"signout"})}),a7.on(a8,()=>{tj.setItem(tk,this.environment?.__internal_toSnapshot(),864e5)}))};#eU=async e=>{if(!e)return Promise.resolve();await e.touch().catch(e=>{P(e)&&this.handleUnauthenticated()})};#eC=()=>{if(this.client)for(let e of this.#ex)e({client:this.client,session:this.session,user:this.user,organization:this.organization})};#eR=()=>{for(let e of this.#ej)e()};#eT=()=>{this.session=void 0,this.organization=void 0,this.user=void 0,this.#eC()};#e1=()=>(this.session?.user.organizationMemberships||[]).map(e=>e.organization).find(e=>e.id===this.session?.lastActiveOrganizationId)||null;#eI=e=>{this.session=e||null,this.organization=this.#e1(),this.user=this.session?this.session.user:null};#eM=e=>this.client?.signedInSessions.find(t=>t.id===e)||null;#eQ=()=>{this.addListener(({session:e})=>{e?.actor&&this.#ey?.then(e=>e.ensureMounted()).then(e=>e.mountImpersonationFab())})};#eX=()=>{this.#e_.__internal_keyless_claimKeylessApplicationUrl&&this.#ey?.then(e=>e.ensureMounted()).then(e=>{e.updateProps({options:{__internal_keyless_claimKeylessApplicationUrl:this.#e_.__internal_keyless_claimKeylessApplicationUrl,__internal_keyless_copyInstanceKeysUrl:this.#e_.__internal_keyless_copyInstanceKeysUrl,__internal_keyless_dismissPrompt:this.#e_.__internal_keyless_dismissPrompt}})})};#eN=(e,t,a)=>{if(!e||!this.loaded||!this.environment||!this.environment.displayConfig)return"";let r=this.#e_[e]||this.environment.displayConfig[e];this.#eO()&&(r=this.#e_.signInUrl);let n=new eC(this.#e_,t).toSearchParams(),i=new URLSearchParams(a||{}),s=ej({base:r,hashPath:this.#eO()&&"signUpUrl"===e?"/create":"",hashSearchParams:[i,n]},{stringify:!0});return this.buildUrlWithAuth(s)};assertComponentsReady(e){if(!e)throw Error("Clerk was not loaded with Ui components")}#e$=async()=>{var e;let t,a,r,n,i=new URLSearchParams(window.location.search).get("redirect_url"),s="production"===this.instanceType,o=null!==i&&(e=this.frontendApi,a=(t=new URL(i,ey)).pathname,r=eE.includes(a)||eI.includes(a),e===t.host&&r);if(s||!o)return!1;let l=this.session,c=this.#e_.signInUrl||this.environment?.displayConfig.signInUrl,u=c&&window.location.href.startsWith(c),d=this.#e_.signUpUrl||this.environment?.displayConfig.signUpUrl,h=d&&window.location.href.startsWith(d);return n=new URL(i,ey),(!eE.includes(n.pathname)||!!l||!u&&!h)&&(await this.navigate(this.buildUrlWithAuth(i)),!0)};#eE=e=>({...nx,...e,allowedRedirectOrigins:function(e,t,a){if(Array.isArray(e)&&e.length)return e;let r=[];return"undefined"!=typeof window&&window.location&&r.push(window.location.origin),r.push(`https://${ex(t)}`),r.push(`https://*.${ex(t)}`),"development"===a&&r.push(`https://${t}`),r}(e?.allowedRedirectOrigins,this.frontendApi,this.instanceType)});#eY=()=>{try{eT(W),eT(eP),eT(K),eT("__clerk_handshake"),eT("__clerk_handshake_nonce"),eT("__clerk_help")}catch{}};get #eB(){let e=eL;return this.#e_.allowedRedirectProtocols&&(e=e.concat(this.#e_.allowedRedirectProtocols)),e}}})();var s=exports;for(var o in i)s[o]=i[o];i.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})();
|