@brightnkhoma/bright-auth-client 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -20,5 +20,5 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
20
20
  }`;function Je({className:e,containerClassName:t,...n}){return(0,l.jsx)(Ge,{"data-slot":`input-otp`,containerClassName:V(`cn-input-otp flex items-center has-disabled:opacity-50`,t),spellCheck:!1,className:V(`disabled:cursor-not-allowed`,e),...n})}function U({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`input-otp-group`,className:V(`flex items-center rounded-lg has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40`,e),...t})}function Ye({index:e,className:t,...n}){let{char:r,hasFakeCaret:i,isActive:a}=c.useContext(We)?.slots[e]??{};return(0,l.jsxs)(`div`,{"data-slot":`input-otp-slot`,"data-active":a,className:V(`relative flex size-8 items-center justify-center border-y border-r border-input text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40`,t),...n,children:[r,i&&(0,l.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,l.jsx)(`div`,{className:`h-4 w-px animate-caret-blink bg-foreground duration-1000`})})]})}function Xe({...e}){return(0,l.jsx)(`div`,{"data-slot":`input-otp-separator`,className:`flex items-center [&_svg:not([class*='size-'])]:size-4`,role:`separator`,...e,children:(0,l.jsx)(u.MinusIcon,{})})}function Ze(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ze(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function Qe(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ze(e))&&(r&&(r+=` `),r+=t);return r}var $e=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,et=Qe,tt=(e,t)=>n=>{if(t?.variants==null)return et(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=$e(t)||$e(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return et(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function nt({className:e,...t}){return(0,l.jsx)(`label`,{"data-slot":`label`,className:V(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function rt(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var it=rt(`https://base-ui.com/production-error`,`Base UI`),at={};function ot(e,t){let n=c.useRef(at);return n.current===at&&(n.current=e(t)),n}function W(e,t,n,r){let i=ot(ct).current;return lt(i,e,t,n,r)&&dt(i,[e,t,n,r]),i.callback}function st(e){let t=ot(ct).current;return ut(t,e)&&dt(t,e),t.callback}function ct(){return{callback:null,cleanup:null,refs:[]}}function lt(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function ut(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function dt(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}var ft=parseInt(c.version,10);function pt(e){return ft>=e}function G(e){if(!c.isValidElement(e))return null;let t=e,n=t.props;return(pt(19)?n?.ref:t.ref)??null}function K(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}var mt;process.env.NODE_ENV!==`production`&&(mt=new Set);function q(e,t){return function(...n){if(process.env.NODE_ENV!==`production`){let r=n.join(` `),i=t?`${t}: ${r}`:r,a=`${e}:${i}`;mt.has(a)||(mt.add(a),e===`warn`?console.warn(i):console.error(i))}}}var ht=q(`warn`,`Base UI`);function J(){}var gt=Object.freeze([]),_t=Object.freeze({});function vt(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function yt(e,t){return typeof e==`function`?e(t):e}function bt(e,t){return typeof e==`function`?e(t):e}var xt={};function St(e,t,n,r,i){if(!n&&!r&&!i&&!e)return wt(t);let a=wt(e);return t&&(a=Tt(a,t)),n&&(a=Tt(a,n)),r&&(a=Tt(a,r)),i&&(a=Tt(a,i)),a}function Ct(e){if(e.length===0)return xt;if(e.length===1)return wt(e[0]);let t=wt(e[0]);for(let n=1;n<e.length;n+=1)t=Tt(t,e[n]);return t}function wt(e){return kt(e)?{...At(e,xt)}:Et(e)}function Tt(e,t){return kt(t)?At(t,e):Dt(e,t)}function Et(e){let t={...e};for(let e in t){let n=t[e];Ot(e,n)&&(t[e]=Mt(n))}return t}function Dt(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=K(e.style,r);break;case`className`:e[n]=Pt(e.className,r);break;default:e[n]=Ot(n,r)?jt(e[n],r):r}}return e}function Ot(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function kt(e){return typeof e==`function`}function At(e,t){return kt(e)?e(t):e??xt}function jt(e,t){return t?e?(...n)=>{let r=n[0];if(Ft(r)){let i=r;Nt(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:Mt(t):e}function Mt(e){return e&&((...t)=>{let n=t[0];return Ft(n)&&Nt(n),e(...t)})}function Nt(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function Pt(e,t){return t?e?t+` `+e:t:e}function Ft(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function It(e,t,n={}){let r=t.render;n.enabled!==!1&&(r=Ht(r));let i=Lt(t,n,r);if(n.enabled===!1)return null;let a=n.state??_t;return Ut(e,r,i,a)}function Lt(e,t,n){let{className:r,style:i}=e,{state:a=_t,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?yt(r,a):void 0,d=l?bt(i,a):void 0,f=l?vt(a,c):_t,p=l&&s?Rt(s):void 0,m=l?K(f,p)??{}:_t;return typeof document<`u`&&(l?m.ref=Array.isArray(o)?st([m.ref,G(n),...o]):W(m.ref,G(n),o):W(null,null)),l?(u!==void 0&&(m.className=Pt(m.className,u)),d!==void 0&&(m.style=K(m.style,d)),m):_t}function Rt(e){return Array.isArray(e)?Ct(e):St(void 0,e)}var zt=Symbol.for(`react.lazy`),Bt=/^[A-Z][A-Za-z0-9$]*$/,Vt=/[a-z]/;function Ht(e){if(e?.$$typeof!==zt)return e;let t=c.Children.toArray(e)[0];return c.isValidElement(t)?t:e}function Ut(e,t,n,r){if(t){if(typeof t==`function`)return process.env.NODE_ENV!==`production`&&Wt(t),t(n,r);let e=St(n,t.props);if(e.ref=n.ref,process.env.NODE_ENV!==`production`&&!c.isValidElement(t))throw Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.","A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.",`https://base-ui.com/r/invalid-render-prop`].join(`
21
21
  `));return c.cloneElement(t,e)}if(e&&typeof e==`string`)return Gt(e,n);throw Error(process.env.NODE_ENV===`production`?it(8):`Base UI: Render element or function are not defined.`)}function Wt(e){let t=e.name;t.length!==0&&Bt.test(t)&&Vt.test(t)&&ht(`The \`render\` prop received a function named \`${t}\` that starts with an uppercase letter.`,"This usually means a React component was passed directly as `render={Component}`.","Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.",`If this is an intentional render callback, rename it to start with a lowercase letter.`,"Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.",`https://base-ui.com/r/invalid-render-prop`)}function Gt(e,t){return e===`button`?(0,c.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,c.createElement)(`img`,{alt:``,...t,key:t.key}):c.createElement(e,t)}function Kt({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`field-group`,className:V(`group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,e),...t})}var qt=tt(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col *:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function Y({className:e,orientation:t=`vertical`,...n}){return(0,l.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:V(qt({orientation:t}),e),...n})}function Jt({className:e,...t}){return(0,l.jsx)(nt,{"data-slot":`field-label`,className:V(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,e),...t})}function Yt({className:e,...t}){return(0,l.jsx)(`p`,{"data-slot":`field-description`,className:V(`text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,e),...t})}function Xt(){return typeof window<`u`}function Zt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Qt(e){return Xt()?e instanceof HTMLElement||e instanceof Zt(e).HTMLElement:!1}var $t={...c},en=$t.useInsertionEffect,tn=en&&en!==$t.useLayoutEffect?en:e=>e();function nn(e){let t=ot(rn).current;return t.next=e,tn(t.effect),t.trampoline}function rn(){let e={next:void 0,callback:an,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function an(){if(process.env.NODE_ENV!==`production`)throw Error(`Base UI: Cannot call an event handler while rendering.`)}var on=q(`error`,`Base UI`),sn=typeof document<`u`?c.useLayoutEffect:()=>{},cn=c.createContext(void 0);process.env.NODE_ENV!==`production`&&(cn.displayName=`CompositeRootContext`);function ln(e=!1){let t=c.useContext(cn);if(t===void 0&&!e)throw Error(process.env.NODE_ENV===`production`?it(16):`Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>.`);return t}function un(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:c.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function dn(e){return e?.ownerDocument||document}function fn(e,t,{detail:n=0}={}){e.dispatchEvent(new(Zt(e)).PointerEvent(`click`,{bubbles:!0,cancelable:!0,composed:!0,detail:n,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey}))}function pn(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:i=!0,composite:a}=e,o=c.useRef(null),s=ln(!0),l=a??s!==void 0,{props:u}=un({focusableWhenDisabled:n,disabled:t,composite:l,tabIndex:r,isNativeButton:i});process.env.NODE_ENV!==`production`&&c.useEffect(()=>{if(!o.current)return;let e=mn(o.current);i?e||on(`A component that acts as a button expected a native <button> because the \`nativeButton\` prop is true. Rendering a non-<button> removes native button semantics, which can impact forms and accessibility. Use a real <button> in the \`render\` prop, or set \`nativeButton\` to \`false\`.${$t.captureOwnerStack?.()||``}`):e&&on(`A component that acts as a button expected a non-<button> because the \`nativeButton\` prop is false. Rendering a <button> keeps native behavior while Base UI applies non-native attributes and handlers, which can add unintended extra attributes (such as \`role\` or \`aria-disabled\`). Use a non-<button> in the \`render\` prop, or set \`nativeButton\` to \`true\`.${$t.captureOwnerStack?.()||``}`)},[i]);let d=c.useCallback(()=>{let e=o.current;mn(e)&&l&&t&&u.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,u.disabled,l]);return sn(d,[d]),{getButtonProps:c.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:a,onKeyDown:o,onPointerDown:s,...c}=e;return St({onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(Nt(e),o?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,r=e.currentTarget,a=mn(r),s=!i&&hn(r),c=n&&(i?a:!s),u=e.key===`Enter`,d=e.key===` `,f=r.getAttribute(`role`),p=f?.startsWith(`menuitem`)||f===`option`||f===`gridcell`;if(n&&l&&d){if(e.defaultPrevented&&p)return;e.preventDefault(),(!i||a)&&(e.preventBaseUIHandler(),fn(r,e));return}if(!c||i||!d&&!u){n&&s&&d&&e.preventDefault();return}e.defaultPrevented||(e.preventDefault(),u&&(e.preventBaseUIHandler(),fn(r,e)))},onKeyUp(e){if(!t){if(Nt(e),a?.(e),e.target===e.currentTarget&&i&&l&&mn(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!i&&!l&&!e.defaultPrevented&&e.key===` `&&(e.preventBaseUIHandler(),fn(e.currentTarget,e))}},onPointerDown(e){if(t){e.preventDefault();return}s?.(e)}},i?{type:`button`}:{role:`button`},u,c)},[t,u,l,i]),buttonRef:nn(e=>{o.current=e,d()})}}function mn(e){return Qt(e)&&e.tagName===`BUTTON`}function hn(e){return Qt(e)&&e.tagName===`A`&&!!e.href}var gn=c.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,focusableWhenDisabled:a=!1,nativeButton:o=!0,style:s,...c}=e,{getButtonProps:l,buttonRef:u}=pn({disabled:i,focusableWhenDisabled:a,native:o});return It(`button`,e,{state:{disabled:i},ref:[t,u],props:[c,l]})});process.env.NODE_ENV!==`production`&&(gn.displayName=`Button`);var _n=tt(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function vn({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,l.jsx)(gn,{"data-slot":`button`,className:V(_n({variant:t,size:n,className:e})),...r})}var yn={title:`Verify your login`,description:e=>(0,l.jsxs)(l.Fragment,{children:[`Enter the verification code we sent to your email address:`,` `,(0,l.jsx)(`span`,{className:`font-medium`,children:e}),`.`]}),codeLabel:`Verification code`,resendIdle:`Resend Code`,resendLoading:`Resending…`,verifyIdle:`Verify`,verifyLoading:`Verifying…`,successMessage:`Code verified. Redirecting…`,lostAccess:`I no longer have access to this email address.`,lostAccessHref:`#`,footer:(0,l.jsxs)(l.Fragment,{children:[`Having trouble signing in?`,` `,(0,l.jsx)(`a`,{href:`#`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Contact support`})]})};function bn({labels:e,children:t,classNames:n={}}){let{form:r,setOtp:i,verififyOTP:a,loading:o,success:s,setSuccess:c,error:d,setError:f,resendOtp:m,isResendingOtp:h}=p(),g=r?.otp,_=r?.email,v={...yn,...e},y=e=>{f(null),c(!1),i(e)},b=async e=>{if(e.preventDefault(),f(null),c(!1),!g||g.length!==6){f(`Please enter the 6-digit verification code.`);return}try{await a()}catch(e){f(e instanceof Error?e.message:`Invalid or expired code.`)}},x=async()=>{await m()},S=typeof s==`string`?s:s?v.successMessage:null,C=`*:data-[slot=input-otp-slot]:h-12 *:data-[slot=input-otp-slot]:w-11 *:data-[slot=input-otp-slot]:text-xl`;return(0,l.jsxs)(xe,{className:[`mx-auto w-full max-w-md border bg-card text-card-foreground shadow-lg`,n.card].filter(Boolean).join(` `),children:[(0,l.jsxs)(Se,{className:[`space-y-1`,n.header].filter(Boolean).join(` `),children:[(0,l.jsx)(Ce,{className:[`text-2xl font-semibold`,n.title].filter(Boolean).join(` `),children:v.title}),(0,l.jsx)(we,{className:n.description,children:typeof v.description==`function`?v.description(_):v.description})]}),(0,l.jsx)(Te,{className:n.content,children:(0,l.jsx)(`form`,{onSubmit:b,id:`otp-form`,children:(0,l.jsxs)(Y,{children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(Jt,{htmlFor:`otp-verification`,className:n.label,children:v.codeLabel}),(0,l.jsxs)(vn,{variant:`outline`,size:`xs`,type:`button`,onClick:x,disabled:h,className:n.resend,children:[(0,l.jsx)(u.RefreshCwIcon,{className:h?`animate-spin`:void 0}),h?v.resendLoading:v.resendIdle]})]}),(0,l.jsxs)(Je,{maxLength:6,id:`otp-verification`,required:!0,value:g??``,onChange:y,containerClassName:`justify-center`,children:[(0,l.jsxs)(U,{className:[C,n.otpGroup].filter(Boolean).join(` `),children:[(0,l.jsx)(Ye,{index:0}),(0,l.jsx)(Ye,{index:1}),(0,l.jsx)(Ye,{index:2})]}),(0,l.jsx)(Xe,{className:[`mx-2`,n.otpSeparator].filter(Boolean).join(` `)}),(0,l.jsxs)(U,{className:[C,n.otpGroup].filter(Boolean).join(` `),children:[(0,l.jsx)(Ye,{index:3}),(0,l.jsx)(Ye,{index:4}),(0,l.jsx)(Ye,{index:5})]})]}),v.lostAccess?(0,l.jsx)(Yt,{children:(0,l.jsx)(`a`,{href:v.lostAccessHref,className:`underline underline-offset-2 hover:opacity-80`,children:v.lostAccess})}):null,d?(0,l.jsx)(`p`,{role:`alert`,className:[`mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,n.error].filter(Boolean).join(` `),children:d}):null,S?(0,l.jsx)(`p`,{role:`status`,className:[`mt-2 rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300`,n.success].filter(Boolean).join(` `),children:S}):null]})})}),(0,l.jsx)(Ee,{className:n.footer,children:(0,l.jsxs)(Y,{children:[(0,l.jsx)(vn,{type:`submit`,form:`otp-form`,disabled:o||(g?.length??0)!==6,className:[`w-full`,n.submit].filter(Boolean).join(` `),children:o?v.verifyLoading:v.verifyIdle}),t,v.footer?(0,l.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:v.footer}):null]})})]})}var xn=`data-valid`,Sn=`data-invalid`,Cn={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},wn={disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},Tn={valid(e){return e===null?null:e?{[xn]:``}:{[Sn]:``}}},En={invalid:void 0,name:void 0,validityData:{state:Cn,errors:[],error:``,value:``,initialValue:null},setValidityData:J,disabled:void 0,setTouched:J,setDirty:J,setFilled:J,setFocused:J,validationMode:`onSubmit`,shouldValidateOnChange:()=>!1,state:wn,registerFieldControl:J,validation:{getValidationProps:(e,t=_t)=>t,inputRef:{current:null},registeredInputs:new Map,registerInput:J,getInputControl:()=>null,commit:async()=>{},change:J}},Dn=c.createContext(En);process.env.NODE_ENV!==`production`&&(Dn.displayName=`FieldRootContext`);function On(e=!0){let t=c.useContext(Dn);if(t.setValidityData===J&&!e)throw Error(process.env.NODE_ENV===`production`?it(28):`Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.`);return t}var kn=c.createContext({elementRef:{current:null},formRef:{current:{fields:new Map}},errors:{},clearErrors:J,validationMode:`onSubmit`,submitCountRef:{current:0}});process.env.NODE_ENV!==`production`&&(kn.displayName=`FormContext`);function An(){return c.useContext(kn)}var jn=0;function Mn(e,t=`mui`){let[n,r]=c.useState(e),i=e||n;return c.useEffect(()=>{n??(jn+=1,r(`${t}-${jn}`))},[n,t]),i}var Nn=$t.useId;function Pn(e,t){if(Nn!==void 0){let n=Nn();return e??(t?`${t}-${n}`:n)}return Mn(e,t)}function Fn(e){return Pn(e,`base-ui`)}var In=c.createContext({controlId:void 0,registerControlId:J,resetControlId:J,labelId:void 0,setLabelId:J,messageIds:[],setMessageIds:J,getDescriptionProps:e=>e});process.env.NODE_ENV!==`production`&&(In.displayName=`LabelableContext`);function Ln(){return c.useContext(In)}function Rn(e={}){let{id:t,enabled:n=!0}=e,{controlId:r,registerControlId:i,resetControlId:a}=Ln(),o=Fn(),s=ot(()=>Symbol()),l=c.useRef(!1),u=c.useRef(!1),d=nn(()=>{l.current&&i!==J&&(l.current=!1,i(s.current,void 0))});return sn(()=>{if(!n||i===J){d();return}let e;if(t!==void 0)u.current=!0,e=t;else if(u.current)e=o;else{a();return}if(e===void 0){d();return}l.current=!0,i(s.current,e)},[t,n,i,a,o,s,d]),sn(()=>d,[d]),(n?r:void 0)??t??o}function zn(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function Bn(e){c.useEffect(e,gt)}var Vn=0,Hn=class e{static create(){return new e}currentId=Vn;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Vn,t()},e)}isStarted(){return this.currentId!==Vn}clear=()=>{this.currentId!==Vn&&(clearTimeout(this.currentId),this.currentId=Vn)};disposeEffect=()=>this.clear};function Un(){let e=ot(Hn.create).current;return Bn(e.disposeEffect),e}function Wn({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=c.useRef(e!==void 0),[a,o]=c.useState(t),s=i&&e!==void 0?e:a;if(process.env.NODE_ENV!==`production`){c.useEffect(()=>{i!==(e!==void 0)&&on([`A component is changing the ${i?``:`un`}controlled ${r} state of ${n} to be ${i?`un`:``}controlled.`,`Elements should not switch from uncontrolled to controlled (or vice versa).`,`Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.",`More info: https://fb.me/react-controlled-components`].join(`
22
22
  `))},[r,n,e]);let{current:a}=c.useRef(t);c.useEffect(()=>{!i&&Gn(a)!==Gn(t)&&on([`A component is changing the default ${r} state of an uncontrolled ${n} after being initialized. To suppress this warning opt to use a controlled ${n}.`].join(`
23
- `))},[t])}return[s,c.useCallback(e=>{i||o(e)},[])]}function Gn(e){let t=0,n=new WeakMap;try{return JSON.stringify(e,function(e,r){if(!(e===`_owner`&&this!=null&&typeof this==`object`&&`$$typeof`in this)){if(typeof r==`bigint`)return`__bigint__:${r}`;if(typeof r==`object`&&r){let e=n.get(r);if(e!==void 0)return`__object__:${e}`;n.set(r,t),t+=1}return r}})??`__top__:${typeof e}`}catch{return`__unserializable__`}}function Kn(e,t,n,r,i=!0,a){let{registerFieldControl:o}=On(),s=ot(()=>Symbol());sn(()=>{let c=s.current;if(!i){o(c,void 0);return}o(c,{controlRef:e,getValue:r,id:t,name:a,value:n})},[e,i,r,t,a,o,s,n]),sn(()=>{let e=s.current;return()=>{o(e,void 0)}},[o,s])}function qn(e,t){let n=c.useRef(e),r=nn(t);sn(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}var Jn=`none`;function Yn(e,t,n,r){let i=!1,a=!1,o=r??_t;return{reason:e,event:t??new Event(`base-ui`),cancel(){i=!0},allowPropagation(){a=!0},get isCanceled(){return i},get isPropagationAllowed(){return a},trigger:n,...o}}var Xn=c.forwardRef(function(e,t){let{render:n,className:r,id:i,name:a,value:o,disabled:s=!1,onValueChange:l,defaultValue:u,autoFocus:d=!1,style:f,...p}=e,{state:m,name:h,disabled:g,setTouched:_,setDirty:v,validityData:y,setFocused:b,setFilled:x,validationMode:S,validation:C}=On(),{clearErrors:w,elementRef:T,submitCountRef:E}=An(),D=g||s,O=h??a,k={...m,disabled:D},{labelId:A}=Ln(),ee=Rn({id:i}),[te]=Wn({controlled:o,default:u,name:`FieldControl`,state:`value`}),j=o!==void 0,M=j?te:void 0,N=M==null?void 0:String(M),P=nn(()=>C.inputRef.current?.value);Kn(C.inputRef,ee,N,P,!D,a),sn(()=>{let e=N??C.inputRef.current?.value;e!==void 0&&x(e!==``)},[N,C.inputRef,x]),qn(N,()=>{N!==void 0&&(w(O),v(N!==(y.initialValue??``)),C.change(N))});let F=c.useRef(null),I=Un();return sn(()=>{d&&F.current===zn(dn(F.current))&&b(!0)},[d,b]),It(`input`,e,{ref:[t,F],state:k,props:[{id:ee,disabled:D,name:O,ref:C.inputRef,"aria-labelledby":A,autoFocus:d,...j?{value:M}:{defaultValue:u},onChange(e){let t=e.currentTarget.value,n=Yn(Jn,e.nativeEvent);l?.(t,n),!j&&(v(t!==(y.initialValue??``)),x(t!==``),!e.nativeEvent.defaultPrevented&&!n.isCanceled&&(w(O),C.change(t)))},onFocus(){b(!0)},onBlur(e){if(_(!0),b(!1),S===`onBlur`){let t=e.currentTarget.value;C.commit(t),j&&queueMicrotask(()=>{let e=C.inputRef.current?.value;e!==void 0&&e!==t&&e!==(y.initialValue??``)&&C.commit(e)})}},onKeyDown(e){if(e.currentTarget.tagName===`INPUT`&&e.key===`Enter`){_(!0);let t=e.currentTarget.value,n=e.currentTarget.form;if(n&&n===T.current&&!e.defaultPrevented){let t=e.currentTarget,n=E.current;I.start(0,()=>{E.current===n&&C.commit(t.value)})}else C.commit(t)}}},p,e=>C.getValidationProps(D,e)],stateAttributesMapping:Tn})});process.env.NODE_ENV!==`production`&&(Xn.displayName=`FieldControl`);var Zn=c.forwardRef(function(e,t){return(0,l.jsx)(Xn,{ref:t,...e})});process.env.NODE_ENV!==`production`&&(Zn.displayName=`Input`);function Qn({className:e,type:t,...n}){return(0,l.jsx)(Zn,{type:t,"data-slot":`input`,className:V(`h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}var $n=()=>void 0,er=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)==56320?(i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},tr=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-65536;t[r++]=String.fromCharCode(55296+(c>>10)),t[r++]=String.fromCharCode(56320+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)},nr={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`,get ENCODED_VALS(){return this.ENCODED_VALS_BASE+`+/=`},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+`-_.`},HAS_NATIVE_SUPPORT:typeof atob==`function`,encodeByteArray(e,t){if(!Array.isArray(e))throw Error(`encodeByteArray takes an array as a parameter`);this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(i&3)<<4|o>>4,d=(o&15)<<2|c>>6,f=c&63;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join(``)},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(er(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):tr(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],a=t<e.length?n[e.charAt(t)]:0;++t;let o=t<e.length?n[e.charAt(t)]:64;++t;let s=t<e.length?n[e.charAt(t)]:64;if(++t,i==null||a==null||o==null||s==null)throw new rr;let c=i<<2|a>>4;if(r.push(c),o!==64){let e=a<<4&240|o>>2;if(r.push(e),s!==64){let e=o<<6&192|s;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},rr=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},ir=function(e){let t=er(e);return nr.encodeByteArray(t,!0)},ar=function(e){return ir(e).replace(/\./g,``)},or=function(e){try{return nr.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function sr(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`Unable to locate global object.`)}var cr=()=>sr().__FIREBASE_DEFAULTS__,lr=()=>{if(typeof process>`u`||process.env===void 0)return;let e=process.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},ur=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&or(e[1]);return t&&JSON.parse(t)},dr=()=>{try{return $n()||cr()||lr()||ur()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},fr=e=>dr()?.[`_${e}`];function X(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function pr(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(X())}function mr(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function hr(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function gr(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function _r(){let e=X();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function vr(){try{return typeof indexedDB==`object`}catch{return!1}}function yr(){return new Promise((e,t)=>{try{let n=!0,r=`validate-browser-context-for-indexeddb-analytics-module`,i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||``)}}catch(e){t(e)}})}var br=`FirebaseError`,xr=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=br,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Sr.prototype.create)}},Sr=class{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?Cr(i,n):`Error`;return new xr(r,`${this.serviceName}: ${a} (${r}).`,n)}};function Cr(e,t){try{let n=0,r=``;for(;n<e.length;){let i=e.indexOf(`{$`,n);if(i===-1){r+=e.substring(n);break}let a=e.indexOf(`}`,i+2);if(a===-1){r+=e.substring(n);break}let o=e.substring(i+2,a),s=t[o];r+=e.substring(n,i)+(s==null?`<${o}?>`:String(s)),n=a+1}return r}catch{return e}}function wr(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Tr(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+`=`+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+`=`+encodeURIComponent(r));return t.length?`&`+t.join(`&`):``}function Er(e,t){let n=new Dr(e,t);return n.subscribe.bind(n)}var Dr=class{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(e===void 0&&t===void 0&&n===void 0)throw Error(`Missing Observer.`);r=Or(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=kr),r.error===void 0&&(r.error=kr),r.complete===void 0&&(r.complete=kr);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch{}}),this.observers.push(r),i}unsubscribeOne(e){this.observers!==void 0&&this.observers[e]!==void 0&&(delete this.observers[e],--this.observerCount,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(e){typeof console<`u`&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}};function Or(e,t){if(typeof e!=`object`||!e)return!1;for(let n of t)if(n in e&&typeof e[n]==`function`)return!0;return!1}function kr(){}function Ar(e){return e&&e._delegate?e._delegate:e}function jr(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}var Mr=class{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=`LAZY`,this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}},Nr=[],Z;(function(e){e[e.DEBUG=0]=`DEBUG`,e[e.VERBOSE=1]=`VERBOSE`,e[e.INFO=2]=`INFO`,e[e.WARN=3]=`WARN`,e[e.ERROR=4]=`ERROR`,e[e.SILENT=5]=`SILENT`})(Z||={});var Pr={debug:Z.DEBUG,verbose:Z.VERBOSE,info:Z.INFO,warn:Z.WARN,error:Z.ERROR,silent:Z.SILENT},Fr=Z.INFO,Ir={[Z.DEBUG]:`log`,[Z.VERBOSE]:`log`,[Z.INFO]:`info`,[Z.WARN]:`warn`,[Z.ERROR]:`error`},Lr=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=Ir[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},Rr=class{constructor(e){this.name=e,this._logLevel=Fr,this._logHandler=Lr,this._userLogHandler=null,Nr.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in Z))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==`string`?Pr[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=`function`)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,Z.DEBUG,...e),this._logHandler(this,Z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,Z.VERBOSE,...e),this._logHandler(this,Z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,Z.INFO,...e),this._logHandler(this,Z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,Z.WARN,...e),this._logHandler(this,Z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,Z.ERROR,...e),this._logHandler(this,Z.ERROR,...e)}},zr=(e,t)=>t.some(t=>e instanceof t),Br,Vr;function Hr(){return Br||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function Ur(){return Vr||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var Wr=new WeakMap,Gr=new WeakMap,Kr=new WeakMap,qr=new WeakMap,Jr=new WeakMap;function Yr(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(ti(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&Wr.set(t,e)}).catch(()=>{}),Jr.set(t,e),t}function Xr(e){if(Gr.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});Gr.set(e,t)}var Zr={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Gr.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||Kr.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ti(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)||t in e}};function Qr(e){Zr=e(Zr)}function $r(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(ni(this),t,...n);return Kr.set(r,t.sort?t.sort():[t]),ti(r)}:Ur().includes(e)?function(...t){return e.apply(ni(this),t),ti(Wr.get(this))}:function(...t){return ti(e.apply(ni(this),t))}}function ei(e){return typeof e==`function`?$r(e):(e instanceof IDBTransaction&&Xr(e),zr(e,Hr())?new Proxy(e,Zr):e)}function ti(e){if(e instanceof IDBRequest)return Yr(e);if(qr.has(e))return qr.get(e);let t=ei(e);return t!==e&&(qr.set(e,t),Jr.set(t,e)),t}var ni=e=>Jr.get(e);function ri(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=ti(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(ti(o.result),e.oldVersion,e.newVersion,ti(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}var ii=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],ai=[`put`,`add`,`delete`,`clear`],oi=new Map;function si(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(oi.get(t))return oi.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=ai.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||ii.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return oi.set(t,a),a}Qr(e=>({...e,get:(t,n,r)=>si(t,n)||e.get(t,n,r),has:(t,n)=>!!si(t,n)||e.has(t,n)}));var ci=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(li(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}return null}).filter(e=>e).join(` `)}};function li(e){return e.getComponent()?.type===`VERSION`}var ui=`@firebase/app`,di=`0.16.3`,fi=new Rr(`@firebase/app`),pi=`@firebase/app-compat`,mi=`@firebase/analytics-compat`,hi=`@firebase/analytics`,gi=`@firebase/app-check-compat`,_i=`@firebase/app-check`,vi=`@firebase/auth`,yi=`@firebase/auth-compat`,bi=`@firebase/database`,xi=`@firebase/data-connect`,Si=`@firebase/database-compat`,Ci=`@firebase/functions`,wi=`@firebase/functions-compat`,Ti=`@firebase/installations`,Ei=`@firebase/installations-compat`,Di=`@firebase/messaging`,Oi=`@firebase/messaging-compat`,ki=`@firebase/performance`,Ai=`@firebase/performance-compat`,ji=`@firebase/remote-config`,Mi=`@firebase/remote-config-compat`,Ni=`@firebase/storage`,Pi=`@firebase/storage-compat`,Fi=`@firebase/firestore`,Ii=`@firebase/ai`,Li=`@firebase/firestore-compat`,Ri=`firebase`,zi=`13.0.0`,Bi={[ui]:`fire-core`,[pi]:`fire-core-compat`,[hi]:`fire-analytics`,[mi]:`fire-analytics-compat`,[_i]:`fire-app-check`,[gi]:`fire-app-check-compat`,[vi]:`fire-auth`,[yi]:`fire-auth-compat`,[bi]:`fire-rtdb`,[xi]:`fire-data-connect`,[Si]:`fire-rtdb-compat`,[Ci]:`fire-fn`,[wi]:`fire-fn-compat`,[Ti]:`fire-iid`,[Ei]:`fire-iid-compat`,[Di]:`fire-fcm`,[Oi]:`fire-fcm-compat`,[ki]:`fire-perf`,[Ai]:`fire-perf-compat`,[ji]:`fire-rc`,[Mi]:`fire-rc-compat`,[Ni]:`fire-gcs`,[Pi]:`fire-gcs-compat`,[Fi]:`fire-fst`,[Li]:`fire-fst-compat`,[Ii]:`fire-vertex`,"fire-js":`fire-js`,[Ri]:`fire-js-all`},Vi=new Map,Hi=new Map,Ui=new Map;function Wi(e,t){try{e.container.addComponent(t)}catch(n){fi.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Gi(e){let t=e.name;if(Ui.has(t))return fi.debug(`There were multiple attempts to register component ${t}.`),!1;Ui.set(t,e);for(let t of Vi.values())Wi(t,e);for(let t of Hi.values())Wi(t,e);return!0}function Ki(e){return e!=null&&e.settings!==void 0}var qi=new Sr(`app`,`Firebase`,{"no-app":`No Firebase App '{$appName}' has been created - call initializeApp() first`,"bad-app-name":`Illegal App name: '{$appName}'`,"duplicate-app":`Firebase App named '{$appName}' already exists with different {$mismatchedParam}. Existing: '{$oldValue}'. New: '{$newValue}'.`,"app-deleted":`Firebase App named '{$appName}' already deleted`,"server-app-deleted":`Firebase Server App has been deleted`,"no-options":`Need to provide options, when not being deployed to hosting via source.`,"invalid-app-argument":`firebase.{$appName}() takes either no argument or a Firebase App instance.`,"invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":`Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.`,"idb-get":`Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.`,"idb-set":`Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.`,"idb-delete":`Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.`,"finalization-registry-not-supported":`FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.`,"invalid-server-app-environment":`FirebaseServerApp is not for use in browser environments.`}),Ji=zi;function Yi(e,t,n){let r=Bi[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push(`and`),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),fi.warn(e.join(` `));return}Gi(new Mr(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var Xi=`firebase-heartbeat-database`,Zi=1,Qi=`firebase-heartbeat-store`,$i=null;function ea(){return $i||=ri(Xi,Zi,{upgrade:(e,t)=>{if(t===0)try{e.createObjectStore(Qi)}catch(e){console.warn(e)}}}).catch(e=>{throw qi.create(`idb-open`,{originalErrorMessage:e.message})}),$i}async function ta(e){try{let t=(await ea()).transaction(Qi),n=await t.objectStore(Qi).get(ra(e));return await t.done,n}catch(e){if(e instanceof xr)fi.warn(e.message);else{let t=qi.create(`idb-get`,{originalErrorMessage:e?.message});fi.warn(t.message)}}}async function na(e,t){try{let n=(await ea()).transaction(Qi,`readwrite`);await n.objectStore(Qi).put(t,ra(e)),await n.done}catch(e){if(e instanceof xr)fi.warn(e.message);else{let t=qi.create(`idb-set`,{originalErrorMessage:e?.message});fi.warn(t.message)}}}function ra(e){return`${e.name}!${e.options.appId}`}var ia=1024,aa=30,oa=class{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider(`app`).getImmediate();this._storage=new la(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider(`platform-logger`).getImmediate().getPlatformInfoString(),t=sa();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>aa){let e=da(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){fi.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=sa(),{heartbeatsToSend:t,unsentEntries:n}=ca(this._heartbeatsCache.heartbeats),r=ar(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return fi.warn(e),``}}};function sa(){return new Date().toISOString().substring(0,10)}function ca(e,t=ia){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(!e){if(n.push({agent:i.agent,dates:[i.date]}),ua(n)>t){n.pop();break}}else if(e.dates.push(i.date),ua(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var la=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return vr()?yr().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await ta(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return na(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return na(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}};function ua(e){return ar(JSON.stringify({version:2,heartbeats:e})).length}function da(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function fa(e){Gi(new Mr(`platform-logger`,e=>new ci(e),`PRIVATE`)),Gi(new Mr(`heartbeat`,e=>new oa(e),`PRIVATE`)),Yi(ui,di,e),Yi(ui,di,`esm2020`),Yi(`fire-js`,``)}fa(``);function pa(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var ma=pa,ha=new Sr(`auth`,`Firebase`,pa()),ga=new Rr(`@firebase/auth`);function _a(e,...t){ga.logLevel<=Z.WARN&&ga.warn(`Auth (${Ji}): ${e}`,...t)}function va(e,...t){ga.logLevel<=Z.ERROR&&ga.error(`Auth (${Ji}): ${e}`,...t)}function ya(e,...t){throw Ca(e,...t)}function Q(e,...t){return Ca(e,...t)}function ba(e,t,n){return new Sr(`auth`,`Firebase`,{...ma(),[t]:n}).create(t,{appName:e.name})}function xa(e){return ba(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function Sa(e,t,n){let r=n;if(!(t instanceof r))throw r.name!==t.constructor.name&&ya(e,`argument-error`),ba(e,`argument-error`,`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function Ca(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return ha.create(e,...t)}function $(e,t,...n){if(!e)throw Ca(t,...n)}function wa(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw va(t),Error(t)}function Ta(e,t){e||wa(t)}function Ea(){return typeof self<`u`&&self.location?.href||``}function Da(){return Oa()===`http:`||Oa()===`https:`}function Oa(){return typeof self<`u`&&self.location?.protocol||null}function ka(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(Da()||hr()||`connection`in navigator)?navigator.onLine:!0}function Aa(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var ja=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,Ta(t>e,`Short delay should be less than long delay!`),this.isMobile=pr()||gr()}get(){return ka()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Ma(e,t){Ta(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var Na=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;wa(`Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;wa(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;wa(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},Pa={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invalid-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},Fa=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Ia=new ja(3e4,6e4);function La(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function Ra(e,t,n,r,i={}){return za(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=Tr({...a,key:e.config.apiKey}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return mr()||(c.referrerPolicy=`strict-origin-when-cross-origin`),e.emulatorConfig&&jr(e.emulatorConfig.host)&&(c.credentials=`include`),Na.fetch()(await Va(e,e.config.apiHost,n,o),c)})}async function za(e,t,n){e._canInitEmulator=!1;let r={...Pa,...t};try{let t=new Ha(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Ua(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw Ua(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Ua(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Ua(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw ba(e,o,n);ya(e,o)}}catch(t){if(t instanceof xr)throw t;ya(e,`network-request-failed`,{message:String(t)})}}async function Ba(e,t,n,r,i={}){let a=await Ra(e,t,n,r,i);return`mfaPendingCredential`in a&&ya(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Va(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Ma(e.config,i):`${e.config.apiScheme}://${i}`;return Fa.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}var Ha=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(Q(this.auth,`network-request-failed`)),Ia.get())})}};function Ua(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=Q(e,t,r);return i.customData._tokenResponse=n,i}async function Wa(e,t){return Ra(e,`POST`,`/v1/accounts:delete`,t)}async function Ga(e,t){return Ra(e,`POST`,`/v1/accounts:lookup`,t)}function Ka(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function qa(e,t=!1){let n=Ar(e),r=await n.getIdToken(t),i=Ya(r);$(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:Ka(Ja(i.auth_time)),issuedAtTime:Ka(Ja(i.iat)),expirationTime:Ka(Ja(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function Ja(e){return Number(e)*1e3}function Ya(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return va(`JWT malformed, contained fewer than 3 sections`),null;try{let e=or(n);return e?JSON.parse(e):(va(`Failed to decode base64 JWT payload`),null)}catch(e){return va(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function Xa(e){let t=Ya(e);return $(t,`internal-error`),$(t.exp!==void 0,`internal-error`),$(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function Za(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof xr&&Qa(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function Qa({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var $a=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},eo=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Ka(this.lastLoginAt),this.creationTime=Ka(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function to(e){let t=e.auth,n=await Za(e,Ga(t,{idToken:await e.getIdToken()}));$(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?io(r.providerUserInfo):[],a=ro(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new eo(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function no(e){let t=Ar(e);await to(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function ro(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function io(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function ao(e,t){let n=await za(e,{},async()=>{let n=Tr({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Va(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&jr(e.emulatorConfig.host)&&(s.credentials=`include`),Na.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function oo(e,t){return Ra(e,`POST`,`/v2/accounts:revokeToken`,La(e,t))}var so=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){$(e.idToken,`internal-error`),$(e.idToken!==void 0,`internal-error`),$(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):Xa(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){$(e.length!==0,`internal-error`);let t=Xa(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:($(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await ao(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&($(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&($(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&($(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return wa(`not implemented`)}};function co(e,t){$(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var lo=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new $a(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new eo(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await Za(this,this.stsTokenManager.getToken(this.auth,e));return $(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return qa(this,e)}reload(){return no(this)}_assign(e){this!==e&&($(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){$(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await to(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Ki(this.auth.app))return Promise.reject(xa(this.auth));let e=await this.getIdToken();return await Za(this,Wa(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:m,stsTokenManager:h}=n;$(d&&h,t,`internal-error`);let g=so.fromJSON(this.name,h);$(typeof d==`string`,t,`internal-error`),co(r,t.name),co(i,t.name),$(typeof f==`boolean`,t,`internal-error`),$(typeof p==`boolean`,t,`internal-error`),co(a,t.name),co(o,t.name),co(s,t.name),co(c,t.name),co(l,t.name),co(u,t.name);let _=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:g,createdAt:l,lastLoginAt:u});return m&&Array.isArray(m)&&(_.providerData=m.map(e=>({...e}))),c&&(_._redirectEventId=c),_}static async _fromIdTokenResponse(t,n,r=!1){let i=new so;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await to(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];$(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:io(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new so;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new eo(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},uo=new Map;function fo(e){Ta(e instanceof Function,`Expected a class definition`);let t=uo.get(e);return t?(Ta(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,uo.set(e,t),t)}var po=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};po.type=`NONE`;var mo=po;function ho(e,t,n){return`firebase:${e}:${t}:${n}`}var go=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=ho(this.userKey,r.apiKey,i),this.fullPersistenceKey=ho(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t);try{this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}catch{}}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await Ga(this.auth,{idToken:e}).catch(()=>void 0);return t?lo._fromGetAccountInfoResponse(this.auth,t,e):null}return lo._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){try{this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}catch{}}static async create(t,n,r=`authUser`){if(!n.length)return new e(fo(mo),t,r);let i=(await Promise.all(n.map(async e=>{try{if(await e._isAvailable())return e}catch{return}}))).filter(e=>e),a=i[0]||fo(mo),o=ho(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await Ga(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await lo._fromGetAccountInfoResponse(t,e,n)}else r=lo._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function _o(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(xo(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(vo(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(Co(t))return`Blackberry`;if(wo(t))return`Webos`;if(yo(t))return`Safari`;if((t.includes(`chrome/`)||bo(t))&&!t.includes(`edge/`))return`Chrome`;if(So(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function vo(e=X()){return/firefox\//i.test(e)}function yo(e=X()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function bo(e=X()){return/crios\//i.test(e)}function xo(e=X()){return/iemobile/i.test(e)}function So(e=X()){return/android/i.test(e)}function Co(e=X()){return/blackberry/i.test(e)}function wo(e=X()){return/webos/i.test(e)}function To(e=X()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function Eo(e=X()){return To(e)&&!!window.navigator?.standalone}function Do(){return _r()&&document.documentMode===10}function Oo(e=X()){return To(e)||So(e)||wo(e)||Co(e)||/windows phone/i.test(e)||xo(e)}function ko(e,t=[]){let n;switch(e){case`Browser`:n=_o(X());break;case`Worker`:n=`${_o(X())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Ji}/${r}`}var Ao=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function jo(e,t={}){return Ra(e,`GET`,`/v2/passwordPolicy`,La(e,t))}var Mo=6,No=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Mo,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},Po=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Io(this),this.idTokenSubscription=new Io(this),this.beforeStateQueue=new Ao(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=ha,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=fo(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted){try{this.persistenceManager=await go.create(this,e)}catch(e){_a(`Failed to initialize persistence: ${e}`),this.persistenceManager=await go.create(this,[])}finally{this._resolvePersistenceManagerAvailable?.()}if(!this._deleted){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}try{await this.initializeCurrentUser(t)}catch(e){_a(`Failed to initialize current user: ${e}`),await this.directlySetCurrentUser(null).catch(()=>{})}this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await Ga(this,{idToken:e}),n=await lo._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Ki(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return $(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await to(e)}catch(e){let t=e?.code;if(t!==`auth/network-request-failed`&&t!==`auth/too-many-requests`&&!t?.startsWith(`auth/quota-exceeded`))return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Aa()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Ki(this.app))return Promise.reject(xa(this));let t=e?Ar(e):null;return t&&$(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&$(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Ki(this.app)?Promise.reject(xa(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Ki(this.app)?Promise.reject(xa(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(fo(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new No(await jo(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new Sr(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await oo(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&fo(e)||this._popupRedirectResolver;$(t,this,`argument-error`),this.redirectPersistenceManager=await go.create(this,[fo(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if($(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}).catch(e=>{if(!a){if(typeof t!=`function`&&t.error)t.error(e);else if(n)n(e);else throw e}}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){if(this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,this.persistenceManager)try{e?await this.persistenceManager.setCurrentUser(e):await this.persistenceManager.removeCurrentUser()}catch(e){let t=e?.message||String(e),n=ba(this,`internal-error`,`An internal AuthError has occurred: ${t}`);throw n.customData={originalError:e},n}}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return $(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ko(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(Ki(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&_a(`Error while retrieving App Check token: ${e.error}`),e?.token}};function Fo(e){return Ar(e)}var Io=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=Er(e=>this.observer=e)}get next(){return $(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},Lo={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function Ro(e){Lo=e}function zo(e){return Lo.loadJS(e)}function Bo(){return Lo.gapiScript}function Vo(e){return`__${e}${Math.floor(Math.random()*1e6)}`}function Ho(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(fo);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}var Uo=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return wa(`not implemented`)}_getIdTokenResponse(e){return wa(`not implemented`)}_linkToIdToken(e,t){return wa(`not implemented`)}_getReauthenticationResolver(e){return wa(`not implemented`)}};async function Wo(e,t){return Ba(e,`POST`,`/v1/accounts:signInWithIdp`,La(e,t))}var Go=`http://localhost`,Ko=class e extends Uo{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pendingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):ya(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return Wo(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,Wo(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,Wo(e,t)}buildRequest(){let e={requestUri:Go,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=Tr(t)}return e}},qo=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},Jo=class extends qo{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},Yo=class e extends Jo{constructor(){super(`facebook.com`)}static credential(t){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Yo.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,Yo.PROVIDER_ID=`facebook.com`;var Xo=class e extends Jo{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};Xo.GOOGLE_SIGN_IN_METHOD=`google.com`,Xo.PROVIDER_ID=`google.com`;var Zo=class e extends Jo{constructor(){super(`github.com`)}static credential(t){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Zo.GITHUB_SIGN_IN_METHOD=`github.com`,Zo.PROVIDER_ID=`github.com`;var Qo=class e extends Jo{constructor(){super(`twitter.com`)}static credential(t,n){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Qo.TWITTER_SIGN_IN_METHOD=`twitter.com`,Qo.PROVIDER_ID=`twitter.com`;var $o=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){let a=await lo._fromIdTokenResponse(t,r,i),o=es(r);return new e({user:a,providerId:o,_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){await t._updateTokensIfNecessary(r,!0);let i=es(r);return new e({user:t,providerId:i,_tokenResponse:r,operationType:n})}};function es(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var ts=class e extends xr{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function ns(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?ts._fromErrorAndOperation(e,n,t,r):n})}async function rs(e,t,n=!1){let r=await Za(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return $o._forOperation(e,`link`,r)}async function is(e,t,n=!1){let{auth:r}=e;if(Ki(r.app))return Promise.reject(xa(r));let i=`reauthenticate`;try{let a=await Za(e,ns(r,i,t,e),n);$(a.idToken,r,`internal-error`);let o=Ya(a.idToken);$(o,r,`internal-error`);let{sub:s}=o;return $(e.uid===s,r,`user-mismatch`),$o._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&ya(r,`user-mismatch`),e}}async function as(e,t,n=!1){if(Ki(e.app))return Promise.reject(xa(e));let r=`signIn`,i=await ns(e,r,t),a=await $o._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}var os=`__sak`,ss=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(os,`1`),this.storage.removeItem(os),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},cs=1e3,ls=10,us=class extends ss{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Oo(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);(t||this.localCache[n]!==e)&&this.notifyListeners(n,e)},i=this.storage.getItem(n);Do()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,ls):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},cs)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};us.type=`LOCAL`;var ds=class extends ss{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};ds.type=`SESSION`;var fs=ds;function ps(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}function ms(){return window}function hs(e){ms().location.href=e}Vo(`rcb`),new ja(3e4,6e4);function gs(e,t){return t?fo(t):($(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var _s=class extends Uo{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return Wo(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Wo(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Wo(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function vs(e){return as(e.auth,new _s(e),e.bypassAuthState)}function ys(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),is(n,new _s(e),e.bypassAuthState)}async function bs(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),rs(n,new _s(e),e.bypassAuthState)}var xs=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return vs;case`linkViaPopup`:case`linkViaRedirect`:return bs;case`reauthViaPopup`:case`reauthViaRedirect`:return ys;default:ya(this.auth,`internal-error`)}}resolve(e){Ta(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){Ta(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},Ss=new ja(2e3,1e4);async function Cs(e,t,n){if(Ki(e.app))return Promise.reject(Q(e,`operation-not-supported-in-this-environment`));let r=Fo(e);return Sa(e,t,qo),new ws(r,`signInViaPopup`,t,gs(r,n)).executeNotNull()}var ws=class e extends xs{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return $(e,this.auth,`internal-error`),e}async onExecution(){Ta(this.filter.length===1,`Popup operations only handle one event`);let e=ps();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(Q(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(Q(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(Q(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,Ss.get())};e()}};ws.currentPopupAction=null;var Ts=`pendingRedirect`,Es=new Map,Ds=class extends xs{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=Es.get(this.auth._key());if(!e){try{let t=await Os(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}Es.set(this.auth._key(),e)}return this.bypassAuthState||Es.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function Os(e,t){let n=js(t),r=As(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function ks(e,t){Es.set(e._key(),t)}function As(e){return fo(e._redirectPersistence)}function js(e){return ho(Ts,e.config.apiKey,e.name)}async function Ms(e,t,n=!1){if(Ki(e.app))return Promise.reject(xa(e));let r=Fo(e),i=await new Ds(r,gs(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var Ns=6e5,Ps=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!Ls(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!Is(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(Q(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=Ns&&this.cachedEventUids.clear(),this.cachedEventUids.has(Fs(e))}saveEventToCache(e){this.cachedEventUids.add(Fs(e)),this.lastProcessedEventTime=Date.now()}};function Fs(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function Is({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function Ls(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return Is(e);default:return!1}}async function Rs(e,t={}){return Ra(e,`GET`,`/v1/projects`,t)}var zs=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Bs=/^https?/;async function Vs(e){if(e.config.emulator)return;let{authorizedDomains:t}=await Rs(e);for(let e of t)try{if(Hs(e))return}catch{}ya(e,`unauthorized-domain`)}function Hs(e){let t=Ea(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!Bs.test(n))return!1;if(zs.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var Us=new ja(3e4,6e4);function Ws(){let e=ms().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function Gs(e){return new Promise((t,n)=>{function r(){Ws(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Ws(),n(Q(e,`network-request-failed`))},timeout:Us.get()})}if(ms().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(ms().gapi?.load)r();else{let t=Vo(`iframefcb`);return ms()[t]=()=>{gapi.load?r():n(Q(e,`network-request-failed`))},zo(`${Bo()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw Ks=null,e})}var Ks=null;function qs(e){return Ks||=Gs(e),Ks}var Js=new ja(5e3,15e3),Ys=`__/auth/iframe`,Xs=`emulator/auth/iframe`,Zs={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},Qs=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function $s(e){let t=e.config;$(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Ma(t,Xs):`https://${e.config.authDomain}/${Ys}`,r={apiKey:t.apiKey,appName:e.name,v:Ji},i=Qs.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${Tr(r).slice(1)}`}async function ec(e){let t=await qs(e),n=ms().gapi;return $(n,e,`internal-error`),t.open({where:document.body,url:$s(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:Zs,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=Q(e,`network-request-failed`),a=ms().setTimeout(()=>{r(i)},Js.get());function o(){ms().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var tc={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},nc=500,rc=600,ic=`_blank`,ac=`http://localhost`,oc=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function sc(e,t,n,r=nc,i=rc){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...tc,width:r.toString(),height:i.toString(),top:a,left:o},l=X().toLowerCase();n&&(s=bo(l)?ic:n),vo(l)&&(t||=ac,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(Eo(l)&&s!==`_self`)return cc(t||``,s),new oc(null);let d=window.open(t||``,s,u);$(d,e,`popup-blocked`);try{d.focus()}catch{}return new oc(d)}function cc(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var lc=`__/auth/handler`,uc=`emulator/auth/handler`,dc=`fac`;async function fc(e,t,n,r,i,a){$(e.config.authDomain,e,`auth-domain-config-required`),$(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Ji,eventId:i};if(t instanceof qo){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,wr(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof Jo){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let c=await e._getAppCheckToken(),l=c?`#${dc}=${encodeURIComponent(c)}`:``;return`${pc(e)}?${Tr(s).slice(1)}${l}`}function pc({config:e}){return e.emulator?Ma(e,uc):`https://${e.authDomain}/${lc}`}var mc=`webStorageSupport`,hc=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=fs,this._completeRedirectFn=Ms,this._overrideRedirectResult=ks}async _openPopup(e,t,n,r){return Ta(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),sc(e,await fc(e,t,n,Ea(),r),ps())}async _openRedirect(e,t,n,r){return await this._originValidation(e),hs(await fc(e,t,n,Ea(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(Ta(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await ec(e),n=new Ps(e);return t.register(`authEvent`,t=>($(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(mc,{type:mc},n=>{let r=n?.[0]?.[mc];r!==void 0&&t(!!r),ya(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Vs(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Oo()||yo()||To()}},gc=`@firebase/auth`,_c=`1.13.7`,vc=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){$(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function yc(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function bc(e){Gi(new Mr(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;$(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Po(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:ko(e)});return Ho(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Gi(new Mr(`auth-internal`,e=>(e=>new vc(e))(Fo(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),Yi(gc,_c,yc(e)),Yi(gc,_c,`esm2020`)}fr(`authIdTokenMaxAge`);function xc(){return document.getElementsByTagName(`head`)?.[0]??document}Ro({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=Q(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,xc().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),bc(`Browser`);var Sc=({auth:e,label:t=`Continue with Google`,loadingLabel:n=`Connecting to Google…`,className:r,hideIcon:i=!1})=>{let a=(0,c.useMemo)(()=>new Xo,[]),{setIsLoggingIn:o,isLogingIn:s,setError:u,loginWithGoogle:d}=p(),f=(0,c.useCallback)(async()=>{if(!s)try{o(!0),u(``);let t=await(await Cs(e,a,hc)).user.getIdToken();await d(t)}catch(e){console.error(`Google sign-in failed:`,e),u(e instanceof Error?e.message:`Google login failed. Please try again.`)}finally{o(!1)}},[e,a,s,o,u]);return(0,l.jsx)(`button`,{type:`button`,onClick:f,disabled:s,"aria-busy":s,className:V(`inline-flex w-full items-center justify-center gap-2`,`h-9 px-4 py-2`,`rounded-md border`,`border-input bg-background text-foreground`,`hover:bg-accent hover:text-accent-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`text-sm font-medium`,`transition-colors`,`disabled:pointer-events-none disabled:opacity-50`,r),children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(wc,{}),(0,l.jsx)(`span`,{children:n})]}):(0,l.jsxs)(l.Fragment,{children:[!i&&(0,l.jsx)(Cc,{}),(0,l.jsx)(`span`,{children:t})]})})};function Cc({className:e}){return(0,l.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`18`,height:`18`,viewBox:`0 0 48 48`,"aria-hidden":`true`,className:V(`shrink-0`,e),children:[(0,l.jsx)(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 3.1 13.22l7.98 6.19C13 13.72 18.11 9.5 24 9.5Z`}),(0,l.jsx)(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.77 7.18l7.73 6C44.4 37.95 46.98 31.78 46.98 24.55Z`}),(0,l.jsx)(`path`,{fill:`#FBBC05`,d:`M10.08 28.59A14.4 14.4 0 0 1 9.3 24c0-1.59.27-3.13.76-4.59l-7.98-6.19A23.9 23.9 0 0 0 0 24c0 3.87.93 7.52 2.58 10.78l7.5-6.19Z`}),(0,l.jsx)(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.9-5.8l-7.73-6c-2.14 1.44-4.87 2.3-8.17 2.3-5.89 0-10.9-3.98-12.7-9.32l-7.5 6.19C7.22 43.4 15.02 48 24 48Z`})]})}function wc({className:e}){return(0,l.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,className:V(`shrink-0 animate-spin`,e),children:[(0,l.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`,className:`opacity-25`}),(0,l.jsx)(`path`,{fill:`currentColor`,className:`opacity-75`,d:`M4 12a8 8 0 0 1 8-8v4a4 4 0 0 0-4 4H4z`})]})}var Tc={title:`Login to your account`,description:`Enter your email below to login to your account`,emailLabel:`Email`,emailPlaceholder:`m@example.com`,passwordLabel:`Password`,forgotPassword:`Forgot your password?`,forgotPasswordHref:`#`,submitIdle:`Login`,submitLoading:`Logging in…`,successMessage:`Logged in successfully.`,footerHref:`/auth/signup`,footer:(0,l.jsxs)(l.Fragment,{children:[`Don't have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/signup`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign up`})]})};function Ec({className:e,labels:t,children:n,classNames:r={},auth:i,...a}){let[o,s]=(0,c.useState)({email:``,password:``}),{isLogingIn:u,login:d,error:f,success:m,setSuccess:h}=p(),g={...Tc,...t},_=e=>{s(t=>({...t,[e.target.id]:e.target.value}))},v=async e=>{e.preventDefault(),h(!1),await d(o)};(0,c.useEffect)(()=>{h(!1)},[h]);let y=typeof m==`string`?m:m?g.successMessage:null;return(0,l.jsx)(`div`,{className:V(`flex flex-col gap-6`,e,r.root),...a,children:(0,l.jsxs)(xe,{className:[`w-full border bg-card text-card-foreground shadow-lg`,r.card].filter(Boolean).join(` `),children:[(0,l.jsxs)(Se,{className:[`space-y-1`,r.header].filter(Boolean).join(` `),children:[(0,l.jsx)(Ce,{className:[`text-2xl font-semibold`,r.title].filter(Boolean).join(` `),children:g.title}),(0,l.jsx)(we,{className:r.description,children:g.description})]}),(0,l.jsx)(Te,{className:r.content,children:(0,l.jsx)(`form`,{onSubmit:v,noValidate:!0,children:(0,l.jsxs)(Kt,{children:[(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`login-email`,className:r.label,children:g.emailLabel}),(0,l.jsx)(Qn,{id:`email`,name:`email`,type:`email`,placeholder:g.emailPlaceholder,required:!0,autoComplete:`email`,value:o.email,onChange:_,className:r.input})]}),(0,l.jsxs)(Y,{children:[(0,l.jsxs)(`div`,{className:`flex items-center`,children:[(0,l.jsx)(Jt,{htmlFor:`password`,className:r.label,children:g.passwordLabel}),g.forgotPassword?(0,l.jsx)(`a`,{href:g.forgotPasswordHref,className:[`ml-auto inline-block text-sm underline underline-offset-4 hover:opacity-80`,r.forgotPassword].filter(Boolean).join(` `),children:g.forgotPassword}):null]}),(0,l.jsx)(Qn,{id:`password`,name:`password`,type:`password`,required:!0,autoComplete:`current-password`,value:o.password,onChange:_,className:r.input})]}),f?(0,l.jsx)(`p`,{role:`alert`,className:[`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,r.error].filter(Boolean).join(` `),children:f}):null,y?(0,l.jsx)(`p`,{role:`status`,className:[`rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300`,r.success].filter(Boolean).join(` `),children:y}):null,(0,l.jsxs)(Y,{children:[(0,l.jsx)(vn,{type:`submit`,disabled:u,className:[`w-full`,r.submit].filter(Boolean).join(` `),children:u?g.submitLoading:g.submitIdle}),i&&(0,l.jsx)(Sc,{auth:i}),n,g.footer?(0,l.jsx)(Yt,{className:[`text-center`,r.footer].filter(Boolean).join(` `),children:g.footer}):null]})]})})})]})})}var Dc={title:`Create an account`,description:`Enter your information below to create your account`,nameLabel:`Full Name`,namePlaceholder:`Your name`,emailLabel:`Email`,emailPlaceholder:`m@example.com`,emailHint:`We'll use this to contact you. We will not share your email with anyone else.`,passwordLabel:`Password`,passwordHint:`Must be at least 8 characters long.`,confirmPasswordLabel:`Confirm Password`,confirmPasswordHint:`Please confirm your password.`,submitIdle:`Create Account`,submitLoading:`Creating account…`,successMessage:`Account created successfully. You can now sign in.`,footer:(0,l.jsxs)(l.Fragment,{children:[`Already have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/login`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign in`})]})};function Oc({labels:e,children:t,classNames:n={},auth:r,...i}){let{confirmPassword:a,error:o,form:s,handleChange:c,loading:u,onSignUp:d,setConfirmPassword:f,success:m}=p(),h={...Dc,...e},g=typeof m==`string`?m:m?h.successMessage:null;return(0,l.jsxs)(xe,{className:[`w-full max-w-md border bg-card text-card-foreground shadow-lg`,n.root].filter(Boolean).join(` `),...i,children:[(0,l.jsxs)(Se,{className:[`space-y-1`,n.header].filter(Boolean).join(` `),children:[(0,l.jsx)(Ce,{className:[`text-2xl font-semibold`,n.title].filter(Boolean).join(` `),children:h.title}),(0,l.jsx)(we,{className:n.description,children:h.description})]}),(0,l.jsx)(Te,{className:n.content,children:(0,l.jsx)(`form`,{onSubmit:d,noValidate:!0,children:(0,l.jsxs)(Kt,{children:[(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-name`,className:n.label,children:h.nameLabel}),(0,l.jsx)(Qn,{id:`name`,name:`name`,type:`text`,placeholder:h.namePlaceholder,required:!0,value:s.name,onChange:c,autoComplete:`name`,className:n.input})]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-email`,className:n.label,children:h.emailLabel}),(0,l.jsx)(Qn,{id:`email`,name:`email`,type:`email`,placeholder:h.emailPlaceholder,required:!0,value:s.email,onChange:c,autoComplete:`email`,className:n.input}),h.emailHint?(0,l.jsx)(Yt,{children:h.emailHint}):null]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-password`,className:n.label,children:h.passwordLabel}),(0,l.jsx)(Qn,{id:`password`,name:`password`,type:`password`,required:!0,value:s.password,onChange:c,autoComplete:`new-password`,className:n.input}),h.passwordHint?(0,l.jsx)(Yt,{children:h.passwordHint}):null]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-confirm-password`,className:n.label,children:h.confirmPasswordLabel}),(0,l.jsx)(Qn,{id:`signup-confirm-password`,name:`confirmPassword`,type:`password`,required:!0,value:a,onChange:e=>f(e.target.value),autoComplete:`new-password`,className:n.input}),h.confirmPasswordHint?(0,l.jsx)(Yt,{children:h.confirmPasswordHint}):null]}),o?(0,l.jsx)(`p`,{role:`alert`,className:[`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,n.error].filter(Boolean).join(` `),children:o}):null,g?(0,l.jsx)(`p`,{role:`status`,className:[`rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300`,n.success].filter(Boolean).join(` `),children:g}):null,(0,l.jsx)(Kt,{children:(0,l.jsxs)(Y,{children:[(0,l.jsx)(vn,{type:`submit`,disabled:u,className:[`w-full`,n.submit].filter(Boolean).join(` `),children:u?h.submitLoading:h.submitIdle}),r&&(0,l.jsx)(Sc,{auth:r}),t,h.footer?(0,l.jsx)(Yt,{className:[`px-6 text-center`,n.footer].filter(Boolean).join(` `),children:h.footer}):null]})})]})})})]})}var kc=[`login`,`signup`,`verify`,`forgot`,`reset`],Ac=`login`;function jc(e){let t=Array.isArray(e)?e[0]:e;if(!t)return Ac;let n=t.toLowerCase();return kc.includes(n)?n:Ac}function Mc({useSearchParams:e,useParams:t,useRouter:n,_auth:r}){let i=t(),a=e(),o=n(),s=jc(i?.auth),u=a?.get(`redirect`)??`/`,d=a?.get(`email`)??void 0,{success:f,setError:m,setSuccess:h,form:g}=p(),_=!!f&&(s===`login`||s===`verify`);return c.useEffect(()=>{if(!_)return;let e=setTimeout(()=>{o.replace(u)},800);return()=>clearTimeout(e)},[_,u,o]),c.useEffect(()=>{m?.(null),h?.(!1)},[s,m,h]),(0,l.jsx)(`main`,{className:`flex min-h-svh w-full items-center justify-center bg-background p-4 sm:p-6`,children:(0,l.jsxs)(`div`,{className:`w-full max-w-md`,children:[s===`login`&&(0,l.jsx)(Ec,{auth:r,labels:{footer:(0,l.jsxs)(l.Fragment,{children:[`Don't have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/signup?redirect=${encodeURIComponent(u)}`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign up`})]}),forgotPasswordHref:`/auth/forgot?email=${encodeURIComponent(g?.email??``)}`}}),s===`signup`&&(0,l.jsx)(Oc,{auth:r,labels:{footer:(0,l.jsxs)(l.Fragment,{children:[`Already have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/login?redirect=${encodeURIComponent(u)}`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign in`})]})}}),s===`verify`&&(0,l.jsx)(bn,{labels:{description:e=>(0,l.jsxs)(l.Fragment,{children:[`Enter the verification code we sent to`,` `,(0,l.jsx)(`span`,{className:`font-medium`,children:e??d??`your email`}),`.`]})}}),s===`forgot`&&(0,l.jsx)(Nc,{}),s===`reset`&&(0,l.jsx)(Pc,{})]})})}function Nc(){return(0,l.jsxs)(`div`,{className:`rounded-lg border bg-card p-6 text-card-foreground shadow-lg`,children:[(0,l.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Reset your password`}),(0,l.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Forgot-password flow coming soon.`})]})}function Pc(){return(0,l.jsxs)(`div`,{className:`rounded-lg border bg-card p-6 text-card-foreground shadow-lg`,children:[(0,l.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Set a new password`}),(0,l.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Reset-password flow coming soon.`})]})}exports.AuthClient=Mc,exports.InputOTPForm=bn,exports.LoginForm=Ec,exports.SignupForm=Oc,exports.TagAuthProvider=m,exports.createAppContext=d,exports.useTagAuth=p;
23
+ `))},[t])}return[s,c.useCallback(e=>{i||o(e)},[])]}function Gn(e){let t=0,n=new WeakMap;try{return JSON.stringify(e,function(e,r){if(!(e===`_owner`&&this!=null&&typeof this==`object`&&`$$typeof`in this)){if(typeof r==`bigint`)return`__bigint__:${r}`;if(typeof r==`object`&&r){let e=n.get(r);if(e!==void 0)return`__object__:${e}`;n.set(r,t),t+=1}return r}})??`__top__:${typeof e}`}catch{return`__unserializable__`}}function Kn(e,t,n,r,i=!0,a){let{registerFieldControl:o}=On(),s=ot(()=>Symbol());sn(()=>{let c=s.current;if(!i){o(c,void 0);return}o(c,{controlRef:e,getValue:r,id:t,name:a,value:n})},[e,i,r,t,a,o,s,n]),sn(()=>{let e=s.current;return()=>{o(e,void 0)}},[o,s])}function qn(e,t){let n=c.useRef(e),r=nn(t);sn(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}var Jn=`none`;function Yn(e,t,n,r){let i=!1,a=!1,o=r??_t;return{reason:e,event:t??new Event(`base-ui`),cancel(){i=!0},allowPropagation(){a=!0},get isCanceled(){return i},get isPropagationAllowed(){return a},trigger:n,...o}}var Xn=c.forwardRef(function(e,t){let{render:n,className:r,id:i,name:a,value:o,disabled:s=!1,onValueChange:l,defaultValue:u,autoFocus:d=!1,style:f,...p}=e,{state:m,name:h,disabled:g,setTouched:_,setDirty:v,validityData:y,setFocused:b,setFilled:x,validationMode:S,validation:C}=On(),{clearErrors:w,elementRef:T,submitCountRef:E}=An(),D=g||s,O=h??a,k={...m,disabled:D},{labelId:A}=Ln(),ee=Rn({id:i}),[te]=Wn({controlled:o,default:u,name:`FieldControl`,state:`value`}),j=o!==void 0,M=j?te:void 0,N=M==null?void 0:String(M),P=nn(()=>C.inputRef.current?.value);Kn(C.inputRef,ee,N,P,!D,a),sn(()=>{let e=N??C.inputRef.current?.value;e!==void 0&&x(e!==``)},[N,C.inputRef,x]),qn(N,()=>{N!==void 0&&(w(O),v(N!==(y.initialValue??``)),C.change(N))});let F=c.useRef(null),I=Un();return sn(()=>{d&&F.current===zn(dn(F.current))&&b(!0)},[d,b]),It(`input`,e,{ref:[t,F],state:k,props:[{id:ee,disabled:D,name:O,ref:C.inputRef,"aria-labelledby":A,autoFocus:d,...j?{value:M}:{defaultValue:u},onChange(e){let t=e.currentTarget.value,n=Yn(Jn,e.nativeEvent);l?.(t,n),!j&&(v(t!==(y.initialValue??``)),x(t!==``),!e.nativeEvent.defaultPrevented&&!n.isCanceled&&(w(O),C.change(t)))},onFocus(){b(!0)},onBlur(e){if(_(!0),b(!1),S===`onBlur`){let t=e.currentTarget.value;C.commit(t),j&&queueMicrotask(()=>{let e=C.inputRef.current?.value;e!==void 0&&e!==t&&e!==(y.initialValue??``)&&C.commit(e)})}},onKeyDown(e){if(e.currentTarget.tagName===`INPUT`&&e.key===`Enter`){_(!0);let t=e.currentTarget.value,n=e.currentTarget.form;if(n&&n===T.current&&!e.defaultPrevented){let t=e.currentTarget,n=E.current;I.start(0,()=>{E.current===n&&C.commit(t.value)})}else C.commit(t)}}},p,e=>C.getValidationProps(D,e)],stateAttributesMapping:Tn})});process.env.NODE_ENV!==`production`&&(Xn.displayName=`FieldControl`);var Zn=c.forwardRef(function(e,t){return(0,l.jsx)(Xn,{ref:t,...e})});process.env.NODE_ENV!==`production`&&(Zn.displayName=`Input`);function Qn({className:e,type:t,...n}){return(0,l.jsx)(Zn,{type:t,"data-slot":`input`,className:V(`h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}var $n=()=>void 0,er=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)==56320?(i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},tr=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-65536;t[r++]=String.fromCharCode(55296+(c>>10)),t[r++]=String.fromCharCode(56320+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)},nr={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`,get ENCODED_VALS(){return this.ENCODED_VALS_BASE+`+/=`},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+`-_.`},HAS_NATIVE_SUPPORT:typeof atob==`function`,encodeByteArray(e,t){if(!Array.isArray(e))throw Error(`encodeByteArray takes an array as a parameter`);this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(i&3)<<4|o>>4,d=(o&15)<<2|c>>6,f=c&63;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join(``)},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(er(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):tr(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],a=t<e.length?n[e.charAt(t)]:0;++t;let o=t<e.length?n[e.charAt(t)]:64;++t;let s=t<e.length?n[e.charAt(t)]:64;if(++t,i==null||a==null||o==null||s==null)throw new rr;let c=i<<2|a>>4;if(r.push(c),o!==64){let e=a<<4&240|o>>2;if(r.push(e),s!==64){let e=o<<6&192|s;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},rr=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},ir=function(e){let t=er(e);return nr.encodeByteArray(t,!0)},ar=function(e){return ir(e).replace(/\./g,``)},or=function(e){try{return nr.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function sr(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`Unable to locate global object.`)}var cr=()=>sr().__FIREBASE_DEFAULTS__,lr=()=>{if(typeof process>`u`||process.env===void 0)return;let e=process.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},ur=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&or(e[1]);return t&&JSON.parse(t)},dr=()=>{try{return $n()||cr()||lr()||ur()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},fr=e=>dr()?.[`_${e}`];function X(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function pr(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(X())}function mr(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function hr(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function gr(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function _r(){let e=X();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function vr(){try{return typeof indexedDB==`object`}catch{return!1}}function yr(){return new Promise((e,t)=>{try{let n=!0,r=`validate-browser-context-for-indexeddb-analytics-module`,i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||``)}}catch(e){t(e)}})}var br=`FirebaseError`,xr=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=br,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Sr.prototype.create)}},Sr=class{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?Cr(i,n):`Error`;return new xr(r,`${this.serviceName}: ${a} (${r}).`,n)}};function Cr(e,t){try{let n=0,r=``;for(;n<e.length;){let i=e.indexOf(`{$`,n);if(i===-1){r+=e.substring(n);break}let a=e.indexOf(`}`,i+2);if(a===-1){r+=e.substring(n);break}let o=e.substring(i+2,a),s=t[o];r+=e.substring(n,i)+(s==null?`<${o}?>`:String(s)),n=a+1}return r}catch{return e}}function wr(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Tr(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+`=`+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+`=`+encodeURIComponent(r));return t.length?`&`+t.join(`&`):``}function Er(e,t){let n=new Dr(e,t);return n.subscribe.bind(n)}var Dr=class{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(e===void 0&&t===void 0&&n===void 0)throw Error(`Missing Observer.`);r=Or(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=kr),r.error===void 0&&(r.error=kr),r.complete===void 0&&(r.complete=kr);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch{}}),this.observers.push(r),i}unsubscribeOne(e){this.observers!==void 0&&this.observers[e]!==void 0&&(delete this.observers[e],--this.observerCount,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(e){typeof console<`u`&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}};function Or(e,t){if(typeof e!=`object`||!e)return!1;for(let n of t)if(n in e&&typeof e[n]==`function`)return!0;return!1}function kr(){}function Ar(e){return e&&e._delegate?e._delegate:e}function jr(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}var Mr=class{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=`LAZY`,this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}},Nr=[],Z;(function(e){e[e.DEBUG=0]=`DEBUG`,e[e.VERBOSE=1]=`VERBOSE`,e[e.INFO=2]=`INFO`,e[e.WARN=3]=`WARN`,e[e.ERROR=4]=`ERROR`,e[e.SILENT=5]=`SILENT`})(Z||={});var Pr={debug:Z.DEBUG,verbose:Z.VERBOSE,info:Z.INFO,warn:Z.WARN,error:Z.ERROR,silent:Z.SILENT},Fr=Z.INFO,Ir={[Z.DEBUG]:`log`,[Z.VERBOSE]:`log`,[Z.INFO]:`info`,[Z.WARN]:`warn`,[Z.ERROR]:`error`},Lr=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=Ir[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},Rr=class{constructor(e){this.name=e,this._logLevel=Fr,this._logHandler=Lr,this._userLogHandler=null,Nr.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in Z))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==`string`?Pr[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=`function`)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,Z.DEBUG,...e),this._logHandler(this,Z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,Z.VERBOSE,...e),this._logHandler(this,Z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,Z.INFO,...e),this._logHandler(this,Z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,Z.WARN,...e),this._logHandler(this,Z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,Z.ERROR,...e),this._logHandler(this,Z.ERROR,...e)}},zr=(e,t)=>t.some(t=>e instanceof t),Br,Vr;function Hr(){return Br||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function Ur(){return Vr||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var Wr=new WeakMap,Gr=new WeakMap,Kr=new WeakMap,qr=new WeakMap,Jr=new WeakMap;function Yr(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(ti(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&Wr.set(t,e)}).catch(()=>{}),Jr.set(t,e),t}function Xr(e){if(Gr.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});Gr.set(e,t)}var Zr={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Gr.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||Kr.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ti(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)||t in e}};function Qr(e){Zr=e(Zr)}function $r(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(ni(this),t,...n);return Kr.set(r,t.sort?t.sort():[t]),ti(r)}:Ur().includes(e)?function(...t){return e.apply(ni(this),t),ti(Wr.get(this))}:function(...t){return ti(e.apply(ni(this),t))}}function ei(e){return typeof e==`function`?$r(e):(e instanceof IDBTransaction&&Xr(e),zr(e,Hr())?new Proxy(e,Zr):e)}function ti(e){if(e instanceof IDBRequest)return Yr(e);if(qr.has(e))return qr.get(e);let t=ei(e);return t!==e&&(qr.set(e,t),Jr.set(t,e)),t}var ni=e=>Jr.get(e);function ri(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=ti(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(ti(o.result),e.oldVersion,e.newVersion,ti(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}var ii=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],ai=[`put`,`add`,`delete`,`clear`],oi=new Map;function si(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(oi.get(t))return oi.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=ai.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||ii.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return oi.set(t,a),a}Qr(e=>({...e,get:(t,n,r)=>si(t,n)||e.get(t,n,r),has:(t,n)=>!!si(t,n)||e.has(t,n)}));var ci=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(li(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}return null}).filter(e=>e).join(` `)}};function li(e){return e.getComponent()?.type===`VERSION`}var ui=`@firebase/app`,di=`0.16.3`,fi=new Rr(`@firebase/app`),pi=`@firebase/app-compat`,mi=`@firebase/analytics-compat`,hi=`@firebase/analytics`,gi=`@firebase/app-check-compat`,_i=`@firebase/app-check`,vi=`@firebase/auth`,yi=`@firebase/auth-compat`,bi=`@firebase/database`,xi=`@firebase/data-connect`,Si=`@firebase/database-compat`,Ci=`@firebase/functions`,wi=`@firebase/functions-compat`,Ti=`@firebase/installations`,Ei=`@firebase/installations-compat`,Di=`@firebase/messaging`,Oi=`@firebase/messaging-compat`,ki=`@firebase/performance`,Ai=`@firebase/performance-compat`,ji=`@firebase/remote-config`,Mi=`@firebase/remote-config-compat`,Ni=`@firebase/storage`,Pi=`@firebase/storage-compat`,Fi=`@firebase/firestore`,Ii=`@firebase/ai`,Li=`@firebase/firestore-compat`,Ri=`firebase`,zi=`13.0.0`,Bi={[ui]:`fire-core`,[pi]:`fire-core-compat`,[hi]:`fire-analytics`,[mi]:`fire-analytics-compat`,[_i]:`fire-app-check`,[gi]:`fire-app-check-compat`,[vi]:`fire-auth`,[yi]:`fire-auth-compat`,[bi]:`fire-rtdb`,[xi]:`fire-data-connect`,[Si]:`fire-rtdb-compat`,[Ci]:`fire-fn`,[wi]:`fire-fn-compat`,[Ti]:`fire-iid`,[Ei]:`fire-iid-compat`,[Di]:`fire-fcm`,[Oi]:`fire-fcm-compat`,[ki]:`fire-perf`,[Ai]:`fire-perf-compat`,[ji]:`fire-rc`,[Mi]:`fire-rc-compat`,[Ni]:`fire-gcs`,[Pi]:`fire-gcs-compat`,[Fi]:`fire-fst`,[Li]:`fire-fst-compat`,[Ii]:`fire-vertex`,"fire-js":`fire-js`,[Ri]:`fire-js-all`},Vi=new Map,Hi=new Map,Ui=new Map;function Wi(e,t){try{e.container.addComponent(t)}catch(n){fi.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Gi(e){let t=e.name;if(Ui.has(t))return fi.debug(`There were multiple attempts to register component ${t}.`),!1;Ui.set(t,e);for(let t of Vi.values())Wi(t,e);for(let t of Hi.values())Wi(t,e);return!0}function Ki(e){return e!=null&&e.settings!==void 0}var qi=new Sr(`app`,`Firebase`,{"no-app":`No Firebase App '{$appName}' has been created - call initializeApp() first`,"bad-app-name":`Illegal App name: '{$appName}'`,"duplicate-app":`Firebase App named '{$appName}' already exists with different {$mismatchedParam}. Existing: '{$oldValue}'. New: '{$newValue}'.`,"app-deleted":`Firebase App named '{$appName}' already deleted`,"server-app-deleted":`Firebase Server App has been deleted`,"no-options":`Need to provide options, when not being deployed to hosting via source.`,"invalid-app-argument":`firebase.{$appName}() takes either no argument or a Firebase App instance.`,"invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":`Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.`,"idb-get":`Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.`,"idb-set":`Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.`,"idb-delete":`Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.`,"finalization-registry-not-supported":`FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.`,"invalid-server-app-environment":`FirebaseServerApp is not for use in browser environments.`}),Ji=zi;function Yi(e,t,n){let r=Bi[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push(`and`),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),fi.warn(e.join(` `));return}Gi(new Mr(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var Xi=`firebase-heartbeat-database`,Zi=1,Qi=`firebase-heartbeat-store`,$i=null;function ea(){return $i||=ri(Xi,Zi,{upgrade:(e,t)=>{if(t===0)try{e.createObjectStore(Qi)}catch(e){console.warn(e)}}}).catch(e=>{throw qi.create(`idb-open`,{originalErrorMessage:e.message})}),$i}async function ta(e){try{let t=(await ea()).transaction(Qi),n=await t.objectStore(Qi).get(ra(e));return await t.done,n}catch(e){if(e instanceof xr)fi.warn(e.message);else{let t=qi.create(`idb-get`,{originalErrorMessage:e?.message});fi.warn(t.message)}}}async function na(e,t){try{let n=(await ea()).transaction(Qi,`readwrite`);await n.objectStore(Qi).put(t,ra(e)),await n.done}catch(e){if(e instanceof xr)fi.warn(e.message);else{let t=qi.create(`idb-set`,{originalErrorMessage:e?.message});fi.warn(t.message)}}}function ra(e){return`${e.name}!${e.options.appId}`}var ia=1024,aa=30,oa=class{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider(`app`).getImmediate();this._storage=new la(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider(`platform-logger`).getImmediate().getPlatformInfoString(),t=sa();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>aa){let e=da(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){fi.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=sa(),{heartbeatsToSend:t,unsentEntries:n}=ca(this._heartbeatsCache.heartbeats),r=ar(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return fi.warn(e),``}}};function sa(){return new Date().toISOString().substring(0,10)}function ca(e,t=ia){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(!e){if(n.push({agent:i.agent,dates:[i.date]}),ua(n)>t){n.pop();break}}else if(e.dates.push(i.date),ua(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var la=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return vr()?yr().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await ta(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return na(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return na(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}};function ua(e){return ar(JSON.stringify({version:2,heartbeats:e})).length}function da(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function fa(e){Gi(new Mr(`platform-logger`,e=>new ci(e),`PRIVATE`)),Gi(new Mr(`heartbeat`,e=>new oa(e),`PRIVATE`)),Yi(ui,di,e),Yi(ui,di,`esm2020`),Yi(`fire-js`,``)}fa(``);function pa(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var ma=pa,ha=new Sr(`auth`,`Firebase`,pa()),ga=new Rr(`@firebase/auth`);function _a(e,...t){ga.logLevel<=Z.WARN&&ga.warn(`Auth (${Ji}): ${e}`,...t)}function va(e,...t){ga.logLevel<=Z.ERROR&&ga.error(`Auth (${Ji}): ${e}`,...t)}function ya(e,...t){throw Ca(e,...t)}function Q(e,...t){return Ca(e,...t)}function ba(e,t,n){return new Sr(`auth`,`Firebase`,{...ma(),[t]:n}).create(t,{appName:e.name})}function xa(e){return ba(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function Sa(e,t,n){let r=n;if(!(t instanceof r))throw r.name!==t.constructor.name&&ya(e,`argument-error`),ba(e,`argument-error`,`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function Ca(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return ha.create(e,...t)}function $(e,t,...n){if(!e)throw Ca(t,...n)}function wa(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw va(t),Error(t)}function Ta(e,t){e||wa(t)}function Ea(){return typeof self<`u`&&self.location?.href||``}function Da(){return Oa()===`http:`||Oa()===`https:`}function Oa(){return typeof self<`u`&&self.location?.protocol||null}function ka(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(Da()||hr()||`connection`in navigator)?navigator.onLine:!0}function Aa(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var ja=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,Ta(t>e,`Short delay should be less than long delay!`),this.isMobile=pr()||gr()}get(){return ka()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Ma(e,t){Ta(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var Na=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;wa(`Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;wa(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;wa(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},Pa={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invalid-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},Fa=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Ia=new ja(3e4,6e4);function La(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function Ra(e,t,n,r,i={}){return za(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=Tr({...a,key:e.config.apiKey}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return mr()||(c.referrerPolicy=`strict-origin-when-cross-origin`),e.emulatorConfig&&jr(e.emulatorConfig.host)&&(c.credentials=`include`),Na.fetch()(await Va(e,e.config.apiHost,n,o),c)})}async function za(e,t,n){e._canInitEmulator=!1;let r={...Pa,...t};try{let t=new Ha(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Ua(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw Ua(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Ua(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Ua(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw ba(e,o,n);ya(e,o)}}catch(t){if(t instanceof xr)throw t;ya(e,`network-request-failed`,{message:String(t)})}}async function Ba(e,t,n,r,i={}){let a=await Ra(e,t,n,r,i);return`mfaPendingCredential`in a&&ya(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Va(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Ma(e.config,i):`${e.config.apiScheme}://${i}`;return Fa.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}var Ha=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(Q(this.auth,`network-request-failed`)),Ia.get())})}};function Ua(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=Q(e,t,r);return i.customData._tokenResponse=n,i}async function Wa(e,t){return Ra(e,`POST`,`/v1/accounts:delete`,t)}async function Ga(e,t){return Ra(e,`POST`,`/v1/accounts:lookup`,t)}function Ka(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function qa(e,t=!1){let n=Ar(e),r=await n.getIdToken(t),i=Ya(r);$(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:Ka(Ja(i.auth_time)),issuedAtTime:Ka(Ja(i.iat)),expirationTime:Ka(Ja(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function Ja(e){return Number(e)*1e3}function Ya(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return va(`JWT malformed, contained fewer than 3 sections`),null;try{let e=or(n);return e?JSON.parse(e):(va(`Failed to decode base64 JWT payload`),null)}catch(e){return va(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function Xa(e){let t=Ya(e);return $(t,`internal-error`),$(t.exp!==void 0,`internal-error`),$(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function Za(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof xr&&Qa(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function Qa({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var $a=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},eo=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Ka(this.lastLoginAt),this.creationTime=Ka(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function to(e){let t=e.auth,n=await Za(e,Ga(t,{idToken:await e.getIdToken()}));$(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?io(r.providerUserInfo):[],a=ro(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new eo(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function no(e){let t=Ar(e);await to(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function ro(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function io(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function ao(e,t){let n=await za(e,{},async()=>{let n=Tr({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Va(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&jr(e.emulatorConfig.host)&&(s.credentials=`include`),Na.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function oo(e,t){return Ra(e,`POST`,`/v2/accounts:revokeToken`,La(e,t))}var so=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){$(e.idToken,`internal-error`),$(e.idToken!==void 0,`internal-error`),$(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):Xa(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){$(e.length!==0,`internal-error`);let t=Xa(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:($(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await ao(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&($(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&($(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&($(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return wa(`not implemented`)}};function co(e,t){$(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var lo=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new $a(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new eo(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await Za(this,this.stsTokenManager.getToken(this.auth,e));return $(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return qa(this,e)}reload(){return no(this)}_assign(e){this!==e&&($(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){$(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await to(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Ki(this.auth.app))return Promise.reject(xa(this.auth));let e=await this.getIdToken();return await Za(this,Wa(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:m,stsTokenManager:h}=n;$(d&&h,t,`internal-error`);let g=so.fromJSON(this.name,h);$(typeof d==`string`,t,`internal-error`),co(r,t.name),co(i,t.name),$(typeof f==`boolean`,t,`internal-error`),$(typeof p==`boolean`,t,`internal-error`),co(a,t.name),co(o,t.name),co(s,t.name),co(c,t.name),co(l,t.name),co(u,t.name);let _=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:g,createdAt:l,lastLoginAt:u});return m&&Array.isArray(m)&&(_.providerData=m.map(e=>({...e}))),c&&(_._redirectEventId=c),_}static async _fromIdTokenResponse(t,n,r=!1){let i=new so;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await to(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];$(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:io(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new so;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new eo(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},uo=new Map;function fo(e){Ta(e instanceof Function,`Expected a class definition`);let t=uo.get(e);return t?(Ta(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,uo.set(e,t),t)}var po=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};po.type=`NONE`;var mo=po;function ho(e,t,n){return`firebase:${e}:${t}:${n}`}var go=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=ho(this.userKey,r.apiKey,i),this.fullPersistenceKey=ho(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t);try{this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}catch{}}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await Ga(this.auth,{idToken:e}).catch(()=>void 0);return t?lo._fromGetAccountInfoResponse(this.auth,t,e):null}return lo._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){try{this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}catch{}}static async create(t,n,r=`authUser`){if(!n.length)return new e(fo(mo),t,r);let i=(await Promise.all(n.map(async e=>{try{if(await e._isAvailable())return e}catch{return}}))).filter(e=>e),a=i[0]||fo(mo),o=ho(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await Ga(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await lo._fromGetAccountInfoResponse(t,e,n)}else r=lo._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function _o(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(xo(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(vo(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(Co(t))return`Blackberry`;if(wo(t))return`Webos`;if(yo(t))return`Safari`;if((t.includes(`chrome/`)||bo(t))&&!t.includes(`edge/`))return`Chrome`;if(So(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function vo(e=X()){return/firefox\//i.test(e)}function yo(e=X()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function bo(e=X()){return/crios\//i.test(e)}function xo(e=X()){return/iemobile/i.test(e)}function So(e=X()){return/android/i.test(e)}function Co(e=X()){return/blackberry/i.test(e)}function wo(e=X()){return/webos/i.test(e)}function To(e=X()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function Eo(e=X()){return To(e)&&!!window.navigator?.standalone}function Do(){return _r()&&document.documentMode===10}function Oo(e=X()){return To(e)||So(e)||wo(e)||Co(e)||/windows phone/i.test(e)||xo(e)}function ko(e,t=[]){let n;switch(e){case`Browser`:n=_o(X());break;case`Worker`:n=`${_o(X())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Ji}/${r}`}var Ao=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function jo(e,t={}){return Ra(e,`GET`,`/v2/passwordPolicy`,La(e,t))}var Mo=6,No=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Mo,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},Po=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Io(this),this.idTokenSubscription=new Io(this),this.beforeStateQueue=new Ao(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=ha,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=fo(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted){try{this.persistenceManager=await go.create(this,e)}catch(e){_a(`Failed to initialize persistence: ${e}`),this.persistenceManager=await go.create(this,[])}finally{this._resolvePersistenceManagerAvailable?.()}if(!this._deleted){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}try{await this.initializeCurrentUser(t)}catch(e){_a(`Failed to initialize current user: ${e}`),await this.directlySetCurrentUser(null).catch(()=>{})}this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await Ga(this,{idToken:e}),n=await lo._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Ki(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return $(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await to(e)}catch(e){let t=e?.code;if(t!==`auth/network-request-failed`&&t!==`auth/too-many-requests`&&!t?.startsWith(`auth/quota-exceeded`))return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Aa()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Ki(this.app))return Promise.reject(xa(this));let t=e?Ar(e):null;return t&&$(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&$(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Ki(this.app)?Promise.reject(xa(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Ki(this.app)?Promise.reject(xa(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(fo(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new No(await jo(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new Sr(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await oo(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&fo(e)||this._popupRedirectResolver;$(t,this,`argument-error`),this.redirectPersistenceManager=await go.create(this,[fo(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if($(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}).catch(e=>{if(!a){if(typeof t!=`function`&&t.error)t.error(e);else if(n)n(e);else throw e}}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){if(this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,this.persistenceManager)try{e?await this.persistenceManager.setCurrentUser(e):await this.persistenceManager.removeCurrentUser()}catch(e){let t=e?.message||String(e),n=ba(this,`internal-error`,`An internal AuthError has occurred: ${t}`);throw n.customData={originalError:e},n}}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return $(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ko(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(Ki(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&_a(`Error while retrieving App Check token: ${e.error}`),e?.token}};function Fo(e){return Ar(e)}var Io=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=Er(e=>this.observer=e)}get next(){return $(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},Lo={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function Ro(e){Lo=e}function zo(e){return Lo.loadJS(e)}function Bo(){return Lo.gapiScript}function Vo(e){return`__${e}${Math.floor(Math.random()*1e6)}`}function Ho(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(fo);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}var Uo=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return wa(`not implemented`)}_getIdTokenResponse(e){return wa(`not implemented`)}_linkToIdToken(e,t){return wa(`not implemented`)}_getReauthenticationResolver(e){return wa(`not implemented`)}};async function Wo(e,t){return Ba(e,`POST`,`/v1/accounts:signInWithIdp`,La(e,t))}var Go=`http://localhost`,Ko=class e extends Uo{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pendingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):ya(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return Wo(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,Wo(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,Wo(e,t)}buildRequest(){let e={requestUri:Go,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=Tr(t)}return e}},qo=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},Jo=class extends qo{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},Yo=class e extends Jo{constructor(){super(`facebook.com`)}static credential(t){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Yo.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,Yo.PROVIDER_ID=`facebook.com`;var Xo=class e extends Jo{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};Xo.GOOGLE_SIGN_IN_METHOD=`google.com`,Xo.PROVIDER_ID=`google.com`;var Zo=class e extends Jo{constructor(){super(`github.com`)}static credential(t){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Zo.GITHUB_SIGN_IN_METHOD=`github.com`,Zo.PROVIDER_ID=`github.com`;var Qo=class e extends Jo{constructor(){super(`twitter.com`)}static credential(t,n){return Ko._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Qo.TWITTER_SIGN_IN_METHOD=`twitter.com`,Qo.PROVIDER_ID=`twitter.com`;var $o=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){let a=await lo._fromIdTokenResponse(t,r,i),o=es(r);return new e({user:a,providerId:o,_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){await t._updateTokensIfNecessary(r,!0);let i=es(r);return new e({user:t,providerId:i,_tokenResponse:r,operationType:n})}};function es(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var ts=class e extends xr{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function ns(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?ts._fromErrorAndOperation(e,n,t,r):n})}async function rs(e,t,n=!1){let r=await Za(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return $o._forOperation(e,`link`,r)}async function is(e,t,n=!1){let{auth:r}=e;if(Ki(r.app))return Promise.reject(xa(r));let i=`reauthenticate`;try{let a=await Za(e,ns(r,i,t,e),n);$(a.idToken,r,`internal-error`);let o=Ya(a.idToken);$(o,r,`internal-error`);let{sub:s}=o;return $(e.uid===s,r,`user-mismatch`),$o._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&ya(r,`user-mismatch`),e}}async function as(e,t,n=!1){if(Ki(e.app))return Promise.reject(xa(e));let r=`signIn`,i=await ns(e,r,t),a=await $o._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}var os=`__sak`,ss=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(os,`1`),this.storage.removeItem(os),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},cs=1e3,ls=10,us=class extends ss{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Oo(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);(t||this.localCache[n]!==e)&&this.notifyListeners(n,e)},i=this.storage.getItem(n);Do()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,ls):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},cs)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};us.type=`LOCAL`;var ds=class extends ss{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};ds.type=`SESSION`;var fs=ds;function ps(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}function ms(){return window}function hs(e){ms().location.href=e}Vo(`rcb`),new ja(3e4,6e4);function gs(e,t){return t?fo(t):($(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var _s=class extends Uo{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return Wo(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Wo(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Wo(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function vs(e){return as(e.auth,new _s(e),e.bypassAuthState)}function ys(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),is(n,new _s(e),e.bypassAuthState)}async function bs(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),rs(n,new _s(e),e.bypassAuthState)}var xs=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return vs;case`linkViaPopup`:case`linkViaRedirect`:return bs;case`reauthViaPopup`:case`reauthViaRedirect`:return ys;default:ya(this.auth,`internal-error`)}}resolve(e){Ta(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){Ta(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},Ss=new ja(2e3,1e4);async function Cs(e,t,n){if(Ki(e.app))return Promise.reject(Q(e,`operation-not-supported-in-this-environment`));let r=Fo(e);return Sa(e,t,qo),new ws(r,`signInViaPopup`,t,gs(r,n)).executeNotNull()}var ws=class e extends xs{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return $(e,this.auth,`internal-error`),e}async onExecution(){Ta(this.filter.length===1,`Popup operations only handle one event`);let e=ps();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(Q(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(Q(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(Q(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,Ss.get())};e()}};ws.currentPopupAction=null;var Ts=`pendingRedirect`,Es=new Map,Ds=class extends xs{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=Es.get(this.auth._key());if(!e){try{let t=await Os(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}Es.set(this.auth._key(),e)}return this.bypassAuthState||Es.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function Os(e,t){let n=js(t),r=As(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function ks(e,t){Es.set(e._key(),t)}function As(e){return fo(e._redirectPersistence)}function js(e){return ho(Ts,e.config.apiKey,e.name)}async function Ms(e,t,n=!1){if(Ki(e.app))return Promise.reject(xa(e));let r=Fo(e),i=await new Ds(r,gs(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var Ns=6e5,Ps=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!Ls(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!Is(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(Q(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=Ns&&this.cachedEventUids.clear(),this.cachedEventUids.has(Fs(e))}saveEventToCache(e){this.cachedEventUids.add(Fs(e)),this.lastProcessedEventTime=Date.now()}};function Fs(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function Is({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function Ls(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return Is(e);default:return!1}}async function Rs(e,t={}){return Ra(e,`GET`,`/v1/projects`,t)}var zs=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Bs=/^https?/;async function Vs(e){if(e.config.emulator)return;let{authorizedDomains:t}=await Rs(e);for(let e of t)try{if(Hs(e))return}catch{}ya(e,`unauthorized-domain`)}function Hs(e){let t=Ea(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!Bs.test(n))return!1;if(zs.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var Us=new ja(3e4,6e4);function Ws(){let e=ms().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function Gs(e){return new Promise((t,n)=>{function r(){Ws(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Ws(),n(Q(e,`network-request-failed`))},timeout:Us.get()})}if(ms().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(ms().gapi?.load)r();else{let t=Vo(`iframefcb`);return ms()[t]=()=>{gapi.load?r():n(Q(e,`network-request-failed`))},zo(`${Bo()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw Ks=null,e})}var Ks=null;function qs(e){return Ks||=Gs(e),Ks}var Js=new ja(5e3,15e3),Ys=`__/auth/iframe`,Xs=`emulator/auth/iframe`,Zs={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},Qs=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function $s(e){let t=e.config;$(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Ma(t,Xs):`https://${e.config.authDomain}/${Ys}`,r={apiKey:t.apiKey,appName:e.name,v:Ji},i=Qs.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${Tr(r).slice(1)}`}async function ec(e){let t=await qs(e),n=ms().gapi;return $(n,e,`internal-error`),t.open({where:document.body,url:$s(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:Zs,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=Q(e,`network-request-failed`),a=ms().setTimeout(()=>{r(i)},Js.get());function o(){ms().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var tc={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},nc=500,rc=600,ic=`_blank`,ac=`http://localhost`,oc=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function sc(e,t,n,r=nc,i=rc){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...tc,width:r.toString(),height:i.toString(),top:a,left:o},l=X().toLowerCase();n&&(s=bo(l)?ic:n),vo(l)&&(t||=ac,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(Eo(l)&&s!==`_self`)return cc(t||``,s),new oc(null);let d=window.open(t||``,s,u);$(d,e,`popup-blocked`);try{d.focus()}catch{}return new oc(d)}function cc(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var lc=`__/auth/handler`,uc=`emulator/auth/handler`,dc=`fac`;async function fc(e,t,n,r,i,a){$(e.config.authDomain,e,`auth-domain-config-required`),$(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Ji,eventId:i};if(t instanceof qo){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,wr(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof Jo){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let c=await e._getAppCheckToken(),l=c?`#${dc}=${encodeURIComponent(c)}`:``;return`${pc(e)}?${Tr(s).slice(1)}${l}`}function pc({config:e}){return e.emulator?Ma(e,uc):`https://${e.authDomain}/${lc}`}var mc=`webStorageSupport`,hc=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=fs,this._completeRedirectFn=Ms,this._overrideRedirectResult=ks}async _openPopup(e,t,n,r){return Ta(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),sc(e,await fc(e,t,n,Ea(),r),ps())}async _openRedirect(e,t,n,r){return await this._originValidation(e),hs(await fc(e,t,n,Ea(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(Ta(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await ec(e),n=new Ps(e);return t.register(`authEvent`,t=>($(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(mc,{type:mc},n=>{let r=n?.[0]?.[mc];r!==void 0&&t(!!r),ya(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Vs(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Oo()||yo()||To()}},gc=`@firebase/auth`,_c=`1.13.7`,vc=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){$(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function yc(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function bc(e){Gi(new Mr(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;$(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Po(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:ko(e)});return Ho(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Gi(new Mr(`auth-internal`,e=>(e=>new vc(e))(Fo(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),Yi(gc,_c,yc(e)),Yi(gc,_c,`esm2020`)}fr(`authIdTokenMaxAge`);function xc(){return document.getElementsByTagName(`head`)?.[0]??document}Ro({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=Q(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,xc().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),bc(`Browser`);var Sc=({auth:e,label:t=`Continue with Google`,loadingLabel:n=`Connecting to Google…`,className:r,hideIcon:i=!1})=>{let a=(0,c.useMemo)(()=>new Xo,[]),{setIsLoggingIn:o,isLogingIn:s,setError:u,loginWithGoogle:d}=p(),f=(0,c.useCallback)(async()=>{if(!s)try{o(!0),u(``);let t=await(await Cs(e,a,hc)).user.getIdToken();await d(t)}catch(e){console.error(`Google sign-in failed:`,e),u(e instanceof Error?e.message:`Google login failed. Please try again.`)}finally{o(!1)}},[e,a,s,o,u]);return(0,l.jsx)(`button`,{type:`button`,onClick:f,disabled:s,"aria-busy":s,className:V(`inline-flex w-full items-center justify-center gap-2`,`h-9 px-4 py-2`,`rounded-md border`,`border-input bg-background text-foreground`,`hover:bg-accent hover:text-accent-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`text-sm font-medium`,`transition-colors`,`disabled:pointer-events-none disabled:opacity-50`,r),children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(wc,{}),(0,l.jsx)(`span`,{children:n})]}):(0,l.jsxs)(l.Fragment,{children:[!i&&(0,l.jsx)(Cc,{}),(0,l.jsx)(`span`,{children:t})]})})};function Cc({className:e}){return(0,l.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`18`,height:`18`,viewBox:`0 0 48 48`,"aria-hidden":`true`,className:V(`shrink-0`,e),children:[(0,l.jsx)(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 3.1 13.22l7.98 6.19C13 13.72 18.11 9.5 24 9.5Z`}),(0,l.jsx)(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.77 7.18l7.73 6C44.4 37.95 46.98 31.78 46.98 24.55Z`}),(0,l.jsx)(`path`,{fill:`#FBBC05`,d:`M10.08 28.59A14.4 14.4 0 0 1 9.3 24c0-1.59.27-3.13.76-4.59l-7.98-6.19A23.9 23.9 0 0 0 0 24c0 3.87.93 7.52 2.58 10.78l7.5-6.19Z`}),(0,l.jsx)(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.9-5.8l-7.73-6c-2.14 1.44-4.87 2.3-8.17 2.3-5.89 0-10.9-3.98-12.7-9.32l-7.5 6.19C7.22 43.4 15.02 48 24 48Z`})]})}function wc({className:e}){return(0,l.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,className:V(`shrink-0 animate-spin`,e),children:[(0,l.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`,className:`opacity-25`}),(0,l.jsx)(`path`,{fill:`currentColor`,className:`opacity-75`,d:`M4 12a8 8 0 0 1 8-8v4a4 4 0 0 0-4 4H4z`})]})}var Tc={title:`Login to your account`,description:`Enter your email below to login to your account`,emailLabel:`Email`,emailPlaceholder:`m@example.com`,passwordLabel:`Password`,forgotPassword:`Forgot your password?`,forgotPasswordHref:`#`,submitIdle:`Login`,submitLoading:`Logging in…`,successMessage:`Logged in successfully.`,footerHref:`/auth/signup`,footer:(0,l.jsxs)(l.Fragment,{children:[`Don't have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/signup`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign up`})]})};function Ec({className:e,labels:t,children:n,classNames:r={},auth:i,...a}){let[o,s]=(0,c.useState)({email:``,password:``}),{isLogingIn:u,login:d,error:f,success:m,setSuccess:h}=p(),g={...Tc,...t},_=e=>{s(t=>({...t,[e.target.id]:e.target.value}))},v=async e=>{e.preventDefault(),h(!1),await d(o)};(0,c.useEffect)(()=>{h(!1)},[h]);let y=typeof m==`string`?m:m?g.successMessage:null;return(0,l.jsx)(`div`,{className:V(`flex flex-col gap-6`,e,r.root),...a,children:(0,l.jsxs)(xe,{className:[`w-full border bg-card text-card-foreground shadow-lg`,r.card].filter(Boolean).join(` `),children:[(0,l.jsxs)(Se,{className:[`space-y-1`,r.header].filter(Boolean).join(` `),children:[(0,l.jsx)(Ce,{className:[`text-2xl font-semibold`,r.title].filter(Boolean).join(` `),children:g.title}),(0,l.jsx)(we,{className:r.description,children:g.description})]}),(0,l.jsx)(Te,{className:r.content,children:(0,l.jsx)(`form`,{onSubmit:v,noValidate:!0,children:(0,l.jsxs)(Kt,{children:[(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`login-email`,className:r.label,children:g.emailLabel}),(0,l.jsx)(Qn,{id:`email`,name:`email`,type:`email`,placeholder:g.emailPlaceholder,required:!0,autoComplete:`email`,value:o.email,onChange:_,className:r.input})]}),(0,l.jsxs)(Y,{children:[(0,l.jsxs)(`div`,{className:`flex items-center`,children:[(0,l.jsx)(Jt,{htmlFor:`password`,className:r.label,children:g.passwordLabel}),g.forgotPassword?(0,l.jsx)(`a`,{href:g.forgotPasswordHref,className:[`ml-auto inline-block text-sm underline underline-offset-4 hover:opacity-80`,r.forgotPassword].filter(Boolean).join(` `),children:g.forgotPassword}):null]}),(0,l.jsx)(Qn,{id:`password`,name:`password`,type:`password`,required:!0,autoComplete:`current-password`,value:o.password,onChange:_,className:r.input})]}),f?(0,l.jsx)(`p`,{role:`alert`,className:[`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,r.error].filter(Boolean).join(` `),children:f}):null,y?(0,l.jsx)(`p`,{role:`status`,className:[`rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300`,r.success].filter(Boolean).join(` `),children:y}):null,(0,l.jsxs)(Y,{children:[(0,l.jsx)(vn,{type:`submit`,disabled:u,className:[`w-full`,r.submit].filter(Boolean).join(` `),children:u?g.submitLoading:g.submitIdle}),i&&(0,l.jsx)(Sc,{auth:i}),n,g.footer?(0,l.jsx)(Yt,{className:[`text-center`,r.footer].filter(Boolean).join(` `),children:g.footer}):null]})]})})})]})})}var Dc={title:`Create an account`,description:`Enter your information below to create your account`,nameLabel:`Full Name`,namePlaceholder:`Your name`,emailLabel:`Email`,emailPlaceholder:`m@example.com`,emailHint:`We'll use this to contact you. We will not share your email with anyone else.`,passwordLabel:`Password`,passwordHint:`Must be at least 8 characters long.`,confirmPasswordLabel:`Confirm Password`,confirmPasswordHint:`Please confirm your password.`,submitIdle:`Create Account`,submitLoading:`Creating account…`,successMessage:`Account created successfully. You can now sign in.`,footer:(0,l.jsxs)(l.Fragment,{children:[`Already have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/login`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign in`})]})};function Oc({labels:e,children:t,classNames:n={},auth:r,...i}){let{confirmPassword:a,error:o,form:s,handleChange:c,loading:u,onSignUp:d,setConfirmPassword:f,success:m}=p(),h={...Dc,...e},g=typeof m==`string`?m:m?h.successMessage:null;return(0,l.jsxs)(xe,{className:[`w-full max-w-md border bg-card text-card-foreground shadow-lg`,n.root].filter(Boolean).join(` `),...i,children:[(0,l.jsxs)(Se,{className:[`space-y-1`,n.header].filter(Boolean).join(` `),children:[(0,l.jsx)(Ce,{className:[`text-2xl font-semibold`,n.title].filter(Boolean).join(` `),children:h.title}),(0,l.jsx)(we,{className:n.description,children:h.description})]}),(0,l.jsx)(Te,{className:n.content,children:(0,l.jsx)(`form`,{onSubmit:d,noValidate:!0,children:(0,l.jsxs)(Kt,{children:[(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-name`,className:n.label,children:h.nameLabel}),(0,l.jsx)(Qn,{id:`name`,name:`name`,type:`text`,placeholder:h.namePlaceholder,required:!0,value:s.name,onChange:c,autoComplete:`name`,className:n.input})]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-email`,className:n.label,children:h.emailLabel}),(0,l.jsx)(Qn,{id:`email`,name:`email`,type:`email`,placeholder:h.emailPlaceholder,required:!0,value:s.email,onChange:c,autoComplete:`email`,className:n.input}),h.emailHint?(0,l.jsx)(Yt,{children:h.emailHint}):null]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-password`,className:n.label,children:h.passwordLabel}),(0,l.jsx)(Qn,{id:`password`,name:`password`,type:`password`,required:!0,value:s.password,onChange:c,autoComplete:`new-password`,className:n.input}),h.passwordHint?(0,l.jsx)(Yt,{children:h.passwordHint}):null]}),(0,l.jsxs)(Y,{children:[(0,l.jsx)(Jt,{htmlFor:`signup-confirm-password`,className:n.label,children:h.confirmPasswordLabel}),(0,l.jsx)(Qn,{id:`signup-confirm-password`,name:`confirmPassword`,type:`password`,required:!0,value:a,onChange:e=>f(e.target.value),autoComplete:`new-password`,className:n.input}),h.confirmPasswordHint?(0,l.jsx)(Yt,{children:h.confirmPasswordHint}):null]}),o?(0,l.jsx)(`p`,{role:`alert`,className:[`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,n.error].filter(Boolean).join(` `),children:o}):null,g?(0,l.jsx)(`p`,{role:`status`,className:[`rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300`,n.success].filter(Boolean).join(` `),children:g}):null,(0,l.jsx)(Kt,{children:(0,l.jsxs)(Y,{children:[(0,l.jsx)(vn,{type:`submit`,disabled:u,className:[`w-full`,n.submit].filter(Boolean).join(` `),children:u?h.submitLoading:h.submitIdle}),r&&(0,l.jsx)(Sc,{auth:r}),t,h.footer?(0,l.jsx)(Yt,{className:[`px-6 text-center`,n.footer].filter(Boolean).join(` `),children:h.footer}):null]})})]})})})]})}var kc=[`login`,`signup`,`verify`,`forgot`,`reset`],Ac=`login`;function jc(e){let t=Array.isArray(e)?e[0]:e;if(!t)return Ac;let n=t.toLowerCase();return kc.includes(n)?n:Ac}function Mc({useSearchParams:e,useParams:t,useRouter:n,_auth:r}){let i=t(),a=e(),o=n(),s=jc(i?.auth),u=a?.get(`redirect`)??`/`,d=a?.get(`email`)??void 0,{success:f,setError:m,setSuccess:h,form:g}=p(),_=!!f&&(s===`login`||s===`verify`);return c.useEffect(()=>{if(!_)return;let e=setTimeout(()=>{o.replace(u)},800);return()=>clearTimeout(e)},[_,u,o]),c.useEffect(()=>{m?.(null),h?.(!1)},[s,m,h]),(0,l.jsx)(`main`,{className:`flex min-h-svh w-full items-center justify-center bg-background p-4 sm:p-6`,children:(0,l.jsxs)(`div`,{className:`w-full max-w-md`,children:[s===`login`&&(0,l.jsx)(Ec,{auth:r,labels:{footer:(0,l.jsxs)(l.Fragment,{children:[`Don't have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/signup?redirect=${encodeURIComponent(u)}`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign up`})]}),forgotPasswordHref:`/auth/forgot?email=${encodeURIComponent(g?.email??``)}`}}),s===`signup`&&(0,l.jsx)(Oc,{auth:r,labels:{footer:(0,l.jsxs)(l.Fragment,{children:[`Already have an account?`,` `,(0,l.jsx)(`a`,{href:`/auth/login?redirect=${encodeURIComponent(u)}`,className:`font-medium underline underline-offset-4 hover:opacity-80`,children:`Sign in`})]})}}),s===`verify`&&(0,l.jsx)(bn,{labels:{description:e=>(0,l.jsxs)(l.Fragment,{children:[`Enter the verification code we sent to`,` `,(0,l.jsx)(`span`,{className:`font-medium`,children:e??d??`your email`}),`.`]})}}),s===`forgot`&&(0,l.jsx)(Nc,{}),s===`reset`&&(0,l.jsx)(Pc,{})]})})}function Nc(){return(0,l.jsxs)(`div`,{className:`rounded-lg border bg-card p-6 text-card-foreground shadow-lg`,children:[(0,l.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Reset your password`}),(0,l.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Forgot-password flow coming soon.`})]})}function Pc(){return(0,l.jsxs)(`div`,{className:`rounded-lg border bg-card p-6 text-card-foreground shadow-lg`,children:[(0,l.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Set a new password`}),(0,l.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Reset-password flow coming soon.`})]})}exports.AuthClient=Mc,exports.BrightAuthProvider=m,exports.InputOTPForm=bn,exports.LoginForm=Ec,exports.SignupForm=Oc,exports.createAppContext=d,exports.useTagAuth=p;
24
24
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { TagAuthProvider } from './components/auth-wrapper.js';
1
+ export { TagAuthProvider as BrightAuthProvider } from './components/auth-wrapper.js';
2
2
  export { InputOTPForm } from './components/otp.js';
3
3
  export { LoginForm } from './components/login-form.js';
4
4
  export { SignupForm } from './components/signup-form.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EAAC,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAC,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EAAC,eAAe,IAAI,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAC,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA"}
package/dist/index.js CHANGED
@@ -5709,6 +5709,6 @@ function Ic() {
5709
5709
  });
5710
5710
  }
5711
5711
  //#endregion
5712
- export { Pc as AuthClient, Cn as InputOTPForm, Oc as LoginForm, Ac as SignupForm, g as TagAuthProvider, p as createAppContext, h as useTagAuth };
5712
+ export { Pc as AuthClient, g as BrightAuthProvider, Cn as InputOTPForm, Oc as LoginForm, Ac as SignupForm, p as createAppContext, h as useTagAuth };
5713
5713
 
5714
5714
  //# sourceMappingURL=index.js.map