1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,19770,(e,t,r)=>{"use strict";function i({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:n,objectFit:s}){let a=r?40*r:e,o=i?40*i:t,l=a&&o?`viewBox='0 0 ${a} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${n}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return i}})},64013,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return c}}),e.r(63370);let i=e.r(82463),n=e.r(19770),s=e.r(38001),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:u=!1,loading:h,className:d,quality:p,width:f,height:g,fill:m=!1,style:v,overrideSrc:_,onLoad:y,onLoadingComplete:I,placeholder:w="empty",blurDataURL:b,fetchPriority:E,decoding:C="async",layout:S,objectFit:T,objectPosition:R,lazyBoundary:P,lazyRoot:O,...k},A){var N;let D,L,x,{imgConf:M,showAltText:j,blurComplete:U,defaultLoader:F}=A,V=M||s.imageConfigDefault;if("allSizes"in V)D=V;else{let e=[...V.deviceSizes,...V.imageSizes].sort((e,t)=>e-t),t=V.deviceSizes.sort((e,t)=>e-t),r=V.qualities?.sort((e,t)=>e-t);D={...V,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let H=k.loader||F;delete k.loader,delete k.srcSet;let B="__next_img_default"in H;if(B){if("custom"===D.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=H;H=t=>{let{config:r,...i}=t;return e(i)}}if(S){"fill"===S&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[S];r&&!t&&(t=r)}let z="",W=l(f),$=l(g);if((N=e)&&"object"==typeof N&&(o(N)||void 0!==N.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(L=t.blurWidth,x=t.blurHeight,b=b||t.blurDataURL,z=t.src,!m)if(W||$){if(W&&!$){let e=W/t.width;$=Math.round(t.height*e)}else if(!W&&$){let e=$/t.height;W=Math.round(t.width*e)}}else W=t.width,$=t.height}let G=!c&&!u&&("lazy"===h||void 0===h);(!(e="string"==typeof e?e:z)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,G=!1),D.unoptimized&&(r=!0),B&&!D.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let q=l(p),K=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:T,objectPosition:R}:{},j?{}:{color:"transparent"},v),J=U||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:W,heightInt:$,blurWidth:L,blurHeight:x,blurDataURL:b||"",objectFit:K.objectFit})}")`:`url("${w}")`,X=a.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,Y=J?{backgroundSize:X,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Z=function({config:e,src:t,unoptimized:r,width:n,quality:s,sizes:a,loader:o}){if(r){let e=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:c}=function({deviceSizes:e,allSizes:t},r,i){if(i){let r=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=r.exec(i);)n.push(parseInt(e[2]));if(n.length){let r=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,a),u=l.length-1;return{sizes:a||"w"!==c?a:"100vw",srcSet:l.map((r,i)=>`${o({config:e,src:t,quality:s,width:r})} ${"w"===c?r:i+1}${c}`).join(", "),src:o({config:e,src:t,quality:s,width:l[u]})}}({config:D,src:e,unoptimized:r,width:W,quality:q,sizes:t,loader:H}),Q=G?"lazy":h;return{props:{...k,loading:Q,fetchPriority:E,width:W,height:$,decoding:C,className:d,style:{...K,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:_||Z.src},meta:{unoptimized:r,preload:u||c,placeholder:w,fill:m}}}},26515,(e,t,r)=>{"use strict";function i(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>
2Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return i}})},17412,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let i=e.r(26515),n=e.r(82463);function s({config:e,src:t,width:r,quality:s}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,i.findClosestQuality)(s,e),o=(0,n.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${a}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}s.__next_img_default=!0;let a=s},26004,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return I}});let i=e.r(2879),n=e.r(87602),s=e.r(68601),a=n._(e.r(75705)),o=i._(e.r(11368)),l=i._(e.r(98514)),c=e.r(64013),u=e.r(38001),h=e.r(80981);e.r(63370);let d=e.r(63636),p=i._(e.r(17412)),f=e.r(13687),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function m(e,t,r,i,n,s,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let i=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>i,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{i=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}i?.current&&i.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let _=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:i,width:n,decoding:o,className:l,style:c,fetchPriority:u,placeholder:h,loading:d,unoptimized:p,fill:g,onLoadRef:_,onLoadingCompleteRef:y,setBlurComplete:I,setShowAltText:w,sizesInput:b,onLoad:E,onError:C,...S},T)=>{let R=(0,a.useCallback)(e=>{e&&(C&&(e.src=e.src),e.complete&&m(e,h,_,y,I,p,b))},[e,h,_,y,I,C,p,b]),P=(0,f.useMergedRef)(T,R);return(0,s.jsx)("img",{...S,...v(u),loading:d,width:n,height:i,decoding:o,"data-nimg":g?"fill":"1",className:l,style:c,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{m(e.currentTarget,h,_,y,I,p,b)},onError:e=>{w(!0),"empty"!==h&&I(!0),C&&C(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let I=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(d.RouterContext),i=(0,a.useContext)(h.ImageConfigContext),n=(0,a.useMemo)(()=>{let e=g||i||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:n,localPatterns:"u"<typeof window?i?.localPatterns:e.localPatterns}},[i]),{onLoad:o,onLoadingComplete:l}=e,f=(0,a.useRef)(o);(0,a.useEffect)(()=>{f.current=o},[o]);let m=(0,a.useRef)(l);(0,a.useEffect)(()=>{m.current=l},[l]);let[v,I]=(0,a.useState)(!1),[w,b]=(0,a.useState)(!1),{props:E,meta:C}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:v,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(_,{...E,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:f,onLoadingCompleteRef:m,setBlurComplete:I,setShowAltText:b,sizesInput:e.sizes,ref:t}),C.preload?(0,s.jsx)(y,{isAppRouter:!r,imgAttributes:E}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
3dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90778,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i={default:function(){return u},getImageProps:function(){return c}};for(var n in i)Object.defineProperty(r,n,{enumerable:!0,get:i[n]});let s=e.r(2879),a=e.r(64013),o=e.r(26004),l=s._(e.r(17412));function c(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=o.Image},57843,(e,t,r)=>{t.exports=e.r(90778)},78803,86908,79227,73140,36596,61541,44680,48793,19113,e=>{"use strict";let t,r,i;var n,s,a,o,l,c=e.i(68601);e.i(15779);var u=e.i(60580),h=e.i(40186),d=e.i(47438);let p=function(e){let t=[],r=0;for(let i=0;i<e.length;i++){let n=e.charCodeAt(i);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:((64512&n)==55296&&i+1<e.length&&(64512&e.charCodeAt(i+1))==56320?(n=65536+((1023&n)<<10)+(1023&e.charCodeAt(++i)),t[r++]=n>>18|240,t[r++]=n>>12&63|128):t[r++]=n>>12|224,t[r++]=n>>6&63|128),t[r++]=63&n|128)}return t},f=function(e){let t=[],r=0,i=0;for(;r<e.length;){let n=e[r++];if(n<128)t[i++]=String.fromCharCode(n);else if(n>191&&n<224){let s=e[r++];t[i++]=String.fromCharCode((31&n)<<6|63&s)}else if(n>239&&n<365){let s=((7&n)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[i++]=String.fromCharCode(55296+(s>>10)),t[i++]=String.fromCharCode(56320+(1023&s))}else{let s=e[r++],a=e[r++];t[i++]=String.fromCharCode((15&n)<<12|(63&s)<<6|63&a)}}return t.join("")},g={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:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let t=0;t<e.length;t+=3){let n=e[t],s=t+1<e.length,a=s?e[t+1]:0,o=t+2<e.length,l=o?e[t+2]:0,c=n>>2,u=(3&n)<<4|a>>4,h=(15&a)<<2|l>>6,d=63&l;!o&&(d=64,s||(h=64)),i.push(r[c],r[u],r[h],r[d])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(p(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):f(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let r=t?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let t=0;t<e.length;){let n=r[e.charAt(t++)],s=t<e.length?r[e.charAt(t)]:0,a=++t<e.length?r[e.charAt(t)]:64,o=++t<e.length?r[e.charAt(t)]:64;if(++t,null==n||null==s||null==a||null==o)throw new m;let l=n<<2|s>>4;if(i.push(l),64!==a){let e=s<<4&240|a>>2;if(i.push(e),64!==o){let e=a<<6&192|o;i.push(e)}}}return i},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)}}};class m extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let v=function(e){let t=p(e);return g.encodeByteArray(t,!0)},_=function(e){return v(e).replace(/\./g,"")},y=function(e){try{return g.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null},I=()=>{try{return("u">typeof self?self:"u">typeof window?window:e.g).__FIREBASE_DEFAULTS__||(()=>{if(void 0===d.default||void 0===d.default.env)return;let e=d.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;
3]+)/)}catch(e){return}let t=e&&y(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},w=()=>{var e;return null==(e=I())?void 0:e.config},b=e=>{var t;return null==(t=I())?void 0:t[`_${e}`]};class E{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,r))}}}function C(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch(e){return!1}}async function S(e){return(await fetch(e,{credentials:"include"})).ok}let T={},R=!1;function P(){return"u">typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function O(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}class k extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,k.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,A.prototype.create)}}class A{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r,i;let n=t[0]||{},s=`${this.service}/${e}`,a=this.errors[e],o=a?(r=a,i=n,r.replace(N,(e,t)=>{let r=i[t];return null!=r?String(r):`<${t}?>`})):"Error",l=`${this.serviceName}: ${o} (${s}).`;return new k(s,l,n)}}let N=/\{\$([^}]+)}/g;function D(e,t){if(e===t)return!0;let r=Object.keys(e),i=Object.keys(t);for(let n of r){if(!i.includes(n))return!1;let r=e[n],s=t[n];if(L(r)&&L(s)){if(!D(r,s))return!1}else if(r!==s)return!1}for(let e of i)if(!r.includes(e))return!1;return!0}function L(e){return null!==e&&"object"==typeof e}function x(e){let t=[];for(let[r,i]of Object.entries(e))Array.isArray(i)?i.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(i));return t.length?"&"+t.join("&"):""}function M(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[r,i]=e.split("=");
3t[decodeURIComponent(r)]=decodeURIComponent(i)}}),t}function j(e){let t=e.indexOf("?");if(!t)return"";let r=e.indexOf("#",t);return e.substring(t,r>0?r:void 0)}class U{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,r){let i;if(void 0===e&&void 0===t&&void 0===r)throw Error("Missing Observer.");void 0===(i=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:r}:e).next&&(i.next=F),void 0===i.error&&(i.error=F),void 0===i.complete&&(i.complete=F);let n=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?i.error(this.finalError):i.complete()}catch(e){}}),this.observers.push(i),n}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&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(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"u">typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function F(){}function V(e){return e&&e._delegate?e._delegate:e}class H{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,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}}let B="[DEFAULT]";class z{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new E;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;let r=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),i=null!=(t=null==e?void 0:e.optional)&&t;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(i)return null;throw e}if(i)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:B})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let r=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch(e){}}}}clearInstance(e=B){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=B){return this.instances.has(e)}getOptions(e=B){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let i=this.getOrInitializeService({instanceIdentifier:r,options:t});for(let[e,t]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(e)&&t.resolve(i);return i}onInit(e,t){var r;let i=this.normalizeInstanceIdentifier(t),n=null!=(r=this.onInitCallbacks.get(i))?r:new Set;n.add(e),this.onInitCallbacks.set(i,n);let s=this.instances.get(i);return s&&e(s,i),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let r=this.onInitCallbacks.get(t);if(r)for(let i of r)try{i(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var r;let i=this.instances.get(e);if(!i&&this.component&&(i=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===B?void 0:r,options:t}),this.instances.set(e,i),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(i,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,i)}catch(e){}return i||null}normalizeInstanceIdentifier(e=B){return this.component?this.component.multipleInstances?e:B:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class W{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new z(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}let $=[];(n=a||(a={}))[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT";let G={debug:a.DEBUG,verbose:a.VERBOSE,info:a.INFO,warn:a.WARN,error:a.ERROR,silent:a.SILENT},q=a.INFO,K={[a.DEBUG]:"log",[a.VERBOSE]:"log",[a.INFO]:"info",[a.WARN]:"warn",[a.ERROR]:"error"},J=(e,t,...r)=>{if(t<e.logLevel)return;let i=new Date().toISOString(),n=K[t];if(n)console[n](`[${i}] ${e.name}:`,...r);
3else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class X{constructor(e){this.name=e,this._logLevel=q,this._logHandler=J,this._userLogHandler=null,$.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in a))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?G[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)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,a.DEBUG,...e),this._logHandler(this,a.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,a.VERBOSE,...e),this._logHandler(this,a.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,a.INFO,...e),this._logHandler(this,a.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,a.WARN,...e),this._logHandler(this,a.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,a.ERROR,...e),this._logHandler(this,a.ERROR,...e)}}let Y=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,et=new WeakMap,er={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return Z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Q.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return ei(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function ei(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,r)=>{let i=()=>{e.removeEventListener("success",n),e.removeEventListener("error",s)},n=()=>{t(ei(e.result)),i()},s=()=>{r(e.error),i()};e.addEventListener("success",n),e.addEventListener("error",s)})).then(t=>{t instanceof IDBCursor&&Y.set(t,e)}).catch(()=>{}),et.set(t,e),t}if(ee.has(e))return ee.get(e);let i=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(r||(r=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(en(this),t),ei(Y.get(this))}:function(...t){return ei(e.apply(en(this),t))}:function(t,...r){let i=e.call(en(this),t,...r);return Q.set(i,t.sort?t.sort():[t]),ei(i)};return e instanceof IDBTransaction&&function(e){if(Z.has(e))return;let t=new Promise((t,r)=>{let i=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",s),e.removeEventListener("abort",s)},n=()=>{t(),i()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",n),e.addEventListener("error",s),e.addEventListener("abort",s)});Z.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,er):e}(e);return i!==e&&(ee.set(e,i),et.set(i,e)),i}let en=e=>et.get(e),es=["get","getKey","getAll","getAllKeys","count"],ea=["put","add","delete","clear"],eo=new Map;function el(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(eo.get(t))return eo.get(t);let r=t.replace(/FromIndex$/,""),i=t!==r,n=ea.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!(n||es.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,n?"readwrite":"readonly"),a=s.store;return i&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),n&&s.done]))[0]};return eo.set(t,s),s}er={...i=er,get:(e,t,r)=>el(e,t)||i.get(e,t,r),has:(e,t)=>!!el(e,t)||i.has(e,t)};class ec{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if((null==(t=e.getComponent())?void 0:t.type)!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let eu="@firebase/app",eh="0.13.2",ed=new X("@firebase/app"),ep="[DEFAULT]",ef={[eu]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},eg=new Map,em=new Map,ev=new Map;function e_(e,t){try{e.container.addComponent(t)}catch(r){ed.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function ey(e,t){e.container.addOrOverwriteComponent(t)}function eI(e){let t=e.name;if(ev.has(t))return ed.debug(`There were multiple attempts to register component ${t}.`),!1;
3for(let r of(ev.set(t,e),eg.values()))e_(r,e);for(let t of em.values())e_(t,e);return!0}function ew(e,t){let r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}function eb(e,t,r=ep){ew(e,t).clearInstance(r)}function eE(e){return void 0!==e.options}function eC(e){return null!=e&&void 0!==e.settings}function eS(){ev.clear()}let eT=new A("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 options or config","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."});class eR{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new H("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw eT.create("app-deleted",{appName:this._name})}}function eP(e,t){let r=y(e.split(".")[1]);null===r?console.error(`FirebaseServerApp ${t} is invalid: second part could not be parsed.`):void 0===JSON.parse(r).exp?console.error(`FirebaseServerApp ${t} is invalid: expiration claim could not be parsed`):1e3*JSON.parse(r).exp-new Date().getTime()<=0&&console.error(`FirebaseServerApp ${t} is invalid: the token has expired.`)}
3class eO extends eR{constructor(e,t,r,i){const n=void 0===t.automaticDataCollectionEnabled||t.automaticDataCollectionEnabled,s={name:r,automaticDataCollectionEnabled:n};void 0!==e.apiKey?super(e,s,i):super(e.options,s,i),this._serverConfig=Object.assign({automaticDataCollectionEnabled:n},t),this._serverConfig.authIdToken&&eP(this._serverConfig.authIdToken,"authIdToken"),this._serverConfig.appCheckToken&&eP(this._serverConfig.appCheckToken,"appCheckToken"),this._finalizationRegistry=null,"u">typeof FinalizationRegistry&&(this._finalizationRegistry=new FinalizationRegistry(()=>{this.automaticCleanup()})),this._refCount=0,this.incRefCount(this._serverConfig.releaseOnDeref),this._serverConfig.releaseOnDeref=void 0,t.releaseOnDeref=void 0,eM(eu,eh,"serverapp")}toJSON(){}get refCount(){return this._refCount}incRefCount(e){this.isDeleted||(this._refCount++,void 0!==e&&null!==this._finalizationRegistry&&this._finalizationRegistry.register(e,this))}decRefCount(){return this.isDeleted?0:--this._refCount}automaticCleanup(){ex(this)}get settings(){return this.checkDestroyed(),this._serverConfig}checkDestroyed(){if(this.isDeleted)throw eT.create("server-app-deleted")}}let ek="11.10.0";function eA(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});let i=Object.assign({name:ep,automaticDataCollectionEnabled:!0},t),n=i.name;if("string"!=typeof n||!n)throw eT.create("bad-app-name",{appName:String(n)});if(r||(r=w()),!r)throw eT.create("no-options");let s=eg.get(n);if(s)if(D(r,s.options)&&D(i,s.config))return s;else throw eT.create("duplicate-app",{appName:n});let a=new W(n);for(let e of ev.values())a.addComponent(e);let o=new eR(r,i,a);return eg.set(n,o),o}function eN(e,t){let r;if(("u">typeof window||O())&&!O())throw eT.create("invalid-server-app-environment");void 0===t.automaticDataCollectionEnabled&&(t.automaticDataCollectionEnabled=!0),r=eE(e)?e.options:e;let i=Object.assign(Object.assign({},t),r);if(void 0!==i.releaseOnDeref&&delete i.releaseOnDeref,void 0!==t.releaseOnDeref&&"u"<typeof FinalizationRegistry)throw eT.create("finalization-registry-not-supported",{});let n=""+[...JSON.stringify(i)].reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0),s=em.get(n);if(s)return s.incRefCount(t.releaseOnDeref),s;let a=new W(n);for(let e of ev.values())a.addComponent(e);let o=new eO(r,t,n,a);return em.set(n,o),o}function eD(e=ep){let t=eg.get(e);if(!t&&e===ep&&w())return eA();if(!t)throw eT.create("no-app",{appName:e});return t}function eL(){return Array.from(eg.values())}async function ex(e){let t=!1,r=e.name;eg.has(r)?(t=!0,eg.delete(r)):em.has(r)&&0>=e.decRefCount()&&(em.delete(r),t=!0),t&&(await Promise.all(e.container.getProviders().map(e=>e.delete())),e.isDeleted=!0)}function eM(e,t,r){var i;let n=null!=(i=ef[e])?i:e;r&&(n+=`-${r}`);let s=n.match(/\s|\//),a=t.match(/\s|\//);if(s||a){let e=[`Unable to register library "${n}" with version "${t}":`];s&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&a&&e.push("and"),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),ed.warn(e.join(" "));return}eI(new H(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}function ej(e,t){if(null!==e&&"function"!=typeof e)throw eT.create("invalid-log-argument");for(let r of $){let i=null;t&&t.level&&(i=G[t.level]),null===e?r.userLogHandler=null:r.userLogHandler=(t,r,...n)=>{let s=n.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");r>=(null!=i?i:t.logLevel)&&e({level:a[r].toLowerCase(),message:s,args:n,type:t.name})}}}function eU(e){$.forEach(t=>{t.setLogLevel(e)})}let eF="firebase-heartbeat-store",eV=null;function eH(){return eV||(eV=(function(e,t,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){let a=indexedDB.open(e,1),o=ei(a);return i&&a.addEventListener("upgradeneeded",e=>{i(ei(a.result),e.oldVersion,e.newVersion,ei(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),o.then(e=>{s&&e.addEventListener("close",()=>s()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o})("firebase-heartbeat-database",0,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(eF)}catch(e){console.warn(e)}}}).catch(e=>{throw eT.create("idb-open",{originalErrorMessage:e.message})})),eV}async function eB(e){try{let t=(await eH()).transaction(eF),r=await t.objectStore(eF).get(eW(e));return await t.done,r}catch(e){if(e instanceof k)ed.warn(e.message);else{let t=eT.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});ed.warn(t.message)}}}async function ez(e,t){try{let r=(await eH()).transaction(eF,"readwrite"),i=r.objectStore(eF);await i.put(t,eW(e)),await r.done}catch(e){if(e instanceof k)ed.warn(e.message);else{let t=eT.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});ed.warn(t.message)}}}function eW(e){return`${e.name}!${e.options.appId}`}class e${constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new eq(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){var e,t;try{let r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=eG();if((null==(e=this._heartbeatsCache)?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,(null==(t=this._heartbeatsCache)?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(e=>e.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:r}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,r=e[0].date;for(let i=1;i<e.length;i++)e[i].date<r&&(r=e[i].date,t=i);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){ed.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,(null==(e=this._heartbeatsCache)?void 0:e.heartbeats)==null||0===this._heartbeatsCache.heartbeats.length)return"";let t=eG(),{heartbeatsToSend:r,unsentEntries:i}=function(e,t=1024){let r=[],i=e.slice();for(let n of e){let e=r.find(e=>e.agent===n.agent);if(e){if(e.dates.push(n.date),eK(r)>t){e.dates.pop();break}}else if(r.push({agent:n.agent,dates:[n.date]}),eK(r)>t){r.pop();break}i=i.slice(1)}return{heartbeatsToSend:r,unsentEntries:i}}(this._heartbeatsCache.heartbeats),n=_(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,i.length>0?(this._heartbeatsCache.heartbeats=i,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}catch(e){return ed.warn(e),""}}}function eG(){return new Date().toISOString().substring(0,10)}class eq{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!function(){try{return"object"==typeof indexedDB}catch(e){return!1}}()&&new Promise((e,t)=>
3{try{let r=!0,i="validate-browser-context-for-indexeddb-analytics-module",n=self.indexedDB.open(i);n.onsuccess=()=>{n.result.close(),r||self.indexedDB.deleteDatabase(i),e(!0)},n.onupgradeneeded=()=>{r=!1},n.onerror=()=>{var e;t((null==(e=n.error)?void 0:e.message)||"")}}catch(e){t(e)}}).then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await eB(this.app);return(null==e?void 0:e.heartbeats)?e:{heartbeats:[]}}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){let r=await this.read();return ez(this.app,{lastSentHeartbeatDate:null!=(t=e.lastSentHeartbeatDate)?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){let r=await this.read();return ez(this.app,{lastSentHeartbeatDate:null!=(t=e.lastSentHeartbeatDate)?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function eK(e){return _(JSON.stringify({version:2,heartbeats:e})).length}eI(new H("platform-logger",e=>new ec(e),"PRIVATE")),eI(new H("heartbeat",e=>new e$(e),"PRIVATE")),eM(eu,eh,""),eM(eu,eh,"esm2017"),eM("fire-js",""),e.s(["SDK_VERSION",()=>ek,"_DEFAULT_ENTRY_NAME",()=>ep,"_addComponent",()=>e_,"_addOrOverwriteComponent",()=>ey,"_apps",()=>eg,"_clearComponents",()=>eS,"_components",()=>ev,"_getProvider",()=>ew,"_isFirebaseApp",()=>eE,"_isFirebaseServerApp",()=>eC,"_registerComponent",()=>eI,"_removeServiceInstance",()=>eb,"_serverApps",()=>em,"deleteApp",()=>ex,"getApp",()=>eD,"getApps",()=>eL,"initializeApp",()=>eA,"initializeServerApp",()=>eN,"onLog",()=>ej,"registerVersion",()=>eM,"setLogLevel",()=>eU],57799),eM("firebase","11.10.0","app"),e.s([],86908),e.i(57799),e.s(["FirebaseError",()=>k,"initializeApp",()=>eA],79227);function eJ(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)0>t.indexOf(i[n])&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]]);return r}function eX(){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."}}"function"==typeof SuppressedError&&SuppressedError;let eY=new A("auth","Firebase",eX()),eZ=new X("@firebase/auth");function eQ(e,...t){eZ.logLevel<=a.ERROR&&eZ.error(`Auth (${ek}): ${e}`,...t)}function e0(e,...t){throw e2(e,...t)}function e1(e,...t){return e2(e,...t)}function e6(e,t,r){return new A("auth","Firebase",Object.assign(Object.assign({},eX()),{[t]:r})).create(t,{appName:e.name})}function e3(e){return e6(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function e2(e,...t){if("string"!=typeof e){let r=t[0],i=[...t.slice(1)];return i[0]&&(i[0].appName=e.name),e._errorFactory.create(r,...i)}return eY.create(e,...t)}function e4(e,t,...r){if(!e)throw e2(t,...r)}function e5(e){let t="INTERNAL ASSERTION FAILED: "+e;throw eQ(t),Error(t)}function e8(){var e;return"u">typeof self&&(null==(e=self.location)?void 0:e.href)||""}function e7(){var e;return"u">typeof self&&(null==(e=self.location)?void 0:e.protocol)||null}class e9{constructor(e,t){var r;this.shortDelay=e,this.longDelay=t,r="Short delay should be less than long delay!",t>e||e5(r),this.isMobile="u">typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(P())||"object"==typeof navigator&&"ReactNative"===navigator.product}get(){let e;return!("u">typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&("http:"===e7()||"https:"===e7()||"object"==typeof(e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0)&&void 0!==e.id||"connection"in navigator))||navigator.onLine?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function te(e,t){var r,i;r=e.emulator,i="Emulator should always be set here",r||e5(i);let{url:n}=e.emulator;return t?`${n}${t.startsWith("/")?t.slice(1):t}`:n}class tt{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){return this.fetchImpl?this.fetchImpl:"u">typeof self&&"fetch"in self?self.fetch:"u">typeof globalThis&&globalThis.fetch?globalThis.fetch:"u">typeof fetch?fetch:void e5("Could not find fetch implementation, make sure you call FetchProvi
3der.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"u">typeof self&&"Headers"in self?self.Headers:"u">typeof globalThis&&globalThis.Headers?globalThis.Headers:"u">typeof Headers?Headers:void e5("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"u">typeof self&&"Response"in self?self.Response:"u">typeof globalThis&&globalThis.Response?globalThis.Response:"u">typeof Response?Response:void e5("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}let tr={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"},ti=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],tn=new e9(3e4,6e4);function ts(e,t){return e.tenantId&&!t.tenantId?Object.assign(Object.assign({},t),{tenantId:e.tenantId}):t}async function ta(e,t,r,i,n={}){return to(e,n,async()=>{let n={},s={};i&&("GET"===t?s=i:n={body:JSON.stringify(i)});let a=x(Object.assign({key:e.config.apiKey},s)).slice(1),o=await e._getAdditionalHeaders();o["Content-Type"]="application/json",e.languageCode&&(o["X-Firebase-Locale"]=e.languageCode);let l=Object.assign({method:t,headers:o},n);return"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||(l.referrerPolicy="no-referrer"),e.emulatorConfig&&C(e.emulatorConfig.host)&&(l.credentials="include"),tt.fetch()(await tc(e,e.config.apiHost,r,a),l)})}async function to(e,t,r){e._canInitEmulator=!1;let i=Object.assign(Object.assign({},tr),t);try{let t=new tu(e),n=await Promise.race([r(),t.promise]);t.clearNetworkTimeout();let s=await n.json();if("needConfirmation"in s)throw th(e,"account-exists-with-different-credential",s);if(n.ok&&!("errorMessage"in s))return s;{let[t,r]=(n.ok?s.errorMessage:s.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===t)throw th(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===t)throw th(e,"email-already-in-use",s);if("USER_DISABLED"===t)throw th(e,"user-disabled",s);let a=i[t]||t.toLowerCase().replace(/[_\s]+/g,"-");if(r)throw e6(e,a,r);e0(e,a)}}catch(t){if(t instanceof k)throw t;e0(e,"network-request-failed",{message:String(t)})}}async function tl(e,t,r,i,n={}){let s=await ta(e,t,r,i,n);return"mfaPendingCredential"in s&&e0(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function tc(e,t,r,i){let n=`${t}${r}?${i}`,s=e.config.emulator?te(e.config,n):`${e.config.apiScheme}://${n}`;return ti.includes(r)&&(await e._persistenceManagerAvailable,"COOKIE"===e._getPersistenceType())?e._getPersistence()._getFinalTarget(s).toString():s}class tu{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>
3{this.timer=setTimeout(()=>t(e1(this.auth,"network-request-failed")),tn.get())})}}function th(e,t,r){let i={appName:e.name};r.email&&(i.email=r.email),r.phoneNumber&&(i.phoneNumber=r.phoneNumber);let n=e1(e,t,i);return n.customData._tokenResponse=r,n}function td(e){return void 0!==e&&void 0!==e.enterprise}class tp{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)switch(t.enforcementState){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function tf(e,t){return ta(e,"GET","/v2/recaptchaConfig",ts(e,t))}async function tg(e,t){return ta(e,"POST","/v1/accounts:delete",t)}async function tm(e,t){return ta(e,"POST","/v1/accounts:lookup",t)}function tv(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}async function t_(e,t=!1){let r=V(e),i=await r.getIdToken(t),n=tI(i);e4(n&&n.exp&&n.auth_time&&n.iat,r.auth,"internal-error");let s="object"==typeof n.firebase?n.firebase:void 0,a=null==s?void 0:s.sign_in_provider;return{claims:n,token:i,authTime:tv(ty(n.auth_time)),issuedAtTime:tv(ty(n.iat)),expirationTime:tv(ty(n.exp)),signInProvider:a||null,signInSecondFactor:(null==s?void 0:s.sign_in_second_factor)||null}}function ty(e){return 1e3*Number(e)}function tI(e){let[t,r,i]=e.split(".");if(void 0===t||void 0===r||void 0===i)return eQ("JWT malformed, contained fewer than 3 sections"),null;try{let e=y(r);if(!e)return eQ("Failed to decode base64 JWT payload"),null;return JSON.parse(e)}catch(e){return eQ("Caught error parsing JWT payload as JSON",null==e?void 0:e.toString()),null}}function tw(e){let t=tI(e);return e4(t,"internal-error"),e4(void 0!==t.exp,"internal-error"),e4(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function tb(e,t,r=!1){if(r)return t;try{return await t}catch(t){throw t instanceof k&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class tE{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,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){var t;if(!e)return this.errorBackoff=3e4,Math.max(0,(null!=(t=this.user.stsTokenManager.expirationTime)?t:0)-Date.now()-3e5);{let e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),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){(null==e?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}class tC{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=tv(this.lastLoginAt),this.creationTime=tv(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function tS(e){var t,r,i;let n=e.auth,s=await e.getIdToken(),a=await tb(e,tm(n,{idToken:s}));e4(null==a?void 0:a.users.length,n,"internal-error");let o=a.users[0];e._notifyReloadListener(o);let l=(null==(t=o.providerUserInfo)?void 0:t.length)?tR(o.providerUserInfo):[],c=(r=e.providerData,i=l,[...r.filter(e=>!i.some(t=>t.providerId===e.providerId)),...i]),u=e.isAnonymous,h=!(e.email&&o.passwordHash)&&!(null==c?void 0:c.length);Object.assign(e,{uid:o.localId,displayName:o.displayName||null,photoURL:o.photoUrl||null,email:o.email||null,emailVerified:o.emailVerified||!1,phoneNumber:o.phoneNumber||null,tenantId:o.tenantId||null,providerData:c,metadata:new tC(o.createdAt,o.lastLoginAt),isAnonymous:!!u&&h})}async function tT(e){let t=V(e);await tS(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function tR(e){return e.map(e=>{var{providerId:t}=e,r=eJ(e,["providerId"]);
3return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}async function tP(e,t){let r=await to(e,{},async()=>{let r=x({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:i,apiKey:n}=e.config,s=await tc(e,i,"/v1/token",`key=${n}`),a=await e._getAdditionalHeaders();a["Content-Type"]="application/x-www-form-urlencoded";let o={method:"POST",headers:a,body:r};return e.emulatorConfig&&C(e.emulatorConfig.host)&&(o.credentials="include"),tt.fetch()(s,o)});return{accessToken:r.access_token,expiresIn:r.expires_in,refreshToken:r.refresh_token}}async function tO(e,t){return ta(e,"POST","/v2/accounts:revokeToken",ts(e,t))}class tk{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){e4(e.idToken,"internal-error"),e4(void 0!==e.idToken,"internal-error"),e4(void 0!==e.refreshToken,"internal-error");let t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):tw(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){e4(0!==e.length,"internal-error");let t=tw(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(e4(this.refreshToken,e,"user-token-expired"),this.refreshToken)?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:r,refreshToken:i,expiresIn:n}=await tP(e,t);this.updateTokensAndExpiration(r,i,Number(n))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){let{refreshToken:r,accessToken:i,expirationTime:n}=t,s=new tk;return r&&(e4("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),i&&(e4("string"==typeof i,"internal-error",{appName:e}),s.accessToken=i),n&&(e4("number"==typeof n,"internal-error",{appName:e}),s.expirationTime=n),s}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 tk,this.toJSON())}_performRefresh(){return e5("not implemented")}}function tA(e,t){e4("string"==typeof e||void 0===e,"internal-error",{appName:t})}class tN{constructor(e){var{uid:t,auth:r,stsTokenManager:i}=e,n=eJ(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new tE(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=i,this.accessToken=i.accessToken,this.displayName=n.displayName||null,this.email=n.email||null,this.emailVerified=n.emailVerified||!1,this.phoneNumber=n.phoneNumber||null,this.photoURL=n.photoURL||null,this.isAnonymous=n.isAnonymous||!1,this.tenantId=n.tenantId||null,this.providerData=n.providerData?[...n.providerData]:[],this.metadata=new tC(n.createdAt||void 0,n.lastLoginAt||void 0)}async getIdToken(e){let t=await tb(this,this.stsTokenManager.getToken(this.auth,e));return e4(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return t_(this,e)}reload(){return tT(this)}_assign(e){this!==e&&(e4(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=>Object.assign({},e)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){let t=new tN(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){e4(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),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 r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await tS(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(eC(this.auth.app))return Promise.reject(e3(this.auth));let e=await this.getIdToken();return await tb(this,tg(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isA
3nonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},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(e,t){var r,i,n,s,a,o,l,c;let u=null!=(r=t.displayName)?r:void 0,h=null!=(i=t.email)?i:void 0,d=null!=(n=t.phoneNumber)?n:void 0,p=null!=(s=t.photoURL)?s:void 0,f=null!=(a=t.tenantId)?a:void 0,g=null!=(o=t._redirectEventId)?o:void 0,m=null!=(l=t.createdAt)?l:void 0,v=null!=(c=t.lastLoginAt)?c:void 0,{uid:_,emailVerified:y,isAnonymous:I,providerData:w,stsTokenManager:b}=t;e4(_&&b,e,"internal-error");let E=tk.fromJSON(this.name,b);e4("string"==typeof _,e,"internal-error"),tA(u,e.name),tA(h,e.name),e4("boolean"==typeof y,e,"internal-error"),e4("boolean"==typeof I,e,"internal-error"),tA(d,e.name),tA(p,e.name),tA(f,e.name),tA(g,e.name),tA(m,e.name),tA(v,e.name);let C=new tN({uid:_,auth:e,email:h,emailVerified:y,displayName:u,isAnonymous:I,photoURL:p,phoneNumber:d,tenantId:f,stsTokenManager:E,createdAt:m,lastLoginAt:v});return w&&Array.isArray(w)&&(C.providerData=w.map(e=>Object.assign({},e))),g&&(C._redirectEventId=g),C}static async _fromIdTokenResponse(e,t,r=!1){let i=new tk;i.updateFromServerResponse(t);let n=new tN({uid:t.localId,auth:e,stsTokenManager:i,isAnonymous:r});return await tS(n),n}static async _fromGetAccountInfoResponse(e,t,r){let i=t.users[0];e4(void 0!==i.localId,"internal-error");let n=void 0!==i.providerUserInfo?tR(i.providerUserInfo):[],s=!(i.email&&i.passwordHash)&&!(null==n?void 0:n.length),a=new tk;a.updateFromIdToken(r);let o=new tN({uid:i.localId,auth:e,stsTokenManager:a,isAnonymous:s});return Object.assign(o,{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:n,metadata:new tC(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!(null==n?void 0:n.length)}),o}}let tD=new Map;function tL(e){var t,r;t="Expected a class definition",e instanceof Function||e5(t);let i=tD.get(e);return i?(r="Instance stored in cache mismatched with class",i instanceof e||e5(r)):(i=new e,tD.set(e,i)),i}class tx{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 void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}function tM(e,t,r){return`firebase:${e}:${t}:${r}`}tx.type="NONE";class tj{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:i,name:n}=this.auth;this.fullUserKey=tM(this.userKey,i.apiKey,n),this.fullPersistenceKey=tM("persistence",i.apiKey,n),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}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("string"==typeof e){let t=await tm(this.auth,{idToken:e}).catch(()=>void 0);return t?tN._fromGetAccountInfoResponse(this.auth,t,e):null}return tN._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(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,r="authUser"){if(!t.length)return new tj(tL(tx),e,r);let i=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),n=i[0]||tL(tx),s=tM(r,e.config.apiKey,e.name),a=null;for(let r of t)try{let t=await r._get(s);if(t){let i;if("string"==typeof t){let r=await tm(e,{idToken:t}).catch(()=>void 0);if(!r)break;
3i=await tN._fromGetAccountInfoResponse(e,r,t)}else i=tN._fromJSON(e,t);r!==n&&(a=i),n=r;break}}catch(e){}let o=i.filter(e=>e._shouldAllowMigration);return n._shouldAllowMigration&&o.length&&(n=o[0],a&&await n._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==n)try{await e._remove(s)}catch(e){}}))),new tj(n,e,r)}}function tU(e){let t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";{if(tB(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if(tF(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(tW(t))return"Blackberry";if(t$(t))return"Webos";if(tV(t))return"Safari";if((t.includes("chrome/")||tH(t))&&!t.includes("edge/"))return"Chrome";if(tz(t))return"Android";let r=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if((null==r?void 0:r.length)===2)return r[1]}return"Other"}function tF(e=P()){return/firefox\//i.test(e)}function tV(e=P()){let t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function tH(e=P()){return/crios\//i.test(e)}function tB(e=P()){return/iemobile/i.test(e)}function tz(e=P()){return/android/i.test(e)}function tW(e=P()){return/blackberry/i.test(e)}function t$(e=P()){return/webos/i.test(e)}function tG(e=P()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function tq(e=P()){return tG(e)||tz(e)||t$(e)||tW(e)||/windows phone/i.test(e)||tB(e)}function tK(e,t=[]){let r;switch(e){case"Browser":r=tU(P());break;case"Worker":r=`${tU(P())}-${e}`;break;default:r=e}let i=t.length?t.join(","):"FirebaseCore-web";return`${r}/JsCore/${ek}/${i}`}class tJ{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let r=t=>new Promise((r,i)=>{try{let i=e(t);r(i)}catch(e){i(e)}});r.onAbort=t,this.queue.push(r);let i=this.queue.length-1;return()=>{this.queue[i]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){for(let e of(t.reverse(),t))try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null==e?void 0:e.message})}}}async function tX(e,t={}){return ta(e,"GET","/v2/passwordPolicy",ts(e,t))}class tY{constructor(e){var t,r,i,n;const s=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=null!=(t=s.minPasswordLength)?t:6,s.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=s.maxPasswordLength),void 0!==s.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=s.containsLowercaseCharacter),void 0!==s.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=s.containsUppercaseCharacter),void 0!==s.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=s.containsNumericCharacter),void 0!==s.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=s.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=null!=(i=null==(r=e.allowedNonAlphanumericCharacters)?void 0:r.join(""))?i:"",this.forceUpgradeOnSignin=null!=(n=e.forceUpgradeOnSignin)&&n,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,r,i,n,s,a;let o={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,o),this.validatePasswordCharacterOptions(e,o),o.isValid&&(o.isValid=null==(t=o.meetsMinPasswordLength)||t),o.isValid&&(o.isValid=null==(r=o.meetsMaxPasswordLength)||r),o.isValid&&(o.isValid=null==(i=o.containsLowercaseLetter)||i),o.isValid&&(o.isValid=null==(n=o.containsUppercaseLetter)||n),o.isValid&&(o.isValid=null==(s=o.containsNumericCharacter)||s),o.isValid&&(o.isValid=null==(a=o.containsNonAlphanumericCharacter)||a),o}validatePasswordLengthOptions(e,t){let r=this.customStrengthOptions.minPasswordLength,i=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),i&&(t.meetsMaxPasswordLength=e.length<=i)}validatePasswordCharacterOptions(e,t){let r;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let i=0;i<e.length;i++)r=e.charAt(i),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,i,n){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=i)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=n))}}
3class tZ{constructor(e,t,r,i){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=i,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new tQ(this),this.idTokenSubscription=new tQ(this),this.beforeStateQueue=new tJ(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=eY,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=i.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=tL(t)),this._initializationPromise=this.queue(async()=>{var r,i,n;if(!this._deleted){if(this.persistenceManager=await tj.create(this,e),null==(r=this._resolvePersistenceManagerAvailable)||r.call(this),!this._deleted){if(null==(i=this._popupRedirectResolver)?void 0:i._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=(null==(n=this.currentUser)?void 0:n.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 tm(this,{idToken:e}),r=await tN._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(eC(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let r=await this.assertedPersistence.getCurrentUser(),i=r,n=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let r=null==(t=this.redirectUser)?void 0:t._redirectEventId,s=null==i?void 0:i._redirectEventId,a=await this.tryRedirectSignIn(e);(!r||r===s)&&(null==a?void 0:a.user)&&(i=a.user,n=!0)}if(!i)return this.directlySetCurrentUser(null);if(!i._redirectEventId){if(n)try{await this.beforeStateQueue.runMiddleware(i)}catch(e){i=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return i?this.reloadAndSetCurrentUserOrClear(i):this.directlySetCurrentUser(null)}return(e4(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===i._redirectEventId)?this.directlySetCurrentUser(i):this.reloadAndSetCurrentUserOrClear(i)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await tS(e)}catch(e){if((null==e?void 0:e.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("u"<typeof navigator)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(eC(this.app))return Promise.reject(e3(this));let t=e?V(e):null;return t&&e4(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&&e4(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 eC(this.app)?Promise.reject(e3(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return eC(this.app)?Promise.reject(e3(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(tL(e))})}_getRecaptchaConfig(){return null==this.tenantId?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?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}
3async _updatePasswordPolicy(){let e=new tY(await tX(this));null===this.tenantId?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new A("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let r=this.onAuthStateChanged(()=>{r(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await tO(this,t)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null==(e=this._currentUser)?void 0:e.toJSON()}}async _setRedirectUser(e,t){let r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&tL(e)||this._popupRedirectResolver;e4(t,this,"argument-error"),this.redirectPersistenceManager=await tj.create(this,[tL(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,r;return(this._isInitialized&&await this.queue(async()=>{}),(null==(t=this._currentUser)?void 0:t._redirectEventId)===e)?this._currentUser:(null==(r=this.redirectUser)?void 0:r._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(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let r=null!=(t=null==(e=this.currentUser)?void 0:e.uid)?t:null;this.lastNotifiedUid!==r&&(this.lastNotifiedUid=r,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,i){if(this._deleted)return()=>{};let n="function"==typeof t?t:t.next.bind(t),s=!1,a=this._isInitialized?Promise.resolve():this._initializationPromise;if(e4(a,this,"internal-error"),a.then(()=>{s||n(this.currentUser)}),"function"==typeof t){let n=e.addObserver(t,r,i);return()=>{s=!0,n()}}{let r=e.addObserver(t);return()=>{s=!0,r()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return e4(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=tK(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;let t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);let r=await (null==(e=this.heartbeatServiceProvider.getImmediate({optional:!0}))?void 0:e.getHeartbeatsHeader());r&&(t["X-Firebase-Client"]=r);let i=await this._getAppCheckToken();return i&&(t["X-Firebase-AppCheck"]=i),t}async _getAppCheckToken(){var e;if(eC(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let t=await (null==(e=this.appCheckServiceProvider.getImmediate({optional:!0}))?void 0:e.getToken());return(null==t?void 0:t.error)&&function(e,...t){eZ.logLevel<=a.WARN&&eZ.warn(`Auth (${ek}): ${e}`,...t)}(`Error while retrieving App Check token: ${t.error}`),null==t?void 0:t.token}}class tQ{constructor(e){this.auth=e,this.observer=null,this.addObserver=function(e,t){let r=new U(e,void 0);return r.subscribe.bind(r)}(e=>this.observer=e)}get next(){return e4(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let t0={async loadJS(){throw Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function t1(e){return`__${e}${Math.floor(1e6*Math.random())}`}class t6{constructor(){this.enterprise=new t3}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class t3{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}let t2="NO_RECAPTCHA";class t4{constructor(e){this.type="recaptcha-enterprise",this.auth=V(e)}async verify(e="verify",t=!1){async function r(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,r)=>
3{tf(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(i=>{if(void 0===i.recaptchaKey)r(Error("recaptcha Enterprise site key undefined"));else{let r=new tp(i);return null==e.tenantId?e._agentRecaptchaConfig=r:e._tenantRecaptchaConfigs[e.tenantId]=r,t(r.siteKey)}}).catch(e=>{r(e)})})}function i(t,r,i){let n=window.grecaptcha;td(n)?n.enterprise.ready(()=>{n.enterprise.execute(t,{action:e}).then(e=>{r(e)}).catch(()=>{r(t2)})}):i(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new t6().execute("siteKey",{action:"verify"}):new Promise((e,n)=>{r(this.auth).then(r=>{if(!t&&td(window.grecaptcha))i(r,e,n);else{var s;if("u"<typeof window)return void n(Error("RecaptchaVerifier is only supported in browser"));let t=t0.recaptchaEnterpriseScript;0!==t.length&&(t+=r),(s=t,t0.loadJS(s)).then(()=>{i(r,e,n)}).catch(e=>{n(e)})}}).catch(e=>{n(e)})})}}async function t5(e,t,r,i=!1,n=!1){let s,a=new t4(e);if(n)s=t2;else try{s=await a.verify(r)}catch(e){s=await a.verify(r,!0)}let o=Object.assign({},t);if("mfaSmsEnrollment"===r||"mfaSmsSignIn"===r){if("phoneEnrollmentInfo"in o){let e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){let e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return i?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function t8(e,t,r,i,n){var s,a;if("EMAIL_PASSWORD_PROVIDER"===n)if(null==(s=e._getRecaptchaConfig())||!s.isProviderEnabled("EMAIL_PASSWORD_PROVIDER"))return i(e,t).catch(async n=>{if("auth/missing-recaptcha-token"!==n.code)return Promise.reject(n);{console.log(`${r} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);let n=await t5(e,t,r,"getOobCode"===r);return i(e,n)}});else{let n=await t5(e,t,r,"getOobCode"===r);return i(e,n)}if("PHONE_PROVIDER"!==n)return Promise.reject(n+" provider is not supported.");if(null==(a=e._getRecaptchaConfig())?void 0:a.isProviderEnabled("PHONE_PROVIDER")){let n=await t5(e,t,r);return i(e,n).catch(async n=>{var s;if((null==(s=e._getRecaptchaConfig())?void 0:s.getProviderEnforcementState("PHONE_PROVIDER"))==="AUDIT"&&("auth/missing-recaptcha-token"===n.code||"auth/invalid-app-credential"===n.code)){console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${r} flow.`);let n=await t5(e,t,r,!1,!0);return i(e,n)}return Promise.reject(n)})}{let n=await t5(e,t,r,!1,!0);return i(e,n)}}async function t7(e){let t=V(e),r=new tp(await tf(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}));null==t.tenantId?t._agentRecaptchaConfig=r:t._tenantRecaptchaConfigs[t.tenantId]=r,r.isAnyProviderEnabled()&&new t4(t).verify()}function t9(e){let t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function re(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}class rt{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return e5("not implemented")}_getIdTokenResponse(e){return e5("not implemented")}_linkToIdToken(e,t){return e5("not implemented")}_getReauthenticationResolver(e){return e5("not implemented")}}async function rr(e,t){return ta(e,"POST","/v1/accounts:signUp",t)}async function ri(e,t){return tl(e,"POST","/v1/accounts:signInWithPassword",ts(e,t))}async function rn(e,t){return tl(e,"POST","/v1/accounts:signInWithEmailLink",ts(e,t))}async function rs(e,t){return tl(e,"POST","/v1/accounts:signInWithEmailLink",ts(e,t))}class ra extends rt{constructor(e,t,r,i=null){super("password",r),this._email=e,this._password=t,this._tenantId=i}static _fromEmailAndPassword(e,t){return new ra(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new ra(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e;if((null==t?void 0:t.email)&&(null==t?void 0:t.password)){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);else if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return t8(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",ri,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return rn(e,{email:this._email,oobCode:this._password});default:e0(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return t8(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",rr,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return rs(e,{idToken:t,email:this._email,oobCode:this._password});default:e0(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function ro(e,t){return tl(e,"POST","/v1/accounts:signInWithIdp",ts(e,t))}class rl extends rt{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){let t=new rl(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&
3(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):e0("argument-error"),t}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(e){let t="string"==typeof e?JSON.parse(e):e,{providerId:r,signInMethod:i}=t,n=eJ(t,["providerId","signInMethod"]);if(!r||!i)return null;let s=new rl(r,i);return s.idToken=n.idToken||void 0,s.accessToken=n.accessToken||void 0,s.secret=n.secret,s.nonce=n.nonce,s.pendingToken=n.pendingToken||null,s}_getIdTokenResponse(e){return ro(e,this.buildRequest())}_linkToIdToken(e,t){let r=this.buildRequest();return r.idToken=t,ro(e,r)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,ro(e,t)}buildRequest(){let e={requestUri:"http://localhost",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=x(t)}return e}}async function rc(e,t){return ta(e,"POST","/v1/accounts:sendVerificationCode",ts(e,t))}async function ru(e,t){return tl(e,"POST","/v1/accounts:signInWithPhoneNumber",ts(e,t))}async function rh(e,t){let r=await tl(e,"POST","/v1/accounts:signInWithPhoneNumber",ts(e,t));if(r.temporaryProof)throw th(e,"account-exists-with-different-credential",r);return r}let rd={USER_NOT_FOUND:"user-not-found"};async function rp(e,t){return tl(e,"POST","/v1/accounts:signInWithPhoneNumber",ts(e,Object.assign(Object.assign({},t),{operation:"REAUTH"})),rd)}class rf extends rt{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new rf({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new rf({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return ru(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return rh(e,Object.assign({idToken:t},this._makeVerificationRequest()))}_getReauthenticationResolver(e){return rp(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:i}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:i}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"==typeof e&&(e=JSON.parse(e));let{verificationId:t,verificationCode:r,phoneNumber:i,temporaryProof:n}=e;return r||t||i||n?new rf({verificationId:t,verificationCode:r,phoneNumber:i,temporaryProof:n}):null}}class rg{constructor(e){var t,r,i,n,s,a;const o=M(j(e)),l=null!=(t=o.apiKey)?t:null,c=null!=(r=o.oobCode)?r:null,u=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!=(i=o.mode)?i:null);e4(l&&c&&u,"argument-error"),this.apiKey=l,this.operation=u,this.code=c,this.continueUrl=null!=(n=o.continueUrl)?n:null,this.languageCode=null!=(s=o.lang)?s:null,this.tenantId=null!=(a=o.tenantId)?a:null}static parseLink(e){let t,r,i,n=(r=(t=M(j(e)).link)?M(j(t)).deep_link_id:null,((i=M(j(e)).deep_link_id)?M(j(i)).link:null)||i||r||t||e);try{return new rg(n)}catch(e){return null}}}class rm{constructor(){this.providerId=rm.PROVIDER_ID}static credential(e,t){return ra._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let r=rg.parseLink(t);return e4(r,"argument-error"),ra._fromEmailAndCode(e,r.code,r.tenantId)}}rm.PROVIDER_ID="password",rm.EMAIL_PASSWORD_SIGN_IN_METHOD="password",rm.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class rv{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}}class r_ extends rv{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class ry extends r_{constructor(){super("facebook.com")}static credential(e){return rl._fromParams({providerId:ry.PROVIDER_ID,signInMethod:ry.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return ry.credentialFromTaggedObject(e)}static credentialFromError(e){return ry.credentialFromTaggedObject(e.customData||{})}
3static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return ry.credential(e.oauthAccessToken)}catch(e){return null}}}ry.FACEBOOK_SIGN_IN_METHOD="facebook.com",ry.PROVIDER_ID="facebook.com";class rI extends r_{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return rl._fromParams({providerId:rI.PROVIDER_ID,signInMethod:rI.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return rI.credentialFromTaggedObject(e)}static credentialFromError(e){return rI.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return rI.credential(t,r)}catch(e){return null}}}rI.GOOGLE_SIGN_IN_METHOD="google.com",rI.PROVIDER_ID="google.com";class rw extends r_{constructor(){super("github.com")}static credential(e){return rl._fromParams({providerId:rw.PROVIDER_ID,signInMethod:rw.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return rw.credentialFromTaggedObject(e)}static credentialFromError(e){return rw.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return rw.credential(e.oauthAccessToken)}catch(e){return null}}}rw.GITHUB_SIGN_IN_METHOD="github.com",rw.PROVIDER_ID="github.com";class rb extends r_{constructor(){super("twitter.com")}static credential(e,t){return rl._fromParams({providerId:rb.PROVIDER_ID,signInMethod:rb.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return rb.credentialFromTaggedObject(e)}static credentialFromError(e){return rb.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return rb.credential(t,r)}catch(e){return null}}}rb.TWITTER_SIGN_IN_METHOD="twitter.com",rb.PROVIDER_ID="twitter.com";class rE{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,i=!1){return new rE({user:await tN._fromIdTokenResponse(e,r,i),providerId:rC(r),_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){return await e._updateTokensIfNecessary(r,!0),new rE({user:e,providerId:rC(r),_tokenResponse:r,operationType:t})}}function rC(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}
3class rS extends k{constructor(e,t,r,i){var n;super(t.code,t.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,rS.prototype),this.customData={appName:e.name,tenantId:null!=(n=e.tenantId)?n:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,i){return new rS(e,t,r,i)}}function rT(e,t,r,i){return("reauthenticate"===t?r._getReauthenticationResolver(e):r._getIdTokenResponse(e)).catch(r=>{if("auth/multi-factor-auth-required"===r.code)throw rS._fromErrorAndOperation(e,r,t,i);throw r})}async function rR(e,t,r=!1){let i=await tb(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return rE._forOperation(e,"link",i)}async function rP(e,t,r=!1){let{auth:i}=e;if(eC(i.app))return Promise.reject(e3(i));let n="reauthenticate";try{let s=await tb(e,rT(i,n,t,e),r);e4(s.idToken,i,"internal-error");let a=tI(s.idToken);e4(a,i,"internal-error");let{sub:o}=a;return e4(e.uid===o,i,"user-mismatch"),rE._forOperation(e,n,s)}catch(e){throw(null==e?void 0:e.code)==="auth/user-not-found"&&e0(i,"user-mismatch"),e}}async function rO(e,t,r=!1){if(eC(e.app))return Promise.reject(e3(e));let i="signIn",n=await rT(e,i,t),s=await rE._fromIdTokenResponse(e,i,n);return r||await e._updateCurrentUser(s.user),s}async function rk(e,t){return rO(V(e),t)}class rA{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?rN._fromServerResponse(e,t):"totpInfo"in t?rD._fromServerResponse(e,t):e0(e,"internal-error")}}class rN extends rA{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new rN(t)}}class rD extends rA{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new rD(t)}}async function rL(e){let t=V(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}function rx(e,t,r){return eC(e.app)?Promise.reject(e3(e)):rk(V(e),rm.credential(t,r)).catch(async t=>{throw"auth/password-does-not-meet-requirements"===t.code&&rL(e),t})}function rM(e){return V(e).signOut()}function rj(e,t){return ta(e,"POST","/v2/accounts/mfaEnrollment:start",ts(e,t))}new WeakMap;let rU="__sak";class rF{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{if(!this.storage)return Promise.resolve(!1);return this.storage.setItem(rU,"1"),this.storage.removeItem(rU),Promise.resolve(!0)}catch(e){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()}}class rV extends rF{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=tq(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let r=this.storage.getItem(t),i=this.localCache[t];r!==i&&e(t,i,r)}}onStorageEvent(e,t=!1){let r;if(!e.key)return void this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)});let i=e.key;t?this.detachListener():this.stopPolling();let n=()=>{let e=this.storage.getItem(i);(t||this.localCache[i]!==e)&&this.notifyListeners(i,e)},s=this.storage.getItem(i);((r=P()).indexOf("MSIE ")>=0||r.indexOf("Trident/")>=0)&&10===document.documentMode&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(n,10):n()}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(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),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(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]}}rV.type="LOCAL";class rH extends rF{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}rH.type="SESSION";class rB{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){let t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;let r=new rB(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let{eventId:t,eventType:r,data:i}=e.data,n=this.handlersMap[r];if(!(null==n?void 0:n.size))return;e.ports[0].postMessage({status:"ack",eventId:t,eventType:r});let s=Array.from(n).map(async t=>t(e.origin,i)),a=await Promise.all(s.map(async e=>{try{let t=await e;return{fulfilled:!0,value:t}}catch(e){return{fulfilled:!1,reason:e}}}));e.ports[0].postMessage({status:"done",eventId:t,eventType:r,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function rz(e="",t=10){let r="";for(let e=0;e<t;e++)r+=Math.floor(10*Math.random());return e+r}rB.receivers=[];class rW{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener("message",e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,r=50){let i,n,s="u">typeof MessageChannel?new MessageChannel:null;if(!s)throw Error("connection_unavailable");return new Promise((a,o)=>{let l=rz("",20);s.port1.start();let c=setTimeout(()=>{o(Error("unsupported_event"))},r);n={messageChannel:s,onMessage(e){if(e.data.eventId===l)switch(e.data.status){case"ack":clearTimeout(c),i=setTimeout(()=>{o(Error("timeout"))},3e3);break;case"done":clearTimeout(i),a(e.data.response);break;default:clearTimeout(c),clearTimeout(i),o(Error("invalid_response"))}}},this.handlers.add(n),s.port1.addEventListener("message",n.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[s.port2])}).finally(()=>{n&&this.removeMessageHandler(n)})}}function r$(){return window}
3function rG(){return void 0!==r$().WorkerGlobalScope&&"function"==typeof r$().importScripts}async function rq(){if(!(null==navigator?void 0:navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}let rK="firebaseLocalStorageDb",rJ="firebaseLocalStorage",rX="fbase_key";class rY{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function rZ(e,t){return e.transaction([rJ],t?"readwrite":"readonly").objectStore(rJ)}function rQ(){let e=indexedDB.open(rK,1);return new Promise((t,r)=>{e.addEventListener("error",()=>{r(e.error)}),e.addEventListener("upgradeneeded",()=>{let t=e.result;try{t.createObjectStore(rJ,{keyPath:rX})}catch(e){r(e)}}),e.addEventListener("success",async()=>{let r=e.result;r.objectStoreNames.contains(rJ)?t(r):(r.close(),await new rY(indexedDB.deleteDatabase(rK)).toPromise(),t(await rQ()))})})}async function r0(e,t,r){return new rY(rZ(e,!0).put({[rX]:t,value:r})).toPromise()}async function r1(e,t){let r=rZ(e,!1).get(t),i=await new rY(r).toPromise();return void 0===i?null:i.value}function r6(e,t){return new rY(rZ(e,!0).delete(t)).toPromise()}class r3{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await rQ()),this.db}async _withRetries(e){let t=0;for(;;)try{let t=await this._openDb();return await e(t)}catch(e){if(t++>3)throw e;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return rG()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=rB._getInstance(rG()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await rq(),!this.activeServiceWorker)return;this.sender=new rW(this.activeServiceWorker);let r=await this.sender._send("ping",{},800);r&&(null==(e=r[0])?void 0:e.fulfilled)&&(null==(t=r[0])?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){var t;if(this.sender&&this.activeServiceWorker&&((null==(t=null==navigator?void 0:navigator.serviceWorker)?void 0:t.controller)||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(e){}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await rQ();return await r0(e,rU,"1"),await r6(e,rU),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(r=>r0(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>r1(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>r6(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new rY(rZ(e,!1).getAll()).toPromise());if(!e||0!==this.pendingWrites)return[];let t=[],r=new Set;if(0!==e.length)for(let{fbase_key:i,value:n}of e)r.add(i),JSON.stringify(this.localCache[i])!==JSON.stringify(n)&&(this.notifyListeners(i,n),t.push(i));for(let e of Object.keys(this.localCache))this.localCache[e]&&!r.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}function r2(e,t){return ta(e,"POST","/v2/accounts/mfaSignIn:start",ts(e,t))}r3.type="LOCAL",t1("rcb"),new e9(3e4,6e4);let r4="recaptcha";async function r5(e,t,r){var i;if(!e._getRecaptchaConfig())try{await t7(e)}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let n;if(n="string"==typeof t?{phoneNumber:t}
3:t,"session"in n){let t=n.session;if("phoneNumber"in n){e4("enroll"===t.type,e,"internal-error");let i={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===t2){e4((null==r?void 0:r.type)===r4,e,"argument-error");let i=await r8(e,t,r);return rj(e,i)}return rj(e,t)},a=t8(e,i,"mfaSmsEnrollment",s,"PHONE_PROVIDER");return(await a.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{e4("signin"===t.type,e,"internal-error");let s=(null==(i=n.multiFactorHint)?void 0:i.uid)||n.multiFactorUid;e4(s,e,"missing-multi-factor-info");let a={mfaPendingCredential:t.credential,mfaEnrollmentId:s,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},o=async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===t2){e4((null==r?void 0:r.type)===r4,e,"argument-error");let i=await r8(e,t,r);return r2(e,i)}return r2(e,t)},l=t8(e,a,"mfaSmsSignIn",o,"PHONE_PROVIDER");return(await l.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{let t={phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"},i=async(e,t)=>{if(t.captchaResponse===t2){e4((null==r?void 0:r.type)===r4,e,"argument-error");let i=await r8(e,t,r);return rc(e,i)}return rc(e,t)},s=t8(e,t,"sendVerificationCode",i,"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).sessionInfo}}finally{null==r||r._reset()}}async function r8(e,t,r){e4(r.type===r4,e,"argument-error");let i=await r.verify();e4("string"==typeof i,e,"argument-error");let n=Object.assign({},t);if("phoneEnrollmentInfo"in n){let e=n.phoneEnrollmentInfo.phoneNumber,t=n.phoneEnrollmentInfo.captchaResponse,r=n.phoneEnrollmentInfo.clientType,s=n.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(n,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:i,captchaResponse:t,clientType:r,recaptchaVersion:s}}),n}if(!("phoneSignInInfo"in n))return Object.assign(n,{recaptchaToken:i}),n;{let e=n.phoneSignInInfo.captchaResponse,t=n.phoneSignInInfo.clientType,r=n.phoneSignInInfo.recaptchaVersion;return Object.assign(n,{phoneSignInInfo:{recaptchaToken:i,captchaResponse:e,clientType:t,recaptchaVersion:r}}),n}}class r7{constructor(e){this.providerId=r7.PROVIDER_ID,this.auth=V(e)}verifyPhoneNumber(e,t){return r5(this.auth,e,V(t))}static credential(e,t){return rf._fromVerification(e,t)}static credentialFromResult(e){return r7.credentialFromTaggedObject(e)}static credentialFromError(e){return r7.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:r}=e;return t&&r?rf._fromTokenResponse(t,r):null}}r7.PROVIDER_ID="phone",r7.PHONE_SIGN_IN_METHOD="phone";class r9 extends rt{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return ro(e,this._buildIdpRequest())}_linkToIdToken(e,t){return ro(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return ro(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 ie(e){return rO(e.auth,new r9(e),e.bypassAuthState)}function it(e){let{auth:t,user:r}=e;return e4(r,t,"internal-error"),rP(r,new r9(e),e.bypassAuthState)}async function ir(e){let{auth:t,user:r}=e;return e4(r,t,"internal-error"),rR(r,new r9(e),e.bypassAuthState)}class ii{constructor(e,t,r,i,n=!1){this.auth=e,this.resolver=r,this.user=i,this.bypassAuthState=n,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:r,postBody:i,tenantId:n,error:s,type:a}=e;if(s)return void this.reject(s);let o={auth:this.auth,requestUri:t,sessionId:r,tenantId:n||void 0,postBody:i||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(o))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return ie;case"linkViaPopup":case"linkViaRedirect":return ir;case"reauthViaPopup":case"reauthViaRedirect":return it;default:e0(this.auth,"internal-error")}}resolve(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||e5(r),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||e5(r),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}let is=new e9(2e3,1e4);class ia extends ii{constructor(e,t,r,i,n){super(e,t,i,n),this.provider=r,this.authWindow=null,this.pollId=null,ia.currentPopupAction&&ia.currentPopupAction.cancel(),ia.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return e4(e,this.auth,"internal-error"),e}async onExecution(){var e,t;e=1===this.filter.length,t="Popup operations only handle one event",e||e5(t);let r=rz();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],r),this.authWindow.associatedEvent=r,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(e1(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return(null==(e=this.authWindow)?void 0:e.associatedEvent)||null}cancel(){this.reject(e1(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,ia.currentPopupAction=null}pollUserCancellation(){let e=()=>{var t,r;if(null==(r=null==(t=this.authWindow)?void 0:t.window)?void 0:r.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(e1(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,is.get())};e()}}ia.currentPopupAction=null;let io=new Map;class il extends ii{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=io.get(this.auth._key());if(!e){try{let t=await ic(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}io.set(this.auth._key(),e)}return this.bypassAuthState||io.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);
3if("unknown"===e.type)return void this.resolve(null);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 ic(e,t){var r;let i=tM("pendingRedirect",(r=t).config.apiKey,r.name),n=tL(e._redirectPersistence);if(!await n._isAvailable())return!1;let s=await n._get(i)==="true";return await n._remove(i),s}function iu(e,t){io.set(e._key(),t)}async function ih(e,t,r=!1){if(eC(e.app))return Promise.reject(e3(e));let i=V(e),n=t?tL(t):(e4(i._popupRedirectResolver,i,"argument-error"),i._popupRedirectResolver),s=new il(i,n,r),a=await s.execute();return a&&!r&&(delete a.user._redirectEventId,await i._persistUserIfCurrent(a.user),await i._setRedirectUser(null,t)),a}class id{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(r=>{this.isEventForConsumer(e,r)&&(t=!0,this.sendToConsumer(e,r),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return ig(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!ig(e)){let i=(null==(r=e.error.code)?void 0:r.split("auth/")[1])||"internal-error";t.onError(e1(this.auth,i))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(ip(e))}saveEventToCache(e){this.cachedEventUids.add(ip(e)),this.lastProcessedEventTime=Date.now()}}function ip(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function ig({type:e,error:t}){return"unknown"===e&&(null==t?void 0:t.code)==="auth/no-auth-event"}async function im(e,t={}){return ta(e,"GET","/v1/projects",t)}let iv=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,i_=/^https?/;async function iy(e){if(e.config.emulator)return;let{authorizedDomains:t}=await im(e);for(let e of t)try{if(function(e){let t=e8(),{protocol:r,hostname:i}=new URL(t);if(e.startsWith("chrome-extension://")){let n=new URL(e);return""===n.hostname&&""===i?"chrome-extension:"===r&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===r&&n.hostname===i}if(!i_.test(r))return!1;if(iv.test(e))return i===e;let n=e.replace(/\./g,"\\.");return RegExp("^(.+\\."+n+"|"+n+")$","i").test(i)}(e))return}catch(e){}e0(e,"unauthorized-domain")}let iI=new e9(3e4,6e4);function iw(){let e=r$().___jsl;if(null==e?void 0: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}}let ib=null,iE=new e9(5e3,15e3),iC={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},iS=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function iT(e){let t,r,i,n,s,a=await (ib=ib||new Promise((t,r)=>{var i,n,s,a;function o(){iw(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{iw(),r(e1(e,"network-request-failed"))},timeout:iI.get()})}if(null==(n=null==(i=r$().gapi)?void 0:i.iframes)?void 0:n.Iframe)t(gapi.iframes.getContext());else if(null==(s=r$().gapi)?void 0:s.load)o();else{let t=t1("iframefcb");return r$()[t]=()=>{gapi.load?o():r(e1(e,"network-request-failed"))},(a=`${t0.gapiScript}?onload=${t}`,t0.loadJS(a)).catch(e=>r(e))}}).catch(e=>{throw ib=null,e})),o=r$().gapi;return e4(o,e,"internal-error"),a.open({where:document.body,url:(e4((t=e.config).authDomain,e,"auth-domain-config-required"),r=t.emulator?te(t,"emulator/auth/iframe"):`https://${e.config.authDomain}
3/__/auth/iframe`,i={apiKey:t.apiKey,appName:e.name,v:ek},(n=iS.get(e.config.apiHost))&&(i.eid=n),(s=e._getFrameworks()).length&&(i.fw=s.join(",")),`${r}?${x(i).slice(1)}`),messageHandlersFilter:o.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:iC,dontclear:!0},t=>new Promise(async(r,i)=>{await t.restyle({setHideOnLeave:!1});let n=e1(e,"network-request-failed"),s=r$().setTimeout(()=>{i(n)},iE.get());function a(){r$().clearTimeout(s),r(t)}t.ping(a).then(a,()=>{i(n)})}))}let iR={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class iP{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}let iO=encodeURIComponent("fac");async function ik(e,t,r,i,n,s){e4(e.config.authDomain,e,"auth-domain-config-required"),e4(e.config.apiKey,e,"invalid-api-key");let a={apiKey:e.config.apiKey,appName:e.name,authType:r,redirectUrl:i,v:ek,eventId:n};if(t instanceof rv)for(let[r,i]of(t.setDefaultLanguage(e.languageCode),a.providerId=t.providerId||"",!function(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}(t.getCustomParameters())&&(a.customParameters=JSON.stringify(t.getCustomParameters())),Object.entries(s||{})))a[r]=i;if(t instanceof r_){let e=t.getScopes().filter(e=>""!==e);e.length>0&&(a.scopes=e.join(","))}for(let t of(e.tenantId&&(a.tid=e.tenantId),Object.keys(a)))void 0===a[t]&&delete a[t];let o=await e._getAppCheckToken(),l=o?`#${iO}=${encodeURIComponent(o)}`:"";return`${function({config:e}){return e.emulator?te(e,"emulator/auth/handler"):`https://${e.authDomain}/__/auth/handler`}(e)}?${x(a).slice(1)}${l}`}let iA="webStorageSupport",iN=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=rH,this._completeRedirectFn=ih,this._overrideRedirectResult=iu}async _openPopup(e,t,r,i){var n,s,a;s=null==(n=this.eventManagers[e._key()])?void 0:n.manager,a="_initialize() not called before _openPopup()",s||e5(a);let o=await ik(e,t,r,e8(),i);return function(e,t,r,i=500,n=600){let s=Math.max((window.screen.availHeight-n)/2,0).toString(),a=Math.max((window.screen.availWidth-i)/2,0).toString(),o="",l=Object.assign(Object.assign({},iR),{width:i.toString(),height:n.toString(),top:s,left:a}),c=P().toLowerCase();r&&(o=tH(c)?"_blank":r),tF(c)&&(t=t||"http://localhost",l.scrollbars="yes");let u=Object.entries(l).reduce((e,[t,r])=>`${e}${t}=${r},`,"");if(function(e=P()){var t;return tG(e)&&!!(null==(t=window.navigator)?void 0:t.standalone)}(c)&&"_self"!==o){var h,d;let e,r;return h=t||"",d=o,(e=document.createElement("a")).href=h,e.target=d,(r=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),e.dispatchEvent(r),new iP(null)}let p=window.open(t||"",o,u);e4(p,e,"popup-blocked");try{p.focus()}catch(e){}return new iP(p)}(e,o,rz())}
3async _openRedirect(e,t,r,i){var n;return await this._originValidation(e),n=await ik(e,t,r,e8(),i),r$().location.href=n,new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){var r;let{manager:e,promise:i}=this.eventManagers[t];return e?Promise.resolve(e):(r="If manager is not set, promise should be",i||e5(r),i)}let i=this.initAndGetManager(e);return this.eventManagers[t]={promise:i},i.catch(()=>{delete this.eventManagers[t]}),i}async initAndGetManager(e){let t=await iT(e),r=new id(e);return t.register("authEvent",t=>(e4(null==t?void 0:t.authEvent,e,"invalid-auth-event"),{status:r.onEvent(t.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:r},this.iframes[e._key()]=t,r}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(iA,{type:iA},r=>{var i;let n=null==(i=null==r?void 0:r[0])?void 0:i[iA];void 0!==n&&t(!!n),e0(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=iy(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return tq()||tV()||tG()}};var iD="@firebase/auth",iL="1.10.8";class ix{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null==(e=this.auth.currentUser)?void 0:e.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((null==t?void 0: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(){e4(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}let iM=b("authIdTokenMaxAge")||300,ij=null;function iU(e=eD()){var t,r;let i=ew(e,"auth");if(i.isInitialized())return i.getImmediate();let n=function(e,t){let r=ew(e,"auth");if(r.isInitialized()){let e=r.getImmediate();if(D(r.getOptions(),null!=t?t:{}))return e;e0(e,"already-initialized")}return r.initialize({options:t})}(e,{popupRedirectResolver:iN,persistence:[r3,rV,rH]}),s=b("authTokenSyncURL");if(s&&"boolean"==typeof isSecureContext&&isSecureContext){let e=new URL(s,location.origin);if(location.origin===e.origin){let t,r=(t=e.toString(),async e=>{let r=e&&await e.getIdTokenResult(),i=r&&(new Date().getTime()-Date.parse(r.issuedAtTime))/1e3;if(i&&i>iM)return;let n=null==r?void 0:r.token;ij!==n&&(ij=n,await fetch(t,{method:n?"POST":"DELETE",headers:n?{Authorization:`Bearer ${n}`}:{}}))});V(n).beforeAuthStateChanged(r,()=>r(n.currentUser)),V(n).onIdTokenChanged(e=>r(e),void 0,void 0)}}let a=null==(r=null==(t=I())?void 0:t.emulatorHosts)?void 0:r.auth;return a&&function(e,t,r){let i=V(e);e4(/^https?:\/\//.test(t),i,"invalid-emulator-scheme");let n=t9(t),{host:s,port:a}=function(e){let t=t9(e),r=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!r)return{host:"",port:null};let i=r[2].split("@").pop()||"",n=/^(\[[^\]]+\])(:|$)/.exec(i);if(n){let e=n[1];return{host:e,port:re(i.substr(e.length+1))}}{let[e,t]=i.split(":");return{host:e,port:re(t)}}}(t),o=null===a?"":`:${a}`,l={url:`${n}//${s}${o}/`},c=Object.freeze({host:s,port:a,protocol:n.replace(":",""),options:Object.freeze({disableWarnings:!1})});if(!i._canInitEmulator){e4(i.config.emulator&&i.emulatorConfig,i,"emulator-config-failed"),e4(D(l,i.config.emulator)&&D(c,i.emulatorConfig),i,"emulator-config-failed");return}i.config.emulator=l,i.emulatorConfig=c,i.settings.appVerificationDisabledForTesting=!0,C(s)?(S(`${n}//${s}${o}`),function(e,t){if("u"<typeof window||"u"<typeof document||!C(window.location.host)||T[e]===t||T[e]||R)return;function r(e){return`__firebase__banner__${e}`}T[e]=t;let i="__firebase__banner",n=function(){let e={prod:[],emulator:[]};for(let t of Object.keys(T))T[t]?e.emulator.push(t):e.prod.push(t);return e}().prod.length>0;function s(){let e,t,s=(e=document.getElementById(i),t=!1,e||((e=document.createElement("div")).setAttribute("id",i),t=!0),{created:t,element:e}),a=r("text"),o=document.getElementById(a)||document.createElement("span"),l=r("learnmore"),c=document.getElementById(l)||document.createElement("a"),u=r("preprendIcon"),h=document.getElementById(u)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(s.created){let e,t=s.element;t.style.display="flex",t.style.background="#7faaf0",t.style.position="fixed",t.style.bottom="5px",t.style.left="5px",t.style.padding=".5em",t.style.borderRadius="5px",t.style.alignItems="center",c.setAttribute("id",l),c.innerText="Learn more",c.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",c.setAttribute("target","__blank"),c.style.paddingLeft="5px",c.style.textDecoration="underline";let r=((e=document.createElement("span")).style.cursor="pointer",e.style.marginLeft="16
3px",e.style.fontSize="24px",e.innerHTML=" ×",e.onclick=()=>{let e;R=!0,(e=document.getElementById(i))&&e.remove()},e);h.setAttribute("width","24"),h.setAttribute("id",u),h.setAttribute("height","24"),h.setAttribute("viewBox","0 0 24 24"),h.setAttribute("fill","none"),h.style.marginLeft="-6px",t.append(h,o,c,r),document.body.appendChild(t)}n?(o.innerText="Preview backend disconnected.",h.innerHTML=`<g clip-path="url(#clip0_6013_33858)"> 4<path d="M4.8 17.6L12 5.6L19.2 17.6H4.8ZM6.91667 16.4H17.0833L12 7.93333L6.91667 16.4ZM12 15.6C12.1667 15.6 12.3056 15.5444 12.4167 15.4333C12.5389 15.3111 12.6 15.1667 12.6 15C12.6 14.8333 12.5389 14.6944 12.4167 14.5833C12.3056 14.4611 12.1667 14.4 12 14.4C11.8333 14.4 11.6889 14.4611 11.5667 14.5833C11.4556 14.6944 11.4 14.8333 11.4 15C11.4 15.1667 11.4556 15.3111 11.5667 15.4333C11.6889 15.5444 11.8333 15.6 12 15.6ZM11.4 13.6H12.6V10.4H11.4V13.6Z" fill="#212121"/> 5</g> 6<defs> 7<clipPath id="clip0_6013_33858"> 8<rect width="24" height="24" fill="white"/> 9</clipPath> 10</defs>`):(h.innerHTML=`<g clip-path="url(#clip0_6083_34804)"> 11<path d="M11.4 15.2H12.6V11.2H11.4V15.2ZM12 10C12.1667 10 12.3056 9.94444 12.4167 9.83333C12.5389 9.71111 12.6 9.56667 12.6 9.4C12.6 9.23333 12.5389 9.09444 12.4167 8.98333C12.3056 8.86111 12.1667 8.8 12 8.8C11.8333 8.8 11.6889 8.86111 11.5667 8.98333C11.4556 9.09444 11.4 9.23333 11.4 9.4C11.4 9.56667 11.4556 9.71111 11.5667 9.83333C11.6889 9.94444 11.8333 10 12 10ZM12 18.4C11.1222 18.4 10.2944 18.2333 9.51667 17.9C8.73889 17.5667 8.05556 17.1111 7.46667 16.5333C6.88889 15.9444 6.43333 15.2611 6.1 14.4833C5.76667 13.7056 5.6 12.8778 5.6 12C5.6 11.1111 5.76667 10.2833 6.1 9.51667C6.43333 8.73889 6.88889 8.06111 7.46667 7.48333C8.05556 6.89444 8.73889 6.43333 9.51667 6.1C10.2944 5.76667 11.1222 5.6 12 5.6C12.8889 5.6 13.7167 5.76667 14.4833 6.1C15.2611 6.43333 15.9389 6.89444 16.5167 7.48333C17.1056 8.06111 17.5667 8.73889 17.9 9.51667C18.2333 10.2833 18.4 11.1111 18.4 12C18.4 12.8778 18.2333 13.7056 17.9 14.4833C17.5667 15.2611 17.1056 15.9444 16.5167 16.5333C15.9389 17.1111 15.2611 17.5667 14.4833 17.9C13.7167 18.2333 12.8889 18.4 12 18.4ZM12 17.2C13.4444 17.2 14.6722 16.6944 15.6833 15.6833C16.6944 14.6722 17.2 13.4444 17.2 12C17.2 10.5556 16.6944 9.32778 15.6833 8.31667C14.6722 7.30555 13.4444 6.8 12 6.8C10.5556 6.8 9.32778 7.30555 8.31667 8.31667C7.30556 9.32778 6.8 10.5556 6.8 12C6.8 13.4444 7.30556 14.6722 8.31667 15.6833C9.32778 16.6944 10.5556 17.2 12 17.2Z" fill="#212121"/> 12</g> 13<defs> 14<clipPath id="clip0_6083_34804"> 15<rect width="24" height="24" fill="white"/> 16</clipPath> 17</defs>`,o.innerText="Preview backend running in this workspace."),o.setAttribute("id",a)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",s):s()}("Auth",!0)):function(){function e(){let e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"u">typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"u">typeof window&&"u">typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}(n,`http://${a}`),n}t0={loadJS:e=>new Promise((t,r)=>{var i,n;let s=document.createElement("script");s.setAttribute("src",e),s.onload=t,s.onerror=e=>{let t=e1("internal-error");t.customData=e,r(t)},s.type="text/javascript",s.charset="UTF-8",(null!=(n=null==(i=document.getElementsByTagName("head"))?void 0:i[0])?n:document).appendChild(s)}),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="},s="Browser",eI(new H("auth",(e,{options:t})=>{let r,i,n=e.getProvider("app").getImmediate(),a=e.getProvider("heartbeat"),o=e.getProvider("app-check-internal"),{apiKey:l,authDomain:c}=n.options;e4(l&&!l.includes(":"),"invalid-api-key",{appName:n.name});let u=new tZ(n,a,o,{apiKey:l,authDomain:c,clientPlatform:s,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:tK(s)});return i=(Array.isArray(r=(null==t?void 0:t.persistence)||[])?r:[r]).map(tL),(null==t?void 0:t.errorMap)&&u._updateErrorMap(t.errorMap),u._initializeWithPersistence(i,null==t?void 0:t.popupRedirectResolver),u},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),eI(new H("auth-internal",e=>new ix(V(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),eM(iD,iL,function(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}}(s)),eM(iD,iL,"esm2017"),e.s([],95066),e.s([],73140),e.i(95066),e.s(["getAuth",()=>iU,"signInWithEmailAndPassword",()=>rx,"signOut",()=>rM],36596);let iF=eA({apiKey:h.env.NEXT_PUBLIC_FIREBASE_API_KEY,authDomain:h.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,projectId:h.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,storageBucket:h.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,messagingSenderId:h.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,appId:h.env.NEXT_PUBLIC_FIREBASE_APP_ID,measurementId:h.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID}),iV=e=>new Promise(t=>{let r=iU(e).onAuthStateChanged(e=>{t(e),r()})});e.s(["firebaseApp",0,iF,"initFirebaseAuth",0,iV],61541);var iH=e.i(50526),iB=e.i(98473),iz=e.i(54665),iW=e.i(57843),i$=e.i(75705);function iG(){return(iG=Object.assign.bind()).apply(null,arguments)}let iq=function(e){return i$.createElement("svg",iG({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30"},e),o||(o=i$.createElement("g",{clipPath:"url(#arrow_right_thin_svg__a)"},i$.createElement("path",{fill:"#1D458D",d:"M9.225 26.263c.613.612 1.6.612 2.213 0l10.387-10.388a1.245 1.245 0 0 0 0-1.762L11.438 3.725a1.56 1.56 0 0 0-2.213 0 1.56 1.56 0 0 0 0 2.213L18.275 15l-9.062 9.063c-.6.6-.6 1.6.012 2.2"}))),l||(l=i$.createElement("defs",null,i$.createElement("clipPath",{id:"arrow_right_thin_svg__a"},i$.createElement("path",{fill:"#fff",d:"M0 0h30v30H0z"})))))};e.s(["default",0,iq],44680);let iK=({title:e,href:t,onClick:r})=>(0,c.jsxs)(iB.default,{className:"flex cursor-pointer items-center justify-between py-[15px] pl-5 md:w-[275px] md:p-[15px]",href:t??"#",onClick:()=>r?.(),children:[(0,c.jsx)("p",{className:"text-[15px] leading-[30px] font-bold",children:e}),(0,c.jsx)(iq,{className:"float-right size-[18px] object-cover"})]}),iJ=({signOut:e})=>{let[t,r]=(0,i$.useState)(!1),i=(0,i$.useRef)(null);(0,i$.useEffect)(()=>(document.addEventListener("click",n,!1),document.addEventListener("touchend",n,!1),function(){document.removeEventListener("click",n,!1),document.removeEventListener("touchend",n,!1)}),[]);let n=e=>{if(i.current){let t=i.current.querySelectorAll("*");for(let r=0;r<t.length;r++)if(t[r]==e.target)return}r(!1)},s=()=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(iK,{title:"ã¢ã«ã¦ã³ãè¨å®",href:"/settings/personal",onClick:()=>{r(!1)}}),(0,c.jsx)(iK,{title:"åç¨®è¨¼ææ¸",href:"/dashboard",onClick:()=>{r(!1)}}),(0,c.jsx)(iK,{title:"ãã°ã¢ã¦ã",href:"#",onClick:()=>{r(!1),e()}})]});return(0,c.jsx)("div",{className:"flex flex-col gap-0 md:gap-8",children:(0,c.jsxs)("div",{className:"relative",ref:i,children:[(0,c.jsx)("div",{className:"w-fit cursor-pointer p-[10px]",onClick:()=>r(!t),children:(0,c.jsx)(iW.default,{height:25,width:25,src:t?"/svgs/menu_close_icon.svg":"/svgs/menu_icon.svg",alt:"ã¡ãã¥ã¼ã¢ã¤ã³ã³"})}),t&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"hidden md:block",children:(0,c.jsx)("div",{className:"absolute top-[45px] right-[20px] z-10 w-fit roun
17ded-sm border-b border-dashed bg-white md:border md:border-solid",children:(0,c.jsx)(s,{})})}),(0,c.jsx)("div",{className:"block md:hidden",children:(0,c.jsxs)("div",{className:"fixed inset-x-0 top-16 bottom-0 z-20 flex flex-col bg-white px-[15px]",children:[(0,c.jsx)("p",{className:"pt-[15px] pb-[5px]",children:"å種è¨å®"}),(0,c.jsx)(s,{})]})})]})]})})},iX=({requireMenu:e})=>{let{status:t}=(0,iH.useSession)(),r=async()=>{let e=iU(iF);await iV(iF)&&await rM(e),await (0,iH.signOut)()};return"authenticated"===t&&e?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"mb-[60px] hidden h-[70px] w-full items-center justify-center bg-white px-[15px] py-0 shadow-sm shadow-gray-200 md:flex",children:[(0,c.jsx)("div",{className:"flex flex-1 justify-start",children:(0,c.jsx)(iB.default,{href:"/available-ai-catalog",children:(0,c.jsx)(iz.default,{})})}),(0,c.jsx)("div",{className:"flex flex-1 justify-end",children:e&&(0,c.jsx)(iJ,{signOut:r})})]}),(0,c.jsxs)("div",{className:"mb-5 flex items-center justify-center bg-white px-[15px] py-3 shadow-sm shadow-gray-200 md:hidden",children:[(0,c.jsx)("div",{className:"flex-1 cursor-pointer justify-start",children:(0,c.jsx)(iJ,{signOut:r})}),(0,c.jsx)("div",{className:"flex flex-1 justify-center",children:(0,c.jsx)(iB.default,{href:"/available-ai-catalog",children:(0,c.jsx)(iz.default,{})})}),(0,c.jsx)("div",{className:"flex-1 justify-end"})]})]}):(0,c.jsx)("div",{className:"mb-5 flex items-center justify-center bg-white p-3 pb-4 pl-[15px] shadow-sm shadow-gray-200 md:mb-[60px] md:h-[70px] md:px-5 md:py-0",children:(0,c.jsx)(iB.default,{href:"/",children:(0,c.jsx)(iz.default,{})})})},iY=({requireMenu:e,children:t})=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(iX,{requireMenu:e}),(0,c.jsx)("main",{children:t}),(0,c.jsx)(u.Footer,{})]});e.s(["getMainLayout",0,e=>(0,c.jsx)(iY,{requireMenu:!0,children:e}),"getNoMenuMainLayout",0,e=>(0,c.jsx)(iY,{requireMenu:!1,children:e})],48793);let iZ=({children:e})=>(0,c.jsx)("main",{children:e});e.s(["getNonHeaderLayout",0,e=>(0,c.jsx)(iZ,{children:e})],19113),e.s([],78803)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.