@getauthui/core 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/{authui-user-button-CV2B_0j5.js → authui-user-button-BltpbIHw.js} +1054 -769
- package/dist/authui.cdn.js +494 -299
- package/dist/authui.cdn.mjs +1755 -1470
- package/dist/authui.js +2 -2
- package/dist/components/authui-account.d.ts +6 -0
- package/dist/components/authui-account.d.ts.map +1 -1
- package/dist/components/authui-sign-in.d.ts +4 -0
- package/dist/components/authui-sign-in.d.ts.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/mfa.d.ts +7 -0
- package/dist/mfa.d.ts.map +1 -0
- package/dist/otp-input.d.ts +23 -0
- package/dist/otp-input.d.ts.map +1 -0
- package/dist/react/index.d.ts +6 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react.js +61 -44
- package/dist/styles/base.d.ts.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/authui.cdn.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,
|
|
2
|
-
\f\r]`,
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),Ei=/'/g,qi=/"/g,_i=/^(?:script|style|textarea|title)$/i,Li=n=>(e,...i)=>({_$litType$:n,strings:e,values:i}),w=Li(1),G=Li(2),Fe=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),Ni=new WeakMap,Ke=We.createTreeWalker(We,129);function Di(n,e){if(!Nt(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ci!==void 0?Ci.createHTML(e):e}const En=(n,e)=>{const i=n.length-1,t=[];let o,a=e===2?"<svg>":e===3?"<math>":"",s=ct;for(let r=0;r<i;r++){const d=n[r];let c,l,u=-1,m=0;for(;m<d.length&&(s.lastIndex=m,l=s.exec(d),l!==null);)m=s.lastIndex,s===ct?l[1]==="!--"?s=Mi:l[1]!==void 0?s=Ri:l[2]!==void 0?(_i.test(l[2])&&(o=RegExp("</"+l[2],"g")),s=Ge):l[3]!==void 0&&(s=Ge):s===Ge?l[0]===">"?(s=o??ct,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,c=l[1],s=l[3]===void 0?Ge:l[3]==='"'?qi:Ei):s===qi||s===Ei?s=Ge:s===Mi||s===Ri?s=ct:(s=Ge,o=void 0);const j=s===Ge&&n[r+1].startsWith("/>")?" ":"";a+=s===ct?d+Mn:u>=0?(t.push(c),d.slice(0,u)+Ui+d.slice(u)+De+j):d+De+(u===-2?r:j)}return[Di(n,a+(n[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),t]};class dt{constructor({strings:e,_$litType$:i},t){let o;this.parts=[];let a=0,s=0;const r=e.length-1,d=this.parts,[c,l]=En(e,i);if(this.el=dt.createElement(c,t),Ke.currentNode=this.el.content,i===2||i===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(o=Ke.nextNode())!==null&&d.length<r;){if(o.nodeType===1){if(o.hasAttributes())for(const u of o.getAttributeNames())if(u.endsWith(Ui)){const m=l[s++],j=o.getAttribute(u).split(De),q=/([.?@])?(.*)/.exec(m);d.push({type:1,index:a,name:q[2],strings:j,ctor:q[1]==="."?_n:q[1]==="?"?Ln:q[1]==="@"?Nn:It}),o.removeAttribute(u)}else u.startsWith(De)&&(d.push({type:6,index:a}),o.removeAttribute(u));if(_i.test(o.tagName)){const u=o.textContent.split(De),m=u.length-1;if(m>0){o.textContent=vt?vt.emptyScript:"";for(let j=0;j<m;j++)o.append(u[j],st()),Ke.nextNode(),d.push({type:2,index:++a});o.append(u[m],st())}}}else if(o.nodeType===8)if(o.data===xi)d.push({type:2,index:a});else{let u=-1;for(;(u=o.data.indexOf(De,u+1))!==-1;)d.push({type:7,index:a}),u+=De.length-1}a++}}static createElement(e,i){const t=We.createElement("template");return t.innerHTML=e,t}}function et(n,e,i=n,t){if(e===Fe)return e;let o=t!==void 0?i._$Co?.[t]:i._$Cl;const a=rt(e)?void 0:e._$litDirective$;return o?.constructor!==a&&(o?._$AO?.(!1),a===void 0?o=void 0:(o=new a(n),o._$AT(n,i,t)),t!==void 0?(i._$Co??=[])[t]=o:i._$Cl=o),o!==void 0&&(e=et(n,o._$AS(n,e.values),o,t)),e}class qn{constructor(e,i){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:i},parts:t}=this._$AD,o=(e?.creationScope??We).importNode(i,!0);Ke.currentNode=o;let a=Ke.nextNode(),s=0,r=0,d=t[0];for(;d!==void 0;){if(s===d.index){let c;d.type===2?c=new lt(a,a.nextSibling,this,e):d.type===1?c=new d.ctor(a,d.name,d.strings,this,e):d.type===6&&(c=new Dn(a,this,e)),this._$AV.push(c),d=t[++r]}s!==d?.index&&(a=Ke.nextNode(),s++)}return Ke.currentNode=We,o}p(e){let i=0;for(const t of this._$AV)t!==void 0&&(t.strings!==void 0?(t._$AI(e,t,i),i+=t.strings.length-2):t._$AI(e[i])),i++}}class lt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,i,t,o){this.type=2,this._$AH=U,this._$AN=void 0,this._$AA=e,this._$AB=i,this._$AM=t,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const i=this._$AM;return i!==void 0&&e?.nodeType===11&&(e=i.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,i=this){e=et(this,e,i),rt(e)?e===U||e==null||e===""?(this._$AH!==U&&this._$AR(),this._$AH=U):e!==this._$AH&&e!==Fe&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Rn(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==U&&rt(this._$AH)?this._$AA.nextSibling.data=e:this.T(We.createTextNode(e)),this._$AH=e}$(e){const{values:i,_$litType$:t}=e,o=typeof t=="number"?this._$AC(e):(t.el===void 0&&(t.el=dt.createElement(Di(t.h,t.h[0]),this.options)),t);if(this._$AH?._$AD===o)this._$AH.p(i);else{const a=new qn(o,this),s=a.u(this.options);a.p(i),this.T(s),this._$AH=a}}_$AC(e){let i=Ni.get(e.strings);return i===void 0&&Ni.set(e.strings,i=new dt(e)),i}k(e){Nt(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let t,o=0;for(const a of e)o===i.length?i.push(t=new lt(this.O(st()),this.O(st()),this,this.options)):t=i[o],t._$AI(a),o++;o<i.length&&(this._$AR(t&&t._$AB.nextSibling,o),i.length=o)}_$AR(e=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);e!==this._$AB;){const t=Pi(e).nextSibling;Pi(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class It{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,i,t,o,a){this.type=1,this._$AH=U,this._$AN=void 0,this.element=e,this.name=i,this._$AM=o,this.options=a,t.length>2||t[0]!==""||t[1]!==""?(this._$AH=Array(t.length-1).fill(new String),this.strings=t):this._$AH=U}_$AI(e,i=this,t,o){const a=this.strings;let s=!1;if(a===void 0)e=et(this,e,i,0),s=!rt(e)||e!==this._$AH&&e!==Fe,s&&(this._$AH=e);else{const r=e;let d,c;for(e=a[0],d=0;d<a.length-1;d++)c=et(this,r[t+d],i,d),c===Fe&&(c=this._$AH[d]),s||=!rt(c)||c!==this._$AH[d],c===U?e=U:e!==U&&(e+=(c??"")+a[d+1]),this._$AH[d]=c}s&&!o&&this.j(e)}j(e){e===U?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class _n extends It{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===U?void 0:e}}class Ln extends It{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==U)}}class Nn extends It{constructor(e,i,t,o,a){super(e,i,t,o,a),this.type=5}_$AI(e,i=this){if((e=et(this,e,i,0)??U)===Fe)return;const t=this._$AH,o=e===U&&t!==U||e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive,a=e!==U&&(t===U||o);o&&this.element.removeEventListener(this.name,this,t),a&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class Dn{constructor(e,i,t){this.element=e,this.type=6,this._$AN=void 0,this._$AM=i,this.options=t}get _$AU(){return this._$AM._$AU}_$AI(e){et(this,e)}}const Hn=Lt.litHtmlPolyfillSupport;Hn?.(dt,lt),(Lt.litHtmlVersions??=[]).push("3.3.3");const Bn=(n,e,i)=>{const t=i?.renderBefore??e;let o=t._$litPart$;if(o===void 0){const a=i?.renderBefore??null;t._$litPart$=o=new lt(e.insertBefore(st(),a),a,void 0,i??{})}return o._$AI(n),o};const Ht=globalThis;class Ye extends Oe{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Bn(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Fe}}Ye._$litElement$=!0,Ye.finalized=!0,Ht.litElementHydrateSupport?.({LitElement:Ye});const Xn=Ht.litElementPolyfillSupport;Xn?.({LitElement:Ye}),(Ht.litElementVersions??=[]).push("4.2.2");const Je=n=>(e,i)=>{i!==void 0?i.addInitializer(()=>{customElements.define(n,e)}):customElements.define(n,e)};const Vn={attribute:!0,type:String,converter:bt,reflect:!1,hasChanged:_t},Wn=(n=Vn,e,i)=>{const{kind:t,metadata:o}=i;let a=globalThis.litPropertyMetadata.get(o);if(a===void 0&&globalThis.litPropertyMetadata.set(o,a=new Map),t==="setter"&&((n=Object.create(n)).wrapped=!0),a.set(i.name,n),t==="accessor"){const{name:s}=i;return{set(r){const d=e.get.call(this);e.set.call(this,r),this.requestUpdate(s,d,n,!0,r)},init(r){return r!==void 0&&this.C(s,void 0,n,r),r}}}if(t==="setter"){const{name:s}=i;return function(r){const d=this[s];e.call(this,r),this.requestUpdate(s,d,n,!0,r)}}throw Error("Unsupported decorator location: "+t)};function F(n){return(e,i)=>typeof i=="object"?Wn(n,e,i):((t,o,a)=>{const s=o.hasOwnProperty(a);return o.constructor.createProperty(a,t),s?Object.getOwnPropertyDescriptor(o,a):void 0})(n,e,i)}function N(n){return F({...n,state:!0,attribute:!1})}const Gn=(n,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(n,e,i),i);function Bt(n,e){return(i,t,o)=>{const a=s=>s.renderRoot?.querySelector(n)??null;return Gn(i,t,{get(){return a(this)}})}}function Kn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ut={exports:{}},Xt={exports:{}},At={exports:{}},Yn=At.exports,Hi;function Bi(){return Hi||(Hi=1,(function(n){(function(e){var i,t=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,o=Math.ceil,a=Math.floor,s="[BigNumber Error] ",r=s+"Number primitive has more than 15 significant digits: ",d=1e14,c=14,l=9007199254740991,u=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],m=1e7,j=1e9;function q(B){var D,ie,W,R=M.prototype={constructor:M,toString:null,valueOf:null},J=new M(1),z=20,ne=4,ce=-7,de=21,Ue=-1e7,Ie=1e7,_e=!1,gt=1,Ve=0,yi={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},ze="0123456789abcdefghijklmnopqrstuvwxyz",mi=!0;function M(p,f){var g,S,b,A,P,y,v,$,k=this;if(!(k instanceof M))return new M(p,f);if(f==null){if(p&&p._isBigNumber===!0){k.s=p.s,!p.c||p.e>Ie?k.c=k.e=null:p.e<Ue?k.c=[k.e=0]:(k.e=p.e,k.c=p.c.slice());return}if((y=typeof p=="number")&&p*0==0){if(k.s=1/p<0?(p=-p,-1):1,p===~~p){for(A=0,P=p;P>=10;P/=10,A++);A>Ie?k.c=k.e=null:(k.e=A,k.c=[p]);return}$=String(p)}else{if(!t.test($=String(p)))return W(k,$,y);k.s=$.charCodeAt(0)==45?($=$.slice(1),-1):1}(A=$.indexOf("."))>-1&&($=$.replace(".","")),(P=$.search(/e/i))>0?(A<0&&(A=P),A+=+$.slice(P+1),$=$.substring(0,P)):A<0&&(A=$.length)}else{if(L(f,2,ze.length,"Base"),f==10&&mi)return k=new M(p),$e(k,z+k.e+1,ne);if($=String(p),y=typeof p=="number"){if(p*0!=0)return W(k,$,y,f);if(k.s=1/p<0?($=$.slice(1),-1):1,M.DEBUG&&$.replace(/^0\.0*|\./,"").length>15)throw Error(r+p)}else k.s=$.charCodeAt(0)===45?($=$.slice(1),-1):1;for(g=ze.slice(0,f),A=P=0,v=$.length;P<v;P++)if(g.indexOf(S=$.charAt(P))<0){if(S=="."){if(P>A){A=v;continue}}else if(!b&&($==$.toUpperCase()&&($=$.toLowerCase())||$==$.toLowerCase()&&($=$.toUpperCase()))){b=!0,P=-1,A=0;continue}return W(k,String(p),y,f)}y=!1,$=ie($,f,10,k.s),(A=$.indexOf("."))>-1?$=$.replace(".",""):A=$.length}for(P=0;$.charCodeAt(P)===48;P++);for(v=$.length;$.charCodeAt(--v)===48;);if($=$.slice(P,++v)){if(v-=P,y&&M.DEBUG&&v>15&&(p>l||p!==a(p)))throw Error(r+k.s*p);if((A=A-P-1)>Ie)k.c=k.e=null;else if(A<Ue)k.c=[k.e=0];else{if(k.e=A,k.c=[],P=(A+1)%c,A<0&&(P+=c),P<v){for(P&&k.c.push(+$.slice(0,P)),v-=c;P<v;)k.c.push(+$.slice(P,P+=c));P=c-($=$.slice(P)).length}else P-=v;for(;P--;$+="0");k.c.push(+$)}}else k.c=[k.e=0]}M.clone=q,M.ROUND_UP=0,M.ROUND_DOWN=1,M.ROUND_CEIL=2,M.ROUND_FLOOR=3,M.ROUND_HALF_UP=4,M.ROUND_HALF_DOWN=5,M.ROUND_HALF_EVEN=6,M.ROUND_HALF_CEIL=7,M.ROUND_HALF_FLOOR=8,M.EUCLID=9,M.config=M.set=function(p){var f,g;if(p!=null)if(typeof p=="object"){if(p.hasOwnProperty(f="DECIMAL_PLACES")&&(g=p[f],L(g,0,j,f),z=g),p.hasOwnProperty(f="ROUNDING_MODE")&&(g=p[f],L(g,0,8,f),ne=g),p.hasOwnProperty(f="EXPONENTIAL_AT")&&(g=p[f],g&&g.pop?(L(g[0],-j,0,f),L(g[1],0,j,f),ce=g[0],de=g[1]):(L(g,-j,j,f),ce=-(de=g<0?-g:g))),p.hasOwnProperty(f="RANGE"))if(g=p[f],g&&g.pop)L(g[0],-j,-1,f),L(g[1],1,j,f),Ue=g[0],Ie=g[1];else if(L(g,-j,j,f),g)Ue=-(Ie=g<0?-g:g);else throw Error(s+f+" cannot be zero: "+g);if(p.hasOwnProperty(f="CRYPTO"))if(g=p[f],g===!!g)if(g)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_e=g;else throw _e=!g,Error(s+"crypto unavailable");else _e=g;else throw Error(s+f+" not true or false: "+g);if(p.hasOwnProperty(f="MODULO_MODE")&&(g=p[f],L(g,0,9,f),gt=g),p.hasOwnProperty(f="POW_PRECISION")&&(g=p[f],L(g,0,j,f),Ve=g),p.hasOwnProperty(f="FORMAT"))if(g=p[f],typeof g=="object")yi=g;else throw Error(s+f+" not an object: "+g);if(p.hasOwnProperty(f="ALPHABET"))if(g=p[f],typeof g=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(g))mi=g.slice(0,10)=="0123456789",ze=g;else throw Error(s+f+" invalid: "+g)}else throw Error(s+"Object expected: "+p);return{DECIMAL_PLACES:z,ROUNDING_MODE:ne,EXPONENTIAL_AT:[ce,de],RANGE:[Ue,Ie],CRYPTO:_e,MODULO_MODE:gt,POW_PRECISION:Ve,FORMAT:yi,ALPHABET:ze}},M.isBigNumber=function(p){if(!p||p._isBigNumber!==!0)return!1;if(!M.DEBUG)return!0;var f,g,S=p.c,b=p.e,A=p.s;e:if({}.toString.call(S)=="[object Array]"){if((A===1||A===-1)&&b>=-j&&b<=j&&b===a(b)){if(S[0]===0){if(b===0&&S.length===1)return!0;break e}if(f=(b+1)%c,f<1&&(f+=c),String(S[0]).length==f){for(f=0;f<S.length;f++)if(g=S[f],g<0||g>=d||g!==a(g))break e;if(g!==0)return!0}}}else if(S===null&&b===null&&(A===null||A===1||A===-1))return!0;throw Error(s+"Invalid BigNumber: "+p)},M.maximum=M.max=function(){return vn(arguments,-1)},M.minimum=M.min=function(){return vn(arguments,1)},M.random=(function(){var p=9007199254740992,f=Math.random()*p&2097151?function(){return a(Math.random()*p)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(g){var S,b,A,P,y,v=0,$=[],k=new M(J);if(g==null?g=z:L(g,0,j),P=o(g/c),_e)if(crypto.getRandomValues){for(S=crypto.getRandomValues(new Uint32Array(P*=2));v<P;)y=S[v]*131072+(S[v+1]>>>11),y>=9e15?(b=crypto.getRandomValues(new Uint32Array(2)),S[v]=b[0],S[v+1]=b[1]):($.push(y%1e14),v+=2);v=P/2}else if(crypto.randomBytes){for(S=crypto.randomBytes(P*=7);v<P;)y=(S[v]&31)*281474976710656+S[v+1]*1099511627776+S[v+2]*4294967296+S[v+3]*16777216+(S[v+4]<<16)+(S[v+5]<<8)+S[v+6],y>=9e15?crypto.randomBytes(7).copy(S,v):($.push(y%1e14),v+=7);v=P/7}else throw _e=!1,Error(s+"crypto unavailable");if(!_e)for(;v<P;)y=f(),y<9e15&&($[v++]=y%1e14);for(P=$[--v],g%=c,P&&g&&(y=u[c-g],$[v]=a(P/y)*y);$[v]===0;$.pop(),v--);if(v<0)$=[A=0];else{for(A=-1;$[0]===0;$.splice(0,1),A-=c);for(v=1,y=$[0];y>=10;y/=10,v++);v<c&&(A-=c-v)}return k.e=A,k.c=$,k}})(),M.sum=function(){for(var p=1,f=arguments,g=new M(f[0]);p<f.length;)g=g.plus(f[p++]);return g},ie=(function(){var p="0123456789";function f(g,S,b,A){for(var P,y=[0],v,$=0,k=g.length;$<k;){for(v=y.length;v--;y[v]*=S);for(y[0]+=A.indexOf(g.charAt($++)),P=0;P<y.length;P++)y[P]>b-1&&(y[P+1]==null&&(y[P+1]=0),y[P+1]+=y[P]/b|0,y[P]%=b)}return y.reverse()}return function(g,S,b,A,P){var y,v,$,k,x,X,V,oe,le=g.indexOf("."),fe=z,te=ne;for(le>=0&&(k=Ve,Ve=0,g=g.replace(".",""),oe=new M(S),X=oe.pow(g.length-le),Ve=k,oe.c=f(se(K(X.c),X.e,"0"),10,b,p),oe.e=oe.c.length),V=f(g,S,b,P?(y=ze,p):(y=p,ze)),$=k=V.length;V[--k]==0;V.pop());if(!V[0])return y.charAt(0);if(le<0?--$:(X.c=V,X.e=$,X.s=A,X=D(X,oe,fe,te,b),V=X.c,x=X.r,$=X.e),v=$+fe+1,le=V[v],k=b/2,x=x||v<0||V[v+1]!=null,x=te<4?(le!=null||x)&&(te==0||te==(X.s<0?3:2)):le>k||le==k&&(te==4||x||te==6&&V[v-1]&1||te==(X.s<0?8:7)),v<1||!V[0])g=x?se(y.charAt(1),-fe,y.charAt(0)):y.charAt(0);else{if(V.length=v,x)for(--b;++V[--v]>b;)V[v]=0,v||(++$,V=[1].concat(V));for(k=V.length;!V[--k];);for(le=0,g="";le<=k;g+=y.charAt(V[le++]));g=se(g,$,y.charAt(0))}return g}})(),D=(function(){function p(S,b,A){var P,y,v,$,k=0,x=S.length,X=b%m,V=b/m|0;for(S=S.slice();x--;)v=S[x]%m,$=S[x]/m|0,P=V*v+$*X,y=X*v+P%m*m+k,k=(y/A|0)+(P/m|0)+V*$,S[x]=y%A;return k&&(S=[k].concat(S)),S}function f(S,b,A,P){var y,v;if(A!=P)v=A>P?1:-1;else for(y=v=0;y<A;y++)if(S[y]!=b[y]){v=S[y]>b[y]?1:-1;break}return v}function g(S,b,A,P){for(var y=0;A--;)S[A]-=y,y=S[A]<b[A]?1:0,S[A]=y*P+S[A]-b[A];for(;!S[0]&&S.length>1;S.splice(0,1));}return function(S,b,A,P,y){var v,$,k,x,X,V,oe,le,fe,te,re,we,Rt,vi,Ii,xe,yt,je=S.s==b.s?1:-1,be=S.c,ue=b.c;if(!be||!be[0]||!ue||!ue[0])return new M(!S.s||!b.s||(be?ue&&be[0]==ue[0]:!ue)?NaN:be&&be[0]==0||!ue?je*0:je/0);for(le=new M(je),fe=le.c=[],$=S.e-b.e,je=A+$+1,y||(y=d,$=T(S.e/c)-T(b.e/c),je=je/c|0),k=0;ue[k]==(be[k]||0);k++);if(ue[k]>(be[k]||0)&&$--,je<0)fe.push(1),x=!0;else{for(vi=be.length,xe=ue.length,k=0,je+=2,X=a(y/(ue[0]+1)),X>1&&(ue=p(ue,X,y),be=p(be,X,y),xe=ue.length,vi=be.length),Rt=xe,te=be.slice(0,xe),re=te.length;re<xe;te[re++]=0);yt=ue.slice(),yt=[0].concat(yt),Ii=ue[0],ue[1]>=y/2&&Ii++;do{if(X=0,v=f(ue,te,xe,re),v<0){if(we=te[0],xe!=re&&(we=we*y+(te[1]||0)),X=a(we/Ii),X>1)for(X>=y&&(X=y-1),V=p(ue,X,y),oe=V.length,re=te.length;f(V,te,oe,re)==1;)X--,g(V,xe<oe?yt:ue,oe,y),oe=V.length,v=1;else X==0&&(v=X=1),V=ue.slice(),oe=V.length;if(oe<re&&(V=[0].concat(V)),g(te,V,re,y),re=te.length,v==-1)for(;f(ue,te,xe,re)<1;)X++,g(te,xe<re?yt:ue,re,y),re=te.length}else v===0&&(X++,te=[0]);fe[k++]=X,te[0]?te[re++]=be[Rt]||0:(te=[be[Rt]],re=1)}while((Rt++<vi||te[0]!=null)&&je--);x=te[0]!=null,fe[0]||fe.splice(0,1)}if(y==d){for(k=1,je=fe[0];je>=10;je/=10,k++);$e(le,A+(le.e=k+$*c-1)+1,P,x)}else le.e=$,le.r=+x;return le}})();function wi(p,f,g,S){var b,A,P,y,v;if(g==null?g=ne:L(g,0,8),!p.c)return p.toString();if(b=p.c[0],P=p.e,f==null)v=K(p.c),v=S==1||S==2&&(P<=ce||P>=de)?Z(v,P):se(v,P,"0");else if(p=$e(new M(p),f,g),A=p.e,v=K(p.c),y=v.length,S==1||S==2&&(f<=A||A<=ce)){for(;y<f;v+="0",y++);v=Z(v,A)}else if(f-=P+(S===2&&A>P),v=se(v,A,"0"),A+1>y){if(--f>0)for(v+=".";f--;v+="0");}else if(f+=A-y,f>0)for(A+1==y&&(v+=".");f--;v+="0");return p.s<0&&b?"-"+v:v}function vn(p,f){for(var g,S,b=1,A=new M(p[0]);b<p.length;b++)S=new M(p[b]),(!S.s||(g=Y(A,S))===f||g===0&&A.s===f)&&(A=S);return A}function bi(p,f,g){for(var S=1,b=f.length;!f[--b];f.pop());for(b=f[0];b>=10;b/=10,S++);return(g=S+g*c-1)>Ie?p.c=p.e=null:g<Ue?p.c=[p.e=0]:(p.e=g,p.c=f),p}W=(function(){var p=/^(-?)0([xbo])(?=\w[\w.]*$)/i,f=/^([^.]+)\.$/,g=/^\.([^.]+)$/,S=/^-?(Infinity|NaN)$/,b=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(A,P,y,v){var $,k=y?P:P.replace(b,"");if(S.test(k))A.s=isNaN(k)?null:k<0?-1:1;else{if(!y&&(k=k.replace(p,function(x,X,V){return $=(V=V.toLowerCase())=="x"?16:V=="b"?2:8,!v||v==$?X:x}),v&&($=v,k=k.replace(f,"$1").replace(g,"0.$1")),P!=k))return new M(k,$);if(M.DEBUG)throw Error(s+"Not a"+(v?" base "+v:"")+" number: "+P);A.s=null}A.c=A.e=null}})();function $e(p,f,g,S){var b,A,P,y,v,$,k,x=p.c,X=u;if(x){e:{for(b=1,y=x[0];y>=10;y/=10,b++);if(A=f-b,A<0)A+=c,P=f,v=x[$=0],k=a(v/X[b-P-1]%10);else if($=o((A+1)/c),$>=x.length)if(S){for(;x.length<=$;x.push(0));v=k=0,b=1,A%=c,P=A-c+1}else break e;else{for(v=y=x[$],b=1;y>=10;y/=10,b++);A%=c,P=A-c+b,k=P<0?0:a(v/X[b-P-1]%10)}if(S=S||f<0||x[$+1]!=null||(P<0?v:v%X[b-P-1]),S=g<4?(k||S)&&(g==0||g==(p.s<0?3:2)):k>5||k==5&&(g==4||S||g==6&&(A>0?P>0?v/X[b-P]:0:x[$-1])%10&1||g==(p.s<0?8:7)),f<1||!x[0])return x.length=0,S?(f-=p.e+1,x[0]=X[(c-f%c)%c],p.e=-f||0):x[0]=p.e=0,p;if(A==0?(x.length=$,y=1,$--):(x.length=$+1,y=X[c-A],x[$]=P>0?a(v/X[b-P]%X[P])*y:0),S)for(;;)if($==0){for(A=1,P=x[0];P>=10;P/=10,A++);for(P=x[0]+=y,y=1;P>=10;P/=10,y++);A!=y&&(p.e++,x[0]==d&&(x[0]=1));break}else{if(x[$]+=y,x[$]!=d)break;x[$--]=0,y=1}for(A=x.length;x[--A]===0;x.pop());}p.e>Ie?p.c=p.e=null:p.e<Ue&&(p.c=[p.e=0])}return p}function Le(p){var f,g=p.e;return g===null?p.toString():(f=K(p.c),f=g<=ce||g>=de?Z(f,g):se(f,g,"0"),p.s<0?"-"+f:f)}return R.absoluteValue=R.abs=function(){var p=new M(this);return p.s<0&&(p.s=1),p},R.comparedTo=function(p,f){return Y(this,new M(p,f))},R.decimalPlaces=R.dp=function(p,f){var g,S,b,A=this;if(p!=null)return L(p,0,j),f==null?f=ne:L(f,0,8),$e(new M(A),p+A.e+1,f);if(!(g=A.c))return null;if(S=((b=g.length-1)-T(this.e/c))*c,b=g[b])for(;b%10==0;b/=10,S--);return S<0&&(S=0),S},R.dividedBy=R.div=function(p,f){return D(this,new M(p,f),z,ne)},R.dividedToIntegerBy=R.idiv=function(p,f){return D(this,new M(p,f),0,1)},R.exponentiatedBy=R.pow=function(p,f){var g,S,b,A,P,y,v,$,k,x=this;if(p=new M(p),p.c&&!p.isInteger())throw Error(s+"Exponent not an integer: "+Le(p));if(f!=null&&(f=new M(f)),y=p.e>14,!x.c||!x.c[0]||x.c[0]==1&&!x.e&&x.c.length==1||!p.c||!p.c[0])return k=new M(Math.pow(+Le(x),y?p.s*(2-H(p)):+Le(p))),f?k.mod(f):k;if(v=p.s<0,f){if(f.c?!f.c[0]:!f.s)return new M(NaN);S=!v&&x.isInteger()&&f.isInteger(),S&&(x=x.mod(f))}else{if(p.e>9&&(x.e>0||x.e<-1||(x.e==0?x.c[0]>1||y&&x.c[1]>=24e7:x.c[0]<8e13||y&&x.c[0]<=9999975e7)))return A=x.s<0&&H(p)?-0:0,x.e>-1&&(A=1/A),new M(v?1/A:A);Ve&&(A=o(Ve/c+2))}for(y?(g=new M(.5),v&&(p.s=1),$=H(p)):(b=Math.abs(+Le(p)),$=b%2),k=new M(J);;){if($){if(k=k.times(x),!k.c)break;A?k.c.length>A&&(k.c.length=A):S&&(k=k.mod(f))}if(b){if(b=a(b/2),b===0)break;$=b%2}else if(p=p.times(g),$e(p,p.e+1,1),p.e>14)$=H(p);else{if(b=+Le(p),b===0)break;$=b%2}x=x.times(x),A?x.c&&x.c.length>A&&(x.c.length=A):S&&(x=x.mod(f))}return S?k:(v&&(k=J.div(k)),f?k.mod(f):A?$e(k,Ve,ne,P):k)},R.integerValue=function(p){var f=new M(this);return p==null?p=ne:L(p,0,8),$e(f,f.e+1,p)},R.isEqualTo=R.eq=function(p,f){return Y(this,new M(p,f))===0},R.isFinite=function(){return!!this.c},R.isGreaterThan=R.gt=function(p,f){return Y(this,new M(p,f))>0},R.isGreaterThanOrEqualTo=R.gte=function(p,f){return(f=Y(this,new M(p,f)))===1||f===0},R.isInteger=function(){return!!this.c&&T(this.e/c)>this.c.length-2},R.isLessThan=R.lt=function(p,f){return Y(this,new M(p,f))<0},R.isLessThanOrEqualTo=R.lte=function(p,f){return(f=Y(this,new M(p,f)))===-1||f===0},R.isNaN=function(){return!this.s},R.isNegative=function(){return this.s<0},R.isPositive=function(){return this.s>0},R.isZero=function(){return!!this.c&&this.c[0]==0},R.minus=function(p,f){var g,S,b,A,P=this,y=P.s;if(p=new M(p,f),f=p.s,!y||!f)return new M(NaN);if(y!=f)return p.s=-f,P.plus(p);var v=P.e/c,$=p.e/c,k=P.c,x=p.c;if(!v||!$){if(!k||!x)return k?(p.s=-f,p):new M(x?P:NaN);if(!k[0]||!x[0])return x[0]?(p.s=-f,p):new M(k[0]?P:ne==3?-0:0)}if(v=T(v),$=T($),k=k.slice(),y=v-$){for((A=y<0)?(y=-y,b=k):($=v,b=x),b.reverse(),f=y;f--;b.push(0));b.reverse()}else for(S=(A=(y=k.length)<(f=x.length))?y:f,y=f=0;f<S;f++)if(k[f]!=x[f]){A=k[f]<x[f];break}if(A&&(b=k,k=x,x=b,p.s=-p.s),f=(S=x.length)-(g=k.length),f>0)for(;f--;k[g++]=0);for(f=d-1;S>y;){if(k[--S]<x[S]){for(g=S;g&&!k[--g];k[g]=f);--k[g],k[S]+=d}k[S]-=x[S]}for(;k[0]==0;k.splice(0,1),--$);return k[0]?bi(p,k,$):(p.s=ne==3?-1:1,p.c=[p.e=0],p)},R.modulo=R.mod=function(p,f){var g,S,b=this;return p=new M(p,f),!b.c||!p.s||p.c&&!p.c[0]?new M(NaN):!p.c||b.c&&!b.c[0]?new M(b):(gt==9?(S=p.s,p.s=1,g=D(b,p,0,3),p.s=S,g.s*=S):g=D(b,p,0,gt),p=b.minus(g.times(p)),!p.c[0]&>==1&&(p.s=b.s),p)},R.multipliedBy=R.times=function(p,f){var g,S,b,A,P,y,v,$,k,x,X,V,oe,le,fe,te=this,re=te.c,we=(p=new M(p,f)).c;if(!re||!we||!re[0]||!we[0])return!te.s||!p.s||re&&!re[0]&&!we||we&&!we[0]&&!re?p.c=p.e=p.s=null:(p.s*=te.s,!re||!we?p.c=p.e=null:(p.c=[0],p.e=0)),p;for(S=T(te.e/c)+T(p.e/c),p.s*=te.s,v=re.length,x=we.length,v<x&&(oe=re,re=we,we=oe,b=v,v=x,x=b),b=v+x,oe=[];b--;oe.push(0));for(le=d,fe=m,b=x;--b>=0;){for(g=0,X=we[b]%fe,V=we[b]/fe|0,P=v,A=b+P;A>b;)$=re[--P]%fe,k=re[P]/fe|0,y=V*$+k*X,$=X*$+y%fe*fe+oe[A]+g,g=($/le|0)+(y/fe|0)+V*k,oe[A--]=$%le;oe[A]=g}return g?++S:oe.splice(0,1),bi(p,oe,S)},R.negated=function(){var p=new M(this);return p.s=-p.s||null,p},R.plus=function(p,f){var g,S=this,b=S.s;if(p=new M(p,f),f=p.s,!b||!f)return new M(NaN);if(b!=f)return p.s=-f,S.minus(p);var A=S.e/c,P=p.e/c,y=S.c,v=p.c;if(!A||!P){if(!y||!v)return new M(b/0);if(!y[0]||!v[0])return v[0]?p:new M(y[0]?S:b*0)}if(A=T(A),P=T(P),y=y.slice(),b=A-P){for(b>0?(P=A,g=v):(b=-b,g=y),g.reverse();b--;g.push(0));g.reverse()}for(b=y.length,f=v.length,b-f<0&&(g=v,v=y,y=g,f=b),b=0;f;)b=(y[--f]=y[f]+v[f]+b)/d|0,y[f]=d===y[f]?0:y[f]%d;return b&&(y=[b].concat(y),++P),bi(p,y,P)},R.precision=R.sd=function(p,f){var g,S,b,A=this;if(p!=null&&p!==!!p)return L(p,1,j),f==null?f=ne:L(f,0,8),$e(new M(A),p,f);if(!(g=A.c))return null;if(b=g.length-1,S=b*c+1,b=g[b]){for(;b%10==0;b/=10,S--);for(b=g[0];b>=10;b/=10,S++);}return p&&A.e+1>S&&(S=A.e+1),S},R.shiftedBy=function(p){return L(p,-l,l),this.times("1e"+p)},R.squareRoot=R.sqrt=function(){var p,f,g,S,b,A=this,P=A.c,y=A.s,v=A.e,$=z+4,k=new M("0.5");if(y!==1||!P||!P[0])return new M(!y||y<0&&(!P||P[0])?NaN:P?A:1/0);if(y=Math.sqrt(+Le(A)),y==0||y==1/0?(f=K(P),(f.length+v)%2==0&&(f+="0"),y=Math.sqrt(+f),v=T((v+1)/2)-(v<0||v%2),y==1/0?f="5e"+v:(f=y.toExponential(),f=f.slice(0,f.indexOf("e")+1)+v),g=new M(f)):g=new M(y+""),g.c[0]){for(v=g.e,y=v+$,y<3&&(y=0);;)if(b=g,g=k.times(b.plus(D(A,b,$,1))),K(b.c).slice(0,y)===(f=K(g.c)).slice(0,y))if(g.e<v&&--y,f=f.slice(y-3,y+1),f=="9999"||!S&&f=="4999"){if(!S&&($e(b,b.e+z+2,0),b.times(b).eq(A))){g=b;break}$+=4,y+=4,S=1}else{(!+f||!+f.slice(1)&&f.charAt(0)=="5")&&($e(g,g.e+z+2,1),p=!g.times(g).eq(A));break}}return $e(g,g.e+z+1,ne,p)},R.toExponential=function(p,f){return p!=null&&(L(p,0,j),p++),wi(this,p,f,1)},R.toFixed=function(p,f){return p!=null&&(L(p,0,j),p=p+this.e+1),wi(this,p,f)},R.toFormat=function(p,f,g){var S,b=this;if(g==null)p!=null&&f&&typeof f=="object"?(g=f,f=null):p&&typeof p=="object"?(g=p,p=f=null):g=yi;else if(typeof g!="object")throw Error(s+"Argument not an object: "+g);if(S=b.toFixed(p,f),b.c){var A,P=S.split("."),y=+g.groupSize,v=+g.secondaryGroupSize,$=g.groupSeparator||"",k=P[0],x=P[1],X=b.s<0,V=X?k.slice(1):k,oe=V.length;if(v&&(A=y,y=v,v=A,oe-=A),y>0&&oe>0){for(A=oe%y||y,k=V.substr(0,A);A<oe;A+=y)k+=$+V.substr(A,y);v>0&&(k+=$+V.slice(A)),X&&(k="-"+k)}S=x?k+(g.decimalSeparator||"")+((v=+g.fractionGroupSize)?x.replace(new RegExp("\\d{"+v+"}\\B","g"),"$&"+(g.fractionGroupSeparator||"")):x):k}return(g.prefix||"")+S+(g.suffix||"")},R.toFraction=function(p){var f,g,S,b,A,P,y,v,$,k,x,X,V=this,oe=V.c;if(p!=null&&(y=new M(p),!y.isInteger()&&(y.c||y.s!==1)||y.lt(J)))throw Error(s+"Argument "+(y.isInteger()?"out of range: ":"not an integer: ")+Le(y));if(!oe)return new M(V);for(f=new M(J),$=g=new M(J),S=v=new M(J),X=K(oe),A=f.e=X.length-V.e-1,f.c[0]=u[(P=A%c)<0?c+P:P],p=!p||y.comparedTo(f)>0?A>0?f:$:y,P=Ie,Ie=1/0,y=new M(X),v.c[0]=0;k=D(y,f,0,1),b=g.plus(k.times(S)),b.comparedTo(p)!=1;)g=S,S=b,$=v.plus(k.times(b=$)),v=b,f=y.minus(k.times(b=f)),y=b;return b=D(p.minus(g),S,0,1),v=v.plus(b.times($)),g=g.plus(b.times(S)),v.s=$.s=V.s,A=A*2,x=D($,S,A,ne).minus(V).abs().comparedTo(D(v,g,A,ne).minus(V).abs())<1?[$,S]:[v,g],Ie=P,x},R.toNumber=function(){return+Le(this)},R.toPrecision=function(p,f){return p!=null&&L(p,1,j),wi(this,p,f,2)},R.toString=function(p){var f,g=this,S=g.s,b=g.e;return b===null?S?(f="Infinity",S<0&&(f="-"+f)):f="NaN":(p==null?f=b<=ce||b>=de?Z(K(g.c),b):se(K(g.c),b,"0"):p===10&&mi?(g=$e(new M(g),z+b+1,ne),f=se(K(g.c),g.e,"0")):(L(p,2,ze.length,"Base"),f=ie(se(K(g.c),b,"0"),10,p,S,!0)),S<0&&g.c[0]&&(f="-"+f)),f},R.valueOf=R.toJSON=function(){return Le(this)},R._isBigNumber=!0,B!=null&&M.set(B),M}function T(B){var D=B|0;return B>0||B===D?D:D-1}function K(B){for(var D,ie,W=1,R=B.length,J=B[0]+"";W<R;){for(D=B[W++]+"",ie=c-D.length;ie--;D="0"+D);J+=D}for(R=J.length;J.charCodeAt(--R)===48;);return J.slice(0,R+1||1)}function Y(B,D){var ie,W,R=B.c,J=D.c,z=B.s,ne=D.s,ce=B.e,de=D.e;if(!z||!ne)return null;if(ie=R&&!R[0],W=J&&!J[0],ie||W)return ie?W?0:-ne:z;if(z!=ne)return z;if(ie=z<0,W=ce==de,!R||!J)return W?0:!R^ie?1:-1;if(!W)return ce>de^ie?1:-1;for(ne=(ce=R.length)<(de=J.length)?ce:de,z=0;z<ne;z++)if(R[z]!=J[z])return R[z]>J[z]^ie?1:-1;return ce==de?0:ce>de^ie?1:-1}function L(B,D,ie,W){if(B<D||B>ie||B!==a(B))throw Error(s+(W||"Argument")+(typeof B=="number"?B<D||B>ie?" out of range: ":" not an integer: ":" not a primitive number: ")+String(B))}function H(B){var D=B.c.length-1;return T(B.e/c)==D&&B.c[D]%2!=0}function Z(B,D){return(B.length>1?B.charAt(0)+"."+B.slice(1):B)+(D<0?"e":"e+")+D}function se(B,D,ie){var W,R;if(D<0){for(R=ie+".";++D;R+=ie);B=R+B}else if(W=B.length,++D>W){for(R=ie,D-=W;--D;R+=ie);B+=R}else D<W&&(B=B.slice(0,D)+"."+B.slice(D));return B}i=q(),i.default=i.BigNumber=i,n.exports?n.exports=i:(e||(e=typeof self<"u"&&self?self:window),e.BigNumber=i)})(Yn)})(At)),At.exports}var Xi;function Jn(){return Xi||(Xi=1,(function(n){var e=Bi(),i=n.exports;(function(){var t=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,o,a,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},r;function d(l){return t.lastIndex=0,t.test(l)?'"'+l.replace(t,function(u){var m=s[u];return typeof m=="string"?m:"\\u"+("0000"+u.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+l+'"'}function c(l,u){var m,j,q,T,K=o,Y,L=u[l],H=L!=null&&(L instanceof e||e.isBigNumber(L));switch(L&&typeof L=="object"&&typeof L.toJSON=="function"&&(L=L.toJSON(l)),typeof r=="function"&&(L=r.call(u,l,L)),typeof L){case"string":return H?L:d(L);case"number":return isFinite(L)?String(L):"null";case"boolean":case"null":case"bigint":return String(L);case"object":if(!L)return"null";if(o+=a,Y=[],Object.prototype.toString.apply(L)==="[object Array]"){for(T=L.length,m=0;m<T;m+=1)Y[m]=c(m,L)||"null";return q=Y.length===0?"[]":o?`[
|
|
1
|
+
var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,_t=mt.ShadowRoot&&(mt.ShadyCSS===void 0||mt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Lt=Symbol(),Si=new WeakMap;let $i=class{constructor(e,i,t){if(this._$cssResult$=!0,t!==Lt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=i}get styleSheet(){let e=this.o;const i=this.t;if(_t&&e===void 0){const t=i!==void 0&&i.length===1;t&&(e=Si.get(i)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&Si.set(i,e))}return e}toString(){return this.cssText}};const Sn=n=>new $i(typeof n=="string"?n:n+"",void 0,Lt),Ne=(n,...e)=>{const i=n.length===1?n[0]:e.reduce((t,o,a)=>t+(s=>{if(s._$cssResult$===!0)return s.cssText;if(typeof s=="number")return s;throw Error("Value passed to 'css' function must be a 'css' function result: "+s+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+n[a+1],n[0]);return new $i(i,n,Lt)},$n=(n,e)=>{if(_t)n.adoptedStyleSheets=e.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(const i of e){const t=document.createElement("style"),o=mt.litNonce;o!==void 0&&t.setAttribute("nonce",o),t.textContent=i.cssText,n.appendChild(t)}},ji=_t?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let i="";for(const t of e.cssRules)i+=t.cssText;return Sn(i)})(n):n;const{is:jn,defineProperty:Pn,getOwnPropertyDescriptor:Cn,getOwnPropertyNames:Un,getOwnPropertySymbols:xn,getPrototypeOf:Mn}=Object,bt=globalThis,Pi=bt.trustedTypes,Rn=Pi?Pi.emptyScript:"",En=bt.reactiveElementPolyfillSupport,st=(n,e)=>n,wt={toAttribute(n,e){switch(e){case Boolean:n=n?Rn:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let i=n;switch(e){case Boolean:i=n!==null;break;case Number:i=n===null?null:Number(n);break;case Object:case Array:try{i=JSON.parse(n)}catch{i=null}}return i}},Nt=(n,e)=>!jn(n,e),Ci={attribute:!0,type:String,converter:wt,reflect:!1,useDefault:!1,hasChanged:Nt};Symbol.metadata??=Symbol("metadata"),bt.litPropertyMetadata??=new WeakMap;let Fe=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,i=Ci){if(i.state&&(i.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((i=Object.create(i)).wrapped=!0),this.elementProperties.set(e,i),!i.noAccessor){const t=Symbol(),o=this.getPropertyDescriptor(e,t,i);o!==void 0&&Pn(this.prototype,e,o)}}static getPropertyDescriptor(e,i,t){const{get:o,set:a}=Cn(this.prototype,e)??{get(){return this[i]},set(s){this[i]=s}};return{get:o,set(s){const r=o?.call(this);a?.call(this,s),this.requestUpdate(e,r,t)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Ci}static _$Ei(){if(this.hasOwnProperty(st("elementProperties")))return;const e=Mn(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(st("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(st("properties"))){const i=this.properties,t=[...Un(i),...xn(i)];for(const o of t)this.createProperty(o,i[o])}const e=this[Symbol.metadata];if(e!==null){const i=litPropertyMetadata.get(e);if(i!==void 0)for(const[t,o]of i)this.elementProperties.set(t,o)}this._$Eh=new Map;for(const[i,t]of this.elementProperties){const o=this._$Eu(i,t);o!==void 0&&this._$Eh.set(o,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const i=[];if(Array.isArray(e)){const t=new Set(e.flat(1/0).reverse());for(const o of t)i.unshift(ji(o))}else e!==void 0&&i.push(ji(e));return i}static _$Eu(e,i){const t=i.attribute;return t===!1?void 0:typeof t=="string"?t:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,i=this.constructor.elementProperties;for(const t of i.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return $n(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,i,t){this._$AK(e,t)}_$ET(e,i){const t=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,t);if(o!==void 0&&t.reflect===!0){const a=(t.converter?.toAttribute!==void 0?t.converter:wt).toAttribute(i,t.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,i){const t=this.constructor,o=t._$Eh.get(e);if(o!==void 0&&this._$Em!==o){const a=t.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:a.converter?.fromAttribute!==void 0?a.converter:wt;this._$Em=o;const r=s.fromAttribute(i,a.type);this[o]=r??this._$Ej?.get(o)??r,this._$Em=null}}requestUpdate(e,i,t,o=!1,a){if(e!==void 0){const s=this.constructor;if(o===!1&&(a=this[e]),t??=s.getPropertyOptions(e),!((t.hasChanged??Nt)(a,i)||t.useDefault&&t.reflect&&a===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,t))))return;this.C(e,i,t)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,i,{useDefault:t,reflect:o,wrapped:a},s){t&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??i??this[e]),a!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||t||(i=void 0),this._$AL.set(e,i)),o===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[o,a]of this._$Ep)this[o]=a;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[o,a]of t){const{wrapped:s}=a,r=this[o];s!==!0||this._$AL.has(o)||r===void 0||this.C(o,void 0,a,r)}}let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(i)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(i)}willUpdate(e){}_$AE(e){this._$EO?.forEach(i=>i.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(i=>this._$ET(i,this[i])),this._$EM()}updated(e){}firstUpdated(e){}};Fe.elementStyles=[],Fe.shadowRootOptions={mode:"open"},Fe[st("elementProperties")]=new Map,Fe[st("finalized")]=new Map,En?.({ReactiveElement:Fe}),(bt.reactiveElementVersions??=[]).push("2.1.2");const Dt=globalThis,Ui=n=>n,vt=Dt.trustedTypes,xi=vt?vt.createPolicy("lit-html",{createHTML:n=>n}):void 0,Mi="$lit$",De=`lit$${Math.random().toFixed(9).slice(2)}$`,Ri="?"+De,qn=`<${Ri}>`,We=document,rt=()=>We.createComment(""),ct=n=>n===null||typeof n!="object"&&typeof n!="function",Ht=Array.isArray,_n=n=>Ht(n)||typeof n?.[Symbol.iterator]=="function",Bt=`[
|
|
2
|
+
\f\r]`,dt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ei=/-->/g,qi=/>/g,Ge=RegExp(`>|${Bt}(?:([^\\s"'>=/]+)(${Bt}*=${Bt}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),_i=/'/g,Li=/"/g,Ni=/^(?:script|style|textarea|title)$/i,Di=n=>(e,...i)=>({_$litType$:n,strings:e,values:i}),y=Di(1),G=Di(2),et=Symbol.for("lit-noChange"),C=Symbol.for("lit-nothing"),Hi=new WeakMap,Ke=We.createTreeWalker(We,129);function Bi(n,e){if(!Ht(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return xi!==void 0?xi.createHTML(e):e}const Ln=(n,e)=>{const i=n.length-1,t=[];let o,a=e===2?"<svg>":e===3?"<math>":"",s=dt;for(let r=0;r<i;r++){const d=n[r];let c,l,u=-1,b=0;for(;b<d.length&&(s.lastIndex=b,l=s.exec(d),l!==null);)b=s.lastIndex,s===dt?l[1]==="!--"?s=Ei:l[1]!==void 0?s=qi:l[2]!==void 0?(Ni.test(l[2])&&(o=RegExp("</"+l[2],"g")),s=Ge):l[3]!==void 0&&(s=Ge):s===Ge?l[0]===">"?(s=o??dt,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,c=l[1],s=l[3]===void 0?Ge:l[3]==='"'?Li:_i):s===Li||s===_i?s=Ge:s===Ei||s===qi?s=dt:(s=Ge,o=void 0);const j=s===Ge&&n[r+1].startsWith("/>")?" ":"";a+=s===dt?d+qn:u>=0?(t.push(c),d.slice(0,u)+Mi+d.slice(u)+De+j):d+De+(u===-2?r:j)}return[Bi(n,a+(n[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),t]};class lt{constructor({strings:e,_$litType$:i},t){let o;this.parts=[];let a=0,s=0;const r=e.length-1,d=this.parts,[c,l]=Ln(e,i);if(this.el=lt.createElement(c,t),Ke.currentNode=this.el.content,i===2||i===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(o=Ke.nextNode())!==null&&d.length<r;){if(o.nodeType===1){if(o.hasAttributes())for(const u of o.getAttributeNames())if(u.endsWith(Mi)){const b=l[s++],j=o.getAttribute(u).split(De),q=/([.?@])?(.*)/.exec(b);d.push({type:1,index:a,name:q[2],strings:j,ctor:q[1]==="."?Dn:q[1]==="?"?Hn:q[1]==="@"?Bn:It}),o.removeAttribute(u)}else u.startsWith(De)&&(d.push({type:6,index:a}),o.removeAttribute(u));if(Ni.test(o.tagName)){const u=o.textContent.split(De),b=u.length-1;if(b>0){o.textContent=vt?vt.emptyScript:"";for(let j=0;j<b;j++)o.append(u[j],rt()),Ke.nextNode(),d.push({type:2,index:++a});o.append(u[b],rt())}}}else if(o.nodeType===8)if(o.data===Ri)d.push({type:2,index:a});else{let u=-1;for(;(u=o.data.indexOf(De,u+1))!==-1;)d.push({type:7,index:a}),u+=De.length-1}a++}}static createElement(e,i){const t=We.createElement("template");return t.innerHTML=e,t}}function tt(n,e,i=n,t){if(e===et)return e;let o=t!==void 0?i._$Co?.[t]:i._$Cl;const a=ct(e)?void 0:e._$litDirective$;return o?.constructor!==a&&(o?._$AO?.(!1),a===void 0?o=void 0:(o=new a(n),o._$AT(n,i,t)),t!==void 0?(i._$Co??=[])[t]=o:i._$Cl=o),o!==void 0&&(e=tt(n,o._$AS(n,e.values),o,t)),e}class Nn{constructor(e,i){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:i},parts:t}=this._$AD,o=(e?.creationScope??We).importNode(i,!0);Ke.currentNode=o;let a=Ke.nextNode(),s=0,r=0,d=t[0];for(;d!==void 0;){if(s===d.index){let c;d.type===2?c=new ut(a,a.nextSibling,this,e):d.type===1?c=new d.ctor(a,d.name,d.strings,this,e):d.type===6&&(c=new Xn(a,this,e)),this._$AV.push(c),d=t[++r]}s!==d?.index&&(a=Ke.nextNode(),s++)}return Ke.currentNode=We,o}p(e){let i=0;for(const t of this._$AV)t!==void 0&&(t.strings!==void 0?(t._$AI(e,t,i),i+=t.strings.length-2):t._$AI(e[i])),i++}}class ut{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,i,t,o){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=e,this._$AB=i,this._$AM=t,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const i=this._$AM;return i!==void 0&&e?.nodeType===11&&(e=i.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,i=this){e=tt(this,e,i),ct(e)?e===C||e==null||e===""?(this._$AH!==C&&this._$AR(),this._$AH=C):e!==this._$AH&&e!==et&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):_n(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==C&&ct(this._$AH)?this._$AA.nextSibling.data=e:this.T(We.createTextNode(e)),this._$AH=e}$(e){const{values:i,_$litType$:t}=e,o=typeof t=="number"?this._$AC(e):(t.el===void 0&&(t.el=lt.createElement(Bi(t.h,t.h[0]),this.options)),t);if(this._$AH?._$AD===o)this._$AH.p(i);else{const a=new Nn(o,this),s=a.u(this.options);a.p(i),this.T(s),this._$AH=a}}_$AC(e){let i=Hi.get(e.strings);return i===void 0&&Hi.set(e.strings,i=new lt(e)),i}k(e){Ht(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let t,o=0;for(const a of e)o===i.length?i.push(t=new ut(this.O(rt()),this.O(rt()),this,this.options)):t=i[o],t._$AI(a),o++;o<i.length&&(this._$AR(t&&t._$AB.nextSibling,o),i.length=o)}_$AR(e=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);e!==this._$AB;){const t=Ui(e).nextSibling;Ui(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class It{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,i,t,o,a){this.type=1,this._$AH=C,this._$AN=void 0,this.element=e,this.name=i,this._$AM=o,this.options=a,t.length>2||t[0]!==""||t[1]!==""?(this._$AH=Array(t.length-1).fill(new String),this.strings=t):this._$AH=C}_$AI(e,i=this,t,o){const a=this.strings;let s=!1;if(a===void 0)e=tt(this,e,i,0),s=!ct(e)||e!==this._$AH&&e!==et,s&&(this._$AH=e);else{const r=e;let d,c;for(e=a[0],d=0;d<a.length-1;d++)c=tt(this,r[t+d],i,d),c===et&&(c=this._$AH[d]),s||=!ct(c)||c!==this._$AH[d],c===C?e=C:e!==C&&(e+=(c??"")+a[d+1]),this._$AH[d]=c}s&&!o&&this.j(e)}j(e){e===C?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Dn extends It{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===C?void 0:e}}class Hn extends It{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==C)}}class Bn extends It{constructor(e,i,t,o,a){super(e,i,t,o,a),this.type=5}_$AI(e,i=this){if((e=tt(this,e,i,0)??C)===et)return;const t=this._$AH,o=e===C&&t!==C||e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive,a=e!==C&&(t===C||o);o&&this.element.removeEventListener(this.name,this,t),a&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class Xn{constructor(e,i,t){this.element=e,this.type=6,this._$AN=void 0,this._$AM=i,this.options=t}get _$AU(){return this._$AM._$AU}_$AI(e){tt(this,e)}}const Vn=Dt.litHtmlPolyfillSupport;Vn?.(lt,ut),(Dt.litHtmlVersions??=[]).push("3.3.3");const Wn=(n,e,i)=>{const t=i?.renderBefore??e;let o=t._$litPart$;if(o===void 0){const a=i?.renderBefore??null;t._$litPart$=o=new ut(e.insertBefore(rt(),a),a,void 0,i??{})}return o._$AI(n),o};const Xt=globalThis;class Ye extends Fe{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Wn(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return et}}Ye._$litElement$=!0,Ye.finalized=!0,Xt.litElementHydrateSupport?.({LitElement:Ye});const Gn=Xt.litElementPolyfillSupport;Gn?.({LitElement:Ye}),(Xt.litElementVersions??=[]).push("4.2.2");const Je=n=>(e,i)=>{i!==void 0?i.addInitializer(()=>{customElements.define(n,e)}):customElements.define(n,e)};const Kn={attribute:!0,type:String,converter:wt,reflect:!1,hasChanged:Nt},Yn=(n=Kn,e,i)=>{const{kind:t,metadata:o}=i;let a=globalThis.litPropertyMetadata.get(o);if(a===void 0&&globalThis.litPropertyMetadata.set(o,a=new Map),t==="setter"&&((n=Object.create(n)).wrapped=!0),a.set(i.name,n),t==="accessor"){const{name:s}=i;return{set(r){const d=e.get.call(this);e.set.call(this,r),this.requestUpdate(s,d,n,!0,r)},init(r){return r!==void 0&&this.C(s,void 0,n,r),r}}}if(t==="setter"){const{name:s}=i;return function(r){const d=this[s];e.call(this,r),this.requestUpdate(s,d,n,!0,r)}}throw Error("Unsupported decorator location: "+t)};function F(n){return(e,i)=>typeof i=="object"?Yn(n,e,i):((t,o,a)=>{const s=o.hasOwnProperty(a);return o.constructor.createProperty(a,t),s?Object.getOwnPropertyDescriptor(o,a):void 0})(n,e,i)}function N(n){return F({...n,state:!0,attribute:!1})}const Jn=(n,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(n,e,i),i);function Vt(n,e){return(i,t,o)=>{const a=s=>s.renderRoot?.querySelector(n)??null;return Jn(i,t,{get(){return a(this)}})}}function Zn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var pt={exports:{}},Wt={exports:{}},At={exports:{}},Qn=At.exports,Xi;function Vi(){return Xi||(Xi=1,(function(n){(function(e){var i,t=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,o=Math.ceil,a=Math.floor,s="[BigNumber Error] ",r=s+"Number primitive has more than 15 significant digits: ",d=1e14,c=14,l=9007199254740991,u=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],b=1e7,j=1e9;function q(B){var D,ie,W,R=M.prototype={constructor:M,toString:null,valueOf:null},J=new M(1),z=20,ne=4,ce=-7,de=21,Ue=-1e7,Ie=1e7,_e=!1,gt=1,Ve=0,bi={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Oe="0123456789abcdefghijklmnopqrstuvwxyz",wi=!0;function M(p,f){var g,S,w,A,P,m,v,$,k=this;if(!(k instanceof M))return new M(p,f);if(f==null){if(p&&p._isBigNumber===!0){k.s=p.s,!p.c||p.e>Ie?k.c=k.e=null:p.e<Ue?k.c=[k.e=0]:(k.e=p.e,k.c=p.c.slice());return}if((m=typeof p=="number")&&p*0==0){if(k.s=1/p<0?(p=-p,-1):1,p===~~p){for(A=0,P=p;P>=10;P/=10,A++);A>Ie?k.c=k.e=null:(k.e=A,k.c=[p]);return}$=String(p)}else{if(!t.test($=String(p)))return W(k,$,m);k.s=$.charCodeAt(0)==45?($=$.slice(1),-1):1}(A=$.indexOf("."))>-1&&($=$.replace(".","")),(P=$.search(/e/i))>0?(A<0&&(A=P),A+=+$.slice(P+1),$=$.substring(0,P)):A<0&&(A=$.length)}else{if(L(f,2,Oe.length,"Base"),f==10&&wi)return k=new M(p),$e(k,z+k.e+1,ne);if($=String(p),m=typeof p=="number"){if(p*0!=0)return W(k,$,m,f);if(k.s=1/p<0?($=$.slice(1),-1):1,M.DEBUG&&$.replace(/^0\.0*|\./,"").length>15)throw Error(r+p)}else k.s=$.charCodeAt(0)===45?($=$.slice(1),-1):1;for(g=Oe.slice(0,f),A=P=0,v=$.length;P<v;P++)if(g.indexOf(S=$.charAt(P))<0){if(S=="."){if(P>A){A=v;continue}}else if(!w&&($==$.toUpperCase()&&($=$.toLowerCase())||$==$.toLowerCase()&&($=$.toUpperCase()))){w=!0,P=-1,A=0;continue}return W(k,String(p),m,f)}m=!1,$=ie($,f,10,k.s),(A=$.indexOf("."))>-1?$=$.replace(".",""):A=$.length}for(P=0;$.charCodeAt(P)===48;P++);for(v=$.length;$.charCodeAt(--v)===48;);if($=$.slice(P,++v)){if(v-=P,m&&M.DEBUG&&v>15&&(p>l||p!==a(p)))throw Error(r+k.s*p);if((A=A-P-1)>Ie)k.c=k.e=null;else if(A<Ue)k.c=[k.e=0];else{if(k.e=A,k.c=[],P=(A+1)%c,A<0&&(P+=c),P<v){for(P&&k.c.push(+$.slice(0,P)),v-=c;P<v;)k.c.push(+$.slice(P,P+=c));P=c-($=$.slice(P)).length}else P-=v;for(;P--;$+="0");k.c.push(+$)}}else k.c=[k.e=0]}M.clone=q,M.ROUND_UP=0,M.ROUND_DOWN=1,M.ROUND_CEIL=2,M.ROUND_FLOOR=3,M.ROUND_HALF_UP=4,M.ROUND_HALF_DOWN=5,M.ROUND_HALF_EVEN=6,M.ROUND_HALF_CEIL=7,M.ROUND_HALF_FLOOR=8,M.EUCLID=9,M.config=M.set=function(p){var f,g;if(p!=null)if(typeof p=="object"){if(p.hasOwnProperty(f="DECIMAL_PLACES")&&(g=p[f],L(g,0,j,f),z=g),p.hasOwnProperty(f="ROUNDING_MODE")&&(g=p[f],L(g,0,8,f),ne=g),p.hasOwnProperty(f="EXPONENTIAL_AT")&&(g=p[f],g&&g.pop?(L(g[0],-j,0,f),L(g[1],0,j,f),ce=g[0],de=g[1]):(L(g,-j,j,f),ce=-(de=g<0?-g:g))),p.hasOwnProperty(f="RANGE"))if(g=p[f],g&&g.pop)L(g[0],-j,-1,f),L(g[1],1,j,f),Ue=g[0],Ie=g[1];else if(L(g,-j,j,f),g)Ue=-(Ie=g<0?-g:g);else throw Error(s+f+" cannot be zero: "+g);if(p.hasOwnProperty(f="CRYPTO"))if(g=p[f],g===!!g)if(g)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_e=g;else throw _e=!g,Error(s+"crypto unavailable");else _e=g;else throw Error(s+f+" not true or false: "+g);if(p.hasOwnProperty(f="MODULO_MODE")&&(g=p[f],L(g,0,9,f),gt=g),p.hasOwnProperty(f="POW_PRECISION")&&(g=p[f],L(g,0,j,f),Ve=g),p.hasOwnProperty(f="FORMAT"))if(g=p[f],typeof g=="object")bi=g;else throw Error(s+f+" not an object: "+g);if(p.hasOwnProperty(f="ALPHABET"))if(g=p[f],typeof g=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(g))wi=g.slice(0,10)=="0123456789",Oe=g;else throw Error(s+f+" invalid: "+g)}else throw Error(s+"Object expected: "+p);return{DECIMAL_PLACES:z,ROUNDING_MODE:ne,EXPONENTIAL_AT:[ce,de],RANGE:[Ue,Ie],CRYPTO:_e,MODULO_MODE:gt,POW_PRECISION:Ve,FORMAT:bi,ALPHABET:Oe}},M.isBigNumber=function(p){if(!p||p._isBigNumber!==!0)return!1;if(!M.DEBUG)return!0;var f,g,S=p.c,w=p.e,A=p.s;e:if({}.toString.call(S)=="[object Array]"){if((A===1||A===-1)&&w>=-j&&w<=j&&w===a(w)){if(S[0]===0){if(w===0&&S.length===1)return!0;break e}if(f=(w+1)%c,f<1&&(f+=c),String(S[0]).length==f){for(f=0;f<S.length;f++)if(g=S[f],g<0||g>=d||g!==a(g))break e;if(g!==0)return!0}}}else if(S===null&&w===null&&(A===null||A===1||A===-1))return!0;throw Error(s+"Invalid BigNumber: "+p)},M.maximum=M.max=function(){return kn(arguments,-1)},M.minimum=M.min=function(){return kn(arguments,1)},M.random=(function(){var p=9007199254740992,f=Math.random()*p&2097151?function(){return a(Math.random()*p)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(g){var S,w,A,P,m,v=0,$=[],k=new M(J);if(g==null?g=z:L(g,0,j),P=o(g/c),_e)if(crypto.getRandomValues){for(S=crypto.getRandomValues(new Uint32Array(P*=2));v<P;)m=S[v]*131072+(S[v+1]>>>11),m>=9e15?(w=crypto.getRandomValues(new Uint32Array(2)),S[v]=w[0],S[v+1]=w[1]):($.push(m%1e14),v+=2);v=P/2}else if(crypto.randomBytes){for(S=crypto.randomBytes(P*=7);v<P;)m=(S[v]&31)*281474976710656+S[v+1]*1099511627776+S[v+2]*4294967296+S[v+3]*16777216+(S[v+4]<<16)+(S[v+5]<<8)+S[v+6],m>=9e15?crypto.randomBytes(7).copy(S,v):($.push(m%1e14),v+=7);v=P/7}else throw _e=!1,Error(s+"crypto unavailable");if(!_e)for(;v<P;)m=f(),m<9e15&&($[v++]=m%1e14);for(P=$[--v],g%=c,P&&g&&(m=u[c-g],$[v]=a(P/m)*m);$[v]===0;$.pop(),v--);if(v<0)$=[A=0];else{for(A=-1;$[0]===0;$.splice(0,1),A-=c);for(v=1,m=$[0];m>=10;m/=10,v++);v<c&&(A-=c-v)}return k.e=A,k.c=$,k}})(),M.sum=function(){for(var p=1,f=arguments,g=new M(f[0]);p<f.length;)g=g.plus(f[p++]);return g},ie=(function(){var p="0123456789";function f(g,S,w,A){for(var P,m=[0],v,$=0,k=g.length;$<k;){for(v=m.length;v--;m[v]*=S);for(m[0]+=A.indexOf(g.charAt($++)),P=0;P<m.length;P++)m[P]>w-1&&(m[P+1]==null&&(m[P+1]=0),m[P+1]+=m[P]/w|0,m[P]%=w)}return m.reverse()}return function(g,S,w,A,P){var m,v,$,k,x,X,V,oe,le=g.indexOf("."),fe=z,te=ne;for(le>=0&&(k=Ve,Ve=0,g=g.replace(".",""),oe=new M(S),X=oe.pow(g.length-le),Ve=k,oe.c=f(se(K(X.c),X.e,"0"),10,w,p),oe.e=oe.c.length),V=f(g,S,w,P?(m=Oe,p):(m=p,Oe)),$=k=V.length;V[--k]==0;V.pop());if(!V[0])return m.charAt(0);if(le<0?--$:(X.c=V,X.e=$,X.s=A,X=D(X,oe,fe,te,w),V=X.c,x=X.r,$=X.e),v=$+fe+1,le=V[v],k=w/2,x=x||v<0||V[v+1]!=null,x=te<4?(le!=null||x)&&(te==0||te==(X.s<0?3:2)):le>k||le==k&&(te==4||x||te==6&&V[v-1]&1||te==(X.s<0?8:7)),v<1||!V[0])g=x?se(m.charAt(1),-fe,m.charAt(0)):m.charAt(0);else{if(V.length=v,x)for(--w;++V[--v]>w;)V[v]=0,v||(++$,V=[1].concat(V));for(k=V.length;!V[--k];);for(le=0,g="";le<=k;g+=m.charAt(V[le++]));g=se(g,$,m.charAt(0))}return g}})(),D=(function(){function p(S,w,A){var P,m,v,$,k=0,x=S.length,X=w%b,V=w/b|0;for(S=S.slice();x--;)v=S[x]%b,$=S[x]/b|0,P=V*v+$*X,m=X*v+P%b*b+k,k=(m/A|0)+(P/b|0)+V*$,S[x]=m%A;return k&&(S=[k].concat(S)),S}function f(S,w,A,P){var m,v;if(A!=P)v=A>P?1:-1;else for(m=v=0;m<A;m++)if(S[m]!=w[m]){v=S[m]>w[m]?1:-1;break}return v}function g(S,w,A,P){for(var m=0;A--;)S[A]-=m,m=S[A]<w[A]?1:0,S[A]=m*P+S[A]-w[A];for(;!S[0]&&S.length>1;S.splice(0,1));}return function(S,w,A,P,m){var v,$,k,x,X,V,oe,le,fe,te,re,be,qt,Ai,ki,xe,yt,je=S.s==w.s?1:-1,we=S.c,ue=w.c;if(!we||!we[0]||!ue||!ue[0])return new M(!S.s||!w.s||(we?ue&&we[0]==ue[0]:!ue)?NaN:we&&we[0]==0||!ue?je*0:je/0);for(le=new M(je),fe=le.c=[],$=S.e-w.e,je=A+$+1,m||(m=d,$=T(S.e/c)-T(w.e/c),je=je/c|0),k=0;ue[k]==(we[k]||0);k++);if(ue[k]>(we[k]||0)&&$--,je<0)fe.push(1),x=!0;else{for(Ai=we.length,xe=ue.length,k=0,je+=2,X=a(m/(ue[0]+1)),X>1&&(ue=p(ue,X,m),we=p(we,X,m),xe=ue.length,Ai=we.length),qt=xe,te=we.slice(0,xe),re=te.length;re<xe;te[re++]=0);yt=ue.slice(),yt=[0].concat(yt),ki=ue[0],ue[1]>=m/2&&ki++;do{if(X=0,v=f(ue,te,xe,re),v<0){if(be=te[0],xe!=re&&(be=be*m+(te[1]||0)),X=a(be/ki),X>1)for(X>=m&&(X=m-1),V=p(ue,X,m),oe=V.length,re=te.length;f(V,te,oe,re)==1;)X--,g(V,xe<oe?yt:ue,oe,m),oe=V.length,v=1;else X==0&&(v=X=1),V=ue.slice(),oe=V.length;if(oe<re&&(V=[0].concat(V)),g(te,V,re,m),re=te.length,v==-1)for(;f(ue,te,xe,re)<1;)X++,g(te,xe<re?yt:ue,re,m),re=te.length}else v===0&&(X++,te=[0]);fe[k++]=X,te[0]?te[re++]=we[qt]||0:(te=[we[qt]],re=1)}while((qt++<Ai||te[0]!=null)&&je--);x=te[0]!=null,fe[0]||fe.splice(0,1)}if(m==d){for(k=1,je=fe[0];je>=10;je/=10,k++);$e(le,A+(le.e=k+$*c-1)+1,P,x)}else le.e=$,le.r=+x;return le}})();function vi(p,f,g,S){var w,A,P,m,v;if(g==null?g=ne:L(g,0,8),!p.c)return p.toString();if(w=p.c[0],P=p.e,f==null)v=K(p.c),v=S==1||S==2&&(P<=ce||P>=de)?Z(v,P):se(v,P,"0");else if(p=$e(new M(p),f,g),A=p.e,v=K(p.c),m=v.length,S==1||S==2&&(f<=A||A<=ce)){for(;m<f;v+="0",m++);v=Z(v,A)}else if(f-=P+(S===2&&A>P),v=se(v,A,"0"),A+1>m){if(--f>0)for(v+=".";f--;v+="0");}else if(f+=A-m,f>0)for(A+1==m&&(v+=".");f--;v+="0");return p.s<0&&w?"-"+v:v}function kn(p,f){for(var g,S,w=1,A=new M(p[0]);w<p.length;w++)S=new M(p[w]),(!S.s||(g=Y(A,S))===f||g===0&&A.s===f)&&(A=S);return A}function Ii(p,f,g){for(var S=1,w=f.length;!f[--w];f.pop());for(w=f[0];w>=10;w/=10,S++);return(g=S+g*c-1)>Ie?p.c=p.e=null:g<Ue?p.c=[p.e=0]:(p.e=g,p.c=f),p}W=(function(){var p=/^(-?)0([xbo])(?=\w[\w.]*$)/i,f=/^([^.]+)\.$/,g=/^\.([^.]+)$/,S=/^-?(Infinity|NaN)$/,w=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(A,P,m,v){var $,k=m?P:P.replace(w,"");if(S.test(k))A.s=isNaN(k)?null:k<0?-1:1;else{if(!m&&(k=k.replace(p,function(x,X,V){return $=(V=V.toLowerCase())=="x"?16:V=="b"?2:8,!v||v==$?X:x}),v&&($=v,k=k.replace(f,"$1").replace(g,"0.$1")),P!=k))return new M(k,$);if(M.DEBUG)throw Error(s+"Not a"+(v?" base "+v:"")+" number: "+P);A.s=null}A.c=A.e=null}})();function $e(p,f,g,S){var w,A,P,m,v,$,k,x=p.c,X=u;if(x){e:{for(w=1,m=x[0];m>=10;m/=10,w++);if(A=f-w,A<0)A+=c,P=f,v=x[$=0],k=a(v/X[w-P-1]%10);else if($=o((A+1)/c),$>=x.length)if(S){for(;x.length<=$;x.push(0));v=k=0,w=1,A%=c,P=A-c+1}else break e;else{for(v=m=x[$],w=1;m>=10;m/=10,w++);A%=c,P=A-c+w,k=P<0?0:a(v/X[w-P-1]%10)}if(S=S||f<0||x[$+1]!=null||(P<0?v:v%X[w-P-1]),S=g<4?(k||S)&&(g==0||g==(p.s<0?3:2)):k>5||k==5&&(g==4||S||g==6&&(A>0?P>0?v/X[w-P]:0:x[$-1])%10&1||g==(p.s<0?8:7)),f<1||!x[0])return x.length=0,S?(f-=p.e+1,x[0]=X[(c-f%c)%c],p.e=-f||0):x[0]=p.e=0,p;if(A==0?(x.length=$,m=1,$--):(x.length=$+1,m=X[c-A],x[$]=P>0?a(v/X[w-P]%X[P])*m:0),S)for(;;)if($==0){for(A=1,P=x[0];P>=10;P/=10,A++);for(P=x[0]+=m,m=1;P>=10;P/=10,m++);A!=m&&(p.e++,x[0]==d&&(x[0]=1));break}else{if(x[$]+=m,x[$]!=d)break;x[$--]=0,m=1}for(A=x.length;x[--A]===0;x.pop());}p.e>Ie?p.c=p.e=null:p.e<Ue&&(p.c=[p.e=0])}return p}function Le(p){var f,g=p.e;return g===null?p.toString():(f=K(p.c),f=g<=ce||g>=de?Z(f,g):se(f,g,"0"),p.s<0?"-"+f:f)}return R.absoluteValue=R.abs=function(){var p=new M(this);return p.s<0&&(p.s=1),p},R.comparedTo=function(p,f){return Y(this,new M(p,f))},R.decimalPlaces=R.dp=function(p,f){var g,S,w,A=this;if(p!=null)return L(p,0,j),f==null?f=ne:L(f,0,8),$e(new M(A),p+A.e+1,f);if(!(g=A.c))return null;if(S=((w=g.length-1)-T(this.e/c))*c,w=g[w])for(;w%10==0;w/=10,S--);return S<0&&(S=0),S},R.dividedBy=R.div=function(p,f){return D(this,new M(p,f),z,ne)},R.dividedToIntegerBy=R.idiv=function(p,f){return D(this,new M(p,f),0,1)},R.exponentiatedBy=R.pow=function(p,f){var g,S,w,A,P,m,v,$,k,x=this;if(p=new M(p),p.c&&!p.isInteger())throw Error(s+"Exponent not an integer: "+Le(p));if(f!=null&&(f=new M(f)),m=p.e>14,!x.c||!x.c[0]||x.c[0]==1&&!x.e&&x.c.length==1||!p.c||!p.c[0])return k=new M(Math.pow(+Le(x),m?p.s*(2-H(p)):+Le(p))),f?k.mod(f):k;if(v=p.s<0,f){if(f.c?!f.c[0]:!f.s)return new M(NaN);S=!v&&x.isInteger()&&f.isInteger(),S&&(x=x.mod(f))}else{if(p.e>9&&(x.e>0||x.e<-1||(x.e==0?x.c[0]>1||m&&x.c[1]>=24e7:x.c[0]<8e13||m&&x.c[0]<=9999975e7)))return A=x.s<0&&H(p)?-0:0,x.e>-1&&(A=1/A),new M(v?1/A:A);Ve&&(A=o(Ve/c+2))}for(m?(g=new M(.5),v&&(p.s=1),$=H(p)):(w=Math.abs(+Le(p)),$=w%2),k=new M(J);;){if($){if(k=k.times(x),!k.c)break;A?k.c.length>A&&(k.c.length=A):S&&(k=k.mod(f))}if(w){if(w=a(w/2),w===0)break;$=w%2}else if(p=p.times(g),$e(p,p.e+1,1),p.e>14)$=H(p);else{if(w=+Le(p),w===0)break;$=w%2}x=x.times(x),A?x.c&&x.c.length>A&&(x.c.length=A):S&&(x=x.mod(f))}return S?k:(v&&(k=J.div(k)),f?k.mod(f):A?$e(k,Ve,ne,P):k)},R.integerValue=function(p){var f=new M(this);return p==null?p=ne:L(p,0,8),$e(f,f.e+1,p)},R.isEqualTo=R.eq=function(p,f){return Y(this,new M(p,f))===0},R.isFinite=function(){return!!this.c},R.isGreaterThan=R.gt=function(p,f){return Y(this,new M(p,f))>0},R.isGreaterThanOrEqualTo=R.gte=function(p,f){return(f=Y(this,new M(p,f)))===1||f===0},R.isInteger=function(){return!!this.c&&T(this.e/c)>this.c.length-2},R.isLessThan=R.lt=function(p,f){return Y(this,new M(p,f))<0},R.isLessThanOrEqualTo=R.lte=function(p,f){return(f=Y(this,new M(p,f)))===-1||f===0},R.isNaN=function(){return!this.s},R.isNegative=function(){return this.s<0},R.isPositive=function(){return this.s>0},R.isZero=function(){return!!this.c&&this.c[0]==0},R.minus=function(p,f){var g,S,w,A,P=this,m=P.s;if(p=new M(p,f),f=p.s,!m||!f)return new M(NaN);if(m!=f)return p.s=-f,P.plus(p);var v=P.e/c,$=p.e/c,k=P.c,x=p.c;if(!v||!$){if(!k||!x)return k?(p.s=-f,p):new M(x?P:NaN);if(!k[0]||!x[0])return x[0]?(p.s=-f,p):new M(k[0]?P:ne==3?-0:0)}if(v=T(v),$=T($),k=k.slice(),m=v-$){for((A=m<0)?(m=-m,w=k):($=v,w=x),w.reverse(),f=m;f--;w.push(0));w.reverse()}else for(S=(A=(m=k.length)<(f=x.length))?m:f,m=f=0;f<S;f++)if(k[f]!=x[f]){A=k[f]<x[f];break}if(A&&(w=k,k=x,x=w,p.s=-p.s),f=(S=x.length)-(g=k.length),f>0)for(;f--;k[g++]=0);for(f=d-1;S>m;){if(k[--S]<x[S]){for(g=S;g&&!k[--g];k[g]=f);--k[g],k[S]+=d}k[S]-=x[S]}for(;k[0]==0;k.splice(0,1),--$);return k[0]?Ii(p,k,$):(p.s=ne==3?-1:1,p.c=[p.e=0],p)},R.modulo=R.mod=function(p,f){var g,S,w=this;return p=new M(p,f),!w.c||!p.s||p.c&&!p.c[0]?new M(NaN):!p.c||w.c&&!w.c[0]?new M(w):(gt==9?(S=p.s,p.s=1,g=D(w,p,0,3),p.s=S,g.s*=S):g=D(w,p,0,gt),p=w.minus(g.times(p)),!p.c[0]&>==1&&(p.s=w.s),p)},R.multipliedBy=R.times=function(p,f){var g,S,w,A,P,m,v,$,k,x,X,V,oe,le,fe,te=this,re=te.c,be=(p=new M(p,f)).c;if(!re||!be||!re[0]||!be[0])return!te.s||!p.s||re&&!re[0]&&!be||be&&!be[0]&&!re?p.c=p.e=p.s=null:(p.s*=te.s,!re||!be?p.c=p.e=null:(p.c=[0],p.e=0)),p;for(S=T(te.e/c)+T(p.e/c),p.s*=te.s,v=re.length,x=be.length,v<x&&(oe=re,re=be,be=oe,w=v,v=x,x=w),w=v+x,oe=[];w--;oe.push(0));for(le=d,fe=b,w=x;--w>=0;){for(g=0,X=be[w]%fe,V=be[w]/fe|0,P=v,A=w+P;A>w;)$=re[--P]%fe,k=re[P]/fe|0,m=V*$+k*X,$=X*$+m%fe*fe+oe[A]+g,g=($/le|0)+(m/fe|0)+V*k,oe[A--]=$%le;oe[A]=g}return g?++S:oe.splice(0,1),Ii(p,oe,S)},R.negated=function(){var p=new M(this);return p.s=-p.s||null,p},R.plus=function(p,f){var g,S=this,w=S.s;if(p=new M(p,f),f=p.s,!w||!f)return new M(NaN);if(w!=f)return p.s=-f,S.minus(p);var A=S.e/c,P=p.e/c,m=S.c,v=p.c;if(!A||!P){if(!m||!v)return new M(w/0);if(!m[0]||!v[0])return v[0]?p:new M(m[0]?S:w*0)}if(A=T(A),P=T(P),m=m.slice(),w=A-P){for(w>0?(P=A,g=v):(w=-w,g=m),g.reverse();w--;g.push(0));g.reverse()}for(w=m.length,f=v.length,w-f<0&&(g=v,v=m,m=g,f=w),w=0;f;)w=(m[--f]=m[f]+v[f]+w)/d|0,m[f]=d===m[f]?0:m[f]%d;return w&&(m=[w].concat(m),++P),Ii(p,m,P)},R.precision=R.sd=function(p,f){var g,S,w,A=this;if(p!=null&&p!==!!p)return L(p,1,j),f==null?f=ne:L(f,0,8),$e(new M(A),p,f);if(!(g=A.c))return null;if(w=g.length-1,S=w*c+1,w=g[w]){for(;w%10==0;w/=10,S--);for(w=g[0];w>=10;w/=10,S++);}return p&&A.e+1>S&&(S=A.e+1),S},R.shiftedBy=function(p){return L(p,-l,l),this.times("1e"+p)},R.squareRoot=R.sqrt=function(){var p,f,g,S,w,A=this,P=A.c,m=A.s,v=A.e,$=z+4,k=new M("0.5");if(m!==1||!P||!P[0])return new M(!m||m<0&&(!P||P[0])?NaN:P?A:1/0);if(m=Math.sqrt(+Le(A)),m==0||m==1/0?(f=K(P),(f.length+v)%2==0&&(f+="0"),m=Math.sqrt(+f),v=T((v+1)/2)-(v<0||v%2),m==1/0?f="5e"+v:(f=m.toExponential(),f=f.slice(0,f.indexOf("e")+1)+v),g=new M(f)):g=new M(m+""),g.c[0]){for(v=g.e,m=v+$,m<3&&(m=0);;)if(w=g,g=k.times(w.plus(D(A,w,$,1))),K(w.c).slice(0,m)===(f=K(g.c)).slice(0,m))if(g.e<v&&--m,f=f.slice(m-3,m+1),f=="9999"||!S&&f=="4999"){if(!S&&($e(w,w.e+z+2,0),w.times(w).eq(A))){g=w;break}$+=4,m+=4,S=1}else{(!+f||!+f.slice(1)&&f.charAt(0)=="5")&&($e(g,g.e+z+2,1),p=!g.times(g).eq(A));break}}return $e(g,g.e+z+1,ne,p)},R.toExponential=function(p,f){return p!=null&&(L(p,0,j),p++),vi(this,p,f,1)},R.toFixed=function(p,f){return p!=null&&(L(p,0,j),p=p+this.e+1),vi(this,p,f)},R.toFormat=function(p,f,g){var S,w=this;if(g==null)p!=null&&f&&typeof f=="object"?(g=f,f=null):p&&typeof p=="object"?(g=p,p=f=null):g=bi;else if(typeof g!="object")throw Error(s+"Argument not an object: "+g);if(S=w.toFixed(p,f),w.c){var A,P=S.split("."),m=+g.groupSize,v=+g.secondaryGroupSize,$=g.groupSeparator||"",k=P[0],x=P[1],X=w.s<0,V=X?k.slice(1):k,oe=V.length;if(v&&(A=m,m=v,v=A,oe-=A),m>0&&oe>0){for(A=oe%m||m,k=V.substr(0,A);A<oe;A+=m)k+=$+V.substr(A,m);v>0&&(k+=$+V.slice(A)),X&&(k="-"+k)}S=x?k+(g.decimalSeparator||"")+((v=+g.fractionGroupSize)?x.replace(new RegExp("\\d{"+v+"}\\B","g"),"$&"+(g.fractionGroupSeparator||"")):x):k}return(g.prefix||"")+S+(g.suffix||"")},R.toFraction=function(p){var f,g,S,w,A,P,m,v,$,k,x,X,V=this,oe=V.c;if(p!=null&&(m=new M(p),!m.isInteger()&&(m.c||m.s!==1)||m.lt(J)))throw Error(s+"Argument "+(m.isInteger()?"out of range: ":"not an integer: ")+Le(m));if(!oe)return new M(V);for(f=new M(J),$=g=new M(J),S=v=new M(J),X=K(oe),A=f.e=X.length-V.e-1,f.c[0]=u[(P=A%c)<0?c+P:P],p=!p||m.comparedTo(f)>0?A>0?f:$:m,P=Ie,Ie=1/0,m=new M(X),v.c[0]=0;k=D(m,f,0,1),w=g.plus(k.times(S)),w.comparedTo(p)!=1;)g=S,S=w,$=v.plus(k.times(w=$)),v=w,f=m.minus(k.times(w=f)),m=w;return w=D(p.minus(g),S,0,1),v=v.plus(w.times($)),g=g.plus(w.times(S)),v.s=$.s=V.s,A=A*2,x=D($,S,A,ne).minus(V).abs().comparedTo(D(v,g,A,ne).minus(V).abs())<1?[$,S]:[v,g],Ie=P,x},R.toNumber=function(){return+Le(this)},R.toPrecision=function(p,f){return p!=null&&L(p,1,j),vi(this,p,f,2)},R.toString=function(p){var f,g=this,S=g.s,w=g.e;return w===null?S?(f="Infinity",S<0&&(f="-"+f)):f="NaN":(p==null?f=w<=ce||w>=de?Z(K(g.c),w):se(K(g.c),w,"0"):p===10&&wi?(g=$e(new M(g),z+w+1,ne),f=se(K(g.c),g.e,"0")):(L(p,2,Oe.length,"Base"),f=ie(se(K(g.c),w,"0"),10,p,S,!0)),S<0&&g.c[0]&&(f="-"+f)),f},R.valueOf=R.toJSON=function(){return Le(this)},R._isBigNumber=!0,B!=null&&M.set(B),M}function T(B){var D=B|0;return B>0||B===D?D:D-1}function K(B){for(var D,ie,W=1,R=B.length,J=B[0]+"";W<R;){for(D=B[W++]+"",ie=c-D.length;ie--;D="0"+D);J+=D}for(R=J.length;J.charCodeAt(--R)===48;);return J.slice(0,R+1||1)}function Y(B,D){var ie,W,R=B.c,J=D.c,z=B.s,ne=D.s,ce=B.e,de=D.e;if(!z||!ne)return null;if(ie=R&&!R[0],W=J&&!J[0],ie||W)return ie?W?0:-ne:z;if(z!=ne)return z;if(ie=z<0,W=ce==de,!R||!J)return W?0:!R^ie?1:-1;if(!W)return ce>de^ie?1:-1;for(ne=(ce=R.length)<(de=J.length)?ce:de,z=0;z<ne;z++)if(R[z]!=J[z])return R[z]>J[z]^ie?1:-1;return ce==de?0:ce>de^ie?1:-1}function L(B,D,ie,W){if(B<D||B>ie||B!==a(B))throw Error(s+(W||"Argument")+(typeof B=="number"?B<D||B>ie?" out of range: ":" not an integer: ":" not a primitive number: ")+String(B))}function H(B){var D=B.c.length-1;return T(B.e/c)==D&&B.c[D]%2!=0}function Z(B,D){return(B.length>1?B.charAt(0)+"."+B.slice(1):B)+(D<0?"e":"e+")+D}function se(B,D,ie){var W,R;if(D<0){for(R=ie+".";++D;R+=ie);B=R+B}else if(W=B.length,++D>W){for(R=ie,D-=W;--D;R+=ie);B+=R}else D<W&&(B=B.slice(0,D)+"."+B.slice(D));return B}i=q(),i.default=i.BigNumber=i,n.exports?n.exports=i:(e||(e=typeof self<"u"&&self?self:window),e.BigNumber=i)})(Qn)})(At)),At.exports}var Wi;function Tn(){return Wi||(Wi=1,(function(n){var e=Vi(),i=n.exports;(function(){var t=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,o,a,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},r;function d(l){return t.lastIndex=0,t.test(l)?'"'+l.replace(t,function(u){var b=s[u];return typeof b=="string"?b:"\\u"+("0000"+u.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+l+'"'}function c(l,u){var b,j,q,T,K=o,Y,L=u[l],H=L!=null&&(L instanceof e||e.isBigNumber(L));switch(L&&typeof L=="object"&&typeof L.toJSON=="function"&&(L=L.toJSON(l)),typeof r=="function"&&(L=r.call(u,l,L)),typeof L){case"string":return H?L:d(L);case"number":return isFinite(L)?String(L):"null";case"boolean":case"null":case"bigint":return String(L);case"object":if(!L)return"null";if(o+=a,Y=[],Object.prototype.toString.apply(L)==="[object Array]"){for(T=L.length,b=0;b<T;b+=1)Y[b]=c(b,L)||"null";return q=Y.length===0?"[]":o?`[
|
|
4
4
|
`+o+Y.join(`,
|
|
5
5
|
`+o)+`
|
|
6
|
-
`+K+"]":"["+Y.join(",")+"]",o=K,q}if(r&&typeof r=="object")for(T=r.length,
|
|
6
|
+
`+K+"]":"["+Y.join(",")+"]",o=K,q}if(r&&typeof r=="object")for(T=r.length,b=0;b<T;b+=1)typeof r[b]=="string"&&(j=r[b],q=c(j,L),q&&Y.push(d(j)+(o?": ":":")+q));else Object.keys(L).forEach(function(Z){var se=c(Z,L);se&&Y.push(d(Z)+(o?": ":":")+se)});return q=Y.length===0?"{}":o?`{
|
|
7
7
|
`+o+Y.join(`,
|
|
8
8
|
`+o)+`
|
|
9
|
-
`+K+"}":"{"+Y.join(",")+"}",o=K,q}}typeof i.stringify!="function"&&(i.stringify=function(l,u,
|
|
10
|
-
`,r:"\r",t:" "},c,l=function(H){throw{name:"SyntaxError",message:H,at:s,text:c}},u=function(H){return H&&H!==r&&l("Expected '"+H+"' instead of '"+r+"'"),r=c.charAt(s),s+=1,r},m=function(){var H,Z="";for(r==="-"&&(Z="-",u("-"));r>="0"&&r<="9";)Z+=r,u();if(r===".")for(Z+=".";u()&&r>="0"&&r<="9";)Z+=r;if(r==="e"||r==="E")for(Z+=r,u(),(r==="-"||r==="+")&&(Z+=r,u());r>="0"&&r<="9";)Z+=r,u();if(H=+Z,!isFinite(H))l("Bad number");else return n==null&&(n=Bi()),Z.length>15?a.storeAsString?Z:a.useNativeBigInt?BigInt(Z):new n(Z):a.alwaysParseAsBig?a.useNativeBigInt?BigInt(H):new n(H):H},j=function(){var H,Z,se="",B;if(r==='"')for(var D=s;u();){if(r==='"')return s-1>D&&(se+=c.substring(D,s-1)),u(),se;if(r==="\\"){if(s-1>D&&(se+=c.substring(D,s-1)),u(),r==="u"){for(B=0,Z=0;Z<4&&(H=parseInt(u(),16),!!isFinite(H));Z+=1)B=B*16+H;se+=String.fromCharCode(B)}else if(typeof d[r]=="string")se+=d[r];else break;D=s}}l("Bad string")},q=function(){for(;r&&r<=" ";)u()},T=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}l("Unexpected '"+r+"'")},K,Y=function(){var H=[];if(r==="["){if(u("["),q(),r==="]")return u("]"),H;for(;r;){if(H.push(K()),q(),r==="]")return u("]"),H;u(","),q()}}l("Bad array")},L=function(){var H,Z=Object.create(null);if(r==="{"){if(u("{"),q(),r==="}")return u("}"),Z;for(;r;){if(H=j(),q(),u(":"),a.strict===!0&&Object.hasOwnProperty.call(Z,H)&&l('Duplicate key "'+H+'"'),e.test(H)===!0?a.protoAction==="error"?l("Object contains forbidden prototype property"):a.protoAction==="ignore"?K():Z[H]=K():i.test(H)===!0?a.constructorAction==="error"?l("Object contains forbidden constructor property"):a.constructorAction==="ignore"?K():Z[H]=K():Z[H]=K(),q(),r==="}")return u("}"),Z;u(","),q()}}l("Bad object")};return K=function(){switch(q(),r){case"{":return L();case"[":return Y();case'"':return j();case"-":return m();default:return r>="0"&&r<="9"?m():T()}},function(H,Z){var se;return c=H+"",s=0,r=" ",se=K(),q(),r&&l("Syntax error"),typeof Z=="function"?(function B(D,ie){var W,R=D[ie];return R&&typeof R=="object"&&Object.keys(R).forEach(function(J){W=B(R,J),W!==void 0?R[J]=W:delete R[J]}),Z.call(D,ie,R)})({"":se},""):se}};return Vt=t,Vt}var Wi;function Qn(){if(Wi)return ut.exports;Wi=1;var n=Jn().stringify,e=Zn();return ut.exports=function(i){return{parse:e(i),stringify:n}},ut.exports.parse=e(),ut.exports.stringify=n,ut.exports}var Tn=Qn();const Wt=Kn(Tn);function ve(n,e,i,t){function o(a){return a instanceof i?a:new i(function(s){s(a)})}return new(i||(i=Promise))(function(a,s){function r(l){try{c(t.next(l))}catch(u){s(u)}}function d(l){try{c(t.throw(l))}catch(u){s(u)}}function c(l){l.done?a(l.value):o(l.value).then(r,d)}c((t=t.apply(n,e||[])).next())})}function zn(n,e,i,t){if(typeof e=="function"?n!==e||!t:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?t:i==="a"?t.call(n):t?t.value:e.get(n)}typeof SuppressedError=="function"&&SuppressedError;var kt,Gi;class He{static custom(e){return e}static unique(e=7){const i=zn(kt,kt,"m",Gi).call(kt);let t="";for(let o=0;o<e;o++){const a=Math.floor(Math.random()*16).toString(16);t+=a}return i+t}}kt=He,Gi=function(){const e=new Date,i=Math.floor(e.getTime()/1e3),t=e.getMilliseconds();return i.toString(16)+t.toString(16).padStart(5,"0")};const St=Wt({useNativeBigInt:!0});class C{constructor(e,i,t){this.method=e,this.attribute=i,t!==void 0&&(Array.isArray(t)?this.values=t:this.values=[t])}toString(){return St.stringify({method:this.method,attribute:this.attribute,values:this.values})}}C.equal=(n,e)=>new C("equal",n,e).toString(),C.notEqual=(n,e)=>new C("notEqual",n,e).toString(),C.regex=(n,e)=>new C("regex",n,e).toString(),C.lessThan=(n,e)=>new C("lessThan",n,e).toString(),C.lessThanEqual=(n,e)=>new C("lessThanEqual",n,e).toString(),C.greaterThan=(n,e)=>new C("greaterThan",n,e).toString(),C.greaterThanEqual=(n,e)=>new C("greaterThanEqual",n,e).toString(),C.isNull=n=>new C("isNull",n).toString(),C.isNotNull=n=>new C("isNotNull",n).toString(),C.exists=n=>new C("exists",void 0,n).toString(),C.notExists=n=>new C("notExists",void 0,n).toString(),C.between=(n,e,i)=>new C("between",n,[e,i]).toString(),C.startsWith=(n,e)=>new C("startsWith",n,e).toString(),C.endsWith=(n,e)=>new C("endsWith",n,e).toString(),C.select=n=>new C("select",void 0,n).toString(),C.search=(n,e)=>new C("search",n,e).toString(),C.orderDesc=n=>new C("orderDesc",n).toString(),C.orderAsc=n=>new C("orderAsc",n).toString(),C.orderRandom=()=>new C("orderRandom").toString(),C.cursorAfter=n=>new C("cursorAfter",void 0,n).toString(),C.cursorBefore=n=>new C("cursorBefore",void 0,n).toString(),C.limit=n=>new C("limit",void 0,n).toString(),C.offset=n=>new C("offset",void 0,n).toString(),C.contains=(n,e)=>new C("contains",n,e).toString(),C.containsAny=(n,e)=>new C("containsAny",n,e).toString(),C.containsAll=(n,e)=>new C("containsAll",n,e).toString(),C.notContains=(n,e)=>new C("notContains",n,e).toString(),C.notSearch=(n,e)=>new C("notSearch",n,e).toString(),C.notBetween=(n,e,i)=>new C("notBetween",n,[e,i]).toString(),C.notStartsWith=(n,e)=>new C("notStartsWith",n,e).toString(),C.notEndsWith=(n,e)=>new C("notEndsWith",n,e).toString(),C.createdBefore=n=>C.lessThan("$createdAt",n),C.createdAfter=n=>C.greaterThan("$createdAt",n),C.createdBetween=(n,e)=>C.between("$createdAt",n,e),C.updatedBefore=n=>C.lessThan("$updatedAt",n),C.updatedAfter=n=>C.greaterThan("$updatedAt",n),C.updatedBetween=(n,e)=>C.between("$updatedAt",n,e),C.or=n=>new C("or",void 0,n.map(e=>St.parse(e))).toString(),C.and=n=>new C("and",void 0,n.map(e=>St.parse(e))).toString(),C.elemMatch=(n,e)=>new C("elemMatch",n,e.map(i=>St.parse(i))).toString(),C.distanceEqual=(n,e,i,t=!0)=>new C("distanceEqual",n,[[e,i,t]]).toString(),C.distanceNotEqual=(n,e,i,t=!0)=>new C("distanceNotEqual",n,[[e,i,t]]).toString(),C.distanceGreaterThan=(n,e,i,t=!0)=>new C("distanceGreaterThan",n,[[e,i,t]]).toString(),C.distanceLessThan=(n,e,i,t=!0)=>new C("distanceLessThan",n,[[e,i,t]]).toString(),C.vectorDot=(n,e)=>new C("vectorDot",n,[e]).toString(),C.vectorCosine=(n,e)=>new C("vectorCosine",n,[e]).toString(),C.vectorEuclidean=(n,e)=>new C("vectorEuclidean",n,[e]).toString(),C.intersects=(n,e)=>new C("intersects",n,[e]).toString(),C.notIntersects=(n,e)=>new C("notIntersects",n,[e]).toString(),C.crosses=(n,e)=>new C("crosses",n,[e]).toString(),C.notCrosses=(n,e)=>new C("notCrosses",n,[e]).toString(),C.overlaps=(n,e)=>new C("overlaps",n,[e]).toString(),C.notOverlaps=(n,e)=>new C("notOverlaps",n,[e]).toString(),C.touches=(n,e)=>new C("touches",n,[e]).toString(),C.notTouches=(n,e)=>new C("notTouches",n,[e]).toString();const On=Wt({storeAsString:!1}),Fn=Wt({useNativeBigInt:!0}),eo=BigInt(Number.MAX_SAFE_INTEGER),to=BigInt(Number.MIN_SAFE_INTEGER),io=BigInt("9223372036854775807"),no=BigInt("-9223372036854775808");function oo(n){return n!==null&&typeof n=="object"&&n._isBigNumber===!0&&typeof n.isInteger=="function"&&typeof n.toFixed=="function"&&typeof n.toNumber=="function"}function ao(n,e){if(oo(e)){if(e.isInteger()){const i=e.toFixed(),t=BigInt(i);return t>=to&&t<=eo?Number(i):t>=no&&t<=io?t:e.toNumber()}return e.toNumber()}return e}const me={parse:n=>On.parse(n,ao),stringify:Fn.stringify};class h extends Error{constructor(e,i=0,t="",o=""){super(e),this.name="AppwriteException",this.message=e,this.code=i,this.type=t,this.response=o}}class Ae{constructor(){this.config={endpoint:"https://cloud.appwrite.io/v1",endpointRealtime:"",project:"",jwt:"",bearer:"",locale:"",session:"",devkey:"",cookie:"",impersonateuserid:"",impersonateuseremail:"",impersonateuserphone:""},this.headers={"x-sdk-name":"Web","x-sdk-platform":"client","x-sdk-language":"web","x-sdk-version":"27.0.0","X-Appwrite-Response-Format":"2.0.0"},this.realtime={socket:void 0,timeout:void 0,heartbeat:void 0,url:"",channels:new Set,subscriptions:new Map,pendingSubscribes:new Map,reconnect:!0,reconnectAttempts:0,lastMessage:void 0,connect:()=>{clearTimeout(this.realtime.timeout),this.realtime.timeout=window?.setTimeout(()=>{this.realtime.createSocket()},50)},getTimeout:()=>{switch(!0){case this.realtime.reconnectAttempts<5:return 1e3;case this.realtime.reconnectAttempts<15:return 5e3;case this.realtime.reconnectAttempts<100:return 1e4;default:return 6e4}},createHeartbeat:()=>{this.realtime.heartbeat&&clearTimeout(this.realtime.heartbeat),this.realtime.heartbeat=window?.setInterval(()=>{var e;(e=this.realtime.socket)===null||e===void 0||e.send(me.stringify({type:"ping"}))},2e4)},createSocket:()=>{var e,i,t,o,a;if(this.realtime.subscriptions.size<1){this.realtime.reconnect=!1,(e=this.realtime.socket)===null||e===void 0||e.close();return}let r="project="+encodeURIComponent((i=this.config.project)!==null&&i!==void 0?i:"");this.config.jwt&&(r+="&jwt="+encodeURIComponent(this.config.jwt));const d=this.config.endpointRealtime+"/realtime?"+r;d!==this.realtime.url||!this.realtime.socket||((t=this.realtime.socket)===null||t===void 0?void 0:t.readyState)>WebSocket.OPEN?(this.realtime.socket&&((o=this.realtime.socket)===null||o===void 0?void 0:o.readyState)<WebSocket.CLOSING&&(this.realtime.reconnect=!1,this.realtime.socket.close()),this.realtime.url=d,this.realtime.socket=new WebSocket(d),this.realtime.socket.addEventListener("message",this.realtime.onMessage),this.realtime.socket.addEventListener("open",c=>{this.realtime.reconnectAttempts=0,this.realtime.createHeartbeat()}),this.realtime.socket.addEventListener("close",c=>{var l,u,m;if(!this.realtime.reconnect||((u=(l=this.realtime)===null||l===void 0?void 0:l.lastMessage)===null||u===void 0?void 0:u.type)==="error"&&((m=this.realtime)===null||m===void 0?void 0:m.lastMessage.data).code===1008){this.realtime.reconnect=!0;return}const j=this.realtime.getTimeout();console.error(`Realtime got disconnected. Reconnect will be attempted in ${j/1e3} seconds.`,c.reason),setTimeout(()=>{this.realtime.reconnectAttempts++,this.realtime.createSocket()},j)})):((a=this.realtime.socket)===null||a===void 0?void 0:a.readyState)===WebSocket.OPEN&&this.realtime.sendPendingSubscribes()},sendPendingSubscribes:()=>{if(!this.realtime.socket||this.realtime.socket.readyState!==WebSocket.OPEN||this.realtime.pendingSubscribes.size<1)return;const e=Array.from(this.realtime.pendingSubscribes.values());this.realtime.pendingSubscribes.clear(),this.realtime.socket.send(me.stringify({type:"subscribe",data:e}))},onMessage:e=>{var i,t;try{const o=me.parse(e.data);switch(this.realtime.lastMessage=o,o.type){case"connected":{const a=o.data;let s=this.config.session;if(!s){const r=me.parse((i=window.localStorage.getItem("cookieFallback"))!==null&&i!==void 0?i:"{}");s=r?.[`a_session_${this.config.project}`]}s&&!a?.user&&((t=this.realtime.socket)===null||t===void 0||t.send(me.stringify({type:"authentication",data:{session:s}}))),this.realtime.subscriptions.forEach((r,d)=>{var c;this.realtime.pendingSubscribes.set(d,{subscriptionId:d,channels:r.channels,queries:(c=r.queries)!==null&&c!==void 0?c:[]})}),this.realtime.sendPendingSubscribes();break}case"response":break;case"event":{const a=o.data;if(!a?.channels)break;const s=a.subscriptions;if(s&&s.length>0)for(const r of s){const d=this.realtime.subscriptions.get(r);d&&setTimeout(()=>d.callback(a))}else{if(!a.channels.some(d=>this.realtime.channels.has(d)))break;this.realtime.subscriptions.forEach(d=>{a.channels.some(c=>d.channels.includes(c))&&setTimeout(()=>d.callback(a))})}break}case"pong":break;case"error":throw o.data;default:break}}catch(o){console.error(o)}}}}getHeaders(){return Object.assign({},this.headers)}setEndpoint(e){if(!e||typeof e!="string")throw new h("Endpoint must be a valid string");if(!e.startsWith("http://")&&!e.startsWith("https://"))throw new h("Invalid endpoint URL: "+e);return this.config.endpoint=e,this.config.endpointRealtime=e.replace("https://","wss://").replace("http://","ws://"),this}setEndpointRealtime(e){if(!e||typeof e!="string")throw new h("Endpoint must be a valid string");if(!e.startsWith("ws://")&&!e.startsWith("wss://"))throw new h("Invalid realtime endpoint URL: "+e);return this.config.endpointRealtime=e,this}setProject(e){return this.config.project=e,this}setJWT(e){return this.headers["X-Appwrite-JWT"]=e,this.config.jwt=e,this}setBearer(e){return this.headers.Authorization=`Bearer ${e}`,this.config.bearer=e,this}setLocale(e){return this.headers["X-Appwrite-Locale"]=e,this.config.locale=e,this}setSession(e){return this.headers["X-Appwrite-Session"]=e,this.config.session=e,this}setDevKey(e){return this.headers["X-Appwrite-Dev-Key"]=e,this.config.devkey=e,this}setCookie(e){return this.headers.Cookie=e,this.config.cookie=e,this}setImpersonateUserId(e){return this.headers["X-Appwrite-Impersonate-User-Id"]=e,this.config.impersonateuserid=e,this}setImpersonateUserEmail(e){return this.headers["X-Appwrite-Impersonate-User-Email"]=e,this.config.impersonateuseremail=e,this}setImpersonateUserPhone(e){return this.headers["X-Appwrite-Impersonate-User-Phone"]=e,this.config.impersonateuserphone=e,this}subscribe(e,i,t=[]){const a=(Array.isArray(e)?e:[e]).map(c=>typeof c=="string"?c:c&&typeof c.toString=="function"?c.toString():String(c));a.forEach(c=>this.realtime.channels.add(c));const s=(t??[]).map(c=>typeof c=="string"?c:c.toString());let r="";const d=this.realtime.subscriptions.size+1;for(let c=0;c<d;c++){const l=He.unique();if(!this.realtime.subscriptions.has(l)){r=l;break}}if(r==="")throw new h("Failed to generate unique subscription id");return this.realtime.subscriptions.set(r,{channels:a,queries:s,callback:i}),this.realtime.pendingSubscribes.set(r,{subscriptionId:r,channels:a,queries:s}),this.realtime.connect(),()=>{this.realtime.subscriptions.delete(r),this.realtime.pendingSubscribes.delete(r);const c=new Set;this.realtime.subscriptions.forEach(l=>{l.channels.forEach(u=>c.add(u))}),this.realtime.channels.forEach(l=>{c.has(l)||this.realtime.channels.delete(l)}),this.realtime.connect()}}prepareRequest(e,i,t={},o={}){if(e=e.toUpperCase(),t=Object.assign({},this.headers,t),typeof window<"u"&&window.localStorage){const s=window.localStorage.getItem("cookieFallback");s&&(t["X-Fallback-Cookies"]=s)}const a={method:e,headers:t};if(t["X-Appwrite-Dev-Key"]===void 0&&(a.credentials="include"),e==="GET")for(const[s,r]of Object.entries(Ae.flatten(o)))i.searchParams.append(s,r);else switch(t["content-type"]){case"application/json":a.body=me.stringify(o);break;case"multipart/form-data":{const s=new FormData;for(const[r,d]of Object.entries(o))if(d instanceof File)s.append(r,d,d.name);else if(Array.isArray(d))for(const c of d)s.append(`${r}[]`,c);else s.append(r,d);a.body=s,delete t["content-type"];break}}return{uri:i.toString(),options:a}}chunkedUpload(e,i){return ve(this,arguments,void 0,function*(t,o,a={},s={},r){var d;const[c,l]=(d=Object.entries(s).find(([J,z])=>z instanceof File))!==null&&d!==void 0?d:[];if(!l||!c)throw new Error("File not found in payload");if(l.size<=Ae.CHUNK_SIZE)return yield this.call(t,o,a,s);const u=Math.ceil(l.size/Ae.CHUNK_SIZE),m=Math.min(Ae.CHUNK_SIZE,l.size),j=Object.assign(Object.assign({},a),{"content-range":`bytes 0-${m-1}/${l.size}`}),q=l.slice(0,m),T=Object.assign({},s);T[c]=new File([q],l.name);const K=yield this.call(t,o,j,T),Y=K?.$id;if(r&&typeof r=="function"&&r({$id:Y,progress:Math.round(m/l.size*100),sizeUploaded:m,chunksTotal:u,chunksUploaded:1}),u===1)return K;const L=[];for(let J=1;J<u;J++){const z=J*Ae.CHUNK_SIZE,ne=Math.min(z+Ae.CHUNK_SIZE,l.size);L.push({start:z,end:ne})}const H=8;let Z=1,se=m,B=K,D=null,ie=!1;const W=J=>{var z;const ne=J?.chunksUploaded,ce=(z=J?.chunksTotal)!==null&&z!==void 0?z:u;return typeof ne=="number"&&typeof ce=="number"&&ne>=ce},R=J=>ve(this,void 0,void 0,function*(){const z=Object.assign({},a);Y&&(z["x-appwrite-id"]=Y),z["content-range"]=`bytes ${J.start}-${J.end-1}/${l.size}`;const ne=l.slice(J.start,J.end),ce=Object.assign({},s);ce[c]=new File([ne],l.name);const de=yield this.call(t,o,z,ce);return ie||(Z++,se+=J.end-J.start,B=de,W(de)&&(D=de),r&&typeof r=="function"&&r({$id:Y,progress:Math.round(se/l.size*100),sizeUploaded:se,chunksTotal:u,chunksUploaded:Z})),de});return yield new Promise((J,z)=>{let ne=0,ce=0,de=0;const Ue=()=>{if(!ie){if(de===L.length){J();return}for(;ce<H&&ne<L.length;){const Ie=L[ne++];ce++,R(Ie).then(()=>{ce--,de++,Ue()}).catch(_e=>{ie=!0,z(_e)})}}};Ue()}),D??B})}ping(){return ve(this,void 0,void 0,function*(){return this.call("GET",new URL(this.config.endpoint+"/ping"),{"X-Appwrite-Project":this.config.project,accept:"application/json"})})}call(e,i){return ve(this,arguments,void 0,function*(t,o,a={},s={},r="json"){var d,c,l;const{uri:u,options:m}=this.prepareRequest(t,o,a,s);let j=null;const q=yield fetch(u,m);if(q.type==="opaque")throw new h(`Invalid Origin. Register your new client (${window.location.host}) as a new Web platform on your project console dashboard`,403,"forbidden","");const T=q.headers.get("x-appwrite-warning");if(T&&T.split(";").forEach(Y=>console.warn("Warning: "+Y)),!((d=q.headers.get("content-type"))===null||d===void 0)&&d.includes("application/json")?j=me.parse(yield q.text()):r==="arrayBuffer"?j=yield q.arrayBuffer():j={message:yield q.text()},400<=q.status){let Y;throw!((c=q.headers.get("content-type"))===null||c===void 0)&&c.includes("application/json")||r==="arrayBuffer"?Y=me.stringify(j):Y=j?.message,new h((l=j?.message)!==null&&l!==void 0?l:Y,q.status,j?.type,Y)}const K=q.headers.get("X-Fallback-Cookies");return typeof window<"u"&&window.localStorage&&K&&(window.console.warn("Appwrite is using localStorage for session management. Increase your security by adding a custom domain as your API endpoint."),window.localStorage.setItem("cookieFallback",K)),j&&typeof j=="object"&&Object.defineProperty(j,"toString",{value:()=>me.stringify(j),writable:!0,enumerable:!1,configurable:!0}),j})}static flatten(e,i=""){let t={};for(const[o,a]of Object.entries(e)){const s=i?i+"["+o+"]":o;Array.isArray(a)?t=Object.assign(Object.assign({},t),Ae.flatten(a,s)):t[s]=a}return t}}Ae.CHUNK_SIZE=5242880;class ye{constructor(e){this.client=e}static flatten(e,i=""){let t={};for(const[o,a]of Object.entries(e)){const s=i?i+"["+o+"]":o;Array.isArray(a)?t=Object.assign(Object.assign({},t),ye.flatten(a,s)):t[s]=a}return t}}ye.CHUNK_SIZE=5242880;class Gt{constructor(e){this.client=e}get(){const e="/account",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}create(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],password:i[1],name:i[2]};const o=t.userId,a=t.email,s=t.password,r=t.name;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');if(typeof s>"u")throw new h('Missing required parameter: "password"');const d="/account",c={};typeof o<"u"&&(c.userId=o),typeof a<"u"&&(c.email=a),typeof s<"u"&&(c.password=s),typeof r<"u"&&(c.name=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}listConsents(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/consents",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}getConsent(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={consentId:e};const t=i.consentId;if(typeof t>"u")throw new h('Missing required parameter: "consentId"');const o="/account/consents/{consentId}".replace("{consentId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}deleteConsent(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={consentId:e};const t=i.consentId;if(typeof t>"u")throw new h('Missing required parameter: "consentId"');const o="/account/consents/{consentId}".replace("{consentId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",s,r,a)}listConsentTokens(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,queries:i[0],total:i[1]};const o=t.consentId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');const r="/account/consents/{consentId}/tokens".replace("{consentId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}getConsentToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,tokenId:i[0]};const o=t.consentId,a=t.tokenId;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');if(typeof a>"u")throw new h('Missing required parameter: "tokenId"');const s="/account/consents/{consentId}/tokens/{tokenId}".replace("{consentId}",encodeURIComponent(String(o))).replace("{tokenId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}deleteConsentToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,tokenId:i[0]};const o=t.consentId,a=t.tokenId;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');if(typeof a>"u")throw new h('Missing required parameter: "tokenId"');const s="/account/consents/{consentId}/tokens/{tokenId}".replace("{consentId}",encodeURIComponent(String(o))).replace("{tokenId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",d,c,r)}updateEmail(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,password:i[0]};const o=t.email,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/email",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}listIdentities(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/identities",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}deleteIdentity(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={identityId:e};const t=i.identityId;if(typeof t>"u")throw new h('Missing required parameter: "identityId"');const o="/account/identities/{identityId}".replace("{identityId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createJWT(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={duration:e};const t=i.duration,o="/account/jwts",a={};typeof t<"u"&&(a.duration=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}listLogs(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/logs",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateMFA(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={mfa:e};const t=i.mfa;if(typeof t>"u")throw new h('Missing required parameter: "mfa"');const o="/account/mfa",a={};typeof t<"u"&&(a.mfa=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}createMfaAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createMFAAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateMfaAuthenticator(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("type"in e||"otp"in e)?t=e||{}:t={type:e,otp:i[0]};const o=t.type,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "type"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateMFAAuthenticator(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("type"in e||"otp"in e)?t=e||{}:t={type:e,otp:i[0]};const o=t.type,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "type"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deleteMfaAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}deleteMFAAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createMfaChallenge(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"factor"in e?i=e||{}:i={factor:e};const t=i.factor;if(typeof t>"u")throw new h('Missing required parameter: "factor"');const o="/account/mfa/challenges",a={};typeof t<"u"&&(a.factor=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createMFAChallenge(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"factor"in e?i=e||{}:i={factor:e};const t=i.factor;if(typeof t>"u")throw new h('Missing required parameter: "factor"');const o="/account/mfa/challenges",a={};typeof t<"u"&&(a.factor=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateMfaChallenge(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={challengeId:e,otp:i[0]};const o=t.challengeId,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "challengeId"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/challenges",r={};typeof o<"u"&&(r.challengeId=o),typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateMFAChallenge(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={challengeId:e,otp:i[0]};const o=t.challengeId,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "challengeId"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/challenges",r={};typeof o<"u"&&(r.challengeId=o),typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}listMfaFactors(){const e="/account/mfa/factors",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listMFAFactors(){const e="/account/mfa/factors",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}getMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}getMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}createMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}createMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}updateMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}updateMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}updateName(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={name:e};const t=i.name;if(typeof t>"u")throw new h('Missing required parameter: "name"');const o="/account/name",a={};typeof t<"u"&&(a.name=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}updatePassword(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={password:e,oldPassword:i[0]};const o=t.password,a=t.oldPassword;if(typeof o>"u")throw new h('Missing required parameter: "password"');const s="/account/password",r={};typeof o<"u"&&(r.password=o),typeof a<"u"&&(r.oldPassword=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}updatePhone(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={phone:e,password:i[0]};const o=t.phone,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "phone"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/phone",r={};typeof o<"u"&&(r.phone=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}getPrefs(){const e="/account/prefs",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}updatePrefs(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"prefs"in e?i=e||{}:i={prefs:e};const t=i.prefs;if(typeof t>"u")throw new h('Missing required parameter: "prefs"');const o="/account/prefs",a={};typeof t<"u"&&(a.prefs=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}createRecovery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,url:i[0]};const o=t.email,a=t.url;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "url"');const s="/account/recovery",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.url=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}updateRecovery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0],password:i[1]};const o=t.userId,a=t.secret,s=t.password;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');if(typeof s>"u")throw new h('Missing required parameter: "password"');const r="/account/recovery",d={};typeof o<"u"&&(d.userId=o),typeof a<"u"&&(d.secret=a),typeof s<"u"&&(d.password=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",c,l,d)}listSessions(){const e="/account/sessions",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}deleteSessions(){const e="/account/sessions",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",t,o,i)}createAnonymousSession(){const e="/account/sessions/anonymous",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}createEmailPasswordSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,password:i[0]};const o=t.email,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/sessions/email",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}updateMagicURLSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/magic-url",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createOAuth2Session(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("provider"in e||"success"in e||"failure"in e||"scopes"in e)?t=e||{}:t={provider:e,success:i[0],failure:i[1],scopes:i[2]};const o=t.provider,a=t.success,s=t.failure,r=t.scopes;if(typeof o>"u")throw new h('Missing required parameter: "provider"');const d="/account/sessions/oauth2/{provider}".replace("{provider}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.success=a),typeof s<"u"&&(c.failure=s),typeof r<"u"&&(c.scopes=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);if(typeof window<"u"&&window?.location){window.location.href=l.toString();return}else return l.toString()}updatePhoneSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/token",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}getSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}deleteSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}updateStatus(){const e="/account/status",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}createPushTarget(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={targetId:e,identifier:i[0],providerId:i[1]};const o=t.targetId,a=t.identifier,s=t.providerId;if(typeof o>"u")throw new h('Missing required parameter: "targetId"');if(typeof a>"u")throw new h('Missing required parameter: "identifier"');const r="/account/targets/push",d={};typeof o<"u"&&(d.targetId=o),typeof a<"u"&&(d.identifier=a),typeof s<"u"&&(d.providerId=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}updatePushTarget(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={targetId:e,identifier:i[0]};const o=t.targetId,a=t.identifier;if(typeof o>"u")throw new h('Missing required parameter: "targetId"');if(typeof a>"u")throw new h('Missing required parameter: "identifier"');const s="/account/targets/{targetId}/push".replace("{targetId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.identifier=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deletePushTarget(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={targetId:e};const t=i.targetId;if(typeof t>"u")throw new h('Missing required parameter: "targetId"');const o="/account/targets/{targetId}/push".replace("{targetId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createEmailToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],phrase:i[1]};const o=t.userId,a=t.email,s=t.phrase;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');const r="/account/tokens/email",d={};typeof o<"u"&&(d.userId=o),typeof a<"u"&&(d.email=a),typeof s<"u"&&(d.phrase=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}createMagicURLToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],url:i[1],phrase:i[2]};const o=t.userId,a=t.email,s=t.url,r=t.phrase;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');const d="/account/tokens/magic-url",c={};typeof o<"u"&&(c.userId=o),typeof a<"u"&&(c.email=a),typeof s<"u"&&(c.url=s),typeof r<"u"&&(c.phrase=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}createOAuth2Token(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("provider"in e||"success"in e||"failure"in e||"scopes"in e)?t=e||{}:t={provider:e,success:i[0],failure:i[1],scopes:i[2]};const o=t.provider,a=t.success,s=t.failure,r=t.scopes;if(typeof o>"u")throw new h('Missing required parameter: "provider"');const d="/account/tokens/oauth2/{provider}".replace("{provider}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.success=a),typeof s<"u"&&(c.failure=s),typeof r<"u"&&(c.scopes=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);if(typeof window<"u"&&window?.location){window.location.href=l.toString();return}else return l.toString()}createPhoneToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,phone:i[0]};const o=t.userId,a=t.phone;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "phone"');const s="/account/tokens/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.phone=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}createEmailVerification(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/account/verifications/email",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createVerification(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/account/verifications/email",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateEmailVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/email",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/email",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createPhoneVerification(){const e="/account/verifications/phone",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}updatePhoneVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}}class Ki{constructor(e){this.client=e}getBrowser(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/browsers/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);return l.toString()}getCreditCard(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/credit-cards/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);return l.toString()}getFavicon(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/avatars/favicon",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o);a.project=this.client.config.project,a.impersonateuserid=this.client.config.impersonateuserid;for(const[r,d]of Object.entries(ye.flatten(a)))s.searchParams.append(r,d);return s.toString()}getFlag(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/flags/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);return l.toString()}getImage(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={url:e,width:i[0],height:i[1]};const o=t.url,a=t.width,s=t.height;if(typeof o>"u")throw new h('Missing required parameter: "url"');const r="/avatars/image",d={};typeof o<"u"&&(d.url=o),typeof a<"u"&&(d.width=a),typeof s<"u"&&(d.height=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}getInitials(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={name:e,width:i[0],height:i[1],background:i[2]};const o=t.name,a=t.width,s=t.height,r=t.background,d="/avatars/initials",c={};typeof o<"u"&&(c.name=o),typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.background=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);return l.toString()}getPhoto(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={width:e,height:i[0],quality:i[1],output:i[2],rating:i[3],userId:i[4],emailHash:i[5],name:i[6]};const o=t.width,a=t.height,s=t.quality,r=t.output,d=t.rating,c=t.userId,l=t.emailHash,u=t.name,m="/avatars/photo",j={};typeof o<"u"&&(j.width=o),typeof a<"u"&&(j.height=a),typeof s<"u"&&(j.quality=s),typeof r<"u"&&(j.output=r),typeof d<"u"&&(j.rating=d),typeof c<"u"&&(j.userId=c),typeof l<"u"&&(j.emailHash=l),typeof u<"u"&&(j.name=u);const q=new URL(this.client.config.endpoint+m);j.project=this.client.config.project,j.impersonateuserid=this.client.config.impersonateuserid;for(const[T,K]of Object.entries(ye.flatten(j)))q.searchParams.append(T,K);return q.toString()}getQR(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={text:e,size:i[0],margin:i[1],download:i[2]};const o=t.text,a=t.size,s=t.margin,r=t.download;if(typeof o>"u")throw new h('Missing required parameter: "text"');const d="/avatars/qr",c={};typeof o<"u"&&(c.text=o),typeof a<"u"&&(c.size=a),typeof s<"u"&&(c.margin=s),typeof r<"u"&&(c.download=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,m]of Object.entries(ye.flatten(c)))l.searchParams.append(u,m);return l.toString()}getScreenshot(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={url:e,headers:i[0],viewportWidth:i[1],viewportHeight:i[2],scale:i[3],theme:i[4],userAgent:i[5],fullpage:i[6],locale:i[7],timezone:i[8],latitude:i[9],longitude:i[10],accuracy:i[11],touch:i[12],permissions:i[13],sleep:i[14],width:i[15],height:i[16],quality:i[17],output:i[18]};const o=t.url,a=t.headers,s=t.viewportWidth,r=t.viewportHeight,d=t.scale,c=t.theme,l=t.userAgent,u=t.fullpage,m=t.locale,j=t.timezone,q=t.latitude,T=t.longitude,K=t.accuracy,Y=t.touch,L=t.permissions,H=t.sleep,Z=t.width,se=t.height,B=t.quality,D=t.output;if(typeof o>"u")throw new h('Missing required parameter: "url"');const ie="/avatars/screenshots",W={};typeof o<"u"&&(W.url=o),typeof a<"u"&&(W.headers=a),typeof s<"u"&&(W.viewportWidth=s),typeof r<"u"&&(W.viewportHeight=r),typeof d<"u"&&(W.scale=d),typeof c<"u"&&(W.theme=c),typeof l<"u"&&(W.userAgent=l),typeof u<"u"&&(W.fullpage=u),typeof m<"u"&&(W.locale=m),typeof j<"u"&&(W.timezone=j),typeof q<"u"&&(W.latitude=q),typeof T<"u"&&(W.longitude=T),typeof K<"u"&&(W.accuracy=K),typeof Y<"u"&&(W.touch=Y),typeof L<"u"&&(W.permissions=L),typeof H<"u"&&(W.sleep=H),typeof Z<"u"&&(W.width=Z),typeof se<"u"&&(W.height=se),typeof B<"u"&&(W.quality=B),typeof D<"u"&&(W.output=D);const R=new URL(this.client.config.endpoint+ie);W.project=this.client.config.project,W.impersonateuserid=this.client.config.impersonateuserid;for(const[J,z]of Object.entries(ye.flatten(W)))R.searchParams.append(J,z);return R.toString()}}class so{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/databases/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/databases/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/databases/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/databases/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",m,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/databases/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",m,j,u)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),m={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,m,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",m,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",m,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.min=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}incrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.max=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}}class ro{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/documentsdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/documentsdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/documentsdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",m,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",m,j,u)}createDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documents:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documents,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documents"');const d="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.documents=s),typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),m={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,m,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",m,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",m,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.min=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}incrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.max=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}}class co{constructor(e){this.client=e}listExecutions(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,queries:i[0],total:i[1]};const o=t.functionId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');const r="/functions/{functionId}/executions".replace("{functionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}createExecution(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,body:i[0],async:i[1],xpath:i[2],method:i[3],headers:i[4],scheduledAt:i[5]};const o=t.functionId,a=t.body,s=t.async,r=t.xpath,d=t.method,c=t.headers,l=t.scheduledAt;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');const u="/functions/{functionId}/executions".replace("{functionId}",encodeURIComponent(String(o))),m={};typeof a<"u"&&(m.body=a),typeof s<"u"&&(m.async=s),typeof r<"u"&&(m.path=r),typeof d<"u"&&(m.method=d),typeof c<"u"&&(m.headers=c),typeof l<"u"&&(m.scheduledAt=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",j,q,m)}getExecution(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,executionId:i[0]};const o=t.functionId,a=t.executionId;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');if(typeof a>"u")throw new h('Missing required parameter: "executionId"');const s="/functions/{functionId}/executions/{executionId}".replace("{functionId}",encodeURIComponent(String(o))).replace("{executionId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}}class lo{constructor(e){this.client=e}query(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"query"in e?i=e||{}:i={query:e};const t=i.query;if(typeof t>"u")throw new h('Missing required parameter: "query"');const o="/graphql",a={};typeof t<"u"&&(a.query=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"x-sdk-graphql":"true","content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}mutation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"query"in e?i=e||{}:i={query:e};const t=i.query;if(typeof t>"u")throw new h('Missing required parameter: "query"');const o="/graphql/mutation",a={};typeof t<"u"&&(a.query=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"x-sdk-graphql":"true","content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}}class uo{constructor(e){this.client=e}get(){const e="/locale",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCodes(){const e="/locale/codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listContinents(){const e="/locale/continents",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountries(){const e="/locale/countries",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountriesEU(){const e="/locale/countries/eu",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountriesPhones(){const e="/locale/countries/phones",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCurrencies(){const e="/locale/currencies",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listLanguages(){const e="/locale/languages",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}}class po{constructor(e){this.client=e}createSubscriber(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={topicId:e,subscriberId:i[0],targetId:i[1]};const o=t.topicId,a=t.subscriberId,s=t.targetId;if(typeof o>"u")throw new h('Missing required parameter: "topicId"');if(typeof a>"u")throw new h('Missing required parameter: "subscriberId"');if(typeof s>"u")throw new h('Missing required parameter: "targetId"');const r="/messaging/topics/{topicId}/subscribers".replace("{topicId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.subscriberId=a),typeof s<"u"&&(d.targetId=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}deleteSubscriber(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={topicId:e,subscriberId:i[0]};const o=t.topicId,a=t.subscriberId;if(typeof o>"u")throw new h('Missing required parameter: "topicId"');if(typeof a>"u")throw new h('Missing required parameter: "subscriberId"');const s="/messaging/topics/{topicId}/subscribers/{subscriberId}".replace("{topicId}",encodeURIComponent(String(o))).replace("{subscriberId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}}class ho{constructor(e){this.client=e}listInstallations(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/organization/installations",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}createInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={appId:e,authorizationDetails:i[0]};const o=t.appId,a=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "appId"');const s="/organization/installations",r={};typeof o<"u"&&(r.appId=o),typeof a<"u"&&(r.authorizationDetails=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}getInstallation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={installationId:e};const t=i.installationId;if(typeof t>"u")throw new h('Missing required parameter: "installationId"');const o="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={installationId:e,authorizationDetails:i[0]};const o=t.installationId,a=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "installationId"');const s="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.authorizationDetails=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deleteInstallation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={installationId:e};const t=i.installationId;if(typeof t>"u")throw new h('Missing required parameter: "installationId"');const o="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",s,r,a)}}class fo{constructor(e){this.client=e}list(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0],ttl:i[1]};const o=t.queries,a=t.total,s=t.ttl,r="/presences",d={};typeof o<"u"&&(d.queries=o),typeof a<"u"&&(d.total=a),typeof s<"u"&&(d.ttl=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}get(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={presenceId:e};const t=i.presenceId;if(typeof t>"u")throw new h('Missing required parameter: "presenceId"');const o="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}upsert(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={presenceId:e,status:i[0],permissions:i[1],expiresAt:i[2],metadata:i[3]};const o=t.presenceId,a=t.status,s=t.permissions,r=t.expiresAt,d=t.metadata;if(typeof o>"u")throw new h('Missing required parameter: "presenceId"');if(typeof a>"u")throw new h('Missing required parameter: "status"');const c="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(o))),l={};typeof a<"u"&&(l.status=a),typeof s<"u"&&(l.permissions=s),typeof r<"u"&&(l.expiresAt=r),typeof d<"u"&&(l.metadata=d);const u=new URL(this.client.config.endpoint+c),m={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",u,m,l)}update(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={presenceId:e,status:i[0],expiresAt:i[1],metadata:i[2],permissions:i[3],purge:i[4]};const o=t.presenceId,a=t.status,s=t.expiresAt,r=t.metadata,d=t.permissions,c=t.purge;if(typeof o>"u")throw new h('Missing required parameter: "presenceId"');const l="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(o))),u={};typeof a<"u"&&(u.status=a),typeof s<"u"&&(u.expiresAt=s),typeof r<"u"&&(u.metadata=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.purge=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",m,j,u)}delete(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={presenceId:e};const t=i.presenceId;if(typeof t>"u")throw new h('Missing required parameter: "presenceId"');const o="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}}class go{constructor(e){this.client=e}listFiles(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,queries:i[0],search:i[1],total:i[2]};const o=t.bucketId,a=t.queries,s=t.search,r=t.total;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');const d="/storage/buckets/{bucketId}/files".replace("{bucketId}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.queries=a),typeof s<"u"&&(c.search=s),typeof r<"u"&&(c.total=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",l,u,c)}createFile(e,...i){let t,o;e&&typeof e=="object"&&!Array.isArray(e)?(t=e||{},o=e?.onProgress):(t={bucketId:e,fileId:i[0],file:i[1],permissions:i[2],folder:i[3]},o=i[4]);const a=t.bucketId,s=t.fileId,r=t.file,d=t.permissions,c=t.folder;if(typeof a>"u")throw new h('Missing required parameter: "bucketId"');if(typeof s>"u")throw new h('Missing required parameter: "fileId"');if(typeof r>"u")throw new h('Missing required parameter: "file"');const l="/storage/buckets/{bucketId}/files".replace("{bucketId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.fileId=s),typeof r<"u"&&(u.file=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.folder=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"multipart/form-data",accept:"application/json"};return this.client.chunkedUpload("post",m,j,u,o)}getFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0]};const o=t.bucketId,a=t.fileId;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const s="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],name:i[1],permissions:i[2]};const o=t.bucketId,a=t.fileId,s=t.name,r=t.permissions;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const d="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.name=s),typeof r<"u"&&(c.permissions=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",l,u,c)}deleteFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0]};const o=t.bucketId,a=t.fileId;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const s="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}getFileDownload(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],token:i[1]};const o=t.bucketId,a=t.fileId,s=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const r="/storage/buckets/{bucketId}/files/{fileId}/download".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.token=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}getFilePreview(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],width:i[1],height:i[2],gravity:i[3],quality:i[4],borderWidth:i[5],borderColor:i[6],borderRadius:i[7],opacity:i[8],rotation:i[9],background:i[10],output:i[11],token:i[12]};const o=t.bucketId,a=t.fileId,s=t.width,r=t.height,d=t.gravity,c=t.quality,l=t.borderWidth,u=t.borderColor,m=t.borderRadius,j=t.opacity,q=t.rotation,T=t.background,K=t.output,Y=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const L="/storage/buckets/{bucketId}/files/{fileId}/preview".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),H={};typeof s<"u"&&(H.width=s),typeof r<"u"&&(H.height=r),typeof d<"u"&&(H.gravity=d),typeof c<"u"&&(H.quality=c),typeof l<"u"&&(H.borderWidth=l),typeof u<"u"&&(H.borderColor=u),typeof m<"u"&&(H.borderRadius=m),typeof j<"u"&&(H.opacity=j),typeof q<"u"&&(H.rotation=q),typeof T<"u"&&(H.background=T),typeof K<"u"&&(H.output=K),typeof Y<"u"&&(H.token=Y);const Z=new URL(this.client.config.endpoint+L);H.project=this.client.config.project,H.impersonateuserid=this.client.config.impersonateuserid;for(const[se,B]of Object.entries(ye.flatten(H)))Z.searchParams.append(se,B);return Z.toString()}getFileView(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],token:i[1]};const o=t.bucketId,a=t.fileId,s=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const r="/storage/buckets/{bucketId}/files/{fileId}/view".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.token=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}}class yo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/tablesdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/tablesdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/tablesdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listRows(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.tableId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",m,j,u)}createRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.rowId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",m,j,u)}getRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const c="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),m={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,m,l)}upsertRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",m,j,u)}updateRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",m,j,u)}deleteRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const d="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementRowColumn(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],column:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.column,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "column"');const u="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))).replace("{column}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.min=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}incrementRowColumn(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],column:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.column,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "column"');const u="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))).replace("{column}",encodeURIComponent(String(r))),m={};typeof d<"u"&&(m.value=d),typeof c<"u"&&(m.max=c),typeof l<"u"&&(m.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,m)}}class Yi{constructor(e){this.client=e}list(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,search:i[0],total:i[1]};const o=t.queries,a=t.search,s=t.total,r="/teams",d={};typeof o<"u"&&(d.queries=o),typeof a<"u"&&(d.search=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}create(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,name:i[0],roles:i[1]};const o=t.teamId,a=t.name,s=t.roles;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "name"');const r="/teams",d={};typeof o<"u"&&(d.teamId=o),typeof a<"u"&&(d.name=a),typeof s<"u"&&(d.roles=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}get(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateName(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,name:i[0]};const o=t.teamId,a=t.name;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "name"');const s="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.name=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}delete(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}listInstallations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,queries:i[0],total:i[1]};const o=t.teamId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');const r="/teams/{teamId}/installations".replace("{teamId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}createInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,appId:i[0],authorizationDetails:i[1]};const o=t.teamId,a=t.appId,s=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "appId"');const r="/teams/{teamId}/installations".replace("{teamId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.appId=a),typeof s<"u"&&(d.authorizationDetails=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}getInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0]};const o=t.teamId,a=t.installationId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const s="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0],authorizationDetails:i[1]};const o=t.teamId,a=t.installationId,s=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const r="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.authorizationDetails=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",c,l,d)}deleteInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0]};const o=t.teamId,a=t.installationId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const s="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",d,c,r)}listMemberships(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,queries:i[0],search:i[1],total:i[2]};const o=t.teamId,a=t.queries,s=t.search,r=t.total;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');const d="/teams/{teamId}/memberships".replace("{teamId}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.queries=a),typeof s<"u"&&(c.search=s),typeof r<"u"&&(c.total=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",l,u,c)}createMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,roles:i[0],email:i[1],userId:i[2],phone:i[3],url:i[4],name:i[5]};const o=t.teamId,a=t.roles,s=t.email,r=t.userId,d=t.phone,c=t.url,l=t.name;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "roles"');const u="/teams/{teamId}/memberships".replace("{teamId}",encodeURIComponent(String(o))),m={};typeof s<"u"&&(m.email=s),typeof r<"u"&&(m.userId=r),typeof d<"u"&&(m.phone=d),typeof a<"u"&&(m.roles=a),typeof c<"u"&&(m.url=c),typeof l<"u"&&(m.name=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",j,q,m)}getMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0]};const o=t.teamId,a=t.membershipId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');const s="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0],roles:i[1]};const o=t.teamId,a=t.membershipId,s=t.roles;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');if(typeof s>"u")throw new h('Missing required parameter: "roles"');const r="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.roles=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0]};const o=t.teamId,a=t.membershipId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');const s="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}updateMembershipStatus(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0],userId:i[1],secret:i[2]};const o=t.teamId,a=t.membershipId,s=t.userId,r=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');if(typeof s>"u")throw new h('Missing required parameter: "userId"');if(typeof r>"u")throw new h('Missing required parameter: "secret"');const d="/teams/{teamId}/memberships/{membershipId}/status".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.userId=s),typeof r<"u"&&(c.secret=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",l,u,c)}getPrefs(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}/prefs".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updatePrefs(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,prefs:i[0]};const o=t.teamId,a=t.prefs;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "prefs"');const s="/teams/{teamId}/prefs".replace("{teamId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.prefs=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}}class mo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/vectorsdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/vectorsdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/vectorsdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",m,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",m,j,u)}createQuery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/query".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",m,j,u)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),m={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,m,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",m,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const m=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",m,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}}var $t;(function(n){n[n.NORMAL_CLOSURE=1e3]="NORMAL_CLOSURE",n[n.POLICY_VIOLATION=1008]="POLICY_VIOLATION",n[n.UNKNOWN_ERROR=-1]="UNKNOWN_ERROR"})($t||($t={}));class wo{constructor(e){this.TYPE_ERROR="error",this.TYPE_EVENT="event",this.TYPE_PONG="pong",this.TYPE_CONNECTED="connected",this.DEBOUNCE_MS=1,this.HEARTBEAT_INTERVAL=2e4,this.activeSubscriptions=new Map,this.pendingSubscribes=new Map,this.appConnected=!1,this.subCallDepth=0,this.reconnectAttempts=0,this.connectionId=0,this.reconnect=!0,this.onErrorCallbacks=[],this.onCloseCallbacks=[],this.onOpenCallbacks=[],this.client=e}onError(e){this.onErrorCallbacks.push(e)}onClose(e){this.onCloseCallbacks.push(e)}onOpen(e){this.onOpenCallbacks.push(e)}startHeartbeat(){this.stopHeartbeat(),this.heartbeatTimer=window?.setInterval(()=>{this.socket&&this.socket.readyState===WebSocket.OPEN&&this.socket.send(me.stringify({type:"ping"}))},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(window?.clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0)}createSocket(){return ve(this,void 0,void 0,function*(){if(!(this.socket&&this.socket.readyState<WebSocket.CLOSING))return this.socketCreationPromise?this.socketCreationPromise:(this.socketCreationPromise=this.createSocketLocked().finally(()=>{this.socketCreationPromise=void 0}),this.socketCreationPromise)})}createSocketLocked(){return ve(this,void 0,void 0,function*(){if(this.activeSubscriptions.size===0&&!this.pendingPresence){this.reconnect=!1,yield this.closeSocket();return}const e=this.client.config.project;if(!e)throw new h("Missing project ID");let i=`project=${e}`;const t=this.client.config.jwt;t&&(i+=`&jwt=${encodeURIComponent(t)}`);const s=`${(this.client.config.endpointRealtime!==""?this.client.config.endpointRealtime:this.client.config.endpoint||"").replace("https://","wss://").replace("http://","ws://")}/realtime?${i}`;return this.socket&&(this.reconnect=!1,this.socket.readyState<WebSocket.CLOSING&&(yield this.closeSocket()),this.reconnect=!0),new Promise((r,d)=>{if(this.activeSubscriptions.size===0&&!this.pendingPresence){r();return}try{const c=++this.connectionId,l=this.socket=new WebSocket(s);l.addEventListener("open",()=>{c===this.connectionId&&(this.reconnectAttempts=0,this.onOpenCallbacks.forEach(u=>u()),this.startHeartbeat(),r())}),l.addEventListener("message",u=>{if(c===this.connectionId)try{const m=me.parse(u.data);this.handleMessage(m)}catch(m){console.error("Failed to parse message:",m)}}),l.addEventListener("close",u=>ve(this,void 0,void 0,function*(){if(c!==this.connectionId||l!==this.socket)return;if(this.appConnected=!1,this.stopHeartbeat(),this.onCloseCallbacks.forEach(j=>j()),!this.reconnect||u.code===$t.POLICY_VIOLATION){this.reconnect=!0;return}const m=this.getTimeout();console.log(`Realtime disconnected. Re-connecting in ${m/1e3} seconds.`),yield this.sleep(m),this.reconnectAttempts++;try{yield this.createSocket()}catch(j){console.error("Failed to reconnect:",j)}})),l.addEventListener("error",u=>{if(c!==this.connectionId||l!==this.socket)return;this.stopHeartbeat();const m=new Error("WebSocket error");console.error("WebSocket error:",m.message),this.onErrorCallbacks.forEach(j=>j(m)),d(m)})}catch(c){d(c)}})})}closeSocket(){return ve(this,void 0,void 0,function*(){if(this.stopHeartbeat(),this.socket)return new Promise(e=>{if(!this.socket){e();return}this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING?(this.socket.addEventListener("close",()=>{e()},{once:!0}),this.socket.close($t.NORMAL_CLOSURE)):e()})})}getTimeout(){return this.reconnectAttempts<5?1e3:this.reconnectAttempts<15?5e3:this.reconnectAttempts<100?1e4:6e4}sleep(e){return new Promise(i=>setTimeout(i,e))}sendUnsubscribeMessage(e){const i=e.filter(t=>typeof t=="string"&&t.length>0);i.length!==0&&(!this.socket||this.socket.readyState!==WebSocket.OPEN||this.socket.send(me.stringify({type:"unsubscribe",data:i.map(t=>({subscriptionId:t}))})))}generateUniqueSubscriptionId(){const e=this.activeSubscriptions.size+1;for(let i=0;i<e;i++){const t=He.unique();if(!this.activeSubscriptions.has(t))return t}throw new h("Failed to generate unique subscription id")}enqueuePendingSubscribe(e){var i;const t=this.activeSubscriptions.get(e);t&&this.pendingSubscribes.set(e,{subscriptionId:e,channels:Array.from(t.channels),queries:(i=t.queries)!==null&&i!==void 0?i:[]})}disconnect(){return ve(this,void 0,void 0,function*(){this.activeSubscriptions.clear(),this.pendingSubscribes.clear(),this.pendingPresence=void 0,this.appConnected=!1,this.reconnect=!1,this.socketCreationPromise=void 0,yield this.closeSocket()})}sendPendingSubscribes(){if(!this.socket||this.socket.readyState!==WebSocket.OPEN||!this.appConnected||this.pendingSubscribes.size<1)return;const e=Array.from(this.pendingSubscribes.values());this.pendingSubscribes.clear(),this.socket.send(me.stringify({type:"subscribe",data:e}))}channelToString(e){return typeof e=="string"?e:e&&typeof e.toString=="function"?e.toString():String(e)}subscribe(e,i){return ve(this,arguments,void 0,function*(t,o,a=[]){const r=(Array.isArray(t)?t:[t]).map(q=>this.channelToString(q)),d=new Set(r),c=[];for(const q of a??[])if(Array.isArray(q))for(const T of q)c.push(typeof T=="string"?T:T.toString());else c.push(typeof q=="string"?q:q.toString());const l=this.generateUniqueSubscriptionId();this.activeSubscriptions.set(l,{channels:d,queries:c,callback:o}),this.enqueuePendingSubscribe(l),this.subCallDepth++;try{yield this.sleep(this.DEBOUNCE_MS),this.subCallDepth===1&&(!this.socket||this.socket.readyState>WebSocket.OPEN?yield this.createSocket():this.socket.readyState===WebSocket.OPEN&&this.sendPendingSubscribes())}finally{this.subCallDepth--}const u=()=>ve(this,void 0,void 0,function*(){this.activeSubscriptions.has(l)&&(this.activeSubscriptions.delete(l),this.pendingSubscribes.delete(l),this.sendUnsubscribeMessage([l]))});return{unsubscribe:u,update:q=>ve(this,void 0,void 0,function*(){const T=this.activeSubscriptions.get(l);if(T){if(q.channels!==void 0){const K=q.channels.map(Y=>this.channelToString(Y));T.channels=new Set(K)}if(q.queries!==void 0){const K=[];for(const Y of q.queries)if(Array.isArray(Y))for(const L of Y)K.push(typeof L=="string"?L:L.toString());else K.push(typeof Y=="string"?Y:Y.toString());T.queries=K}this.enqueuePendingSubscribe(l),this.subCallDepth++;try{yield this.sleep(this.DEBOUNCE_MS),this.subCallDepth===1&&(!this.socket||this.socket.readyState>WebSocket.OPEN?yield this.createSocket():this.socket.readyState===WebSocket.OPEN&&this.sendPendingSubscribes())}finally{this.subCallDepth--}}}),close:()=>ve(this,void 0,void 0,function*(){yield u(),this.activeSubscriptions.size===0&&(this.reconnect=!1,yield this.closeSocket())})}})}upsertPresence(e){return ve(this,void 0,void 0,function*(){const i={status:e.status,presenceId:e.presenceId};e.permissions!==void 0&&(i.permissions=e.permissions),e.metadata!==void 0&&(i.metadata=e.metadata),this.pendingPresence=i,(!this.socket||this.socket.readyState>=WebSocket.CLOSING)&&this.createSocket().catch(t=>{console.error("Failed to open realtime socket for presence:",t)}),this.flushPendingPresence()})}flushPendingPresence(){this.pendingPresence&&(!this.socket||this.socket.readyState!==WebSocket.OPEN||this.appConnected&&this.socket.send(me.stringify({type:"presence",data:this.pendingPresence})))}handleMessage(e){if(e.type)switch(e.type){case this.TYPE_CONNECTED:this.handleResponseConnected(e);break;case this.TYPE_ERROR:this.handleResponseError(e);break;case this.TYPE_EVENT:this.handleResponseEvent(e);break;case this.TYPE_PONG:break}}handleResponseConnected(e){var i,t;if(!e.data)return;const o=e.data;let a=this.client.config.session;if(!a)try{const s=me.parse((i=window.localStorage.getItem("cookieFallback"))!==null&&i!==void 0?i:"{}");a=s?.[`a_session_${this.client.config.project}`]}catch(s){console.error("Failed to parse cookie fallback:",s)}a&&!o.user&&((t=this.socket)===null||t===void 0||t.send(me.stringify({type:"authentication",data:{session:a}})));for(const s of this.activeSubscriptions.keys())this.enqueuePendingSubscribe(s);this.appConnected=!0,this.sendPendingSubscribes(),this.flushPendingPresence()}handleResponseError(e){var i,t;const o=new h(((i=e.data)===null||i===void 0?void 0:i.message)||"Unknown error"),a=(t=e.data)===null||t===void 0?void 0:t.code;this.onErrorCallbacks.forEach(s=>s(o,a))}handleResponseEvent(e){const i=e.data;if(!i)return;const t=i.channels,o=i.events,a=i.payload,s=i.timestamp,r=i.subscriptions;if(!(!t||!o||!a||!r||r.length===0))for(const d of r){const c=this.activeSubscriptions.get(d);c&&c.callback({events:o,channels:t,timestamp:s,payload:a,subscriptions:r})}}}class tt{}tt.read=n=>`read("${n}")`,tt.write=n=>`write("${n}")`,tt.create=n=>`create("${n}")`,tt.update=n=>`update("${n}")`,tt.delete=n=>`delete("${n}")`;class bo{static any(){return"any"}static user(e,i=""){return i===""?`user:${e}`:`user:${e}/${i}`}static users(e=""){return e===""?"users":`users/${e}`}static guests(){return"guests"}static team(e,i=""){return i===""?`team:${e}`:`team:${e}/${i}`}static member(e){return`member:${e}`}static label(e){return`label:${e}`}}function Me(n){if(n==null)throw new Error("Channel ID is required");const e=String(n).trim();if(e==="")throw new Error("Channel ID is required");return e}class ke{constructor(e){this.segments=e}next(e,i){const t=i===void 0?[...this.segments,e]:[...this.segments,e,Me(i)];return new ke(t)}resolve(e){return new ke([...this.segments,e])}toString(){return this.segments.join(".")}collection(e){return this.next("collections",e)}document(e){return this.next("documents",e)}table(e){return this.next("tables",e)}row(e){return this.next("rows",e)}file(e){return this.next("files",e)}create(){return this.resolve("create")}upsert(){return this.resolve("upsert")}update(){return this.resolve("update")}delete(){return this.resolve("delete")}static database(e){return new ke(["databases",Me(e)])}static execution(e){return new ke(["executions",Me(e)])}static tablesdb(e){return new ke(["tablesdb",Me(e)])}static bucket(e){return new ke(["buckets",Me(e)])}static function(e){return new ke(["functions",Me(e)])}static team(e){return new ke(["teams",Me(e)])}static membership(e){return new ke(["memberships",Me(e)])}static presence(e){return new ke(["presences",Me(e)])}static account(){return"account"}static documents(){return"documents"}static rows(){return"rows"}static files(){return"files"}static executions(){return"executions"}static teams(){return"teams"}static memberships(){return"memberships"}static presences(){return"presences"}}var Kt;(function(n){n.Equal="equal",n.NotEqual="notEqual",n.GreaterThan="greaterThan",n.GreaterThanEqual="greaterThanEqual",n.LessThan="lessThan",n.LessThanEqual="lessThanEqual",n.Contains="contains",n.IsNull="isNull",n.IsNotNull="isNotNull"})(Kt||(Kt={}));class Q{constructor(e,i){this.method=e,i!==void 0&&(Array.isArray(i)?this.values=i:this.values=[i])}toString(){return JSON.stringify({method:this.method,values:this.values})}}Q.increment=(n=1,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Value cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("increment",i).toString()},Q.decrement=(n=1,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Value cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Min cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("decrement",i).toString()},Q.multiply=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Factor cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("multiply",i).toString()},Q.divide=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Divisor cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Min cannot be NaN or Infinity");if(n===0)throw new Error("Divisor cannot be zero");const i=[n];return e!==void 0&&i.push(e),new Q("divide",i).toString()},Q.modulo=n=>{if(isNaN(n)||!isFinite(n))throw new Error("Divisor cannot be NaN or Infinity");if(n===0)throw new Error("Divisor cannot be zero");return new Q("modulo",[n]).toString()},Q.power=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Exponent cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("power",i).toString()},Q.arrayAppend=n=>new Q("arrayAppend",n).toString(),Q.arrayPrepend=n=>new Q("arrayPrepend",n).toString(),Q.arrayInsert=(n,e)=>new Q("arrayInsert",[n,e]).toString(),Q.arrayRemove=n=>new Q("arrayRemove",[n]).toString(),Q.arrayUnique=()=>new Q("arrayUnique",[]).toString(),Q.arrayIntersect=n=>new Q("arrayIntersect",n).toString(),Q.arrayDiff=n=>new Q("arrayDiff",n).toString(),Q.arrayFilter=(n,e)=>{const i=[n,e===void 0?null:e];return new Q("arrayFilter",i).toString()},Q.stringConcat=n=>new Q("stringConcat",[n]).toString(),Q.stringReplace=(n,e)=>new Q("stringReplace",[n,e]).toString(),Q.toggle=()=>new Q("toggle",[]).toString(),Q.dateAddDays=n=>new Q("dateAddDays",[n]).toString(),Q.dateSubDays=n=>new Q("dateSubDays",[n]).toString(),Q.dateSetNow=()=>new Q("dateSetNow",[]).toString();var Yt;(function(n){n.Totp="totp"})(Yt||(Yt={}));var Jt;(function(n){n.Email="email",n.Phone="phone",n.Totp="totp",n.Recoverycode="recoverycode",n.Custom="custom"})(Jt||(Jt={}));var Zt;(function(n){n.Amazon="amazon",n.Apple="apple",n.Appwrite="appwrite",n.Auth0="auth0",n.Authentik="authentik",n.Autodesk="autodesk",n.Bitbucket="bitbucket",n.Bitly="bitly",n.Box="box",n.Cloudflare="cloudflare",n.Dailymotion="dailymotion",n.Discord="discord",n.Disqus="disqus",n.Dropbox="dropbox",n.Etsy="etsy",n.Facebook="facebook",n.Figma="figma",n.Fusionauth="fusionauth",n.Github="github",n.Gitlab="gitlab",n.Google="google",n.Huggingface="huggingface",n.Keycloak="keycloak",n.Kick="kick",n.Linkedin="linkedin",n.Microsoft="microsoft",n.Notion="notion",n.Oidc="oidc",n.Okta="okta",n.Paypal="paypal",n.PaypalSandbox="paypalSandbox",n.Podio="podio",n.Resend="resend",n.Salesforce="salesforce",n.Slack="slack",n.Spotify="spotify",n.Stripe="stripe",n.Tradeshift="tradeshift",n.TradeshiftBox="tradeshiftBox",n.Twitch="twitch",n.Wordpress="wordpress",n.X="x",n.Yahoo="yahoo",n.Yammer="yammer",n.Yandex="yandex",n.Zoho="zoho",n.Zoom="zoom"})(Zt||(Zt={}));var Qt;(function(n){n.AvantBrowser="aa",n.AndroidWebViewBeta="an",n.GoogleChrome="ch",n.GoogleChromeIOS="ci",n.GoogleChromeMobile="cm",n.Chromium="cr",n.MozillaFirefox="ff",n.Safari="sf",n.MobileSafari="mf",n.MicrosoftEdge="ps",n.MicrosoftEdgeIOS="oi",n.OperaMini="om",n.Opera="op",n.OperaNext="on"})(Qt||(Qt={}));var Tt;(function(n){n.AmericanExpress="amex",n.Argencard="argencard",n.Cabal="cabal",n.Cencosud="cencosud",n.DinersClub="diners",n.Discover="discover",n.Elo="elo",n.Hipercard="hipercard",n.JCB="jcb",n.Mastercard="mastercard",n.Naranja="naranja",n.TarjetaShopping="targeta-shopping",n.UnionPay="unionpay",n.Visa="visa",n.MIR="mir",n.Maestro="maestro",n.Rupay="rupay"})(Tt||(Tt={}));var zt;(function(n){n.Afghanistan="af",n.Angola="ao",n.Albania="al",n.Andorra="ad",n.UnitedArabEmirates="ae",n.Argentina="ar",n.Armenia="am",n.AntiguaAndBarbuda="ag",n.Australia="au",n.Austria="at",n.Azerbaijan="az",n.Burundi="bi",n.Belgium="be",n.Benin="bj",n.BurkinaFaso="bf",n.Bangladesh="bd",n.Bulgaria="bg",n.Bahrain="bh",n.Bahamas="bs",n.BosniaAndHerzegovina="ba",n.Belarus="by",n.Belize="bz",n.Bolivia="bo",n.Brazil="br",n.Barbados="bb",n.BruneiDarussalam="bn",n.Bhutan="bt",n.Botswana="bw",n.CentralAfricanRepublic="cf",n.Canada="ca",n.Switzerland="ch",n.Chile="cl",n.China="cn",n.CoteDIvoire="ci",n.Cameroon="cm",n.DemocraticRepublicOfTheCongo="cd",n.RepublicOfTheCongo="cg",n.Colombia="co",n.Comoros="km",n.CapeVerde="cv",n.CostaRica="cr",n.Cuba="cu",n.Cyprus="cy",n.CzechRepublic="cz",n.Germany="de",n.Djibouti="dj",n.Dominica="dm",n.Denmark="dk",n.DominicanRepublic="do",n.Algeria="dz",n.Ecuador="ec",n.Egypt="eg",n.Eritrea="er",n.Spain="es",n.Estonia="ee",n.Ethiopia="et",n.Finland="fi",n.Fiji="fj",n.France="fr",n.MicronesiaFederatedStatesOf="fm",n.Gabon="ga",n.UnitedKingdom="gb",n.Georgia="ge",n.Ghana="gh",n.Guinea="gn",n.Gambia="gm",n.GuineaBissau="gw",n.EquatorialGuinea="gq",n.Greece="gr",n.Grenada="gd",n.Guatemala="gt",n.Guyana="gy",n.Honduras="hn",n.Croatia="hr",n.Haiti="ht",n.Hungary="hu",n.Indonesia="id",n.India="in",n.Ireland="ie",n.IranIslamicRepublicOf="ir",n.Iraq="iq",n.Iceland="is",n.Israel="il",n.Italy="it",n.Jamaica="jm",n.Jordan="jo",n.Japan="jp",n.Kazakhstan="kz",n.Kenya="ke",n.Kyrgyzstan="kg",n.Cambodia="kh",n.Kiribati="ki",n.SaintKittsAndNevis="kn",n.SouthKorea="kr",n.Kuwait="kw",n.LaoPeopleSDemocraticRepublic="la",n.Lebanon="lb",n.Liberia="lr",n.Libya="ly",n.SaintLucia="lc",n.Liechtenstein="li",n.SriLanka="lk",n.Lesotho="ls",n.Lithuania="lt",n.Luxembourg="lu",n.Latvia="lv",n.Morocco="ma",n.Monaco="mc",n.Moldova="md",n.Madagascar="mg",n.Maldives="mv",n.Mexico="mx",n.MarshallIslands="mh",n.NorthMacedonia="mk",n.Mali="ml",n.Malta="mt",n.Myanmar="mm",n.Montenegro="me",n.Mongolia="mn",n.Mozambique="mz",n.Mauritania="mr",n.Mauritius="mu",n.Malawi="mw",n.Malaysia="my",n.Namibia="na",n.Niger="ne",n.Nigeria="ng",n.Nicaragua="ni",n.Netherlands="nl",n.Norway="no",n.Nepal="np",n.Nauru="nr",n.NewZealand="nz",n.Oman="om",n.Pakistan="pk",n.Panama="pa",n.Peru="pe",n.Philippines="ph",n.Palau="pw",n.PapuaNewGuinea="pg",n.Poland="pl",n.FrenchPolynesia="pf",n.NorthKorea="kp",n.Portugal="pt",n.Paraguay="py",n.Qatar="qa",n.Romania="ro",n.Russia="ru",n.Rwanda="rw",n.SaudiArabia="sa",n.Sudan="sd",n.Senegal="sn",n.Singapore="sg",n.SolomonIslands="sb",n.SierraLeone="sl",n.ElSalvador="sv",n.SanMarino="sm",n.Somalia="so",n.Serbia="rs",n.SouthSudan="ss",n.SaoTomeAndPrincipe="st",n.Suriname="sr",n.Slovakia="sk",n.Slovenia="si",n.Sweden="se",n.Eswatini="sz",n.Seychelles="sc",n.Syria="sy",n.Chad="td",n.Togo="tg",n.Thailand="th",n.Tajikistan="tj",n.Turkmenistan="tm",n.TimorLeste="tl",n.Tonga="to",n.TrinidadAndTobago="tt",n.Tunisia="tn",n.Turkey="tr",n.Tuvalu="tv",n.Tanzania="tz",n.Uganda="ug",n.Ukraine="ua",n.Uruguay="uy",n.UnitedStates="us",n.Uzbekistan="uz",n.VaticanCity="va",n.SaintVincentAndTheGrenadines="vc",n.Venezuela="ve",n.Vietnam="vn",n.Vanuatu="vu",n.Samoa="ws",n.Yemen="ye",n.SouthAfrica="za",n.Zambia="zm",n.Zimbabwe="zw"})(zt||(zt={}));var Ot;(function(n){n.Light="light",n.Dark="dark"})(Ot||(Ot={}));var Ft;(function(n){n.AfricaAbidjan="africa/abidjan",n.AfricaAccra="africa/accra",n.AfricaAddisAbaba="africa/addis_ababa",n.AfricaAlgiers="africa/algiers",n.AfricaAsmara="africa/asmara",n.AfricaBamako="africa/bamako",n.AfricaBangui="africa/bangui",n.AfricaBanjul="africa/banjul",n.AfricaBissau="africa/bissau",n.AfricaBlantyre="africa/blantyre",n.AfricaBrazzaville="africa/brazzaville",n.AfricaBujumbura="africa/bujumbura",n.AfricaCairo="africa/cairo",n.AfricaCasablanca="africa/casablanca",n.AfricaCeuta="africa/ceuta",n.AfricaConakry="africa/conakry",n.AfricaDakar="africa/dakar",n.AfricaDarEsSalaam="africa/dar_es_salaam",n.AfricaDjibouti="africa/djibouti",n.AfricaDouala="africa/douala",n.AfricaElAaiun="africa/el_aaiun",n.AfricaFreetown="africa/freetown",n.AfricaGaborone="africa/gaborone",n.AfricaHarare="africa/harare",n.AfricaJohannesburg="africa/johannesburg",n.AfricaJuba="africa/juba",n.AfricaKampala="africa/kampala",n.AfricaKhartoum="africa/khartoum",n.AfricaKigali="africa/kigali",n.AfricaKinshasa="africa/kinshasa",n.AfricaLagos="africa/lagos",n.AfricaLibreville="africa/libreville",n.AfricaLome="africa/lome",n.AfricaLuanda="africa/luanda",n.AfricaLubumbashi="africa/lubumbashi",n.AfricaLusaka="africa/lusaka",n.AfricaMalabo="africa/malabo",n.AfricaMaputo="africa/maputo",n.AfricaMaseru="africa/maseru",n.AfricaMbabane="africa/mbabane",n.AfricaMogadishu="africa/mogadishu",n.AfricaMonrovia="africa/monrovia",n.AfricaNairobi="africa/nairobi",n.AfricaNdjamena="africa/ndjamena",n.AfricaNiamey="africa/niamey",n.AfricaNouakchott="africa/nouakchott",n.AfricaOuagadougou="africa/ouagadougou",n.AfricaPortonovo="africa/porto-novo",n.AfricaSaoTome="africa/sao_tome",n.AfricaTripoli="africa/tripoli",n.AfricaTunis="africa/tunis",n.AfricaWindhoek="africa/windhoek",n.AmericaAdak="america/adak",n.AmericaAnchorage="america/anchorage",n.AmericaAnguilla="america/anguilla",n.AmericaAntigua="america/antigua",n.AmericaAraguaina="america/araguaina",n.AmericaArgentinaBuenosAires="america/argentina/buenos_aires",n.AmericaArgentinaCatamarca="america/argentina/catamarca",n.AmericaArgentinaCordoba="america/argentina/cordoba",n.AmericaArgentinaJujuy="america/argentina/jujuy",n.AmericaArgentinaLaRioja="america/argentina/la_rioja",n.AmericaArgentinaMendoza="america/argentina/mendoza",n.AmericaArgentinaRioGallegos="america/argentina/rio_gallegos",n.AmericaArgentinaSalta="america/argentina/salta",n.AmericaArgentinaSanJuan="america/argentina/san_juan",n.AmericaArgentinaSanLuis="america/argentina/san_luis",n.AmericaArgentinaTucuman="america/argentina/tucuman",n.AmericaArgentinaUshuaia="america/argentina/ushuaia",n.AmericaAruba="america/aruba",n.AmericaAsuncion="america/asuncion",n.AmericaAtikokan="america/atikokan",n.AmericaBahia="america/bahia",n.AmericaBahiaBanderas="america/bahia_banderas",n.AmericaBarbados="america/barbados",n.AmericaBelem="america/belem",n.AmericaBelize="america/belize",n.AmericaBlancsablon="america/blanc-sablon",n.AmericaBoaVista="america/boa_vista",n.AmericaBogota="america/bogota",n.AmericaBoise="america/boise",n.AmericaCambridgeBay="america/cambridge_bay",n.AmericaCampoGrande="america/campo_grande",n.AmericaCancun="america/cancun",n.AmericaCaracas="america/caracas",n.AmericaCayenne="america/cayenne",n.AmericaCayman="america/cayman",n.AmericaChicago="america/chicago",n.AmericaChihuahua="america/chihuahua",n.AmericaCiudadJuarez="america/ciudad_juarez",n.AmericaCostaRica="america/costa_rica",n.AmericaCoyhaique="america/coyhaique",n.AmericaCreston="america/creston",n.AmericaCuiaba="america/cuiaba",n.AmericaCuracao="america/curacao",n.AmericaDanmarkshavn="america/danmarkshavn",n.AmericaDawson="america/dawson",n.AmericaDawsonCreek="america/dawson_creek",n.AmericaDenver="america/denver",n.AmericaDetroit="america/detroit",n.AmericaDominica="america/dominica",n.AmericaEdmonton="america/edmonton",n.AmericaEirunepe="america/eirunepe",n.AmericaElSalvador="america/el_salvador",n.AmericaFortNelson="america/fort_nelson",n.AmericaFortaleza="america/fortaleza",n.AmericaGlaceBay="america/glace_bay",n.AmericaGooseBay="america/goose_bay",n.AmericaGrandTurk="america/grand_turk",n.AmericaGrenada="america/grenada",n.AmericaGuadeloupe="america/guadeloupe",n.AmericaGuatemala="america/guatemala",n.AmericaGuayaquil="america/guayaquil",n.AmericaGuyana="america/guyana",n.AmericaHalifax="america/halifax",n.AmericaHavana="america/havana",n.AmericaHermosillo="america/hermosillo",n.AmericaIndianaIndianapolis="america/indiana/indianapolis",n.AmericaIndianaKnox="america/indiana/knox",n.AmericaIndianaMarengo="america/indiana/marengo",n.AmericaIndianaPetersburg="america/indiana/petersburg",n.AmericaIndianaTellCity="america/indiana/tell_city",n.AmericaIndianaVevay="america/indiana/vevay",n.AmericaIndianaVincennes="america/indiana/vincennes",n.AmericaIndianaWinamac="america/indiana/winamac",n.AmericaInuvik="america/inuvik",n.AmericaIqaluit="america/iqaluit",n.AmericaJamaica="america/jamaica",n.AmericaJuneau="america/juneau",n.AmericaKentuckyLouisville="america/kentucky/louisville",n.AmericaKentuckyMonticello="america/kentucky/monticello",n.AmericaKralendijk="america/kralendijk",n.AmericaLaPaz="america/la_paz",n.AmericaLima="america/lima",n.AmericaLosAngeles="america/los_angeles",n.AmericaLowerPrinces="america/lower_princes",n.AmericaMaceio="america/maceio",n.AmericaManagua="america/managua",n.AmericaManaus="america/manaus",n.AmericaMarigot="america/marigot",n.AmericaMartinique="america/martinique",n.AmericaMatamoros="america/matamoros",n.AmericaMazatlan="america/mazatlan",n.AmericaMenominee="america/menominee",n.AmericaMerida="america/merida",n.AmericaMetlakatla="america/metlakatla",n.AmericaMexicoCity="america/mexico_city",n.AmericaMiquelon="america/miquelon",n.AmericaMoncton="america/moncton",n.AmericaMonterrey="america/monterrey",n.AmericaMontevideo="america/montevideo",n.AmericaMontserrat="america/montserrat",n.AmericaNassau="america/nassau",n.AmericaNewYork="america/new_york",n.AmericaNome="america/nome",n.AmericaNoronha="america/noronha",n.AmericaNorthDakotaBeulah="america/north_dakota/beulah",n.AmericaNorthDakotaCenter="america/north_dakota/center",n.AmericaNorthDakotaNewSalem="america/north_dakota/new_salem",n.AmericaNuuk="america/nuuk",n.AmericaOjinaga="america/ojinaga",n.AmericaPanama="america/panama",n.AmericaParamaribo="america/paramaribo",n.AmericaPhoenix="america/phoenix",n.AmericaPortauprince="america/port-au-prince",n.AmericaPortOfSpain="america/port_of_spain",n.AmericaPortoVelho="america/porto_velho",n.AmericaPuertoRico="america/puerto_rico",n.AmericaPuntaArenas="america/punta_arenas",n.AmericaRankinInlet="america/rankin_inlet",n.AmericaRecife="america/recife",n.AmericaRegina="america/regina",n.AmericaResolute="america/resolute",n.AmericaRioBranco="america/rio_branco",n.AmericaSantarem="america/santarem",n.AmericaSantiago="america/santiago",n.AmericaSantoDomingo="america/santo_domingo",n.AmericaSaoPaulo="america/sao_paulo",n.AmericaScoresbysund="america/scoresbysund",n.AmericaSitka="america/sitka",n.AmericaStBarthelemy="america/st_barthelemy",n.AmericaStJohns="america/st_johns",n.AmericaStKitts="america/st_kitts",n.AmericaStLucia="america/st_lucia",n.AmericaStThomas="america/st_thomas",n.AmericaStVincent="america/st_vincent",n.AmericaSwiftCurrent="america/swift_current",n.AmericaTegucigalpa="america/tegucigalpa",n.AmericaThule="america/thule",n.AmericaTijuana="america/tijuana",n.AmericaToronto="america/toronto",n.AmericaTortola="america/tortola",n.AmericaVancouver="america/vancouver",n.AmericaWhitehorse="america/whitehorse",n.AmericaWinnipeg="america/winnipeg",n.AmericaYakutat="america/yakutat",n.AntarcticaCasey="antarctica/casey",n.AntarcticaDavis="antarctica/davis",n.AntarcticaDumontdurville="antarctica/dumontdurville",n.AntarcticaMacquarie="antarctica/macquarie",n.AntarcticaMawson="antarctica/mawson",n.AntarcticaMcmurdo="antarctica/mcmurdo",n.AntarcticaPalmer="antarctica/palmer",n.AntarcticaRothera="antarctica/rothera",n.AntarcticaSyowa="antarctica/syowa",n.AntarcticaTroll="antarctica/troll",n.AntarcticaVostok="antarctica/vostok",n.ArcticLongyearbyen="arctic/longyearbyen",n.AsiaAden="asia/aden",n.AsiaAlmaty="asia/almaty",n.AsiaAmman="asia/amman",n.AsiaAnadyr="asia/anadyr",n.AsiaAqtau="asia/aqtau",n.AsiaAqtobe="asia/aqtobe",n.AsiaAshgabat="asia/ashgabat",n.AsiaAtyrau="asia/atyrau",n.AsiaBaghdad="asia/baghdad",n.AsiaBahrain="asia/bahrain",n.AsiaBaku="asia/baku",n.AsiaBangkok="asia/bangkok",n.AsiaBarnaul="asia/barnaul",n.AsiaBeirut="asia/beirut",n.AsiaBishkek="asia/bishkek",n.AsiaBrunei="asia/brunei",n.AsiaChita="asia/chita",n.AsiaColombo="asia/colombo",n.AsiaDamascus="asia/damascus",n.AsiaDhaka="asia/dhaka",n.AsiaDili="asia/dili",n.AsiaDubai="asia/dubai",n.AsiaDushanbe="asia/dushanbe",n.AsiaFamagusta="asia/famagusta",n.AsiaGaza="asia/gaza",n.AsiaHebron="asia/hebron",n.AsiaHoChiMinh="asia/ho_chi_minh",n.AsiaHongKong="asia/hong_kong",n.AsiaHovd="asia/hovd",n.AsiaIrkutsk="asia/irkutsk",n.AsiaJakarta="asia/jakarta",n.AsiaJayapura="asia/jayapura",n.AsiaJerusalem="asia/jerusalem",n.AsiaKabul="asia/kabul",n.AsiaKamchatka="asia/kamchatka",n.AsiaKarachi="asia/karachi",n.AsiaKathmandu="asia/kathmandu",n.AsiaKhandyga="asia/khandyga",n.AsiaKolkata="asia/kolkata",n.AsiaKrasnoyarsk="asia/krasnoyarsk",n.AsiaKualaLumpur="asia/kuala_lumpur",n.AsiaKuching="asia/kuching",n.AsiaKuwait="asia/kuwait",n.AsiaMacau="asia/macau",n.AsiaMagadan="asia/magadan",n.AsiaMakassar="asia/makassar",n.AsiaManila="asia/manila",n.AsiaMuscat="asia/muscat",n.AsiaNicosia="asia/nicosia",n.AsiaNovokuznetsk="asia/novokuznetsk",n.AsiaNovosibirsk="asia/novosibirsk",n.AsiaOmsk="asia/omsk",n.AsiaOral="asia/oral",n.AsiaPhnomPenh="asia/phnom_penh",n.AsiaPontianak="asia/pontianak",n.AsiaPyongyang="asia/pyongyang",n.AsiaQatar="asia/qatar",n.AsiaQostanay="asia/qostanay",n.AsiaQyzylorda="asia/qyzylorda",n.AsiaRiyadh="asia/riyadh",n.AsiaSakhalin="asia/sakhalin",n.AsiaSamarkand="asia/samarkand",n.AsiaSeoul="asia/seoul",n.AsiaShanghai="asia/shanghai",n.AsiaSingapore="asia/singapore",n.AsiaSrednekolymsk="asia/srednekolymsk",n.AsiaTaipei="asia/taipei",n.AsiaTashkent="asia/tashkent",n.AsiaTbilisi="asia/tbilisi",n.AsiaTehran="asia/tehran",n.AsiaThimphu="asia/thimphu",n.AsiaTokyo="asia/tokyo",n.AsiaTomsk="asia/tomsk",n.AsiaUlaanbaatar="asia/ulaanbaatar",n.AsiaUrumqi="asia/urumqi",n.AsiaUstnera="asia/ust-nera",n.AsiaVientiane="asia/vientiane",n.AsiaVladivostok="asia/vladivostok",n.AsiaYakutsk="asia/yakutsk",n.AsiaYangon="asia/yangon",n.AsiaYekaterinburg="asia/yekaterinburg",n.AsiaYerevan="asia/yerevan",n.AtlanticAzores="atlantic/azores",n.AtlanticBermuda="atlantic/bermuda",n.AtlanticCanary="atlantic/canary",n.AtlanticCapeVerde="atlantic/cape_verde",n.AtlanticFaroe="atlantic/faroe",n.AtlanticMadeira="atlantic/madeira",n.AtlanticReykjavik="atlantic/reykjavik",n.AtlanticSouthGeorgia="atlantic/south_georgia",n.AtlanticStHelena="atlantic/st_helena",n.AtlanticStanley="atlantic/stanley",n.AustraliaAdelaide="australia/adelaide",n.AustraliaBrisbane="australia/brisbane",n.AustraliaBrokenHill="australia/broken_hill",n.AustraliaDarwin="australia/darwin",n.AustraliaEucla="australia/eucla",n.AustraliaHobart="australia/hobart",n.AustraliaLindeman="australia/lindeman",n.AustraliaLordHowe="australia/lord_howe",n.AustraliaMelbourne="australia/melbourne",n.AustraliaPerth="australia/perth",n.AustraliaSydney="australia/sydney",n.EuropeAmsterdam="europe/amsterdam",n.EuropeAndorra="europe/andorra",n.EuropeAstrakhan="europe/astrakhan",n.EuropeAthens="europe/athens",n.EuropeBelgrade="europe/belgrade",n.EuropeBerlin="europe/berlin",n.EuropeBratislava="europe/bratislava",n.EuropeBrussels="europe/brussels",n.EuropeBucharest="europe/bucharest",n.EuropeBudapest="europe/budapest",n.EuropeBusingen="europe/busingen",n.EuropeChisinau="europe/chisinau",n.EuropeCopenhagen="europe/copenhagen",n.EuropeDublin="europe/dublin",n.EuropeGibraltar="europe/gibraltar",n.EuropeGuernsey="europe/guernsey",n.EuropeHelsinki="europe/helsinki",n.EuropeIsleOfMan="europe/isle_of_man",n.EuropeIstanbul="europe/istanbul",n.EuropeJersey="europe/jersey",n.EuropeKaliningrad="europe/kaliningrad",n.EuropeKirov="europe/kirov",n.EuropeKyiv="europe/kyiv",n.EuropeLisbon="europe/lisbon",n.EuropeLjubljana="europe/ljubljana",n.EuropeLondon="europe/london",n.EuropeLuxembourg="europe/luxembourg",n.EuropeMadrid="europe/madrid",n.EuropeMalta="europe/malta",n.EuropeMariehamn="europe/mariehamn",n.EuropeMinsk="europe/minsk",n.EuropeMonaco="europe/monaco",n.EuropeMoscow="europe/moscow",n.EuropeOslo="europe/oslo",n.EuropeParis="europe/paris",n.EuropePodgorica="europe/podgorica",n.EuropePrague="europe/prague",n.EuropeRiga="europe/riga",n.EuropeRome="europe/rome",n.EuropeSamara="europe/samara",n.EuropeSanMarino="europe/san_marino",n.EuropeSarajevo="europe/sarajevo",n.EuropeSaratov="europe/saratov",n.EuropeSimferopol="europe/simferopol",n.EuropeSkopje="europe/skopje",n.EuropeSofia="europe/sofia",n.EuropeStockholm="europe/stockholm",n.EuropeTallinn="europe/tallinn",n.EuropeTirane="europe/tirane",n.EuropeUlyanovsk="europe/ulyanovsk",n.EuropeVaduz="europe/vaduz",n.EuropeVatican="europe/vatican",n.EuropeVienna="europe/vienna",n.EuropeVilnius="europe/vilnius",n.EuropeVolgograd="europe/volgograd",n.EuropeWarsaw="europe/warsaw",n.EuropeZagreb="europe/zagreb",n.EuropeZurich="europe/zurich",n.IndianAntananarivo="indian/antananarivo",n.IndianChagos="indian/chagos",n.IndianChristmas="indian/christmas",n.IndianCocos="indian/cocos",n.IndianComoro="indian/comoro",n.IndianKerguelen="indian/kerguelen",n.IndianMahe="indian/mahe",n.IndianMaldives="indian/maldives",n.IndianMauritius="indian/mauritius",n.IndianMayotte="indian/mayotte",n.IndianReunion="indian/reunion",n.PacificApia="pacific/apia",n.PacificAuckland="pacific/auckland",n.PacificBougainville="pacific/bougainville",n.PacificChatham="pacific/chatham",n.PacificChuuk="pacific/chuuk",n.PacificEaster="pacific/easter",n.PacificEfate="pacific/efate",n.PacificFakaofo="pacific/fakaofo",n.PacificFiji="pacific/fiji",n.PacificFunafuti="pacific/funafuti",n.PacificGalapagos="pacific/galapagos",n.PacificGambier="pacific/gambier",n.PacificGuadalcanal="pacific/guadalcanal",n.PacificGuam="pacific/guam",n.PacificHonolulu="pacific/honolulu",n.PacificKanton="pacific/kanton",n.PacificKiritimati="pacific/kiritimati",n.PacificKosrae="pacific/kosrae",n.PacificKwajalein="pacific/kwajalein",n.PacificMajuro="pacific/majuro",n.PacificMarquesas="pacific/marquesas",n.PacificMidway="pacific/midway",n.PacificNauru="pacific/nauru",n.PacificNiue="pacific/niue",n.PacificNorfolk="pacific/norfolk",n.PacificNoumea="pacific/noumea",n.PacificPagoPago="pacific/pago_pago",n.PacificPalau="pacific/palau",n.PacificPitcairn="pacific/pitcairn",n.PacificPohnpei="pacific/pohnpei",n.PacificPortMoresby="pacific/port_moresby",n.PacificRarotonga="pacific/rarotonga",n.PacificSaipan="pacific/saipan",n.PacificTahiti="pacific/tahiti",n.PacificTarawa="pacific/tarawa",n.PacificTongatapu="pacific/tongatapu",n.PacificWake="pacific/wake",n.PacificWallis="pacific/wallis",n.Utc="utc"})(Ft||(Ft={}));var ei;(function(n){n.Geolocation="geolocation",n.Camera="camera",n.Microphone="microphone",n.Notifications="notifications",n.Midi="midi",n.Push="push",n.Clipboardread="clipboard-read",n.Clipboardwrite="clipboard-write",n.Paymenthandler="payment-handler",n.Usb="usb",n.Bluetooth="bluetooth",n.Accelerometer="accelerometer",n.Gyroscope="gyroscope",n.Magnetometer="magnetometer",n.Ambientlightsensor="ambient-light-sensor",n.Backgroundsync="background-sync",n.Persistentstorage="persistent-storage",n.Screenwakelock="screen-wake-lock",n.Webshare="web-share",n.Xrspatialtracking="xr-spatial-tracking"})(ei||(ei={}));var ti;(function(n){n.Jpg="jpg",n.Jpeg="jpeg",n.Png="png",n.Webp="webp",n.Heic="heic",n.Avif="avif",n.Gif="gif"})(ti||(ti={}));var ii;(function(n){n.GET="GET",n.POST="POST",n.PUT="PUT",n.PATCH="PATCH",n.DELETE="DELETE",n.OPTIONS="OPTIONS",n.HEAD="HEAD"})(ii||(ii={}));var ni;(function(n){n.Auto="auto",n.Center="center",n.Topleft="top-left",n.Top="top",n.Topright="top-right",n.Left="left",n.Right="right",n.Bottomleft="bottom-left",n.Bottom="bottom",n.Bottomright="bottom-right"})(ni||(ni={}));var oi;(function(n){n.Functions="functions",n.Sites="sites"})(oi||(oi={}));var ai;(function(n){n.Http="http",n.Schedule="schedule",n.Event="event"})(ai||(ai={}));var si;(function(n){n.Waiting="waiting",n.Processing="processing",n.Completed="completed",n.Failed="failed",n.Scheduled="scheduled"})(si||(si={}));const vo=Object.freeze(Object.defineProperty({__proto__:null,Account:Gt,AppwriteException:h,get AuthenticationFactor(){return Jt},get AuthenticatorType(){return Yt},Avatars:Ki,get Browser(){return Qt},get BrowserPermission(){return ei},get BrowserTheme(){return Ot},Channel:ke,Client:Ae,get Condition(){return Kt},get CreditCard(){return Tt},Databases:so,DocumentsDB:ro,get ExecutionMethod(){return ii},get ExecutionResourceType(){return oi},get ExecutionStatus(){return si},get ExecutionTrigger(){return ai},get Flag(){return zt},Functions:co,Graphql:lo,ID:He,get ImageFormat(){return ti},get ImageGravity(){return ni},Locale:uo,Messaging:po,get OAuthProvider(){return Zt},Operator:Q,Organization:ho,Permission:tt,Presences:fo,Query:C,Realtime:wo,Role:bo,Storage:go,TablesDB:yo,Teams:Yi,get Timezone(){return Ft},VectorsDB:mo},Symbol.toStringTag,{value:"Module"})),Ji={signIn:"Sign in",dialogSignIn:"Sign in",signUp:"Sign up",signOut:"Sign out",continueAsGuest:"Continue as guest",email:"Email",password:"Password",showPassword:"Show password",hidePassword:"Hide password",newPassword:"New password",confirmPassword:"Confirm password",name:"Name",phone:"Phone number",code:"Code",forgotPassword:"Forgot password?",noAccount:"Don't have an account?",haveAccount:"Already have an account?",or:"or",continueWith:"Continue with {provider}",continueWithEmail:"Continue with email",sendEmailCode:"Email me a code",continueWithPhone:"Continue with phone",sendMagicLink:"Send magic link",sendCode:"Send code",resendCode:"Resend code",useDifferentEmail:"Use a different email",useDifferentPhone:"Use a different phone number",verifyCode:"Verify code",magicLinkSent:"We sent a sign-in link to {email}. Open it on this device to continue.",codeSent:"We sent a code to {target}. Enter it below to continue.",securityPhrase:"Security phrase",securityPhraseHint:"The message we sent includes this phrase. Do not continue if it differs.",back:"Back",cancel:"Cancel",save:"Save",update:"Update",remove:"Remove",close:"Close",resetPassword:"Reset password",resetLinkSent:"If an account exists for {email}, a reset link is on its way.",passwordUpdated:"Your password was updated. You can sign in now.",passwordChanged:"Your password was updated.",sendResetLink:"Send reset link",requestNewLink:"Request a new link",agreeTo:"By continuing you agree to our",terms:"Terms of Service",privacy:"Privacy Policy",and:"and",welcomeBack:"Welcome back",createAccount:"Create your account",signInTitle:"Sign in to {name}",signUpTitle:"Sign up for {name}",mfaTitle:"Two-factor authentication",mfaDescription:"Confirm it is you with a second factor.",mfaUseAuthenticator:"Use authenticator app",mfaUseEmail:"Send code to email",mfaUsePhone:"Send code by SMS",mfaUseRecoveryCode:"Use a recovery code",recoveryCode:"Recovery code",account:"Account",profile:"Profile",security:"Security",sessions:"Sessions",connections:"Connections",activity:"Activity",dangerZone:"Danger zone",verified:"Verified",unverified:"Unverified",verifyEmail:"Verify email",verificationResendIn:"Sent. You can resend in {seconds} s",verificationSent:"Verification email sent. Check your inbox.",emailVerified:"Your email is verified.",changePassword:"Change password",currentPassword:"Current password",twoFactor:"Two-factor authentication",mfaBadge:"MFA",twoFactorDescription:"Require a second factor when signing in to this account.",mfaNoFactorWarning:"Two-factor authentication is on, but no factors are set up yet. Add an authenticator, or verify your email or phone. Without a factor, this setting does not protect the account.",enable:"Enable",disable:"Disable",authenticatorApp:"Authenticator app",authenticatorAdd:"Add authenticator",authenticatorScan:"Scan this QR code with your authenticator app, then enter the 6-digit code.",qrCodeAlt:"QR code",authenticatorManual:"Or enter this key manually",authenticatorCopyKey:"Copy key",authenticatorVerify:"Verify and enable",recoveryCodes:"Recovery codes",viewRecoveryCodes:"View recovery codes",recoveryCodesDescription:"Use a recovery code to sign in if you lose access to your other factors.",recoveryCodesOnceHint:"Recovery codes can be viewed only once after they are generated. Viewing them again requires a recent second factor.",generateRecoveryCodes:"Generate recovery codes",regenerateRecoveryCodes:"Regenerate",recoveryCodesWarning:"Store these codes somewhere safe. Each code works once.",currentSession:"This device",signOutSession:"Sign out",signOutAllSessions:"Sign out everywhere",signOutAllSessionsDescription:"End every session, including this one.",noConnections:"No connected accounts.",noConnectionsDescription:"Link an OAuth provider to sign in faster next time.",disconnect:"Disconnect",connectProvider:"Connect {provider}",noActivity:"No recent activity.",noActivityDescription:"Security events for this account will appear here.",noSessions:"No active sessions.",noSessionsDescription:"Active sessions will show up here once you sign in on a device.",deleteAccount:"Delete account",deleteAccountDescription:"Deleting disables your account and signs you out everywhere. An administrator can restore it.",deleteAccountConfirm:"Delete my account",loading:"Loading",copied:"Copied",copyFailed:"Could not copy. Select the text and copy it manually.",copy:"Copy",done:"Done",nameUpdated:"Name updated.",emailUpdated:"Email updated. Verify the new address.",phoneUpdated:"Phone number updated.",phoneVerified:"Phone verified.",authenticatorAdded:"Authenticator added.",accountConverted:"Account created.",enabled:"Enabled",disabled:"Disabled",createPassword:"Create a password",createPasswordHint:"This becomes your sign-in password.",errorCurrentPassword:"Current password is incorrect.",errorGeneric:"Something went wrong. Please try again.",errorInvalidCredentials:"Invalid email or password.",errorInvalidEmail:"Enter a valid email address.",errorInvalidPassword:"Password must be between 8 and 256 characters.",errorInvalidPhone:"Enter a phone number in E.164 format, starting with +.",errorInvalidName:"Enter a name.",errorUserExists:"An account with this email already exists.",errorUserBlocked:"This account is blocked. Contact support.",errorRateLimit:"Too many attempts. Wait a moment and try again.",errorInvalidToken:"This link is invalid or has expired. Request a new one.",errorInvalidCode:"That code is not valid. Check it and try again.",errorPasswordMismatch:"Passwords do not match.",errorPasswordRecentlyUsed:"You used this password recently. Choose a different one.",errorPasswordPersonalData:"Password must not contain your name, email or phone.",errorPasswordWeak:"Password is too common or too short. Use at least 8 characters.",errorPasswordPwned:"This password appeared in a data breach. Choose a different one.",errorChallengeRequired:"Confirm a second factor to continue.",errorSessionExists:"You are already signed in.",errorOAuth:"Sign in with the provider failed. Please try again.",errorNetwork:"Could not reach the server. Check your connection.",errorMethodDisabled:"This sign-in method is disabled for this project.",errorNotConfigured:"Auth UI is not configured. Call AuthUI.init() or add <authui-config>.",errorConfigIncomplete:"Auth UI is missing endpoint or project. Set them on <authui-config> or pass them to AuthUI.init().",errorConfig:"Auth UI cannot reach this Appwrite project. Check that endpoint ends with /v1, the project ID is correct, and this hostname is registered as a Web platform.",errorConfigEndpoint:"Check that endpoint ends with /v1. Appwrite API URLs look like https://cloud.appwrite.io/v1.",passwordHint:"At least 8 characters.",passwordStrengthLabel:"Password strength",passwordStrengthTooWeak:"Too weak",passwordStrengthWeak:"Weak",passwordStrengthFair:"Fair",passwordStrengthStrong:"Strong",passwordStrengthVeryStrong:"Very strong",lastUsed:"Last used",teamsLabel:"Teams",noTeams:"You are not on any teams yet.",activeTeam:"Active",signedInAs:"Signed in as",manageAccount:"Manage account",dialogAccount:"Account",continue:"Continue",provider:"Provider",lastActive:"Last active",guestAccount:"Guest account",guestAccountDescription:"Add an email and password to keep your data.",preview:"Preview",acceptLegal:"I agree to the",errorLegalRequired:"Accept the terms to continue."};function Io(n,e={}){return n.replace(/\{(\w+)\}/g,(i,t)=>t in e?String(e[t]):`{${t}}`)}const Ao={amazon:"Amazon",apple:"Apple",appwrite:"Appwrite",auth0:"Auth0",authentik:"Authentik",autodesk:"Autodesk",bitbucket:"Bitbucket",bitly:"Bitly",box:"Box",cloudflare:"Cloudflare",dailymotion:"Dailymotion",discord:"Discord",disqus:"Disqus",dropbox:"Dropbox",etsy:"Etsy",facebook:"Facebook",figma:"Figma",fusionauth:"FusionAuth",github:"GitHub",gitlab:"GitLab",google:"Google",huggingface:"Hugging Face",kakao:"Kakao",keycloak:"Keycloak",kick:"Kick",linkedin:"LinkedIn",microsoft:"Microsoft",notion:"Notion",oidc:"OpenID Connect",okta:"Okta",paypal:"PayPal",paypalSandbox:"PayPal Sandbox",podio:"Podio",resend:"Resend",salesforce:"Salesforce",slack:"Slack",spotify:"Spotify",stripe:"Stripe",tiktok:"TikTok",tradeshift:"Tradeshift",tradeshiftBox:"Tradeshift Box",twitch:"Twitch",wordpress:"WordPress",x:"X",yahoo:"Yahoo",yammer:"Yammer",yandex:"Yandex",zoho:"Zoho",zoom:"Zoom"};function it(n){return Ao[n]??n.charAt(0).toUpperCase()+n.slice(1)}const jt=(n,e,i=401)=>Object.assign(new Error(e),{type:n,code:i}),Pe=()=>new Date().toISOString(),Re=n=>new Date(Date.now()-n*6e4).toISOString(),Pt=["amber","brave","calm","delta","ember","fable","glide","harbor","ivory","juniper","kite","lumen"],Zi=()=>`${Pt[Math.floor(Math.random()*Pt.length)]}-${Pt[Math.floor(Math.random()*Pt.length)]}`,nt=()=>Math.random().toString(36).slice(2,12),Qi=()=>Array.from({length:2},()=>Math.random().toString(36).slice(2,7)).join("-"),ko={name:"Ada Lovelace",email:"ada@example.com",phone:"+15550100"};class Ti{constructor(e=ko){this.seed=e,this.user=null,this.mfaPending=!1,this.mfaEnabled=!1,this.totpEnrolled=!1,this.recoveryCodes=[],this.lastChallenge=0,this.sessions=[],this.identities=[],this.logs=[],this.tokens=new Map,this.pendingAuthenticator=null}makeUser(e={}){const i=e.anonymous??!1;return this.user={$id:"preview-user",$createdAt:Re(43200),$updatedAt:Pe(),name:i?"":e.name??this.seed.name,registration:Re(43200),status:!0,labels:[],passwordUpdate:i?"":Re(10080),email:i?"":e.email??this.seed.email,phone:i?"":e.phone??this.seed.phone,emailVerification:!i,phoneVerification:!1,mfa:this.mfaEnabled,prefs:{},targets:[],accessedAt:Pe()},this.seedActivity(i?"anonymous":"email"),this.user}seedActivity(e){if(this.sessions.length>0)return;const i={$createdAt:Pe(),$updatedAt:Pe(),userId:"preview-user",expire:new Date(Date.now()+365*864e5).toISOString(),providerUid:"",providerAccessToken:"",providerAccessTokenExpiry:"",providerRefreshToken:"",clientType:"browser",clientCode:"CH",clientEngine:"Blink",clientEngineVersion:"128",deviceName:"desktop",deviceBrand:"",deviceModel:"",factors:["password"],secret:"",mfaUpdatedAt:""};this.sessions=[{...i,$id:"current",provider:e,ip:"203.0.113.24",osCode:"MAC",osName:"macOS",osVersion:"15",clientName:"Chrome",clientVersion:"128",countryCode:"de",countryName:"Germany",current:!0},{...i,$id:nt(),$createdAt:Re(300),provider:e,ip:"198.51.100.7",osCode:"IOS",osName:"iOS",osVersion:"18",clientName:"Safari",clientVersion:"18",clientType:"browser",deviceName:"smartphone",countryCode:"de",countryName:"Germany",current:!1},{...i,$id:nt(),$createdAt:Re(4320),provider:"oauth2",ip:"192.0.2.90",osCode:"WIN",osName:"Windows",osVersion:"11",clientName:"Firefox",clientVersion:"130",countryCode:"us",countryName:"United States",current:!1}],this.identities=[{$id:"identity-github",$createdAt:Re(28800),$updatedAt:Re(28800),userId:"preview-user",provider:"github",providerUid:"8675309",providerEmail:this.seed.email,providerAccessToken:"",providerAccessTokenExpiry:"",providerRefreshToken:""}],this.logs=[{event:"session.create",time:Pe(),clientName:"Chrome",osName:"macOS",countryName:"Germany",ip:"203.0.113.24"},{event:"user.update.name",time:Re(2880),clientName:"Safari",osName:"iOS",countryName:"Germany",ip:"198.51.100.7"},{event:"session.create",time:Re(4320),clientName:"Firefox",osName:"Windows",countryName:"United States",ip:"192.0.2.90"}]}requireUser(){if(!this.user)throw jt("general_unauthorized_scope","User (role: guests) missing scope (account)");if(this.mfaPending)throw jt("user_more_factors_required","More factors are required to complete the sign in process.");return this.user}requireRecentChallenge(){if(Date.now()-this.lastChallenge>18e5)throw jt("user_challenge_required","A recently successful challenge is required to complete this action.")}afterPrimarySignIn(){const e=this.totpEnrolled||this.user?.emailVerification;this.mfaPending=!!(this.user?.mfa&&e)}async delay(e,i=150){return await new Promise(t=>setTimeout(t,i)),typeof e=="function"?e():e}signInDirectly(){this.user||this.makeUser(),this.mfaPending=!1}async get(){return this.delay(()=>this.requireUser(),120)}async create(e,i,t,o){return this.delay(()=>this.makeUser({email:i,name:o||i.split("@")[0]}))}async createEmailPasswordSession(e){return this.delay(()=>((!this.user||this.user.email!==e)&&this.makeUser({email:e,name:this.user?.name||this.seed.name}),this.afterPrimarySignIn(),this.sessions[0]))}async createAnonymousSession(){return this.delay(()=>(this.makeUser({anonymous:!0}),this.mfaPending=!1,this.sessions[0]))}async createOAuth2Token(e){return this.delay(()=>{this.makeUser({email:`ada@${e}.example`,name:this.seed.name}),this.afterPrimarySignIn()},800)}async createMagicURLToken(e,i){return this.tokens.set(e,{email:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:Zi()})}async createEmailToken(e,i){return this.tokens.set(e,{email:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:Zi()})}async createPhoneToken(e,i){return this.tokens.set(e,{phone:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:""})}async createSession(e){return this.delay(()=>{const i=this.tokens.get(e)??{};return this.makeUser({email:i.email??this.seed.email,phone:i.phone??this.seed.phone}),i.phone&&(this.user.phoneVerification=!0),this.afterPrimarySignIn(),this.sessions[0]})}async createRecovery(){return this.delay({})}async updateRecovery(){return this.delay({})}async createEmailVerification(){return this.delay({})}async updateEmailVerification(){return this.delay(()=>(this.user&&(this.user.emailVerification=!0),{}))}async createPhoneVerification(){return this.delay({})}async updatePhoneVerification(){return this.delay(()=>(this.user&&(this.user.phoneVerification=!0),{}))}async getPrefs(){return this.delay(()=>({...this.requireUser().prefs}))}async updatePrefs(e){return this.delay(()=>{const i=this.requireUser();return i.prefs={...e},i})}async updateName(e){return this.delay(()=>(this.requireUser().name=e,this.user))}async updateEmail(e){return this.delay(()=>{const i=this.requireUser();return i.email=e,i.emailVerification=!1,i.passwordUpdate=Pe(),i})}async updatePhone(e){return this.delay(()=>{const i=this.requireUser();return i.phone=e,i.phoneVerification=!1,i})}async updatePassword(){return this.delay(()=>{const e=this.requireUser();return e.passwordUpdate=Pe(),e})}async updateStatus(){return this.delay(()=>(this.requireUser(),this.reset(),this.mfaEnabled=!1,this.totpEnrolled=!1,this.recoveryCodes=[],{}))}async listSessions(){return this.delay(()=>(this.requireUser(),{total:this.sessions.length,sessions:this.sessions}))}async deleteSession(e="current"){return this.delay(()=>{const i=this.sessions.find(t=>t.$id===e);return e==="current"||i?.current?this.reset():this.sessions=this.sessions.filter(t=>t.$id!==e),{}})}async deleteSessions(){return this.delay(()=>(this.reset(),{}))}async listIdentities(){return this.delay(()=>(this.requireUser(),{total:this.identities.length,identities:this.identities}))}async deleteIdentity(e){return this.delay(()=>(this.identities=this.identities.filter(i=>i.$id!==e),{}))}async listLogs(){return this.delay(()=>(this.requireUser(),{total:this.logs.length,logs:this.logs}))}async listMFAFactors(){return this.delay({totp:this.totpEnrolled,email:!!this.user?.emailVerification,phone:!!this.user?.phoneVerification,recoveryCode:this.recoveryCodes.length>0,custom:!1})}async createMFAChallenge(){return this.delay({$id:nt(),$createdAt:Pe(),userId:"preview-user",expire:""})}async updateMFAChallenge(){return this.delay(()=>(this.mfaPending=!1,this.lastChallenge=Date.now(),this.sessions[0]))}async updateMFA(e){return this.delay(()=>{const i=this.requireUser();return this.mfaEnabled=e,i.mfa=e,i})}async createMFAAuthenticator(){return this.delay(()=>{const e="JBSWY3DPEHPK3PXP";return this.pendingAuthenticator={secret:e,uri:`otpauth://totp/Preview:${encodeURIComponent(this.user?.email??"user")}?secret=${e}&issuer=Preview`},this.pendingAuthenticator})}async updateMFAAuthenticator(){return this.delay(()=>(this.totpEnrolled=!0,this.pendingAuthenticator=null,this.lastChallenge=Date.now(),this.requireUser()))}async deleteMFAAuthenticator(){return this.delay(()=>(this.requireRecentChallenge(),this.totpEnrolled=!1,{}))}async createMFARecoveryCodes(){return this.delay(()=>{if(this.recoveryCodes.length>0)throw jt("user_recovery_codes_already_exists","Recovery codes already generated.",409);return this.recoveryCodes=Array.from({length:6},Qi),{recoveryCodes:this.recoveryCodes}})}async getMFARecoveryCodes(){return this.delay(()=>(this.requireRecentChallenge(),{recoveryCodes:this.recoveryCodes}))}async updateMFARecoveryCodes(){return this.delay(()=>(this.requireRecentChallenge(),this.recoveryCodes=Array.from({length:6},Qi),{recoveryCodes:this.recoveryCodes}))}reset(){this.user=null,this.mfaPending=!1,this.sessions=[],this.identities=[],this.logs=[],this.tokens.clear()}}function So(n){let e=2166136261;const i=()=>(e^=e<<13,e^=e>>>17,e^=e<<5,(e>>>0)/4294967296);for(const r of n)e=(e^r.charCodeAt(0))*16777619;const t=25;let o="";const a=(r,d)=>`<rect x="${r}" y="${d}" width="7" height="7"/><rect x="${r+1}" y="${d+1}" width="5" height="5" fill="#fff"/><rect x="${r+2}" y="${d+2}" width="3" height="3"/>`;for(let r=0;r<t;r++)for(let d=0;d<t;d++)!(d<8&&r<8||d>=t-8&&r<8||d<8&&r>=t-8)&&i()<.45&&(o+=`<rect x="${d}" y="${r}" width="1" height="1"/>`);const s=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t} ${t}" shape-rendering="crispEdges"><rect width="${t}" height="${t}" fill="#fff"/><g fill="#000">${a(0,0)}${a(t-7,0)}${a(0,t-7)}${o}</g></svg>`;return`data:image/svg+xml;utf8,${encodeURIComponent(s)}`}const ee={moreFactorsRequired:"user_more_factors_required",invalidCredentials:"user_invalid_credentials",userAlreadyExists:"user_already_exists",emailAlreadyExists:"user_email_already_exists",phoneAlreadyExists:"user_phone_already_exists",userBlocked:"user_blocked",rateLimit:"general_rate_limit_exceeded",invalidToken:"user_invalid_token",invalidCode:"user_invalid_code",passwordMismatch:"user_password_mismatch",passwordRecentlyUsed:"password_recently_used",passwordPersonalData:"password_personal_data",passwordWeak:"user_password_weak",passwordPwned:"password_pwned",challengeRequired:"user_challenge_required",recoveryCodesExist:"user_recovery_codes_already_exists",recoveryCodesNotFound:"user_recovery_codes_not_found",authenticatorNotFound:"user_authenticator_not_found",routeNotFound:"general_route_not_found",projectNotFound:"project_not_found",unknownOrigin:"general_unknown_origin",emailAlreadyVerified:"user_email_already_verified",sessionNotFound:"user_session_not_found",wafChallenged:"waf_request_challenged",sessionAlreadyExists:"user_session_already_exists",oauthUnauthorized:"user_oauth2_unauthorized",oauthBadRequest:"user_oauth2_bad_request",unauthorized:"general_unauthorized_scope",userUnauthorized:"user_unauthorized",authMethodUnsupported:"user_auth_method_unsupported",countMaxExceeded:"user_count_exceeded",targetAlreadyExists:"user_target_already_exists",argumentInvalid:"general_argument_invalid"};function Ze(n){if(n&&typeof n=="object"){const e=n;let i=typeof e.message=="string"?e.message:"Unknown error";return/^\s*<(!doctype|html)/i.test(i)&&(i=""),{message:i,type:typeof e.type=="string"?e.type:"",code:typeof e.code=="number"?e.code:0}}return{message:String(n),type:"",code:0}}function pt(n,e){return Ze(n).type===e}function ht(n,e,i="link"){const t=Ze(n);switch(t.type){case ee.invalidCredentials:return i==="password"?e.errorCurrentPassword:e.errorInvalidCredentials;case ee.userAlreadyExists:case ee.emailAlreadyExists:case ee.phoneAlreadyExists:return e.errorUserExists;case ee.userBlocked:return e.errorUserBlocked;case ee.rateLimit:return e.errorRateLimit;case ee.invalidToken:return i==="code"?e.errorInvalidCode:e.errorInvalidToken;case ee.invalidCode:return e.errorInvalidCode;case ee.passwordMismatch:return e.errorPasswordMismatch;case ee.passwordRecentlyUsed:return e.errorPasswordRecentlyUsed;case ee.passwordPersonalData:return e.errorPasswordPersonalData;case ee.passwordWeak:return e.errorPasswordWeak;case ee.passwordPwned:return e.errorPasswordPwned;case ee.challengeRequired:return e.errorChallengeRequired;case ee.sessionAlreadyExists:return e.errorSessionExists;case ee.oauthUnauthorized:case ee.oauthBadRequest:return e.errorOAuth;case ee.authMethodUnsupported:return e.errorMethodDisabled}if(t.type===ee.argumentInvalid||/Invalid `\w+` param/i.test(t.message)){const o=t.message.match(/Invalid `([^`]+)` param/i)?.[1]?.toLowerCase();return o==="email"?e.errorInvalidEmail:o==="password"?e.errorInvalidPassword:o==="phone"?e.errorInvalidPhone:o==="name"?e.errorInvalidName:e.errorGeneric}return t.type===ee.projectNotFound||t.type===ee.unknownOrigin?e.errorConfig:t.type===ee.routeNotFound?e.errorConfigEndpoint:t.code===0&&/fetch|network/i.test(t.message)?e.errorNetwork:/Invalid `\w+` param/i.test(t.message)?e.errorGeneric:t.message?t.message||e.errorGeneric:t.code===404||t.type===ee.routeNotFound?e.errorConfigEndpoint:e.errorGeneric}function zi(n){const e=Ze(n);return!!(e.type===ee.projectNotFound||e.type===ee.unknownOrigin||e.type===ee.routeNotFound||!e.message&&e.code===404||e.code===0&&/fetch|network|load failed|failed to fetch/i.test(e.message))}const ri=n=>`authui:active-team:${n}`;function ci(n){if(typeof localStorage>"u"||!n)return null;try{return localStorage.getItem(ri(n))}catch{return null}}function Oi(n,e){if(!(typeof localStorage>"u"||!n))try{e?localStorage.setItem(ri(n),e):localStorage.removeItem(ri(n))}catch{}}const di="authui:last-method";function Qe(n){if(!(typeof localStorage>"u")){if(!n||n==="mfa"||n==="sign-up")if(n==="sign-up")n="email-password";else return;try{localStorage.setItem(di,n)}catch{}}}function Te(){if(typeof localStorage>"u")return null;try{return localStorage.getItem(di)}catch{return null}}function $o(){if(!(typeof localStorage>"u"))try{localStorage.removeItem(di)}catch{}}const Ct="authui:pending-oauth";function Fi(n){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(Ct,n)}catch{}}function li(){if(!(typeof sessionStorage>"u"))try{const n=sessionStorage.getItem(Ct);sessionStorage.removeItem(Ct),n&&Qe(`oauth:${n}`)}catch{}}function ui(){if(!(typeof sessionStorage>"u"))try{sessionStorage.removeItem(Ct)}catch{}}function Se(n,e,i){for(const t of e){const o=n[t];if(typeof o=="function")return o.apply(n,i)}return Promise.reject(new Error(`Appwrite SDK is missing ${e[0]}(). Update the appwrite package.`))}const pi="authui",en=["userId","secret","expire","project","error",pi],tn=()=>({status:"loading",user:null,mfaFactors:null,pending:null,configured:!1,configError:null});class nn{constructor(){this.client=null,this.account=null,this.config=null,this.state=tn(),this.listeners=new Map,this.refreshPromise=null,this.preview=null,this.teams=null,this.activeTeamId=null}configure(e){const i=e.endpoint.trim().replace(/\/+$/,"");i&&!i.endsWith("/v1")&&console.warn(`[authui] endpoint should end with /v1 (got "${e.endpoint}"). Without it Appwrite returns HTML 404 pages.`),this.config=e,this.client=new Ae().setEndpoint(e.endpoint).setProject(e.project),this.preview=e.preview?new Ti:null,this.account=this.preview?this.preview:new Gt(this.client),this.teams=null,this.activeTeamId=ci(e.project),this.setState({configured:!0,status:"loading",configError:null}),this.preview?this.refresh():typeof window<"u"&&this.handleRedirect().then(()=>this.refresh())}notifyConfigIncomplete(){if(this.config)return;const e=this.getStrings().errorConfigIncomplete;console.warn(`[authui] ${e}`),this.setState({status:"signed-out",user:null,mfaFactors:null,configured:!1,configError:e,pending:{type:"notice",tone:"error",message:e}})}get isConfigured(){return this.config!==null}get isPreview(){return this.preview!==null}async previewSignIn(){this.preview&&(this.preview.signInDirectly(),await this.refresh())}getConfig(){return this.config}getClient(){return this.client}getAccount(){return this.account}async listTeams(){if(this.preview||!this.client||this.state.status!=="signed-in")return[];this.teams??=new Yi(this.client);try{return(await this.teams.list()).teams??[]}catch(e){this.fail(e)}}getActiveTeamId(){if(this.activeTeamId)return this.activeTeamId;const e=this.config?.project;return e?(this.activeTeamId=ci(e),this.activeTeamId):null}setActiveTeam(e){const i=this.config?.project;i&&Oi(i,e?.$id??null),this.activeTeamId=e?.$id??null,this.emit("active-team",{teamId:this.activeTeamId,team:e})}getStrings(){return{...Ji,...this.config?.strings??{}}}getState(){return{...this.state}}get user(){return this.state.user}on(e,i){let t=this.listeners.get(e);return t||(t=new Set,this.listeners.set(e,t)),t.add(i),()=>t.delete(i)}emit(e,i){this.listeners.get(e)?.forEach(t=>{try{t(i)}catch(o){console.error("[authui] listener failed",o)}}),typeof window<"u"&&window.dispatchEvent(new CustomEvent(`authui:${e}`,{detail:i}))}setState(e){this.state={...this.state,...e},this.emit("change",this.getState())}fail(e){const i=Ze(e);throw this.emit("error",i),e}acct(){if(!this.account)throw new Error(this.getStrings().errorNotConfigured);return this.account}refresh(){return this.refreshPromise?this.refreshPromise:(this.refreshPromise=(async()=>{if(!this.account){this.setState({status:"signed-out",user:null,mfaFactors:null});return}const e=this.state.status==="signed-in";try{const i=await this.account.get();this.setState({status:"signed-in",user:i,mfaFactors:null,configError:null}),e||this.emit("signed-in",i)}catch(i){if(pt(i,ee.moreFactorsRequired)){let t=null;try{t=await Se(this.account,["listMFAFactors","listMfaFactors"],[])}catch{}this.setState({status:"mfa-required",user:null,mfaFactors:t})}else if(pt(i,ee.userBlocked))await this.purgeLocalSession(),this.setState({status:"signed-out",user:null,mfaFactors:null,pending:{type:"notice",tone:"error",message:this.getStrings().errorUserBlocked}}),e&&this.emit("signed-out",void 0);else if(!e&&zi(i)){const o=ht(i,this.getStrings())||this.getStrings().errorConfig;console.warn(`[authui] ${o} (endpoint=${this.config?.endpoint??"?"}, project=${this.config?.project??"?"})`);const a=Ze(i);this.emit("error",{message:o,type:a.type,code:a.code}),this.setState({status:"signed-out",user:null,mfaFactors:null,configError:o,pending:{type:"notice",tone:"error",message:o}})}else this.setState({status:"signed-out",user:null,mfaFactors:null,configError:null}),e&&this.emit("signed-out",void 0)}})().finally(()=>{this.refreshPromise=null}),this.refreshPromise)}async afterSignIn(){if(await this.refresh(),this.state.status!=="signed-in"&&this.state.status!=="mfa-required"){const i=this.state.pending;if(i?.type==="notice"&&i.tone==="error")throw Object.assign(new Error(i.message),{type:ee.userBlocked,code:401})}const e=this.config?.successUrl;e&&this.state.status==="signed-in"&&typeof window<"u"&&window.location.assign(e)}async purgeLocalSession(){try{await this.account?.deleteSession("current")}catch{}try{this.client?.setSession("")}catch{}if(typeof localStorage<"u")try{localStorage.removeItem("cookieFallback")}catch{}this.config&&!this.preview&&(this.client=new Ae().setEndpoint(this.config.endpoint).setProject(this.config.project),this.account=new Gt(this.client))}async signInWithEmailPassword(e,i){try{await this.acct().createEmailPasswordSession(e.trim(),i)}catch(t){this.fail(t)}await this.afterSignIn()}async signUp(e,i,t){try{await this.acct().create(He.unique(),e.trim(),i,t?.trim()||void 0),await this.acct().createEmailPasswordSession(e.trim(),i)}catch(o){this.fail(o)}await this.afterSignIn()}async signInAnonymously(){try{await this.acct().createAnonymousSession()}catch(e){this.fail(e)}await this.afterSignIn()}async signInWithOAuth(e){const i=this.config?.oauthScopes?.[e];let t;try{t=this.acct().createOAuth2Token(e,this.redirectUrl("oauth"),this.redirectUrl("oauth-failed"),i)}catch(o){this.fail(o)}if(t&&typeof t.then=="function"){try{await t}catch(o){this.fail(o)}await this.afterSignIn()}}async sendMagicUrl(e){try{return await this.acct().createMagicURLToken(He.unique(),e.trim(),this.redirectUrl("magic-url"),this.config?.securityPhrase??!0)}catch(i){return this.fail(i)}}async sendEmailOtp(e){try{return await this.acct().createEmailToken(He.unique(),e.trim(),this.config?.securityPhrase??!0)}catch(i){return this.fail(i)}}async sendPhoneOtp(e){try{return await this.acct().createPhoneToken(He.unique(),e.replace(/[\s()-]/g,""))}catch(i){return this.fail(i)}}async signInWithToken(e,i){try{await this.acct().createSession(e,i.trim())}catch(t){this.fail(t)}await this.afterSignIn()}async createMfaChallenge(e){try{return await Se(this.acct(),["createMFAChallenge","createMfaChallenge"],[e])}catch(i){return this.fail(i)}}async completeMfaChallenge(e,i,t={}){try{await Se(this.acct(),["updateMFAChallenge","updateMfaChallenge"],[e,i.trim()])}catch(o){this.fail(o)}(t.signIn??!0)&&await this.afterSignIn()}async listMfaFactors(){try{return await Se(this.acct(),["listMFAFactors","listMfaFactors"],[])}catch(e){return this.fail(e)}}async setMfaEnabled(e){try{await this.acct().updateMFA(e)}catch(i){this.fail(i)}await this.refresh()}async addAuthenticator(){try{return await Se(this.acct(),["createMFAAuthenticator","createMfaAuthenticator"],["totp"])}catch(e){return this.fail(e)}}async verifyAuthenticator(e){try{await Se(this.acct(),["updateMFAAuthenticator","updateMfaAuthenticator"],["totp",e.trim()])}catch(i){this.fail(i)}await this.refresh()}async removeAuthenticator(){try{await Se(this.acct(),["deleteMFAAuthenticator","deleteMfaAuthenticator"],["totp"])}catch(e){this.fail(e)}await this.refresh()}async createRecoveryCodes(){try{return(await Se(this.acct(),["createMFARecoveryCodes","createMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async regenerateRecoveryCodes(){try{return(await Se(this.acct(),["updateMFARecoveryCodes","updateMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async getRecoveryCodes(){try{return(await Se(this.acct(),["getMFARecoveryCodes","getMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async sendPasswordRecovery(e){try{await this.acct().createRecovery(e.trim(),this.redirectUrl("recovery"))}catch(i){this.fail(i)}}async completePasswordRecovery(e,i,t){try{await this.acct().updateRecovery(e,i,t)}catch(o){this.fail(o)}this.setState({pending:null})}async signOut(e="current"){try{await this.acct().deleteSession(e)}catch(i){this.fail(i)}if(e==="current"){this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0);return}try{await this.acct().get()}catch{this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}}async signOutEverywhere(){try{await this.acct().deleteSessions()}catch(e){this.fail(e)}this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}async listSessions(){try{return(await this.acct().listSessions()).sessions}catch(e){return this.fail(e)}}async listIdentities(){try{return(await this.acct().listIdentities()).identities}catch(e){return this.fail(e)}}async deleteIdentity(e){try{await this.acct().deleteIdentity(e)}catch(i){this.fail(i)}}async listLogs(){try{return(await this.acct().listLogs()).logs}catch(e){return this.fail(e)}}async updateName(e){try{await this.acct().updateName(e.trim())}catch(i){this.fail(i)}await this.refresh()}async updateEmail(e,i){try{await this.acct().updateEmail(e.trim(),i)}catch(t){this.fail(t)}await this.refresh()}async updatePhone(e,i){try{await this.acct().updatePhone(e.replace(/[\s()-]/g,""),i)}catch(t){this.fail(t)}await this.refresh()}async updatePassword(e,i){try{await this.acct().updatePassword(e,i||void 0)}catch(t){this.fail(t)}await this.refresh()}async convertGuest(e,i,t){try{await this.acct().updateEmail(e.trim(),i),t?.trim()&&await this.acct().updateName(t.trim())}catch(o){this.fail(o)}await this.refresh()}async sendEmailVerification(){try{await Se(this.acct(),["createEmailVerification","createVerification"],[this.redirectUrl("verify-email")])}catch(e){this.fail(e)}}async sendPhoneVerification(){try{await this.acct().createPhoneVerification()}catch(e){this.fail(e)}}async confirmPhoneVerification(e){const i=this.state.user?.$id;if(i){try{await this.acct().updatePhoneVerification(i,e.trim())}catch(t){this.fail(t)}await this.refresh()}}async deleteAccount(){try{await this.acct().updateStatus()}catch(e){this.fail(e)}this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}redirectUrl(e){const i=this.config?.redirectUrl??(typeof window<"u"?window.location.origin+window.location.pathname:""),t=new URL(i,typeof window<"u"?window.location.href:void 0);for(const o of en)t.searchParams.delete(o);return t.searchParams.set(pi,e),t.toString()}setPending(e){this.setState({pending:e})}async handleRedirect(){if(typeof window>"u")return!1;const e=new URLSearchParams(window.location.search),i=e.get(pi);if(!i)return!1;const t=e.get("userId")??"",o=e.get("secret")??"";this.cleanUrl();const a=()=>{this.setState({pending:{type:"notice",message:this.getStrings().errorInvalidToken,tone:"error"}})};try{switch(i){case"oauth":case"magic-url":t&&o?(await this.acct().createSession(t,o),i==="oauth"?li():Qe("magic-url")):(i==="oauth"&&ui(),a());break;case"oauth-failed":ui(),this.setState({pending:{type:"notice",tone:"error",message:this.getStrings().errorOAuth}});break;case"recovery":t&&o?this.setState({pending:{type:"reset-password",userId:t,secret:o}}):a();break;case"verify-email":t&&o?(await Se(this.acct(),["updateEmailVerification","updateVerification"],[t,o]),this.setState({pending:{type:"notice",message:this.getStrings().emailVerified,tone:"success"}})):a();break}}catch(s){const r=Ze(s),d=ht(s,this.getStrings(),"link");this.emit("error",r),this.setState({pending:{type:"notice",message:d,tone:"error"}})}return!0}cleanUrl(){const e=new URL(window.location.href);for(const i of en)e.searchParams.delete(i);window.history.replaceState(window.history.state,"",e.toString())}reset(){this.client=null,this.account=null,this.teams=null,this.activeTeamId=null,this.preview=null,this.config=null,this.state=tn(),this.listeners.clear()}}const E=new nn;class jo{constructor(){this.listeners=new Set,this.observer=null,this.media=null,this.notify=()=>{const e=this.isDark("auto");this.listeners.forEach(i=>i(e))}}isDark(e="auto"){if(e==="dark")return!0;if(e==="light"||typeof document>"u")return!1;const i=document.documentElement.classList;return i.contains("dark")?!0:i.contains("light")?!1:document.documentElement.dataset.theme==="dark"?!0:document.documentElement.dataset.theme==="light"?!1:typeof window<"u"&&!!window.matchMedia?.("(prefers-color-scheme: dark)").matches}subscribe(e){return this.listeners.add(e),this.start(),()=>{this.listeners.delete(e),this.listeners.size===0&&this.stop()}}start(){this.observer||typeof document>"u"||(this.observer=new MutationObserver(this.notify),this.observer.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),typeof window<"u"&&window.matchMedia&&(this.media=window.matchMedia("(prefers-color-scheme: dark)"),this.media.addEventListener?.("change",this.notify)))}stop(){this.observer?.disconnect(),this.observer=null,this.media?.removeEventListener?.("change",this.notify),this.media=null}}const on=new jo,an={none:"0px",sm:"0.25rem",md:"0.625rem",lg:"0.875rem",xl:"1.125rem",full:"1.5rem"},Po=Ne`
|
|
9
|
+
`+K+"}":"{"+Y.join(",")+"}",o=K,q}}typeof i.stringify!="function"&&(i.stringify=function(l,u,b){var j;if(o="",a="",typeof b=="number")for(j=0;j<b;j+=1)a+=" ";else typeof b=="string"&&(a=b);if(r=u,u&&typeof u!="function"&&(typeof u!="object"||typeof u.length!="number"))throw new Error("JSON.stringify");return c("",{"":l})})})()})(Wt)),Wt.exports}var Gt,Gi;function zn(){if(Gi)return Gt;Gi=1;var n=null;const e=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,i=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var t=function(o){var a={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(o!=null){if(o.strict===!0&&(a.strict=!0),o.storeAsString===!0&&(a.storeAsString=!0),a.alwaysParseAsBig=o.alwaysParseAsBig===!0?o.alwaysParseAsBig:!1,a.useNativeBigInt=o.useNativeBigInt===!0?o.useNativeBigInt:!1,typeof o.constructorAction<"u")if(o.constructorAction==="error"||o.constructorAction==="ignore"||o.constructorAction==="preserve")a.constructorAction=o.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${o.constructorAction}`);if(typeof o.protoAction<"u")if(o.protoAction==="error"||o.protoAction==="ignore"||o.protoAction==="preserve")a.protoAction=o.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${o.protoAction}`)}var s,r,d={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
10
|
+
`,r:"\r",t:" "},c,l=function(H){throw{name:"SyntaxError",message:H,at:s,text:c}},u=function(H){return H&&H!==r&&l("Expected '"+H+"' instead of '"+r+"'"),r=c.charAt(s),s+=1,r},b=function(){var H,Z="";for(r==="-"&&(Z="-",u("-"));r>="0"&&r<="9";)Z+=r,u();if(r===".")for(Z+=".";u()&&r>="0"&&r<="9";)Z+=r;if(r==="e"||r==="E")for(Z+=r,u(),(r==="-"||r==="+")&&(Z+=r,u());r>="0"&&r<="9";)Z+=r,u();if(H=+Z,!isFinite(H))l("Bad number");else return n==null&&(n=Vi()),Z.length>15?a.storeAsString?Z:a.useNativeBigInt?BigInt(Z):new n(Z):a.alwaysParseAsBig?a.useNativeBigInt?BigInt(H):new n(H):H},j=function(){var H,Z,se="",B;if(r==='"')for(var D=s;u();){if(r==='"')return s-1>D&&(se+=c.substring(D,s-1)),u(),se;if(r==="\\"){if(s-1>D&&(se+=c.substring(D,s-1)),u(),r==="u"){for(B=0,Z=0;Z<4&&(H=parseInt(u(),16),!!isFinite(H));Z+=1)B=B*16+H;se+=String.fromCharCode(B)}else if(typeof d[r]=="string")se+=d[r];else break;D=s}}l("Bad string")},q=function(){for(;r&&r<=" ";)u()},T=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}l("Unexpected '"+r+"'")},K,Y=function(){var H=[];if(r==="["){if(u("["),q(),r==="]")return u("]"),H;for(;r;){if(H.push(K()),q(),r==="]")return u("]"),H;u(","),q()}}l("Bad array")},L=function(){var H,Z=Object.create(null);if(r==="{"){if(u("{"),q(),r==="}")return u("}"),Z;for(;r;){if(H=j(),q(),u(":"),a.strict===!0&&Object.hasOwnProperty.call(Z,H)&&l('Duplicate key "'+H+'"'),e.test(H)===!0?a.protoAction==="error"?l("Object contains forbidden prototype property"):a.protoAction==="ignore"?K():Z[H]=K():i.test(H)===!0?a.constructorAction==="error"?l("Object contains forbidden constructor property"):a.constructorAction==="ignore"?K():Z[H]=K():Z[H]=K(),q(),r==="}")return u("}"),Z;u(","),q()}}l("Bad object")};return K=function(){switch(q(),r){case"{":return L();case"[":return Y();case'"':return j();case"-":return b();default:return r>="0"&&r<="9"?b():T()}},function(H,Z){var se;return c=H+"",s=0,r=" ",se=K(),q(),r&&l("Syntax error"),typeof Z=="function"?(function B(D,ie){var W,R=D[ie];return R&&typeof R=="object"&&Object.keys(R).forEach(function(J){W=B(R,J),W!==void 0?R[J]=W:delete R[J]}),Z.call(D,ie,R)})({"":se},""):se}};return Gt=t,Gt}var Ki;function On(){if(Ki)return pt.exports;Ki=1;var n=Tn().stringify,e=zn();return pt.exports=function(i){return{parse:e(i),stringify:n}},pt.exports.parse=e(),pt.exports.stringify=n,pt.exports}var Fn=On();const Kt=Zn(Fn);function ve(n,e,i,t){function o(a){return a instanceof i?a:new i(function(s){s(a)})}return new(i||(i=Promise))(function(a,s){function r(l){try{c(t.next(l))}catch(u){s(u)}}function d(l){try{c(t.throw(l))}catch(u){s(u)}}function c(l){l.done?a(l.value):o(l.value).then(r,d)}c((t=t.apply(n,e||[])).next())})}function eo(n,e,i,t){if(typeof e=="function"?n!==e||!t:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?t:i==="a"?t.call(n):t?t.value:e.get(n)}typeof SuppressedError=="function"&&SuppressedError;var kt,Yi;class He{static custom(e){return e}static unique(e=7){const i=eo(kt,kt,"m",Yi).call(kt);let t="";for(let o=0;o<e;o++){const a=Math.floor(Math.random()*16).toString(16);t+=a}return i+t}}kt=He,Yi=function(){const e=new Date,i=Math.floor(e.getTime()/1e3),t=e.getMilliseconds();return i.toString(16)+t.toString(16).padStart(5,"0")};const St=Kt({useNativeBigInt:!0});class U{constructor(e,i,t){this.method=e,this.attribute=i,t!==void 0&&(Array.isArray(t)?this.values=t:this.values=[t])}toString(){return St.stringify({method:this.method,attribute:this.attribute,values:this.values})}}U.equal=(n,e)=>new U("equal",n,e).toString(),U.notEqual=(n,e)=>new U("notEqual",n,e).toString(),U.regex=(n,e)=>new U("regex",n,e).toString(),U.lessThan=(n,e)=>new U("lessThan",n,e).toString(),U.lessThanEqual=(n,e)=>new U("lessThanEqual",n,e).toString(),U.greaterThan=(n,e)=>new U("greaterThan",n,e).toString(),U.greaterThanEqual=(n,e)=>new U("greaterThanEqual",n,e).toString(),U.isNull=n=>new U("isNull",n).toString(),U.isNotNull=n=>new U("isNotNull",n).toString(),U.exists=n=>new U("exists",void 0,n).toString(),U.notExists=n=>new U("notExists",void 0,n).toString(),U.between=(n,e,i)=>new U("between",n,[e,i]).toString(),U.startsWith=(n,e)=>new U("startsWith",n,e).toString(),U.endsWith=(n,e)=>new U("endsWith",n,e).toString(),U.select=n=>new U("select",void 0,n).toString(),U.search=(n,e)=>new U("search",n,e).toString(),U.orderDesc=n=>new U("orderDesc",n).toString(),U.orderAsc=n=>new U("orderAsc",n).toString(),U.orderRandom=()=>new U("orderRandom").toString(),U.cursorAfter=n=>new U("cursorAfter",void 0,n).toString(),U.cursorBefore=n=>new U("cursorBefore",void 0,n).toString(),U.limit=n=>new U("limit",void 0,n).toString(),U.offset=n=>new U("offset",void 0,n).toString(),U.contains=(n,e)=>new U("contains",n,e).toString(),U.containsAny=(n,e)=>new U("containsAny",n,e).toString(),U.containsAll=(n,e)=>new U("containsAll",n,e).toString(),U.notContains=(n,e)=>new U("notContains",n,e).toString(),U.notSearch=(n,e)=>new U("notSearch",n,e).toString(),U.notBetween=(n,e,i)=>new U("notBetween",n,[e,i]).toString(),U.notStartsWith=(n,e)=>new U("notStartsWith",n,e).toString(),U.notEndsWith=(n,e)=>new U("notEndsWith",n,e).toString(),U.createdBefore=n=>U.lessThan("$createdAt",n),U.createdAfter=n=>U.greaterThan("$createdAt",n),U.createdBetween=(n,e)=>U.between("$createdAt",n,e),U.updatedBefore=n=>U.lessThan("$updatedAt",n),U.updatedAfter=n=>U.greaterThan("$updatedAt",n),U.updatedBetween=(n,e)=>U.between("$updatedAt",n,e),U.or=n=>new U("or",void 0,n.map(e=>St.parse(e))).toString(),U.and=n=>new U("and",void 0,n.map(e=>St.parse(e))).toString(),U.elemMatch=(n,e)=>new U("elemMatch",n,e.map(i=>St.parse(i))).toString(),U.distanceEqual=(n,e,i,t=!0)=>new U("distanceEqual",n,[[e,i,t]]).toString(),U.distanceNotEqual=(n,e,i,t=!0)=>new U("distanceNotEqual",n,[[e,i,t]]).toString(),U.distanceGreaterThan=(n,e,i,t=!0)=>new U("distanceGreaterThan",n,[[e,i,t]]).toString(),U.distanceLessThan=(n,e,i,t=!0)=>new U("distanceLessThan",n,[[e,i,t]]).toString(),U.vectorDot=(n,e)=>new U("vectorDot",n,[e]).toString(),U.vectorCosine=(n,e)=>new U("vectorCosine",n,[e]).toString(),U.vectorEuclidean=(n,e)=>new U("vectorEuclidean",n,[e]).toString(),U.intersects=(n,e)=>new U("intersects",n,[e]).toString(),U.notIntersects=(n,e)=>new U("notIntersects",n,[e]).toString(),U.crosses=(n,e)=>new U("crosses",n,[e]).toString(),U.notCrosses=(n,e)=>new U("notCrosses",n,[e]).toString(),U.overlaps=(n,e)=>new U("overlaps",n,[e]).toString(),U.notOverlaps=(n,e)=>new U("notOverlaps",n,[e]).toString(),U.touches=(n,e)=>new U("touches",n,[e]).toString(),U.notTouches=(n,e)=>new U("notTouches",n,[e]).toString();const to=Kt({storeAsString:!1}),io=Kt({useNativeBigInt:!0}),no=BigInt(Number.MAX_SAFE_INTEGER),oo=BigInt(Number.MIN_SAFE_INTEGER),ao=BigInt("9223372036854775807"),so=BigInt("-9223372036854775808");function ro(n){return n!==null&&typeof n=="object"&&n._isBigNumber===!0&&typeof n.isInteger=="function"&&typeof n.toFixed=="function"&&typeof n.toNumber=="function"}function co(n,e){if(ro(e)){if(e.isInteger()){const i=e.toFixed(),t=BigInt(i);return t>=oo&&t<=no?Number(i):t>=so&&t<=ao?t:e.toNumber()}return e.toNumber()}return e}const me={parse:n=>to.parse(n,co),stringify:io.stringify};class h extends Error{constructor(e,i=0,t="",o=""){super(e),this.name="AppwriteException",this.message=e,this.code=i,this.type=t,this.response=o}}class Ae{constructor(){this.config={endpoint:"https://cloud.appwrite.io/v1",endpointRealtime:"",project:"",jwt:"",bearer:"",locale:"",session:"",devkey:"",cookie:"",impersonateuserid:"",impersonateuseremail:"",impersonateuserphone:""},this.headers={"x-sdk-name":"Web","x-sdk-platform":"client","x-sdk-language":"web","x-sdk-version":"27.0.0","X-Appwrite-Response-Format":"2.0.0"},this.realtime={socket:void 0,timeout:void 0,heartbeat:void 0,url:"",channels:new Set,subscriptions:new Map,pendingSubscribes:new Map,reconnect:!0,reconnectAttempts:0,lastMessage:void 0,connect:()=>{clearTimeout(this.realtime.timeout),this.realtime.timeout=window?.setTimeout(()=>{this.realtime.createSocket()},50)},getTimeout:()=>{switch(!0){case this.realtime.reconnectAttempts<5:return 1e3;case this.realtime.reconnectAttempts<15:return 5e3;case this.realtime.reconnectAttempts<100:return 1e4;default:return 6e4}},createHeartbeat:()=>{this.realtime.heartbeat&&clearTimeout(this.realtime.heartbeat),this.realtime.heartbeat=window?.setInterval(()=>{var e;(e=this.realtime.socket)===null||e===void 0||e.send(me.stringify({type:"ping"}))},2e4)},createSocket:()=>{var e,i,t,o,a;if(this.realtime.subscriptions.size<1){this.realtime.reconnect=!1,(e=this.realtime.socket)===null||e===void 0||e.close();return}let r="project="+encodeURIComponent((i=this.config.project)!==null&&i!==void 0?i:"");this.config.jwt&&(r+="&jwt="+encodeURIComponent(this.config.jwt));const d=this.config.endpointRealtime+"/realtime?"+r;d!==this.realtime.url||!this.realtime.socket||((t=this.realtime.socket)===null||t===void 0?void 0:t.readyState)>WebSocket.OPEN?(this.realtime.socket&&((o=this.realtime.socket)===null||o===void 0?void 0:o.readyState)<WebSocket.CLOSING&&(this.realtime.reconnect=!1,this.realtime.socket.close()),this.realtime.url=d,this.realtime.socket=new WebSocket(d),this.realtime.socket.addEventListener("message",this.realtime.onMessage),this.realtime.socket.addEventListener("open",c=>{this.realtime.reconnectAttempts=0,this.realtime.createHeartbeat()}),this.realtime.socket.addEventListener("close",c=>{var l,u,b;if(!this.realtime.reconnect||((u=(l=this.realtime)===null||l===void 0?void 0:l.lastMessage)===null||u===void 0?void 0:u.type)==="error"&&((b=this.realtime)===null||b===void 0?void 0:b.lastMessage.data).code===1008){this.realtime.reconnect=!0;return}const j=this.realtime.getTimeout();console.error(`Realtime got disconnected. Reconnect will be attempted in ${j/1e3} seconds.`,c.reason),setTimeout(()=>{this.realtime.reconnectAttempts++,this.realtime.createSocket()},j)})):((a=this.realtime.socket)===null||a===void 0?void 0:a.readyState)===WebSocket.OPEN&&this.realtime.sendPendingSubscribes()},sendPendingSubscribes:()=>{if(!this.realtime.socket||this.realtime.socket.readyState!==WebSocket.OPEN||this.realtime.pendingSubscribes.size<1)return;const e=Array.from(this.realtime.pendingSubscribes.values());this.realtime.pendingSubscribes.clear(),this.realtime.socket.send(me.stringify({type:"subscribe",data:e}))},onMessage:e=>{var i,t;try{const o=me.parse(e.data);switch(this.realtime.lastMessage=o,o.type){case"connected":{const a=o.data;let s=this.config.session;if(!s){const r=me.parse((i=window.localStorage.getItem("cookieFallback"))!==null&&i!==void 0?i:"{}");s=r?.[`a_session_${this.config.project}`]}s&&!a?.user&&((t=this.realtime.socket)===null||t===void 0||t.send(me.stringify({type:"authentication",data:{session:s}}))),this.realtime.subscriptions.forEach((r,d)=>{var c;this.realtime.pendingSubscribes.set(d,{subscriptionId:d,channels:r.channels,queries:(c=r.queries)!==null&&c!==void 0?c:[]})}),this.realtime.sendPendingSubscribes();break}case"response":break;case"event":{const a=o.data;if(!a?.channels)break;const s=a.subscriptions;if(s&&s.length>0)for(const r of s){const d=this.realtime.subscriptions.get(r);d&&setTimeout(()=>d.callback(a))}else{if(!a.channels.some(d=>this.realtime.channels.has(d)))break;this.realtime.subscriptions.forEach(d=>{a.channels.some(c=>d.channels.includes(c))&&setTimeout(()=>d.callback(a))})}break}case"pong":break;case"error":throw o.data;default:break}}catch(o){console.error(o)}}}}getHeaders(){return Object.assign({},this.headers)}setEndpoint(e){if(!e||typeof e!="string")throw new h("Endpoint must be a valid string");if(!e.startsWith("http://")&&!e.startsWith("https://"))throw new h("Invalid endpoint URL: "+e);return this.config.endpoint=e,this.config.endpointRealtime=e.replace("https://","wss://").replace("http://","ws://"),this}setEndpointRealtime(e){if(!e||typeof e!="string")throw new h("Endpoint must be a valid string");if(!e.startsWith("ws://")&&!e.startsWith("wss://"))throw new h("Invalid realtime endpoint URL: "+e);return this.config.endpointRealtime=e,this}setProject(e){return this.config.project=e,this}setJWT(e){return this.headers["X-Appwrite-JWT"]=e,this.config.jwt=e,this}setBearer(e){return this.headers.Authorization=`Bearer ${e}`,this.config.bearer=e,this}setLocale(e){return this.headers["X-Appwrite-Locale"]=e,this.config.locale=e,this}setSession(e){return this.headers["X-Appwrite-Session"]=e,this.config.session=e,this}setDevKey(e){return this.headers["X-Appwrite-Dev-Key"]=e,this.config.devkey=e,this}setCookie(e){return this.headers.Cookie=e,this.config.cookie=e,this}setImpersonateUserId(e){return this.headers["X-Appwrite-Impersonate-User-Id"]=e,this.config.impersonateuserid=e,this}setImpersonateUserEmail(e){return this.headers["X-Appwrite-Impersonate-User-Email"]=e,this.config.impersonateuseremail=e,this}setImpersonateUserPhone(e){return this.headers["X-Appwrite-Impersonate-User-Phone"]=e,this.config.impersonateuserphone=e,this}subscribe(e,i,t=[]){const a=(Array.isArray(e)?e:[e]).map(c=>typeof c=="string"?c:c&&typeof c.toString=="function"?c.toString():String(c));a.forEach(c=>this.realtime.channels.add(c));const s=(t??[]).map(c=>typeof c=="string"?c:c.toString());let r="";const d=this.realtime.subscriptions.size+1;for(let c=0;c<d;c++){const l=He.unique();if(!this.realtime.subscriptions.has(l)){r=l;break}}if(r==="")throw new h("Failed to generate unique subscription id");return this.realtime.subscriptions.set(r,{channels:a,queries:s,callback:i}),this.realtime.pendingSubscribes.set(r,{subscriptionId:r,channels:a,queries:s}),this.realtime.connect(),()=>{this.realtime.subscriptions.delete(r),this.realtime.pendingSubscribes.delete(r);const c=new Set;this.realtime.subscriptions.forEach(l=>{l.channels.forEach(u=>c.add(u))}),this.realtime.channels.forEach(l=>{c.has(l)||this.realtime.channels.delete(l)}),this.realtime.connect()}}prepareRequest(e,i,t={},o={}){if(e=e.toUpperCase(),t=Object.assign({},this.headers,t),typeof window<"u"&&window.localStorage){const s=window.localStorage.getItem("cookieFallback");s&&(t["X-Fallback-Cookies"]=s)}const a={method:e,headers:t};if(t["X-Appwrite-Dev-Key"]===void 0&&(a.credentials="include"),e==="GET")for(const[s,r]of Object.entries(Ae.flatten(o)))i.searchParams.append(s,r);else switch(t["content-type"]){case"application/json":a.body=me.stringify(o);break;case"multipart/form-data":{const s=new FormData;for(const[r,d]of Object.entries(o))if(d instanceof File)s.append(r,d,d.name);else if(Array.isArray(d))for(const c of d)s.append(`${r}[]`,c);else s.append(r,d);a.body=s,delete t["content-type"];break}}return{uri:i.toString(),options:a}}chunkedUpload(e,i){return ve(this,arguments,void 0,function*(t,o,a={},s={},r){var d;const[c,l]=(d=Object.entries(s).find(([J,z])=>z instanceof File))!==null&&d!==void 0?d:[];if(!l||!c)throw new Error("File not found in payload");if(l.size<=Ae.CHUNK_SIZE)return yield this.call(t,o,a,s);const u=Math.ceil(l.size/Ae.CHUNK_SIZE),b=Math.min(Ae.CHUNK_SIZE,l.size),j=Object.assign(Object.assign({},a),{"content-range":`bytes 0-${b-1}/${l.size}`}),q=l.slice(0,b),T=Object.assign({},s);T[c]=new File([q],l.name);const K=yield this.call(t,o,j,T),Y=K?.$id;if(r&&typeof r=="function"&&r({$id:Y,progress:Math.round(b/l.size*100),sizeUploaded:b,chunksTotal:u,chunksUploaded:1}),u===1)return K;const L=[];for(let J=1;J<u;J++){const z=J*Ae.CHUNK_SIZE,ne=Math.min(z+Ae.CHUNK_SIZE,l.size);L.push({start:z,end:ne})}const H=8;let Z=1,se=b,B=K,D=null,ie=!1;const W=J=>{var z;const ne=J?.chunksUploaded,ce=(z=J?.chunksTotal)!==null&&z!==void 0?z:u;return typeof ne=="number"&&typeof ce=="number"&&ne>=ce},R=J=>ve(this,void 0,void 0,function*(){const z=Object.assign({},a);Y&&(z["x-appwrite-id"]=Y),z["content-range"]=`bytes ${J.start}-${J.end-1}/${l.size}`;const ne=l.slice(J.start,J.end),ce=Object.assign({},s);ce[c]=new File([ne],l.name);const de=yield this.call(t,o,z,ce);return ie||(Z++,se+=J.end-J.start,B=de,W(de)&&(D=de),r&&typeof r=="function"&&r({$id:Y,progress:Math.round(se/l.size*100),sizeUploaded:se,chunksTotal:u,chunksUploaded:Z})),de});return yield new Promise((J,z)=>{let ne=0,ce=0,de=0;const Ue=()=>{if(!ie){if(de===L.length){J();return}for(;ce<H&&ne<L.length;){const Ie=L[ne++];ce++,R(Ie).then(()=>{ce--,de++,Ue()}).catch(_e=>{ie=!0,z(_e)})}}};Ue()}),D??B})}ping(){return ve(this,void 0,void 0,function*(){return this.call("GET",new URL(this.config.endpoint+"/ping"),{"X-Appwrite-Project":this.config.project,accept:"application/json"})})}call(e,i){return ve(this,arguments,void 0,function*(t,o,a={},s={},r="json"){var d,c,l;const{uri:u,options:b}=this.prepareRequest(t,o,a,s);let j=null;const q=yield fetch(u,b);if(q.type==="opaque")throw new h(`Invalid Origin. Register your new client (${window.location.host}) as a new Web platform on your project console dashboard`,403,"forbidden","");const T=q.headers.get("x-appwrite-warning");if(T&&T.split(";").forEach(Y=>console.warn("Warning: "+Y)),!((d=q.headers.get("content-type"))===null||d===void 0)&&d.includes("application/json")?j=me.parse(yield q.text()):r==="arrayBuffer"?j=yield q.arrayBuffer():j={message:yield q.text()},400<=q.status){let Y;throw!((c=q.headers.get("content-type"))===null||c===void 0)&&c.includes("application/json")||r==="arrayBuffer"?Y=me.stringify(j):Y=j?.message,new h((l=j?.message)!==null&&l!==void 0?l:Y,q.status,j?.type,Y)}const K=q.headers.get("X-Fallback-Cookies");return typeof window<"u"&&window.localStorage&&K&&(window.console.warn("Appwrite is using localStorage for session management. Increase your security by adding a custom domain as your API endpoint."),window.localStorage.setItem("cookieFallback",K)),j&&typeof j=="object"&&Object.defineProperty(j,"toString",{value:()=>me.stringify(j),writable:!0,enumerable:!1,configurable:!0}),j})}static flatten(e,i=""){let t={};for(const[o,a]of Object.entries(e)){const s=i?i+"["+o+"]":o;Array.isArray(a)?t=Object.assign(Object.assign({},t),Ae.flatten(a,s)):t[s]=a}return t}}Ae.CHUNK_SIZE=5242880;class ye{constructor(e){this.client=e}static flatten(e,i=""){let t={};for(const[o,a]of Object.entries(e)){const s=i?i+"["+o+"]":o;Array.isArray(a)?t=Object.assign(Object.assign({},t),ye.flatten(a,s)):t[s]=a}return t}}ye.CHUNK_SIZE=5242880;class Yt{constructor(e){this.client=e}get(){const e="/account",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}create(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],password:i[1],name:i[2]};const o=t.userId,a=t.email,s=t.password,r=t.name;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');if(typeof s>"u")throw new h('Missing required parameter: "password"');const d="/account",c={};typeof o<"u"&&(c.userId=o),typeof a<"u"&&(c.email=a),typeof s<"u"&&(c.password=s),typeof r<"u"&&(c.name=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}listConsents(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/consents",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}getConsent(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={consentId:e};const t=i.consentId;if(typeof t>"u")throw new h('Missing required parameter: "consentId"');const o="/account/consents/{consentId}".replace("{consentId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}deleteConsent(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={consentId:e};const t=i.consentId;if(typeof t>"u")throw new h('Missing required parameter: "consentId"');const o="/account/consents/{consentId}".replace("{consentId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",s,r,a)}listConsentTokens(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,queries:i[0],total:i[1]};const o=t.consentId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');const r="/account/consents/{consentId}/tokens".replace("{consentId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}getConsentToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,tokenId:i[0]};const o=t.consentId,a=t.tokenId;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');if(typeof a>"u")throw new h('Missing required parameter: "tokenId"');const s="/account/consents/{consentId}/tokens/{tokenId}".replace("{consentId}",encodeURIComponent(String(o))).replace("{tokenId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}deleteConsentToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={consentId:e,tokenId:i[0]};const o=t.consentId,a=t.tokenId;if(typeof o>"u")throw new h('Missing required parameter: "consentId"');if(typeof a>"u")throw new h('Missing required parameter: "tokenId"');const s="/account/consents/{consentId}/tokens/{tokenId}".replace("{consentId}",encodeURIComponent(String(o))).replace("{tokenId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",d,c,r)}updateEmail(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,password:i[0]};const o=t.email,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/email",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}listIdentities(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/identities",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}deleteIdentity(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={identityId:e};const t=i.identityId;if(typeof t>"u")throw new h('Missing required parameter: "identityId"');const o="/account/identities/{identityId}".replace("{identityId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createJWT(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={duration:e};const t=i.duration,o="/account/jwts",a={};typeof t<"u"&&(a.duration=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}listLogs(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/account/logs",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateMFA(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={mfa:e};const t=i.mfa;if(typeof t>"u")throw new h('Missing required parameter: "mfa"');const o="/account/mfa",a={};typeof t<"u"&&(a.mfa=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}createMfaAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createMFAAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateMfaAuthenticator(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("type"in e||"otp"in e)?t=e||{}:t={type:e,otp:i[0]};const o=t.type,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "type"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateMFAAuthenticator(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("type"in e||"otp"in e)?t=e||{}:t={type:e,otp:i[0]};const o=t.type,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "type"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deleteMfaAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}deleteMFAAuthenticator(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"type"in e?i=e||{}:i={type:e};const t=i.type;if(typeof t>"u")throw new h('Missing required parameter: "type"');const o="/account/mfa/authenticators/{type}".replace("{type}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createMfaChallenge(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"factor"in e?i=e||{}:i={factor:e};const t=i.factor;if(typeof t>"u")throw new h('Missing required parameter: "factor"');const o="/account/mfa/challenges",a={};typeof t<"u"&&(a.factor=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createMFAChallenge(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"factor"in e?i=e||{}:i={factor:e};const t=i.factor;if(typeof t>"u")throw new h('Missing required parameter: "factor"');const o="/account/mfa/challenges",a={};typeof t<"u"&&(a.factor=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateMfaChallenge(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={challengeId:e,otp:i[0]};const o=t.challengeId,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "challengeId"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/challenges",r={};typeof o<"u"&&(r.challengeId=o),typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateMFAChallenge(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={challengeId:e,otp:i[0]};const o=t.challengeId,a=t.otp;if(typeof o>"u")throw new h('Missing required parameter: "challengeId"');if(typeof a>"u")throw new h('Missing required parameter: "otp"');const s="/account/mfa/challenges",r={};typeof o<"u"&&(r.challengeId=o),typeof a<"u"&&(r.otp=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}listMfaFactors(){const e="/account/mfa/factors",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listMFAFactors(){const e="/account/mfa/factors",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}getMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}getMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}createMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}createMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}updateMfaRecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}updateMFARecoveryCodes(){const e="/account/mfa/recovery-codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}updateName(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={name:e};const t=i.name;if(typeof t>"u")throw new h('Missing required parameter: "name"');const o="/account/name",a={};typeof t<"u"&&(a.name=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}updatePassword(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={password:e,oldPassword:i[0]};const o=t.password,a=t.oldPassword;if(typeof o>"u")throw new h('Missing required parameter: "password"');const s="/account/password",r={};typeof o<"u"&&(r.password=o),typeof a<"u"&&(r.oldPassword=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}updatePhone(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={phone:e,password:i[0]};const o=t.phone,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "phone"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/phone",r={};typeof o<"u"&&(r.phone=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",d,c,r)}getPrefs(){const e="/account/prefs",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}updatePrefs(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"prefs"in e?i=e||{}:i={prefs:e};const t=i.prefs;if(typeof t>"u")throw new h('Missing required parameter: "prefs"');const o="/account/prefs",a={};typeof t<"u"&&(a.prefs=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}createRecovery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,url:i[0]};const o=t.email,a=t.url;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "url"');const s="/account/recovery",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.url=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}updateRecovery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0],password:i[1]};const o=t.userId,a=t.secret,s=t.password;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');if(typeof s>"u")throw new h('Missing required parameter: "password"');const r="/account/recovery",d={};typeof o<"u"&&(d.userId=o),typeof a<"u"&&(d.secret=a),typeof s<"u"&&(d.password=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",c,l,d)}listSessions(){const e="/account/sessions",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}deleteSessions(){const e="/account/sessions",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",t,o,i)}createAnonymousSession(){const e="/account/sessions/anonymous",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}createEmailPasswordSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={email:e,password:i[0]};const o=t.email,a=t.password;if(typeof o>"u")throw new h('Missing required parameter: "email"');if(typeof a>"u")throw new h('Missing required parameter: "password"');const s="/account/sessions/email",r={};typeof o<"u"&&(r.email=o),typeof a<"u"&&(r.password=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}updateMagicURLSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/magic-url",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createOAuth2Session(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("provider"in e||"success"in e||"failure"in e||"scopes"in e)?t=e||{}:t={provider:e,success:i[0],failure:i[1],scopes:i[2]};const o=t.provider,a=t.success,s=t.failure,r=t.scopes;if(typeof o>"u")throw new h('Missing required parameter: "provider"');const d="/account/sessions/oauth2/{provider}".replace("{provider}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.success=a),typeof s<"u"&&(c.failure=s),typeof r<"u"&&(c.scopes=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);if(typeof window<"u"&&window?.location){window.location.href=l.toString();return}else return l.toString()}updatePhoneSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createSession(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/sessions/token",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}getSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",s,r,a)}deleteSession(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={sessionId:e};const t=i.sessionId;if(typeof t>"u")throw new h('Missing required parameter: "sessionId"');const o="/account/sessions/{sessionId}".replace("{sessionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}updateStatus(){const e="/account/status",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",t,o,i)}createPushTarget(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={targetId:e,identifier:i[0],providerId:i[1]};const o=t.targetId,a=t.identifier,s=t.providerId;if(typeof o>"u")throw new h('Missing required parameter: "targetId"');if(typeof a>"u")throw new h('Missing required parameter: "identifier"');const r="/account/targets/push",d={};typeof o<"u"&&(d.targetId=o),typeof a<"u"&&(d.identifier=a),typeof s<"u"&&(d.providerId=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}updatePushTarget(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={targetId:e,identifier:i[0]};const o=t.targetId,a=t.identifier;if(typeof o>"u")throw new h('Missing required parameter: "targetId"');if(typeof a>"u")throw new h('Missing required parameter: "identifier"');const s="/account/targets/{targetId}/push".replace("{targetId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.identifier=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deletePushTarget(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={targetId:e};const t=i.targetId;if(typeof t>"u")throw new h('Missing required parameter: "targetId"');const o="/account/targets/{targetId}/push".replace("{targetId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createEmailToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],phrase:i[1]};const o=t.userId,a=t.email,s=t.phrase;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');const r="/account/tokens/email",d={};typeof o<"u"&&(d.userId=o),typeof a<"u"&&(d.email=a),typeof s<"u"&&(d.phrase=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}createMagicURLToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,email:i[0],url:i[1],phrase:i[2]};const o=t.userId,a=t.email,s=t.url,r=t.phrase;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "email"');const d="/account/tokens/magic-url",c={};typeof o<"u"&&(c.userId=o),typeof a<"u"&&(c.email=a),typeof s<"u"&&(c.url=s),typeof r<"u"&&(c.phrase=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}createOAuth2Token(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("provider"in e||"success"in e||"failure"in e||"scopes"in e)?t=e||{}:t={provider:e,success:i[0],failure:i[1],scopes:i[2]};const o=t.provider,a=t.success,s=t.failure,r=t.scopes;if(typeof o>"u")throw new h('Missing required parameter: "provider"');const d="/account/tokens/oauth2/{provider}".replace("{provider}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.success=a),typeof s<"u"&&(c.failure=s),typeof r<"u"&&(c.scopes=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);if(typeof window<"u"&&window?.location){window.location.href=l.toString();return}else return l.toString()}createPhoneToken(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,phone:i[0]};const o=t.userId,a=t.phone;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "phone"');const s="/account/tokens/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.phone=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}createEmailVerification(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/account/verifications/email",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}createVerification(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/account/verifications/email",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}updateEmailVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/email",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}updateVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/email",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}createPhoneVerification(){const e="/account/verifications/phone",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",t,o,i)}updatePhoneVerification(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={userId:e,secret:i[0]};const o=t.userId,a=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "userId"');if(typeof a>"u")throw new h('Missing required parameter: "secret"');const s="/account/verifications/phone",r={};typeof o<"u"&&(r.userId=o),typeof a<"u"&&(r.secret=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}}class $t{constructor(e){this.client=e}getBrowser(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/browsers/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);return l.toString()}getCreditCard(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/credit-cards/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);return l.toString()}getFavicon(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={url:e};const t=i.url;if(typeof t>"u")throw new h('Missing required parameter: "url"');const o="/avatars/favicon",a={};typeof t<"u"&&(a.url=t);const s=new URL(this.client.config.endpoint+o);a.project=this.client.config.project,a.impersonateuserid=this.client.config.impersonateuserid;for(const[r,d]of Object.entries(ye.flatten(a)))s.searchParams.append(r,d);return s.toString()}getFlag(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)&&("code"in e||"width"in e||"height"in e||"quality"in e)?t=e||{}:t={code:e,width:i[0],height:i[1],quality:i[2]};const o=t.code,a=t.width,s=t.height,r=t.quality;if(typeof o>"u")throw new h('Missing required parameter: "code"');const d="/avatars/flags/{code}".replace("{code}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.quality=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);return l.toString()}getImage(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={url:e,width:i[0],height:i[1]};const o=t.url,a=t.width,s=t.height;if(typeof o>"u")throw new h('Missing required parameter: "url"');const r="/avatars/image",d={};typeof o<"u"&&(d.url=o),typeof a<"u"&&(d.width=a),typeof s<"u"&&(d.height=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}getInitials(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={name:e,width:i[0],height:i[1],background:i[2]};const o=t.name,a=t.width,s=t.height,r=t.background,d="/avatars/initials",c={};typeof o<"u"&&(c.name=o),typeof a<"u"&&(c.width=a),typeof s<"u"&&(c.height=s),typeof r<"u"&&(c.background=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);return l.toString()}getPhoto(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={width:e,height:i[0],quality:i[1],output:i[2],rating:i[3],userId:i[4],emailHash:i[5],name:i[6]};const o=t.width,a=t.height,s=t.quality,r=t.output,d=t.rating,c=t.userId,l=t.emailHash,u=t.name,b="/avatars/photo",j={};typeof o<"u"&&(j.width=o),typeof a<"u"&&(j.height=a),typeof s<"u"&&(j.quality=s),typeof r<"u"&&(j.output=r),typeof d<"u"&&(j.rating=d),typeof c<"u"&&(j.userId=c),typeof l<"u"&&(j.emailHash=l),typeof u<"u"&&(j.name=u);const q=new URL(this.client.config.endpoint+b);j.project=this.client.config.project,j.impersonateuserid=this.client.config.impersonateuserid;for(const[T,K]of Object.entries(ye.flatten(j)))q.searchParams.append(T,K);return q.toString()}getQR(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={text:e,size:i[0],margin:i[1],download:i[2]};const o=t.text,a=t.size,s=t.margin,r=t.download;if(typeof o>"u")throw new h('Missing required parameter: "text"');const d="/avatars/qr",c={};typeof o<"u"&&(c.text=o),typeof a<"u"&&(c.size=a),typeof s<"u"&&(c.margin=s),typeof r<"u"&&(c.download=r);const l=new URL(this.client.config.endpoint+d);c.project=this.client.config.project,c.impersonateuserid=this.client.config.impersonateuserid;for(const[u,b]of Object.entries(ye.flatten(c)))l.searchParams.append(u,b);return l.toString()}getScreenshot(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={url:e,headers:i[0],viewportWidth:i[1],viewportHeight:i[2],scale:i[3],theme:i[4],userAgent:i[5],fullpage:i[6],locale:i[7],timezone:i[8],latitude:i[9],longitude:i[10],accuracy:i[11],touch:i[12],permissions:i[13],sleep:i[14],width:i[15],height:i[16],quality:i[17],output:i[18]};const o=t.url,a=t.headers,s=t.viewportWidth,r=t.viewportHeight,d=t.scale,c=t.theme,l=t.userAgent,u=t.fullpage,b=t.locale,j=t.timezone,q=t.latitude,T=t.longitude,K=t.accuracy,Y=t.touch,L=t.permissions,H=t.sleep,Z=t.width,se=t.height,B=t.quality,D=t.output;if(typeof o>"u")throw new h('Missing required parameter: "url"');const ie="/avatars/screenshots",W={};typeof o<"u"&&(W.url=o),typeof a<"u"&&(W.headers=a),typeof s<"u"&&(W.viewportWidth=s),typeof r<"u"&&(W.viewportHeight=r),typeof d<"u"&&(W.scale=d),typeof c<"u"&&(W.theme=c),typeof l<"u"&&(W.userAgent=l),typeof u<"u"&&(W.fullpage=u),typeof b<"u"&&(W.locale=b),typeof j<"u"&&(W.timezone=j),typeof q<"u"&&(W.latitude=q),typeof T<"u"&&(W.longitude=T),typeof K<"u"&&(W.accuracy=K),typeof Y<"u"&&(W.touch=Y),typeof L<"u"&&(W.permissions=L),typeof H<"u"&&(W.sleep=H),typeof Z<"u"&&(W.width=Z),typeof se<"u"&&(W.height=se),typeof B<"u"&&(W.quality=B),typeof D<"u"&&(W.output=D);const R=new URL(this.client.config.endpoint+ie);W.project=this.client.config.project,W.impersonateuserid=this.client.config.impersonateuserid;for(const[J,z]of Object.entries(ye.flatten(W)))R.searchParams.append(J,z);return R.toString()}}class lo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/databases/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/databases/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/databases/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/databases/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/databases/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",b,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/databases/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",b,j,u)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),b={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,b,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",b,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",b,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.min=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}incrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.max=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}}class uo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/documentsdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/documentsdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/documentsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/documentsdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",b,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",b,j,u)}createDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documents:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documents,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documents"');const d="/documentsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.documents=s),typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",l,u,c)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),b={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,b,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",b,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",b,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.min=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}incrementDocumentAttribute(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],attribute:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.attribute,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "attribute"');const u="/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))).replace("{attribute}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.max=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}}class po{constructor(e){this.client=e}listExecutions(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,queries:i[0],total:i[1]};const o=t.functionId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');const r="/functions/{functionId}/executions".replace("{functionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}createExecution(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,body:i[0],async:i[1],xpath:i[2],method:i[3],headers:i[4],scheduledAt:i[5]};const o=t.functionId,a=t.body,s=t.async,r=t.xpath,d=t.method,c=t.headers,l=t.scheduledAt;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');const u="/functions/{functionId}/executions".replace("{functionId}",encodeURIComponent(String(o))),b={};typeof a<"u"&&(b.body=a),typeof s<"u"&&(b.async=s),typeof r<"u"&&(b.path=r),typeof d<"u"&&(b.method=d),typeof c<"u"&&(b.headers=c),typeof l<"u"&&(b.scheduledAt=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",j,q,b)}getExecution(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={functionId:e,executionId:i[0]};const o=t.functionId,a=t.executionId;if(typeof o>"u")throw new h('Missing required parameter: "functionId"');if(typeof a>"u")throw new h('Missing required parameter: "executionId"');const s="/functions/{functionId}/executions/{executionId}".replace("{functionId}",encodeURIComponent(String(o))).replace("{executionId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}}class ho{constructor(e){this.client=e}query(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"query"in e?i=e||{}:i={query:e};const t=i.query;if(typeof t>"u")throw new h('Missing required parameter: "query"');const o="/graphql",a={};typeof t<"u"&&(a.query=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"x-sdk-graphql":"true","content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}mutation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)&&"query"in e?i=e||{}:i={query:e};const t=i.query;if(typeof t>"u")throw new h('Missing required parameter: "query"');const o="/graphql/mutation",a={};typeof t<"u"&&(a.query=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"x-sdk-graphql":"true","content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}}class fo{constructor(e){this.client=e}get(){const e="/locale",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCodes(){const e="/locale/codes",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listContinents(){const e="/locale/continents",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountries(){const e="/locale/countries",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountriesEU(){const e="/locale/countries/eu",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCountriesPhones(){const e="/locale/countries/phones",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listCurrencies(){const e="/locale/currencies",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}listLanguages(){const e="/locale/languages",i={},t=new URL(this.client.config.endpoint+e),o={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",t,o,i)}}class go{constructor(e){this.client=e}createSubscriber(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={topicId:e,subscriberId:i[0],targetId:i[1]};const o=t.topicId,a=t.subscriberId,s=t.targetId;if(typeof o>"u")throw new h('Missing required parameter: "topicId"');if(typeof a>"u")throw new h('Missing required parameter: "subscriberId"');if(typeof s>"u")throw new h('Missing required parameter: "targetId"');const r="/messaging/topics/{topicId}/subscribers".replace("{topicId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.subscriberId=a),typeof s<"u"&&(d.targetId=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}deleteSubscriber(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={topicId:e,subscriberId:i[0]};const o=t.topicId,a=t.subscriberId;if(typeof o>"u")throw new h('Missing required parameter: "topicId"');if(typeof a>"u")throw new h('Missing required parameter: "subscriberId"');const s="/messaging/topics/{topicId}/subscribers/{subscriberId}".replace("{topicId}",encodeURIComponent(String(o))).replace("{subscriberId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}}class yo{constructor(e){this.client=e}listInstallations(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0]};const o=t.queries,a=t.total,s="/organization/installations",r={};typeof o<"u"&&(r.queries=o),typeof a<"u"&&(r.total=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}createInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={appId:e,authorizationDetails:i[0]};const o=t.appId,a=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "appId"');const s="/organization/installations",r={};typeof o<"u"&&(r.appId=o),typeof a<"u"&&(r.authorizationDetails=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}getInstallation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={installationId:e};const t=i.installationId;if(typeof t>"u")throw new h('Missing required parameter: "installationId"');const o="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={installationId:e,authorizationDetails:i[0]};const o=t.installationId,a=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "installationId"');const s="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.authorizationDetails=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}deleteInstallation(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={installationId:e};const t=i.installationId;if(typeof t>"u")throw new h('Missing required parameter: "installationId"');const o="/organization/installations/{installationId}".replace("{installationId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",s,r,a)}}class mo{constructor(e){this.client=e}list(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,total:i[0],ttl:i[1]};const o=t.queries,a=t.total,s=t.ttl,r="/presences",d={};typeof o<"u"&&(d.queries=o),typeof a<"u"&&(d.total=a),typeof s<"u"&&(d.ttl=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}get(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={presenceId:e};const t=i.presenceId;if(typeof t>"u")throw new h('Missing required parameter: "presenceId"');const o="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}upsert(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={presenceId:e,status:i[0],permissions:i[1],expiresAt:i[2],metadata:i[3]};const o=t.presenceId,a=t.status,s=t.permissions,r=t.expiresAt,d=t.metadata;if(typeof o>"u")throw new h('Missing required parameter: "presenceId"');if(typeof a>"u")throw new h('Missing required parameter: "status"');const c="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(o))),l={};typeof a<"u"&&(l.status=a),typeof s<"u"&&(l.permissions=s),typeof r<"u"&&(l.expiresAt=r),typeof d<"u"&&(l.metadata=d);const u=new URL(this.client.config.endpoint+c),b={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",u,b,l)}update(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={presenceId:e,status:i[0],expiresAt:i[1],metadata:i[2],permissions:i[3],purge:i[4]};const o=t.presenceId,a=t.status,s=t.expiresAt,r=t.metadata,d=t.permissions,c=t.purge;if(typeof o>"u")throw new h('Missing required parameter: "presenceId"');const l="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(o))),u={};typeof a<"u"&&(u.status=a),typeof s<"u"&&(u.expiresAt=s),typeof r<"u"&&(u.metadata=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.purge=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",b,j,u)}delete(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={presenceId:e};const t=i.presenceId;if(typeof t>"u")throw new h('Missing required parameter: "presenceId"');const o="/presences/{presenceId}".replace("{presenceId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}}class bo{constructor(e){this.client=e}listFiles(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,queries:i[0],search:i[1],total:i[2]};const o=t.bucketId,a=t.queries,s=t.search,r=t.total;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');const d="/storage/buckets/{bucketId}/files".replace("{bucketId}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.queries=a),typeof s<"u"&&(c.search=s),typeof r<"u"&&(c.total=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",l,u,c)}createFile(e,...i){let t,o;e&&typeof e=="object"&&!Array.isArray(e)?(t=e||{},o=e?.onProgress):(t={bucketId:e,fileId:i[0],file:i[1],permissions:i[2],folder:i[3]},o=i[4]);const a=t.bucketId,s=t.fileId,r=t.file,d=t.permissions,c=t.folder;if(typeof a>"u")throw new h('Missing required parameter: "bucketId"');if(typeof s>"u")throw new h('Missing required parameter: "fileId"');if(typeof r>"u")throw new h('Missing required parameter: "file"');const l="/storage/buckets/{bucketId}/files".replace("{bucketId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.fileId=s),typeof r<"u"&&(u.file=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.folder=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"multipart/form-data",accept:"application/json"};return this.client.chunkedUpload("post",b,j,u,o)}getFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0]};const o=t.bucketId,a=t.fileId;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const s="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],name:i[1],permissions:i[2]};const o=t.bucketId,a=t.fileId,s=t.name,r=t.permissions;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const d="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.name=s),typeof r<"u"&&(c.permissions=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",l,u,c)}deleteFile(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0]};const o=t.bucketId,a=t.fileId;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const s="/storage/buckets/{bucketId}/files/{fileId}".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}getFileDownload(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],token:i[1]};const o=t.bucketId,a=t.fileId,s=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const r="/storage/buckets/{bucketId}/files/{fileId}/download".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.token=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}getFilePreview(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],width:i[1],height:i[2],gravity:i[3],quality:i[4],borderWidth:i[5],borderColor:i[6],borderRadius:i[7],opacity:i[8],rotation:i[9],background:i[10],output:i[11],token:i[12]};const o=t.bucketId,a=t.fileId,s=t.width,r=t.height,d=t.gravity,c=t.quality,l=t.borderWidth,u=t.borderColor,b=t.borderRadius,j=t.opacity,q=t.rotation,T=t.background,K=t.output,Y=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const L="/storage/buckets/{bucketId}/files/{fileId}/preview".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),H={};typeof s<"u"&&(H.width=s),typeof r<"u"&&(H.height=r),typeof d<"u"&&(H.gravity=d),typeof c<"u"&&(H.quality=c),typeof l<"u"&&(H.borderWidth=l),typeof u<"u"&&(H.borderColor=u),typeof b<"u"&&(H.borderRadius=b),typeof j<"u"&&(H.opacity=j),typeof q<"u"&&(H.rotation=q),typeof T<"u"&&(H.background=T),typeof K<"u"&&(H.output=K),typeof Y<"u"&&(H.token=Y);const Z=new URL(this.client.config.endpoint+L);H.project=this.client.config.project,H.impersonateuserid=this.client.config.impersonateuserid;for(const[se,B]of Object.entries(ye.flatten(H)))Z.searchParams.append(se,B);return Z.toString()}getFileView(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={bucketId:e,fileId:i[0],token:i[1]};const o=t.bucketId,a=t.fileId,s=t.token;if(typeof o>"u")throw new h('Missing required parameter: "bucketId"');if(typeof a>"u")throw new h('Missing required parameter: "fileId"');const r="/storage/buckets/{bucketId}/files/{fileId}/view".replace("{bucketId}",encodeURIComponent(String(o))).replace("{fileId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.token=s);const c=new URL(this.client.config.endpoint+r);d.project=this.client.config.project,d.impersonateuserid=this.client.config.impersonateuserid;for(const[l,u]of Object.entries(ye.flatten(d)))c.searchParams.append(l,u);return c.toString()}}class wo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/tablesdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/tablesdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/tablesdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/tablesdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listRows(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.tableId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",b,j,u)}createRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.rowId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",b,j,u)}getRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const c="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),b={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,b,l)}upsertRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",b,j,u)}updateRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const l="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",b,j,u)}deleteRow(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');const d="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}decrementRowColumn(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],column:i[2],value:i[3],min:i[4],transactionId:i[5]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.column,d=t.value,c=t.min,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "column"');const u="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))).replace("{column}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.min=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}incrementRowColumn(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,tableId:i[0],rowId:i[1],column:i[2],value:i[3],max:i[4],transactionId:i[5]};const o=t.databaseId,a=t.tableId,s=t.rowId,r=t.column,d=t.value,c=t.max,l=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "tableId"');if(typeof s>"u")throw new h('Missing required parameter: "rowId"');if(typeof r>"u")throw new h('Missing required parameter: "column"');const u="/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment".replace("{databaseId}",encodeURIComponent(String(o))).replace("{tableId}",encodeURIComponent(String(a))).replace("{rowId}",encodeURIComponent(String(s))).replace("{column}",encodeURIComponent(String(r))),b={};typeof d<"u"&&(b.value=d),typeof c<"u"&&(b.max=c),typeof l<"u"&&(b.transactionId=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",j,q,b)}}class Ji{constructor(e){this.client=e}list(e,...i){let t;typeof e>"u"&&i.length===0||e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={queries:e,search:i[0],total:i[1]};const o=t.queries,a=t.search,s=t.total,r="/teams",d={};typeof o<"u"&&(d.queries=o),typeof a<"u"&&(d.search=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}create(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,name:i[0],roles:i[1]};const o=t.teamId,a=t.name,s=t.roles;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "name"');const r="/teams",d={};typeof o<"u"&&(d.teamId=o),typeof a<"u"&&(d.name=a),typeof s<"u"&&(d.roles=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}get(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateName(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,name:i[0]};const o=t.teamId,a=t.name;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "name"');const s="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.name=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}delete(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}listInstallations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,queries:i[0],total:i[1]};const o=t.teamId,a=t.queries,s=t.total;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');const r="/teams/{teamId}/installations".replace("{teamId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.queries=a),typeof s<"u"&&(d.total=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",c,l,d)}createInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,appId:i[0],authorizationDetails:i[1]};const o=t.teamId,a=t.appId,s=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "appId"');const r="/teams/{teamId}/installations".replace("{teamId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.appId=a),typeof s<"u"&&(d.authorizationDetails=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",c,l,d)}getInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0]};const o=t.teamId,a=t.installationId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const s="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0],authorizationDetails:i[1]};const o=t.teamId,a=t.installationId,s=t.authorizationDetails;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const r="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.authorizationDetails=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",c,l,d)}deleteInstallation(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,installationId:i[0]};const o=t.teamId,a=t.installationId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "installationId"');const s="/teams/{teamId}/installations/{installationId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{installationId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("delete",d,c,r)}listMemberships(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,queries:i[0],search:i[1],total:i[2]};const o=t.teamId,a=t.queries,s=t.search,r=t.total;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');const d="/teams/{teamId}/memberships".replace("{teamId}",encodeURIComponent(String(o))),c={};typeof a<"u"&&(c.queries=a),typeof s<"u"&&(c.search=s),typeof r<"u"&&(c.total=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",l,u,c)}createMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,roles:i[0],email:i[1],userId:i[2],phone:i[3],url:i[4],name:i[5]};const o=t.teamId,a=t.roles,s=t.email,r=t.userId,d=t.phone,c=t.url,l=t.name;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "roles"');const u="/teams/{teamId}/memberships".replace("{teamId}",encodeURIComponent(String(o))),b={};typeof s<"u"&&(b.email=s),typeof r<"u"&&(b.userId=r),typeof d<"u"&&(b.phone=d),typeof a<"u"&&(b.roles=a),typeof c<"u"&&(b.url=c),typeof l<"u"&&(b.name=l);const j=new URL(this.client.config.endpoint+u),q={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",j,q,b)}getMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0]};const o=t.teamId,a=t.membershipId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');const s="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",d,c,r)}updateMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0],roles:i[1]};const o=t.teamId,a=t.membershipId,s=t.roles;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');if(typeof s>"u")throw new h('Missing required parameter: "roles"');const r="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),d={};typeof s<"u"&&(d.roles=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteMembership(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0]};const o=t.teamId,a=t.membershipId;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');const s="/teams/{teamId}/memberships/{membershipId}".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),r={},d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",d,c,r)}updateMembershipStatus(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,membershipId:i[0],userId:i[1],secret:i[2]};const o=t.teamId,a=t.membershipId,s=t.userId,r=t.secret;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "membershipId"');if(typeof s>"u")throw new h('Missing required parameter: "userId"');if(typeof r>"u")throw new h('Missing required parameter: "secret"');const d="/teams/{teamId}/memberships/{membershipId}/status".replace("{teamId}",encodeURIComponent(String(o))).replace("{membershipId}",encodeURIComponent(String(a))),c={};typeof s<"u"&&(c.userId=s),typeof r<"u"&&(c.secret=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",l,u,c)}getPrefs(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={teamId:e};const t=i.teamId;if(typeof t>"u")throw new h('Missing required parameter: "teamId"');const o="/teams/{teamId}/prefs".replace("{teamId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updatePrefs(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={teamId:e,prefs:i[0]};const o=t.teamId,a=t.prefs;if(typeof o>"u")throw new h('Missing required parameter: "teamId"');if(typeof a>"u")throw new h('Missing required parameter: "prefs"');const s="/teams/{teamId}/prefs".replace("{teamId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.prefs=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",d,c,r)}}class vo{constructor(e){this.client=e}listTransactions(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={queries:e};const t=i.queries,o="/vectorsdb/transactions",a={};typeof t<"u"&&(a.queries=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}createTransaction(e){let i;typeof e>"u"||e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={ttl:e};const t=i.ttl,o="/vectorsdb/transactions",a={};typeof t<"u"&&(a.ttl=t);const s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",s,r,a)}getTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",s,r,a)}updateTransaction(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,commit:i[0],rollback:i[1]};const o=t.transactionId,a=t.commit,s=t.rollback;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const r="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(o))),d={};typeof a<"u"&&(d.commit=a),typeof s<"u"&&(d.rollback=s);const c=new URL(this.client.config.endpoint+r),l={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",c,l,d)}deleteTransaction(e){let i;e&&typeof e=="object"&&!Array.isArray(e)?i=e||{}:i={transactionId:e};const t=i.transactionId;if(typeof t>"u")throw new h('Missing required parameter: "transactionId"');const o="/vectorsdb/transactions/{transactionId}".replace("{transactionId}",encodeURIComponent(String(t))),a={},s=new URL(this.client.config.endpoint+o),r={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",s,r,a)}createOperations(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={transactionId:e,operations:i[0]};const o=t.transactionId,a=t.operations;if(typeof o>"u")throw new h('Missing required parameter: "transactionId"');const s="/vectorsdb/transactions/{transactionId}/operations".replace("{transactionId}",encodeURIComponent(String(o))),r={};typeof a<"u"&&(r.operations=a);const d=new URL(this.client.config.endpoint+s),c={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",d,c,r)}listDocuments(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",b,j,u)}createDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');if(typeof r>"u")throw new h('Missing required parameter: "data"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.documentId=s),typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",b,j,u)}createQuery(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],queries:i[1],transactionId:i[2],total:i[3],ttl:i[4]};const o=t.databaseId,a=t.collectionId,s=t.queries,r=t.transactionId,d=t.total,c=t.ttl;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/query".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))),u={};typeof s<"u"&&(u.queries=s),typeof r<"u"&&(u.transactionId=r),typeof d<"u"&&(u.total=d),typeof c<"u"&&(u.ttl=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("post",b,j,u)}getDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],queries:i[2],transactionId:i[3]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.queries,d=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const c="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),l={};typeof r<"u"&&(l.queries=r),typeof d<"u"&&(l.transactionId=d);const u=new URL(this.client.config.endpoint+c),b={"X-Appwrite-Project":this.client.config.project,accept:"application/json"};return this.client.call("get",u,b,l)}upsertDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("put",b,j,u)}updateDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],data:i[2],permissions:i[3],transactionId:i[4]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.data,d=t.permissions,c=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const l="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),u={};typeof r<"u"&&(u.data=r),typeof d<"u"&&(u.permissions=d),typeof c<"u"&&(u.transactionId=c);const b=new URL(this.client.config.endpoint+l),j={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json",accept:"application/json"};return this.client.call("patch",b,j,u)}deleteDocument(e,...i){let t;e&&typeof e=="object"&&!Array.isArray(e)?t=e||{}:t={databaseId:e,collectionId:i[0],documentId:i[1],transactionId:i[2]};const o=t.databaseId,a=t.collectionId,s=t.documentId,r=t.transactionId;if(typeof o>"u")throw new h('Missing required parameter: "databaseId"');if(typeof a>"u")throw new h('Missing required parameter: "collectionId"');if(typeof s>"u")throw new h('Missing required parameter: "documentId"');const d="/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}",encodeURIComponent(String(o))).replace("{collectionId}",encodeURIComponent(String(a))).replace("{documentId}",encodeURIComponent(String(s))),c={};typeof r<"u"&&(c.transactionId=r);const l=new URL(this.client.config.endpoint+d),u={"X-Appwrite-Project":this.client.config.project,"content-type":"application/json"};return this.client.call("delete",l,u,c)}}var jt;(function(n){n[n.NORMAL_CLOSURE=1e3]="NORMAL_CLOSURE",n[n.POLICY_VIOLATION=1008]="POLICY_VIOLATION",n[n.UNKNOWN_ERROR=-1]="UNKNOWN_ERROR"})(jt||(jt={}));class Io{constructor(e){this.TYPE_ERROR="error",this.TYPE_EVENT="event",this.TYPE_PONG="pong",this.TYPE_CONNECTED="connected",this.DEBOUNCE_MS=1,this.HEARTBEAT_INTERVAL=2e4,this.activeSubscriptions=new Map,this.pendingSubscribes=new Map,this.appConnected=!1,this.subCallDepth=0,this.reconnectAttempts=0,this.connectionId=0,this.reconnect=!0,this.onErrorCallbacks=[],this.onCloseCallbacks=[],this.onOpenCallbacks=[],this.client=e}onError(e){this.onErrorCallbacks.push(e)}onClose(e){this.onCloseCallbacks.push(e)}onOpen(e){this.onOpenCallbacks.push(e)}startHeartbeat(){this.stopHeartbeat(),this.heartbeatTimer=window?.setInterval(()=>{this.socket&&this.socket.readyState===WebSocket.OPEN&&this.socket.send(me.stringify({type:"ping"}))},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(window?.clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0)}createSocket(){return ve(this,void 0,void 0,function*(){if(!(this.socket&&this.socket.readyState<WebSocket.CLOSING))return this.socketCreationPromise?this.socketCreationPromise:(this.socketCreationPromise=this.createSocketLocked().finally(()=>{this.socketCreationPromise=void 0}),this.socketCreationPromise)})}createSocketLocked(){return ve(this,void 0,void 0,function*(){if(this.activeSubscriptions.size===0&&!this.pendingPresence){this.reconnect=!1,yield this.closeSocket();return}const e=this.client.config.project;if(!e)throw new h("Missing project ID");let i=`project=${e}`;const t=this.client.config.jwt;t&&(i+=`&jwt=${encodeURIComponent(t)}`);const s=`${(this.client.config.endpointRealtime!==""?this.client.config.endpointRealtime:this.client.config.endpoint||"").replace("https://","wss://").replace("http://","ws://")}/realtime?${i}`;return this.socket&&(this.reconnect=!1,this.socket.readyState<WebSocket.CLOSING&&(yield this.closeSocket()),this.reconnect=!0),new Promise((r,d)=>{if(this.activeSubscriptions.size===0&&!this.pendingPresence){r();return}try{const c=++this.connectionId,l=this.socket=new WebSocket(s);l.addEventListener("open",()=>{c===this.connectionId&&(this.reconnectAttempts=0,this.onOpenCallbacks.forEach(u=>u()),this.startHeartbeat(),r())}),l.addEventListener("message",u=>{if(c===this.connectionId)try{const b=me.parse(u.data);this.handleMessage(b)}catch(b){console.error("Failed to parse message:",b)}}),l.addEventListener("close",u=>ve(this,void 0,void 0,function*(){if(c!==this.connectionId||l!==this.socket)return;if(this.appConnected=!1,this.stopHeartbeat(),this.onCloseCallbacks.forEach(j=>j()),!this.reconnect||u.code===jt.POLICY_VIOLATION){this.reconnect=!0;return}const b=this.getTimeout();console.log(`Realtime disconnected. Re-connecting in ${b/1e3} seconds.`),yield this.sleep(b),this.reconnectAttempts++;try{yield this.createSocket()}catch(j){console.error("Failed to reconnect:",j)}})),l.addEventListener("error",u=>{if(c!==this.connectionId||l!==this.socket)return;this.stopHeartbeat();const b=new Error("WebSocket error");console.error("WebSocket error:",b.message),this.onErrorCallbacks.forEach(j=>j(b)),d(b)})}catch(c){d(c)}})})}closeSocket(){return ve(this,void 0,void 0,function*(){if(this.stopHeartbeat(),this.socket)return new Promise(e=>{if(!this.socket){e();return}this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING?(this.socket.addEventListener("close",()=>{e()},{once:!0}),this.socket.close(jt.NORMAL_CLOSURE)):e()})})}getTimeout(){return this.reconnectAttempts<5?1e3:this.reconnectAttempts<15?5e3:this.reconnectAttempts<100?1e4:6e4}sleep(e){return new Promise(i=>setTimeout(i,e))}sendUnsubscribeMessage(e){const i=e.filter(t=>typeof t=="string"&&t.length>0);i.length!==0&&(!this.socket||this.socket.readyState!==WebSocket.OPEN||this.socket.send(me.stringify({type:"unsubscribe",data:i.map(t=>({subscriptionId:t}))})))}generateUniqueSubscriptionId(){const e=this.activeSubscriptions.size+1;for(let i=0;i<e;i++){const t=He.unique();if(!this.activeSubscriptions.has(t))return t}throw new h("Failed to generate unique subscription id")}enqueuePendingSubscribe(e){var i;const t=this.activeSubscriptions.get(e);t&&this.pendingSubscribes.set(e,{subscriptionId:e,channels:Array.from(t.channels),queries:(i=t.queries)!==null&&i!==void 0?i:[]})}disconnect(){return ve(this,void 0,void 0,function*(){this.activeSubscriptions.clear(),this.pendingSubscribes.clear(),this.pendingPresence=void 0,this.appConnected=!1,this.reconnect=!1,this.socketCreationPromise=void 0,yield this.closeSocket()})}sendPendingSubscribes(){if(!this.socket||this.socket.readyState!==WebSocket.OPEN||!this.appConnected||this.pendingSubscribes.size<1)return;const e=Array.from(this.pendingSubscribes.values());this.pendingSubscribes.clear(),this.socket.send(me.stringify({type:"subscribe",data:e}))}channelToString(e){return typeof e=="string"?e:e&&typeof e.toString=="function"?e.toString():String(e)}subscribe(e,i){return ve(this,arguments,void 0,function*(t,o,a=[]){const r=(Array.isArray(t)?t:[t]).map(q=>this.channelToString(q)),d=new Set(r),c=[];for(const q of a??[])if(Array.isArray(q))for(const T of q)c.push(typeof T=="string"?T:T.toString());else c.push(typeof q=="string"?q:q.toString());const l=this.generateUniqueSubscriptionId();this.activeSubscriptions.set(l,{channels:d,queries:c,callback:o}),this.enqueuePendingSubscribe(l),this.subCallDepth++;try{yield this.sleep(this.DEBOUNCE_MS),this.subCallDepth===1&&(!this.socket||this.socket.readyState>WebSocket.OPEN?yield this.createSocket():this.socket.readyState===WebSocket.OPEN&&this.sendPendingSubscribes())}finally{this.subCallDepth--}const u=()=>ve(this,void 0,void 0,function*(){this.activeSubscriptions.has(l)&&(this.activeSubscriptions.delete(l),this.pendingSubscribes.delete(l),this.sendUnsubscribeMessage([l]))});return{unsubscribe:u,update:q=>ve(this,void 0,void 0,function*(){const T=this.activeSubscriptions.get(l);if(T){if(q.channels!==void 0){const K=q.channels.map(Y=>this.channelToString(Y));T.channels=new Set(K)}if(q.queries!==void 0){const K=[];for(const Y of q.queries)if(Array.isArray(Y))for(const L of Y)K.push(typeof L=="string"?L:L.toString());else K.push(typeof Y=="string"?Y:Y.toString());T.queries=K}this.enqueuePendingSubscribe(l),this.subCallDepth++;try{yield this.sleep(this.DEBOUNCE_MS),this.subCallDepth===1&&(!this.socket||this.socket.readyState>WebSocket.OPEN?yield this.createSocket():this.socket.readyState===WebSocket.OPEN&&this.sendPendingSubscribes())}finally{this.subCallDepth--}}}),close:()=>ve(this,void 0,void 0,function*(){yield u(),this.activeSubscriptions.size===0&&(this.reconnect=!1,yield this.closeSocket())})}})}upsertPresence(e){return ve(this,void 0,void 0,function*(){const i={status:e.status,presenceId:e.presenceId};e.permissions!==void 0&&(i.permissions=e.permissions),e.metadata!==void 0&&(i.metadata=e.metadata),this.pendingPresence=i,(!this.socket||this.socket.readyState>=WebSocket.CLOSING)&&this.createSocket().catch(t=>{console.error("Failed to open realtime socket for presence:",t)}),this.flushPendingPresence()})}flushPendingPresence(){this.pendingPresence&&(!this.socket||this.socket.readyState!==WebSocket.OPEN||this.appConnected&&this.socket.send(me.stringify({type:"presence",data:this.pendingPresence})))}handleMessage(e){if(e.type)switch(e.type){case this.TYPE_CONNECTED:this.handleResponseConnected(e);break;case this.TYPE_ERROR:this.handleResponseError(e);break;case this.TYPE_EVENT:this.handleResponseEvent(e);break;case this.TYPE_PONG:break}}handleResponseConnected(e){var i,t;if(!e.data)return;const o=e.data;let a=this.client.config.session;if(!a)try{const s=me.parse((i=window.localStorage.getItem("cookieFallback"))!==null&&i!==void 0?i:"{}");a=s?.[`a_session_${this.client.config.project}`]}catch(s){console.error("Failed to parse cookie fallback:",s)}a&&!o.user&&((t=this.socket)===null||t===void 0||t.send(me.stringify({type:"authentication",data:{session:a}})));for(const s of this.activeSubscriptions.keys())this.enqueuePendingSubscribe(s);this.appConnected=!0,this.sendPendingSubscribes(),this.flushPendingPresence()}handleResponseError(e){var i,t;const o=new h(((i=e.data)===null||i===void 0?void 0:i.message)||"Unknown error"),a=(t=e.data)===null||t===void 0?void 0:t.code;this.onErrorCallbacks.forEach(s=>s(o,a))}handleResponseEvent(e){const i=e.data;if(!i)return;const t=i.channels,o=i.events,a=i.payload,s=i.timestamp,r=i.subscriptions;if(!(!t||!o||!a||!r||r.length===0))for(const d of r){const c=this.activeSubscriptions.get(d);c&&c.callback({events:o,channels:t,timestamp:s,payload:a,subscriptions:r})}}}class it{}it.read=n=>`read("${n}")`,it.write=n=>`write("${n}")`,it.create=n=>`create("${n}")`,it.update=n=>`update("${n}")`,it.delete=n=>`delete("${n}")`;class Ao{static any(){return"any"}static user(e,i=""){return i===""?`user:${e}`:`user:${e}/${i}`}static users(e=""){return e===""?"users":`users/${e}`}static guests(){return"guests"}static team(e,i=""){return i===""?`team:${e}`:`team:${e}/${i}`}static member(e){return`member:${e}`}static label(e){return`label:${e}`}}function Me(n){if(n==null)throw new Error("Channel ID is required");const e=String(n).trim();if(e==="")throw new Error("Channel ID is required");return e}class ke{constructor(e){this.segments=e}next(e,i){const t=i===void 0?[...this.segments,e]:[...this.segments,e,Me(i)];return new ke(t)}resolve(e){return new ke([...this.segments,e])}toString(){return this.segments.join(".")}collection(e){return this.next("collections",e)}document(e){return this.next("documents",e)}table(e){return this.next("tables",e)}row(e){return this.next("rows",e)}file(e){return this.next("files",e)}create(){return this.resolve("create")}upsert(){return this.resolve("upsert")}update(){return this.resolve("update")}delete(){return this.resolve("delete")}static database(e){return new ke(["databases",Me(e)])}static execution(e){return new ke(["executions",Me(e)])}static tablesdb(e){return new ke(["tablesdb",Me(e)])}static bucket(e){return new ke(["buckets",Me(e)])}static function(e){return new ke(["functions",Me(e)])}static team(e){return new ke(["teams",Me(e)])}static membership(e){return new ke(["memberships",Me(e)])}static presence(e){return new ke(["presences",Me(e)])}static account(){return"account"}static documents(){return"documents"}static rows(){return"rows"}static files(){return"files"}static executions(){return"executions"}static teams(){return"teams"}static memberships(){return"memberships"}static presences(){return"presences"}}var Jt;(function(n){n.Equal="equal",n.NotEqual="notEqual",n.GreaterThan="greaterThan",n.GreaterThanEqual="greaterThanEqual",n.LessThan="lessThan",n.LessThanEqual="lessThanEqual",n.Contains="contains",n.IsNull="isNull",n.IsNotNull="isNotNull"})(Jt||(Jt={}));class Q{constructor(e,i){this.method=e,i!==void 0&&(Array.isArray(i)?this.values=i:this.values=[i])}toString(){return JSON.stringify({method:this.method,values:this.values})}}Q.increment=(n=1,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Value cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("increment",i).toString()},Q.decrement=(n=1,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Value cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Min cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("decrement",i).toString()},Q.multiply=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Factor cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("multiply",i).toString()},Q.divide=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Divisor cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Min cannot be NaN or Infinity");if(n===0)throw new Error("Divisor cannot be zero");const i=[n];return e!==void 0&&i.push(e),new Q("divide",i).toString()},Q.modulo=n=>{if(isNaN(n)||!isFinite(n))throw new Error("Divisor cannot be NaN or Infinity");if(n===0)throw new Error("Divisor cannot be zero");return new Q("modulo",[n]).toString()},Q.power=(n,e)=>{if(isNaN(n)||!isFinite(n))throw new Error("Exponent cannot be NaN or Infinity");if(e!==void 0&&(isNaN(e)||!isFinite(e)))throw new Error("Max cannot be NaN or Infinity");const i=[n];return e!==void 0&&i.push(e),new Q("power",i).toString()},Q.arrayAppend=n=>new Q("arrayAppend",n).toString(),Q.arrayPrepend=n=>new Q("arrayPrepend",n).toString(),Q.arrayInsert=(n,e)=>new Q("arrayInsert",[n,e]).toString(),Q.arrayRemove=n=>new Q("arrayRemove",[n]).toString(),Q.arrayUnique=()=>new Q("arrayUnique",[]).toString(),Q.arrayIntersect=n=>new Q("arrayIntersect",n).toString(),Q.arrayDiff=n=>new Q("arrayDiff",n).toString(),Q.arrayFilter=(n,e)=>{const i=[n,e===void 0?null:e];return new Q("arrayFilter",i).toString()},Q.stringConcat=n=>new Q("stringConcat",[n]).toString(),Q.stringReplace=(n,e)=>new Q("stringReplace",[n,e]).toString(),Q.toggle=()=>new Q("toggle",[]).toString(),Q.dateAddDays=n=>new Q("dateAddDays",[n]).toString(),Q.dateSubDays=n=>new Q("dateSubDays",[n]).toString(),Q.dateSetNow=()=>new Q("dateSetNow",[]).toString();var Zt;(function(n){n.Totp="totp"})(Zt||(Zt={}));var Qt;(function(n){n.Email="email",n.Phone="phone",n.Totp="totp",n.Recoverycode="recoverycode",n.Custom="custom"})(Qt||(Qt={}));var Tt;(function(n){n.Amazon="amazon",n.Apple="apple",n.Appwrite="appwrite",n.Auth0="auth0",n.Authentik="authentik",n.Autodesk="autodesk",n.Bitbucket="bitbucket",n.Bitly="bitly",n.Box="box",n.Cloudflare="cloudflare",n.Dailymotion="dailymotion",n.Discord="discord",n.Disqus="disqus",n.Dropbox="dropbox",n.Etsy="etsy",n.Facebook="facebook",n.Figma="figma",n.Fusionauth="fusionauth",n.Github="github",n.Gitlab="gitlab",n.Google="google",n.Huggingface="huggingface",n.Keycloak="keycloak",n.Kick="kick",n.Linkedin="linkedin",n.Microsoft="microsoft",n.Notion="notion",n.Oidc="oidc",n.Okta="okta",n.Paypal="paypal",n.PaypalSandbox="paypalSandbox",n.Podio="podio",n.Resend="resend",n.Salesforce="salesforce",n.Slack="slack",n.Spotify="spotify",n.Stripe="stripe",n.Tradeshift="tradeshift",n.TradeshiftBox="tradeshiftBox",n.Twitch="twitch",n.Wordpress="wordpress",n.X="x",n.Yahoo="yahoo",n.Yammer="yammer",n.Yandex="yandex",n.Zoho="zoho",n.Zoom="zoom"})(Tt||(Tt={}));var zt;(function(n){n.AvantBrowser="aa",n.AndroidWebViewBeta="an",n.GoogleChrome="ch",n.GoogleChromeIOS="ci",n.GoogleChromeMobile="cm",n.Chromium="cr",n.MozillaFirefox="ff",n.Safari="sf",n.MobileSafari="mf",n.MicrosoftEdge="ps",n.MicrosoftEdgeIOS="oi",n.OperaMini="om",n.Opera="op",n.OperaNext="on"})(zt||(zt={}));var Ot;(function(n){n.AmericanExpress="amex",n.Argencard="argencard",n.Cabal="cabal",n.Cencosud="cencosud",n.DinersClub="diners",n.Discover="discover",n.Elo="elo",n.Hipercard="hipercard",n.JCB="jcb",n.Mastercard="mastercard",n.Naranja="naranja",n.TarjetaShopping="targeta-shopping",n.UnionPay="unionpay",n.Visa="visa",n.MIR="mir",n.Maestro="maestro",n.Rupay="rupay"})(Ot||(Ot={}));var Ft;(function(n){n.Afghanistan="af",n.Angola="ao",n.Albania="al",n.Andorra="ad",n.UnitedArabEmirates="ae",n.Argentina="ar",n.Armenia="am",n.AntiguaAndBarbuda="ag",n.Australia="au",n.Austria="at",n.Azerbaijan="az",n.Burundi="bi",n.Belgium="be",n.Benin="bj",n.BurkinaFaso="bf",n.Bangladesh="bd",n.Bulgaria="bg",n.Bahrain="bh",n.Bahamas="bs",n.BosniaAndHerzegovina="ba",n.Belarus="by",n.Belize="bz",n.Bolivia="bo",n.Brazil="br",n.Barbados="bb",n.BruneiDarussalam="bn",n.Bhutan="bt",n.Botswana="bw",n.CentralAfricanRepublic="cf",n.Canada="ca",n.Switzerland="ch",n.Chile="cl",n.China="cn",n.CoteDIvoire="ci",n.Cameroon="cm",n.DemocraticRepublicOfTheCongo="cd",n.RepublicOfTheCongo="cg",n.Colombia="co",n.Comoros="km",n.CapeVerde="cv",n.CostaRica="cr",n.Cuba="cu",n.Cyprus="cy",n.CzechRepublic="cz",n.Germany="de",n.Djibouti="dj",n.Dominica="dm",n.Denmark="dk",n.DominicanRepublic="do",n.Algeria="dz",n.Ecuador="ec",n.Egypt="eg",n.Eritrea="er",n.Spain="es",n.Estonia="ee",n.Ethiopia="et",n.Finland="fi",n.Fiji="fj",n.France="fr",n.MicronesiaFederatedStatesOf="fm",n.Gabon="ga",n.UnitedKingdom="gb",n.Georgia="ge",n.Ghana="gh",n.Guinea="gn",n.Gambia="gm",n.GuineaBissau="gw",n.EquatorialGuinea="gq",n.Greece="gr",n.Grenada="gd",n.Guatemala="gt",n.Guyana="gy",n.Honduras="hn",n.Croatia="hr",n.Haiti="ht",n.Hungary="hu",n.Indonesia="id",n.India="in",n.Ireland="ie",n.IranIslamicRepublicOf="ir",n.Iraq="iq",n.Iceland="is",n.Israel="il",n.Italy="it",n.Jamaica="jm",n.Jordan="jo",n.Japan="jp",n.Kazakhstan="kz",n.Kenya="ke",n.Kyrgyzstan="kg",n.Cambodia="kh",n.Kiribati="ki",n.SaintKittsAndNevis="kn",n.SouthKorea="kr",n.Kuwait="kw",n.LaoPeopleSDemocraticRepublic="la",n.Lebanon="lb",n.Liberia="lr",n.Libya="ly",n.SaintLucia="lc",n.Liechtenstein="li",n.SriLanka="lk",n.Lesotho="ls",n.Lithuania="lt",n.Luxembourg="lu",n.Latvia="lv",n.Morocco="ma",n.Monaco="mc",n.Moldova="md",n.Madagascar="mg",n.Maldives="mv",n.Mexico="mx",n.MarshallIslands="mh",n.NorthMacedonia="mk",n.Mali="ml",n.Malta="mt",n.Myanmar="mm",n.Montenegro="me",n.Mongolia="mn",n.Mozambique="mz",n.Mauritania="mr",n.Mauritius="mu",n.Malawi="mw",n.Malaysia="my",n.Namibia="na",n.Niger="ne",n.Nigeria="ng",n.Nicaragua="ni",n.Netherlands="nl",n.Norway="no",n.Nepal="np",n.Nauru="nr",n.NewZealand="nz",n.Oman="om",n.Pakistan="pk",n.Panama="pa",n.Peru="pe",n.Philippines="ph",n.Palau="pw",n.PapuaNewGuinea="pg",n.Poland="pl",n.FrenchPolynesia="pf",n.NorthKorea="kp",n.Portugal="pt",n.Paraguay="py",n.Qatar="qa",n.Romania="ro",n.Russia="ru",n.Rwanda="rw",n.SaudiArabia="sa",n.Sudan="sd",n.Senegal="sn",n.Singapore="sg",n.SolomonIslands="sb",n.SierraLeone="sl",n.ElSalvador="sv",n.SanMarino="sm",n.Somalia="so",n.Serbia="rs",n.SouthSudan="ss",n.SaoTomeAndPrincipe="st",n.Suriname="sr",n.Slovakia="sk",n.Slovenia="si",n.Sweden="se",n.Eswatini="sz",n.Seychelles="sc",n.Syria="sy",n.Chad="td",n.Togo="tg",n.Thailand="th",n.Tajikistan="tj",n.Turkmenistan="tm",n.TimorLeste="tl",n.Tonga="to",n.TrinidadAndTobago="tt",n.Tunisia="tn",n.Turkey="tr",n.Tuvalu="tv",n.Tanzania="tz",n.Uganda="ug",n.Ukraine="ua",n.Uruguay="uy",n.UnitedStates="us",n.Uzbekistan="uz",n.VaticanCity="va",n.SaintVincentAndTheGrenadines="vc",n.Venezuela="ve",n.Vietnam="vn",n.Vanuatu="vu",n.Samoa="ws",n.Yemen="ye",n.SouthAfrica="za",n.Zambia="zm",n.Zimbabwe="zw"})(Ft||(Ft={}));var ei;(function(n){n.Light="light",n.Dark="dark"})(ei||(ei={}));var ti;(function(n){n.AfricaAbidjan="africa/abidjan",n.AfricaAccra="africa/accra",n.AfricaAddisAbaba="africa/addis_ababa",n.AfricaAlgiers="africa/algiers",n.AfricaAsmara="africa/asmara",n.AfricaBamako="africa/bamako",n.AfricaBangui="africa/bangui",n.AfricaBanjul="africa/banjul",n.AfricaBissau="africa/bissau",n.AfricaBlantyre="africa/blantyre",n.AfricaBrazzaville="africa/brazzaville",n.AfricaBujumbura="africa/bujumbura",n.AfricaCairo="africa/cairo",n.AfricaCasablanca="africa/casablanca",n.AfricaCeuta="africa/ceuta",n.AfricaConakry="africa/conakry",n.AfricaDakar="africa/dakar",n.AfricaDarEsSalaam="africa/dar_es_salaam",n.AfricaDjibouti="africa/djibouti",n.AfricaDouala="africa/douala",n.AfricaElAaiun="africa/el_aaiun",n.AfricaFreetown="africa/freetown",n.AfricaGaborone="africa/gaborone",n.AfricaHarare="africa/harare",n.AfricaJohannesburg="africa/johannesburg",n.AfricaJuba="africa/juba",n.AfricaKampala="africa/kampala",n.AfricaKhartoum="africa/khartoum",n.AfricaKigali="africa/kigali",n.AfricaKinshasa="africa/kinshasa",n.AfricaLagos="africa/lagos",n.AfricaLibreville="africa/libreville",n.AfricaLome="africa/lome",n.AfricaLuanda="africa/luanda",n.AfricaLubumbashi="africa/lubumbashi",n.AfricaLusaka="africa/lusaka",n.AfricaMalabo="africa/malabo",n.AfricaMaputo="africa/maputo",n.AfricaMaseru="africa/maseru",n.AfricaMbabane="africa/mbabane",n.AfricaMogadishu="africa/mogadishu",n.AfricaMonrovia="africa/monrovia",n.AfricaNairobi="africa/nairobi",n.AfricaNdjamena="africa/ndjamena",n.AfricaNiamey="africa/niamey",n.AfricaNouakchott="africa/nouakchott",n.AfricaOuagadougou="africa/ouagadougou",n.AfricaPortonovo="africa/porto-novo",n.AfricaSaoTome="africa/sao_tome",n.AfricaTripoli="africa/tripoli",n.AfricaTunis="africa/tunis",n.AfricaWindhoek="africa/windhoek",n.AmericaAdak="america/adak",n.AmericaAnchorage="america/anchorage",n.AmericaAnguilla="america/anguilla",n.AmericaAntigua="america/antigua",n.AmericaAraguaina="america/araguaina",n.AmericaArgentinaBuenosAires="america/argentina/buenos_aires",n.AmericaArgentinaCatamarca="america/argentina/catamarca",n.AmericaArgentinaCordoba="america/argentina/cordoba",n.AmericaArgentinaJujuy="america/argentina/jujuy",n.AmericaArgentinaLaRioja="america/argentina/la_rioja",n.AmericaArgentinaMendoza="america/argentina/mendoza",n.AmericaArgentinaRioGallegos="america/argentina/rio_gallegos",n.AmericaArgentinaSalta="america/argentina/salta",n.AmericaArgentinaSanJuan="america/argentina/san_juan",n.AmericaArgentinaSanLuis="america/argentina/san_luis",n.AmericaArgentinaTucuman="america/argentina/tucuman",n.AmericaArgentinaUshuaia="america/argentina/ushuaia",n.AmericaAruba="america/aruba",n.AmericaAsuncion="america/asuncion",n.AmericaAtikokan="america/atikokan",n.AmericaBahia="america/bahia",n.AmericaBahiaBanderas="america/bahia_banderas",n.AmericaBarbados="america/barbados",n.AmericaBelem="america/belem",n.AmericaBelize="america/belize",n.AmericaBlancsablon="america/blanc-sablon",n.AmericaBoaVista="america/boa_vista",n.AmericaBogota="america/bogota",n.AmericaBoise="america/boise",n.AmericaCambridgeBay="america/cambridge_bay",n.AmericaCampoGrande="america/campo_grande",n.AmericaCancun="america/cancun",n.AmericaCaracas="america/caracas",n.AmericaCayenne="america/cayenne",n.AmericaCayman="america/cayman",n.AmericaChicago="america/chicago",n.AmericaChihuahua="america/chihuahua",n.AmericaCiudadJuarez="america/ciudad_juarez",n.AmericaCostaRica="america/costa_rica",n.AmericaCoyhaique="america/coyhaique",n.AmericaCreston="america/creston",n.AmericaCuiaba="america/cuiaba",n.AmericaCuracao="america/curacao",n.AmericaDanmarkshavn="america/danmarkshavn",n.AmericaDawson="america/dawson",n.AmericaDawsonCreek="america/dawson_creek",n.AmericaDenver="america/denver",n.AmericaDetroit="america/detroit",n.AmericaDominica="america/dominica",n.AmericaEdmonton="america/edmonton",n.AmericaEirunepe="america/eirunepe",n.AmericaElSalvador="america/el_salvador",n.AmericaFortNelson="america/fort_nelson",n.AmericaFortaleza="america/fortaleza",n.AmericaGlaceBay="america/glace_bay",n.AmericaGooseBay="america/goose_bay",n.AmericaGrandTurk="america/grand_turk",n.AmericaGrenada="america/grenada",n.AmericaGuadeloupe="america/guadeloupe",n.AmericaGuatemala="america/guatemala",n.AmericaGuayaquil="america/guayaquil",n.AmericaGuyana="america/guyana",n.AmericaHalifax="america/halifax",n.AmericaHavana="america/havana",n.AmericaHermosillo="america/hermosillo",n.AmericaIndianaIndianapolis="america/indiana/indianapolis",n.AmericaIndianaKnox="america/indiana/knox",n.AmericaIndianaMarengo="america/indiana/marengo",n.AmericaIndianaPetersburg="america/indiana/petersburg",n.AmericaIndianaTellCity="america/indiana/tell_city",n.AmericaIndianaVevay="america/indiana/vevay",n.AmericaIndianaVincennes="america/indiana/vincennes",n.AmericaIndianaWinamac="america/indiana/winamac",n.AmericaInuvik="america/inuvik",n.AmericaIqaluit="america/iqaluit",n.AmericaJamaica="america/jamaica",n.AmericaJuneau="america/juneau",n.AmericaKentuckyLouisville="america/kentucky/louisville",n.AmericaKentuckyMonticello="america/kentucky/monticello",n.AmericaKralendijk="america/kralendijk",n.AmericaLaPaz="america/la_paz",n.AmericaLima="america/lima",n.AmericaLosAngeles="america/los_angeles",n.AmericaLowerPrinces="america/lower_princes",n.AmericaMaceio="america/maceio",n.AmericaManagua="america/managua",n.AmericaManaus="america/manaus",n.AmericaMarigot="america/marigot",n.AmericaMartinique="america/martinique",n.AmericaMatamoros="america/matamoros",n.AmericaMazatlan="america/mazatlan",n.AmericaMenominee="america/menominee",n.AmericaMerida="america/merida",n.AmericaMetlakatla="america/metlakatla",n.AmericaMexicoCity="america/mexico_city",n.AmericaMiquelon="america/miquelon",n.AmericaMoncton="america/moncton",n.AmericaMonterrey="america/monterrey",n.AmericaMontevideo="america/montevideo",n.AmericaMontserrat="america/montserrat",n.AmericaNassau="america/nassau",n.AmericaNewYork="america/new_york",n.AmericaNome="america/nome",n.AmericaNoronha="america/noronha",n.AmericaNorthDakotaBeulah="america/north_dakota/beulah",n.AmericaNorthDakotaCenter="america/north_dakota/center",n.AmericaNorthDakotaNewSalem="america/north_dakota/new_salem",n.AmericaNuuk="america/nuuk",n.AmericaOjinaga="america/ojinaga",n.AmericaPanama="america/panama",n.AmericaParamaribo="america/paramaribo",n.AmericaPhoenix="america/phoenix",n.AmericaPortauprince="america/port-au-prince",n.AmericaPortOfSpain="america/port_of_spain",n.AmericaPortoVelho="america/porto_velho",n.AmericaPuertoRico="america/puerto_rico",n.AmericaPuntaArenas="america/punta_arenas",n.AmericaRankinInlet="america/rankin_inlet",n.AmericaRecife="america/recife",n.AmericaRegina="america/regina",n.AmericaResolute="america/resolute",n.AmericaRioBranco="america/rio_branco",n.AmericaSantarem="america/santarem",n.AmericaSantiago="america/santiago",n.AmericaSantoDomingo="america/santo_domingo",n.AmericaSaoPaulo="america/sao_paulo",n.AmericaScoresbysund="america/scoresbysund",n.AmericaSitka="america/sitka",n.AmericaStBarthelemy="america/st_barthelemy",n.AmericaStJohns="america/st_johns",n.AmericaStKitts="america/st_kitts",n.AmericaStLucia="america/st_lucia",n.AmericaStThomas="america/st_thomas",n.AmericaStVincent="america/st_vincent",n.AmericaSwiftCurrent="america/swift_current",n.AmericaTegucigalpa="america/tegucigalpa",n.AmericaThule="america/thule",n.AmericaTijuana="america/tijuana",n.AmericaToronto="america/toronto",n.AmericaTortola="america/tortola",n.AmericaVancouver="america/vancouver",n.AmericaWhitehorse="america/whitehorse",n.AmericaWinnipeg="america/winnipeg",n.AmericaYakutat="america/yakutat",n.AntarcticaCasey="antarctica/casey",n.AntarcticaDavis="antarctica/davis",n.AntarcticaDumontdurville="antarctica/dumontdurville",n.AntarcticaMacquarie="antarctica/macquarie",n.AntarcticaMawson="antarctica/mawson",n.AntarcticaMcmurdo="antarctica/mcmurdo",n.AntarcticaPalmer="antarctica/palmer",n.AntarcticaRothera="antarctica/rothera",n.AntarcticaSyowa="antarctica/syowa",n.AntarcticaTroll="antarctica/troll",n.AntarcticaVostok="antarctica/vostok",n.ArcticLongyearbyen="arctic/longyearbyen",n.AsiaAden="asia/aden",n.AsiaAlmaty="asia/almaty",n.AsiaAmman="asia/amman",n.AsiaAnadyr="asia/anadyr",n.AsiaAqtau="asia/aqtau",n.AsiaAqtobe="asia/aqtobe",n.AsiaAshgabat="asia/ashgabat",n.AsiaAtyrau="asia/atyrau",n.AsiaBaghdad="asia/baghdad",n.AsiaBahrain="asia/bahrain",n.AsiaBaku="asia/baku",n.AsiaBangkok="asia/bangkok",n.AsiaBarnaul="asia/barnaul",n.AsiaBeirut="asia/beirut",n.AsiaBishkek="asia/bishkek",n.AsiaBrunei="asia/brunei",n.AsiaChita="asia/chita",n.AsiaColombo="asia/colombo",n.AsiaDamascus="asia/damascus",n.AsiaDhaka="asia/dhaka",n.AsiaDili="asia/dili",n.AsiaDubai="asia/dubai",n.AsiaDushanbe="asia/dushanbe",n.AsiaFamagusta="asia/famagusta",n.AsiaGaza="asia/gaza",n.AsiaHebron="asia/hebron",n.AsiaHoChiMinh="asia/ho_chi_minh",n.AsiaHongKong="asia/hong_kong",n.AsiaHovd="asia/hovd",n.AsiaIrkutsk="asia/irkutsk",n.AsiaJakarta="asia/jakarta",n.AsiaJayapura="asia/jayapura",n.AsiaJerusalem="asia/jerusalem",n.AsiaKabul="asia/kabul",n.AsiaKamchatka="asia/kamchatka",n.AsiaKarachi="asia/karachi",n.AsiaKathmandu="asia/kathmandu",n.AsiaKhandyga="asia/khandyga",n.AsiaKolkata="asia/kolkata",n.AsiaKrasnoyarsk="asia/krasnoyarsk",n.AsiaKualaLumpur="asia/kuala_lumpur",n.AsiaKuching="asia/kuching",n.AsiaKuwait="asia/kuwait",n.AsiaMacau="asia/macau",n.AsiaMagadan="asia/magadan",n.AsiaMakassar="asia/makassar",n.AsiaManila="asia/manila",n.AsiaMuscat="asia/muscat",n.AsiaNicosia="asia/nicosia",n.AsiaNovokuznetsk="asia/novokuznetsk",n.AsiaNovosibirsk="asia/novosibirsk",n.AsiaOmsk="asia/omsk",n.AsiaOral="asia/oral",n.AsiaPhnomPenh="asia/phnom_penh",n.AsiaPontianak="asia/pontianak",n.AsiaPyongyang="asia/pyongyang",n.AsiaQatar="asia/qatar",n.AsiaQostanay="asia/qostanay",n.AsiaQyzylorda="asia/qyzylorda",n.AsiaRiyadh="asia/riyadh",n.AsiaSakhalin="asia/sakhalin",n.AsiaSamarkand="asia/samarkand",n.AsiaSeoul="asia/seoul",n.AsiaShanghai="asia/shanghai",n.AsiaSingapore="asia/singapore",n.AsiaSrednekolymsk="asia/srednekolymsk",n.AsiaTaipei="asia/taipei",n.AsiaTashkent="asia/tashkent",n.AsiaTbilisi="asia/tbilisi",n.AsiaTehran="asia/tehran",n.AsiaThimphu="asia/thimphu",n.AsiaTokyo="asia/tokyo",n.AsiaTomsk="asia/tomsk",n.AsiaUlaanbaatar="asia/ulaanbaatar",n.AsiaUrumqi="asia/urumqi",n.AsiaUstnera="asia/ust-nera",n.AsiaVientiane="asia/vientiane",n.AsiaVladivostok="asia/vladivostok",n.AsiaYakutsk="asia/yakutsk",n.AsiaYangon="asia/yangon",n.AsiaYekaterinburg="asia/yekaterinburg",n.AsiaYerevan="asia/yerevan",n.AtlanticAzores="atlantic/azores",n.AtlanticBermuda="atlantic/bermuda",n.AtlanticCanary="atlantic/canary",n.AtlanticCapeVerde="atlantic/cape_verde",n.AtlanticFaroe="atlantic/faroe",n.AtlanticMadeira="atlantic/madeira",n.AtlanticReykjavik="atlantic/reykjavik",n.AtlanticSouthGeorgia="atlantic/south_georgia",n.AtlanticStHelena="atlantic/st_helena",n.AtlanticStanley="atlantic/stanley",n.AustraliaAdelaide="australia/adelaide",n.AustraliaBrisbane="australia/brisbane",n.AustraliaBrokenHill="australia/broken_hill",n.AustraliaDarwin="australia/darwin",n.AustraliaEucla="australia/eucla",n.AustraliaHobart="australia/hobart",n.AustraliaLindeman="australia/lindeman",n.AustraliaLordHowe="australia/lord_howe",n.AustraliaMelbourne="australia/melbourne",n.AustraliaPerth="australia/perth",n.AustraliaSydney="australia/sydney",n.EuropeAmsterdam="europe/amsterdam",n.EuropeAndorra="europe/andorra",n.EuropeAstrakhan="europe/astrakhan",n.EuropeAthens="europe/athens",n.EuropeBelgrade="europe/belgrade",n.EuropeBerlin="europe/berlin",n.EuropeBratislava="europe/bratislava",n.EuropeBrussels="europe/brussels",n.EuropeBucharest="europe/bucharest",n.EuropeBudapest="europe/budapest",n.EuropeBusingen="europe/busingen",n.EuropeChisinau="europe/chisinau",n.EuropeCopenhagen="europe/copenhagen",n.EuropeDublin="europe/dublin",n.EuropeGibraltar="europe/gibraltar",n.EuropeGuernsey="europe/guernsey",n.EuropeHelsinki="europe/helsinki",n.EuropeIsleOfMan="europe/isle_of_man",n.EuropeIstanbul="europe/istanbul",n.EuropeJersey="europe/jersey",n.EuropeKaliningrad="europe/kaliningrad",n.EuropeKirov="europe/kirov",n.EuropeKyiv="europe/kyiv",n.EuropeLisbon="europe/lisbon",n.EuropeLjubljana="europe/ljubljana",n.EuropeLondon="europe/london",n.EuropeLuxembourg="europe/luxembourg",n.EuropeMadrid="europe/madrid",n.EuropeMalta="europe/malta",n.EuropeMariehamn="europe/mariehamn",n.EuropeMinsk="europe/minsk",n.EuropeMonaco="europe/monaco",n.EuropeMoscow="europe/moscow",n.EuropeOslo="europe/oslo",n.EuropeParis="europe/paris",n.EuropePodgorica="europe/podgorica",n.EuropePrague="europe/prague",n.EuropeRiga="europe/riga",n.EuropeRome="europe/rome",n.EuropeSamara="europe/samara",n.EuropeSanMarino="europe/san_marino",n.EuropeSarajevo="europe/sarajevo",n.EuropeSaratov="europe/saratov",n.EuropeSimferopol="europe/simferopol",n.EuropeSkopje="europe/skopje",n.EuropeSofia="europe/sofia",n.EuropeStockholm="europe/stockholm",n.EuropeTallinn="europe/tallinn",n.EuropeTirane="europe/tirane",n.EuropeUlyanovsk="europe/ulyanovsk",n.EuropeVaduz="europe/vaduz",n.EuropeVatican="europe/vatican",n.EuropeVienna="europe/vienna",n.EuropeVilnius="europe/vilnius",n.EuropeVolgograd="europe/volgograd",n.EuropeWarsaw="europe/warsaw",n.EuropeZagreb="europe/zagreb",n.EuropeZurich="europe/zurich",n.IndianAntananarivo="indian/antananarivo",n.IndianChagos="indian/chagos",n.IndianChristmas="indian/christmas",n.IndianCocos="indian/cocos",n.IndianComoro="indian/comoro",n.IndianKerguelen="indian/kerguelen",n.IndianMahe="indian/mahe",n.IndianMaldives="indian/maldives",n.IndianMauritius="indian/mauritius",n.IndianMayotte="indian/mayotte",n.IndianReunion="indian/reunion",n.PacificApia="pacific/apia",n.PacificAuckland="pacific/auckland",n.PacificBougainville="pacific/bougainville",n.PacificChatham="pacific/chatham",n.PacificChuuk="pacific/chuuk",n.PacificEaster="pacific/easter",n.PacificEfate="pacific/efate",n.PacificFakaofo="pacific/fakaofo",n.PacificFiji="pacific/fiji",n.PacificFunafuti="pacific/funafuti",n.PacificGalapagos="pacific/galapagos",n.PacificGambier="pacific/gambier",n.PacificGuadalcanal="pacific/guadalcanal",n.PacificGuam="pacific/guam",n.PacificHonolulu="pacific/honolulu",n.PacificKanton="pacific/kanton",n.PacificKiritimati="pacific/kiritimati",n.PacificKosrae="pacific/kosrae",n.PacificKwajalein="pacific/kwajalein",n.PacificMajuro="pacific/majuro",n.PacificMarquesas="pacific/marquesas",n.PacificMidway="pacific/midway",n.PacificNauru="pacific/nauru",n.PacificNiue="pacific/niue",n.PacificNorfolk="pacific/norfolk",n.PacificNoumea="pacific/noumea",n.PacificPagoPago="pacific/pago_pago",n.PacificPalau="pacific/palau",n.PacificPitcairn="pacific/pitcairn",n.PacificPohnpei="pacific/pohnpei",n.PacificPortMoresby="pacific/port_moresby",n.PacificRarotonga="pacific/rarotonga",n.PacificSaipan="pacific/saipan",n.PacificTahiti="pacific/tahiti",n.PacificTarawa="pacific/tarawa",n.PacificTongatapu="pacific/tongatapu",n.PacificWake="pacific/wake",n.PacificWallis="pacific/wallis",n.Utc="utc"})(ti||(ti={}));var ii;(function(n){n.Geolocation="geolocation",n.Camera="camera",n.Microphone="microphone",n.Notifications="notifications",n.Midi="midi",n.Push="push",n.Clipboardread="clipboard-read",n.Clipboardwrite="clipboard-write",n.Paymenthandler="payment-handler",n.Usb="usb",n.Bluetooth="bluetooth",n.Accelerometer="accelerometer",n.Gyroscope="gyroscope",n.Magnetometer="magnetometer",n.Ambientlightsensor="ambient-light-sensor",n.Backgroundsync="background-sync",n.Persistentstorage="persistent-storage",n.Screenwakelock="screen-wake-lock",n.Webshare="web-share",n.Xrspatialtracking="xr-spatial-tracking"})(ii||(ii={}));var ni;(function(n){n.Jpg="jpg",n.Jpeg="jpeg",n.Png="png",n.Webp="webp",n.Heic="heic",n.Avif="avif",n.Gif="gif"})(ni||(ni={}));var oi;(function(n){n.GET="GET",n.POST="POST",n.PUT="PUT",n.PATCH="PATCH",n.DELETE="DELETE",n.OPTIONS="OPTIONS",n.HEAD="HEAD"})(oi||(oi={}));var ai;(function(n){n.Auto="auto",n.Center="center",n.Topleft="top-left",n.Top="top",n.Topright="top-right",n.Left="left",n.Right="right",n.Bottomleft="bottom-left",n.Bottom="bottom",n.Bottomright="bottom-right"})(ai||(ai={}));var si;(function(n){n.Functions="functions",n.Sites="sites"})(si||(si={}));var ri;(function(n){n.Http="http",n.Schedule="schedule",n.Event="event"})(ri||(ri={}));var ci;(function(n){n.Waiting="waiting",n.Processing="processing",n.Completed="completed",n.Failed="failed",n.Scheduled="scheduled"})(ci||(ci={}));const ko=Object.freeze(Object.defineProperty({__proto__:null,Account:Yt,AppwriteException:h,get AuthenticationFactor(){return Qt},get AuthenticatorType(){return Zt},Avatars:$t,get Browser(){return zt},get BrowserPermission(){return ii},get BrowserTheme(){return ei},Channel:ke,Client:Ae,get Condition(){return Jt},get CreditCard(){return Ot},Databases:lo,DocumentsDB:uo,get ExecutionMethod(){return oi},get ExecutionResourceType(){return si},get ExecutionStatus(){return ci},get ExecutionTrigger(){return ri},get Flag(){return Ft},Functions:po,Graphql:ho,ID:He,get ImageFormat(){return ni},get ImageGravity(){return ai},Locale:fo,Messaging:go,get OAuthProvider(){return Tt},Operator:Q,Organization:yo,Permission:it,Presences:mo,Query:U,Realtime:Io,Role:Ao,Storage:bo,TablesDB:wo,Teams:Ji,get Timezone(){return ti},VectorsDB:vo},Symbol.toStringTag,{value:"Module"})),Zi={signIn:"Sign in",dialogSignIn:"Sign in",signUp:"Sign up",signOut:"Sign out",continueAsGuest:"Continue as guest",email:"Email",password:"Password",showPassword:"Show password",hidePassword:"Hide password",newPassword:"New password",confirmPassword:"Confirm password",name:"Name",phone:"Phone number",code:"Code",forgotPassword:"Forgot password?",noAccount:"Don't have an account?",haveAccount:"Already have an account?",or:"or",continueWith:"Continue with {provider}",continueWithEmail:"Continue with email",sendEmailCode:"Email me a code",continueWithPhone:"Continue with phone",sendMagicLink:"Send magic link",sendCode:"Send code",resendCode:"Resend code",useDifferentEmail:"Use a different email",useDifferentPhone:"Use a different phone number",verifyCode:"Verify code",magicLinkSent:"We sent a sign-in link to {email}. Open it on this device to continue.",codeSent:"We sent a code to {target}. Enter it below to continue.",securityPhrase:"Security phrase",securityPhraseHint:"The message we sent includes this phrase. Do not continue if it differs.",back:"Back",cancel:"Cancel",save:"Save",update:"Update",remove:"Remove",close:"Close",resetPassword:"Reset password",resetLinkSent:"If an account exists for {email}, a reset link is on its way.",passwordUpdated:"Your password was updated. You can sign in now.",passwordChanged:"Your password was updated.",sendResetLink:"Send reset link",requestNewLink:"Request a new link",agreeTo:"By continuing you agree to our",terms:"Terms of Service",privacy:"Privacy Policy",and:"and",welcomeBack:"Welcome back",createAccount:"Create your account",signInTitle:"Sign in to {name}",signUpTitle:"Sign up for {name}",mfaTitle:"Two-factor authentication",mfaDescription:"Confirm it is you with a second factor.",mfaUseAuthenticator:"Use authenticator app",mfaUseEmail:"Send code to email",mfaUsePhone:"Send code by SMS",mfaUseRecoveryCode:"Use a recovery code",recoveryCode:"Recovery code",account:"Account",profile:"Profile",security:"Security",sessions:"Sessions",connections:"Connections",activity:"Activity",dangerZone:"Danger zone",verified:"Verified",unverified:"Unverified",verifyEmail:"Verify email",verificationResendIn:"Sent. You can resend in {seconds} s",verificationSent:"Verification email sent. Check your inbox.",emailVerified:"Your email is verified.",changePassword:"Change password",currentPassword:"Current password",twoFactor:"Two-factor authentication",mfaBadge:"MFA",twoFactorDescription:"Require a second factor when signing in to this account.",mfaNoFactorWarning:"Two-factor authentication is on, but no factors are set up yet. Add an authenticator, or verify your email or phone. Without a factor, this setting does not protect the account.",enable:"Enable",disable:"Disable",authenticatorApp:"Authenticator app",authenticatorAdd:"Add authenticator",authenticatorScan:"Scan this QR code with your authenticator app, then enter the 6-digit code.",qrCodeAlt:"QR code",authenticatorManual:"Or enter this key manually",authenticatorCopyKey:"Copy key",authenticatorVerify:"Verify and enable",recoveryCodes:"Recovery codes",viewRecoveryCodes:"View recovery codes",recoveryCodesDescription:"Use a recovery code to sign in if you lose access to your other factors.",recoveryCodesOnceHint:"Recovery codes can be viewed only once after they are generated. Viewing them again requires a recent second factor.",generateRecoveryCodes:"Generate recovery codes",regenerateRecoveryCodes:"Regenerate",recoveryCodesWarning:"Store these codes somewhere safe. Each code works once.",currentSession:"This device",sessionExpires:"Expires {date}",sessionCreated:"Created {date}",sessionMfaFactors:"MFA: {factors}",signOutSession:"Sign out",signOutAllSessions:"Sign out everywhere",signOutAllSessionsDescription:"End every session, including this one.",noConnections:"No connected accounts.",noConnectionsDescription:"Link an OAuth provider to sign in faster next time.",disconnect:"Disconnect",connectProvider:"Connect {provider}",noActivity:"No recent activity.",noActivityDescription:"Security events for this account will appear here.",noSessions:"No active sessions.",noSessionsDescription:"Active sessions will show up here once you sign in on a device.",deleteAccount:"Delete account",deleteAccountDescription:"Deleting disables your account and signs you out everywhere. An administrator can restore it.",deleteAccountConfirm:"Delete my account",loading:"Loading",copied:"Copied",copyFailed:"Could not copy. Select the text and copy it manually.",copy:"Copy",done:"Done",nameUpdated:"Name updated.",emailUpdated:"Email updated. Verify the new address.",phoneUpdated:"Phone number updated.",phoneVerified:"Phone verified.",authenticatorAdded:"Authenticator added.",accountConverted:"Account created.",enabled:"Enabled",disabled:"Disabled",createPassword:"Create a password",createPasswordHint:"This becomes your sign-in password.",errorCurrentPassword:"Current password is incorrect.",errorGeneric:"Something went wrong. Please try again.",errorInvalidCredentials:"Invalid email or password.",errorInvalidEmail:"Enter a valid email address.",errorInvalidPassword:"Password must be between 8 and 256 characters.",errorInvalidPhone:"Enter a phone number in E.164 format, starting with +.",errorInvalidName:"Enter a name.",errorUserExists:"An account with this email already exists.",errorUserBlocked:"This account is blocked. Contact support.",errorRateLimit:"Too many attempts. Wait a moment and try again.",errorInvalidToken:"This link is invalid or has expired. Request a new one.",errorInvalidCode:"That code is not valid. Check it and try again.",errorPasswordMismatch:"Passwords do not match.",errorPasswordRecentlyUsed:"You used this password recently. Choose a different one.",errorPasswordPersonalData:"Password must not contain your name, email or phone.",errorPasswordWeak:"Password is too common or too short. Use at least 8 characters.",errorPasswordPwned:"This password appeared in a data breach. Choose a different one.",errorChallengeRequired:"Confirm a second factor to continue.",errorSessionExists:"You are already signed in.",errorOAuth:"Sign in with the provider failed. Please try again.",errorNetwork:"Could not reach the server. Check your connection.",errorMethodDisabled:"This sign-in method is disabled for this project.",errorNotConfigured:"Auth UI is not configured. Call AuthUI.init() or add <authui-config>.",errorConfigIncomplete:"Auth UI is missing endpoint or project. Set them on <authui-config> or pass them to AuthUI.init().",errorConfig:"Auth UI cannot reach this Appwrite project. Check that endpoint ends with /v1, the project ID is correct, and this hostname is registered as a Web platform.",errorConfigEndpoint:"Check that endpoint ends with /v1. Appwrite API URLs look like https://cloud.appwrite.io/v1.",passwordHint:"At least 8 characters.",passwordStrengthLabel:"Password strength",passwordStrengthTooWeak:"Too weak",passwordStrengthWeak:"Weak",passwordStrengthFair:"Fair",passwordStrengthStrong:"Strong",passwordStrengthVeryStrong:"Very strong",lastUsed:"Last used",teamsLabel:"Teams",noTeams:"You are not on any teams yet.",activeTeam:"Active",signedInAs:"Signed in as",manageAccount:"Manage account",dialogAccount:"Account",continue:"Continue",provider:"Provider",lastActive:"Last active",guestAccount:"Guest account",guestAccountDescription:"Add an email and password to keep your data.",preview:"Preview",acceptLegal:"I agree to the",errorLegalRequired:"Accept the terms to continue."};function So(n,e={}){return n.replace(/\{(\w+)\}/g,(i,t)=>t in e?String(e[t]):`{${t}}`)}const $o={amazon:"Amazon",apple:"Apple",appwrite:"Appwrite",auth0:"Auth0",authentik:"Authentik",autodesk:"Autodesk",bitbucket:"Bitbucket",bitly:"Bitly",box:"Box",cloudflare:"Cloudflare",dailymotion:"Dailymotion",discord:"Discord",disqus:"Disqus",dropbox:"Dropbox",etsy:"Etsy",facebook:"Facebook",figma:"Figma",fusionauth:"FusionAuth",github:"GitHub",gitlab:"GitLab",google:"Google",huggingface:"Hugging Face",kakao:"Kakao",keycloak:"Keycloak",kick:"Kick",linkedin:"LinkedIn",microsoft:"Microsoft",notion:"Notion",oidc:"OpenID Connect",okta:"Okta",paypal:"PayPal",paypalSandbox:"PayPal Sandbox",podio:"Podio",resend:"Resend",salesforce:"Salesforce",slack:"Slack",spotify:"Spotify",stripe:"Stripe",tiktok:"TikTok",tradeshift:"Tradeshift",tradeshiftBox:"Tradeshift Box",twitch:"Twitch",wordpress:"WordPress",x:"X",yahoo:"Yahoo",yammer:"Yammer",yandex:"Yandex",zoho:"Zoho",zoom:"Zoom"};function Ze(n){return $o[n]??n.charAt(0).toUpperCase()+n.slice(1)}const Pt=(n,e,i=401)=>Object.assign(new Error(e),{type:n,code:i}),Pe=()=>new Date().toISOString(),Re=n=>new Date(Date.now()-n*6e4).toISOString(),Ct=["amber","brave","calm","delta","ember","fable","glide","harbor","ivory","juniper","kite","lumen"],Qi=()=>`${Ct[Math.floor(Math.random()*Ct.length)]}-${Ct[Math.floor(Math.random()*Ct.length)]}`,nt=()=>Math.random().toString(36).slice(2,12),Ti=()=>Array.from({length:2},()=>Math.random().toString(36).slice(2,7)).join("-"),jo={name:"Ada Lovelace",email:"ada@example.com",phone:"+15550100"};class zi{constructor(e=jo){this.seed=e,this.user=null,this.mfaPending=!1,this.mfaEnabled=!1,this.totpEnrolled=!1,this.recoveryCodes=[],this.lastChallenge=0,this.sessions=[],this.identities=[],this.logs=[],this.tokens=new Map,this.pendingAuthenticator=null}makeUser(e={}){const i=e.anonymous??!1;return this.user={$id:"preview-user",$createdAt:Re(43200),$updatedAt:Pe(),name:i?"":e.name??this.seed.name,registration:Re(43200),status:!0,labels:[],passwordUpdate:i?"":Re(10080),email:i?"":e.email??this.seed.email,phone:i?"":e.phone??this.seed.phone,emailVerification:!i,phoneVerification:!1,mfa:this.mfaEnabled,prefs:{},targets:[],accessedAt:Pe()},this.seedActivity(i?"anonymous":"email"),this.user}seedActivity(e){if(this.sessions.length>0)return;const i={$createdAt:Pe(),$updatedAt:Pe(),userId:"preview-user",expire:new Date(Date.now()+365*864e5).toISOString(),providerUid:"",providerAccessToken:"",providerAccessTokenExpiry:"",providerRefreshToken:"",clientType:"browser",clientCode:"CH",clientEngine:"Blink",clientEngineVersion:"128",deviceName:"desktop",deviceBrand:"",deviceModel:"",factors:["password"],secret:"",mfaUpdatedAt:""};this.sessions=[{...i,$id:"current",provider:e,ip:"203.0.113.24",osCode:"MAC",osName:"macOS",osVersion:"15",clientName:"Chrome",clientVersion:"128",countryCode:"de",countryName:"Germany",current:!0},{...i,$id:nt(),$createdAt:Re(300),provider:e,ip:"198.51.100.7",osCode:"IOS",osName:"iOS",osVersion:"18",clientName:"Safari",clientVersion:"18",clientType:"browser",deviceName:"smartphone",countryCode:"de",countryName:"Germany",current:!1},{...i,$id:nt(),$createdAt:Re(4320),provider:"oauth2",ip:"192.0.2.90",osCode:"WIN",osName:"Windows",osVersion:"11",clientName:"Firefox",clientVersion:"130",countryCode:"us",countryName:"United States",current:!1}],this.identities=[{$id:"identity-github",$createdAt:Re(28800),$updatedAt:Re(28800),userId:"preview-user",provider:"github",providerUid:"8675309",providerEmail:this.seed.email,providerAccessToken:"",providerAccessTokenExpiry:"",providerRefreshToken:""}],this.logs=[{event:"session.create",time:Pe(),clientName:"Chrome",osName:"macOS",countryName:"Germany",ip:"203.0.113.24"},{event:"user.update.name",time:Re(2880),clientName:"Safari",osName:"iOS",countryName:"Germany",ip:"198.51.100.7"},{event:"session.create",time:Re(4320),clientName:"Firefox",osName:"Windows",countryName:"United States",ip:"192.0.2.90"}]}requireUser(){if(!this.user)throw Pt("general_unauthorized_scope","User (role: guests) missing scope (account)");if(this.mfaPending)throw Pt("user_more_factors_required","More factors are required to complete the sign in process.");return this.user}requireRecentChallenge(){if(Date.now()-this.lastChallenge>18e5)throw Pt("user_challenge_required","A recently successful challenge is required to complete this action.")}afterPrimarySignIn(){const e=this.totpEnrolled||this.user?.emailVerification;this.mfaPending=!!(this.user?.mfa&&e)}async delay(e,i=150){return await new Promise(t=>setTimeout(t,i)),typeof e=="function"?e():e}signInDirectly(){this.user||this.makeUser(),this.mfaPending=!1}async get(){return this.delay(()=>this.requireUser(),120)}async create(e,i,t,o){return this.delay(()=>this.makeUser({email:i,name:o||i.split("@")[0]}))}async createEmailPasswordSession(e){return this.delay(()=>((!this.user||this.user.email!==e)&&this.makeUser({email:e,name:this.user?.name||this.seed.name}),this.afterPrimarySignIn(),this.sessions[0]))}async createAnonymousSession(){return this.delay(()=>(this.makeUser({anonymous:!0}),this.mfaPending=!1,this.sessions[0]))}async createOAuth2Token(e){return this.delay(()=>{this.makeUser({email:`ada@${e}.example`,name:this.seed.name}),this.afterPrimarySignIn()},800)}async createMagicURLToken(e,i){return this.tokens.set(e,{email:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:Qi()})}async createEmailToken(e,i){return this.tokens.set(e,{email:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:Qi()})}async createPhoneToken(e,i){return this.tokens.set(e,{phone:i}),this.delay({$id:nt(),$createdAt:Pe(),userId:e,secret:"",expire:"",phrase:""})}async createSession(e){return this.delay(()=>{const i=this.tokens.get(e)??{};return this.makeUser({email:i.email??this.seed.email,phone:i.phone??this.seed.phone}),i.phone&&(this.user.phoneVerification=!0),this.afterPrimarySignIn(),this.sessions[0]})}async createRecovery(){return this.delay({})}async updateRecovery(){return this.delay({})}async createEmailVerification(){return this.delay({})}async updateEmailVerification(){return this.delay(()=>(this.user&&(this.user.emailVerification=!0),{}))}async createPhoneVerification(){return this.delay({})}async updatePhoneVerification(){return this.delay(()=>(this.user&&(this.user.phoneVerification=!0),{}))}async getPrefs(){return this.delay(()=>({...this.requireUser().prefs}))}async updatePrefs(e){return this.delay(()=>{const i=this.requireUser();return i.prefs={...e},i})}async updateName(e){return this.delay(()=>(this.requireUser().name=e,this.user))}async updateEmail(e){return this.delay(()=>{const i=this.requireUser();return i.email=e,i.emailVerification=!1,i.passwordUpdate=Pe(),i})}async updatePhone(e){return this.delay(()=>{const i=this.requireUser();return i.phone=e,i.phoneVerification=!1,i})}async updatePassword(){return this.delay(()=>{const e=this.requireUser();return e.passwordUpdate=Pe(),e})}async updateStatus(){return this.delay(()=>(this.requireUser(),this.reset(),this.mfaEnabled=!1,this.totpEnrolled=!1,this.recoveryCodes=[],{}))}async listSessions(){return this.delay(()=>(this.requireUser(),{total:this.sessions.length,sessions:this.sessions}))}async deleteSession(e="current"){return this.delay(()=>{const i=this.sessions.find(t=>t.$id===e);return e==="current"||i?.current?this.reset():this.sessions=this.sessions.filter(t=>t.$id!==e),{}})}async deleteSessions(){return this.delay(()=>(this.reset(),{}))}async listIdentities(){return this.delay(()=>(this.requireUser(),{total:this.identities.length,identities:this.identities}))}async deleteIdentity(e){return this.delay(()=>(this.identities=this.identities.filter(i=>i.$id!==e),{}))}async listLogs(){return this.delay(()=>(this.requireUser(),{total:this.logs.length,logs:this.logs}))}async listMFAFactors(){return this.delay({totp:this.totpEnrolled,email:!!this.user?.emailVerification,phone:!!this.user?.phoneVerification,recoveryCode:this.recoveryCodes.length>0,custom:!1})}async createMFAChallenge(){return this.delay({$id:nt(),$createdAt:Pe(),userId:"preview-user",expire:""})}async updateMFAChallenge(){return this.delay(()=>(this.mfaPending=!1,this.lastChallenge=Date.now(),this.sessions[0]))}async updateMFA(e){return this.delay(()=>{const i=this.requireUser();return this.mfaEnabled=e,i.mfa=e,i})}async createMFAAuthenticator(){return this.delay(()=>{const e="JBSWY3DPEHPK3PXP";return this.pendingAuthenticator={secret:e,uri:`otpauth://totp/Preview:${encodeURIComponent(this.user?.email??"user")}?secret=${e}&issuer=Preview`},this.pendingAuthenticator})}async updateMFAAuthenticator(){return this.delay(()=>(this.totpEnrolled=!0,this.pendingAuthenticator=null,this.lastChallenge=Date.now(),this.requireUser()))}async deleteMFAAuthenticator(){return this.delay(()=>(this.requireRecentChallenge(),this.totpEnrolled=!1,{}))}async createMFARecoveryCodes(){return this.delay(()=>{if(this.recoveryCodes.length>0)throw Pt("user_recovery_codes_already_exists","Recovery codes already generated.",409);return this.recoveryCodes=Array.from({length:6},Ti),{recoveryCodes:this.recoveryCodes}})}async getMFARecoveryCodes(){return this.delay(()=>(this.requireRecentChallenge(),{recoveryCodes:this.recoveryCodes}))}async updateMFARecoveryCodes(){return this.delay(()=>(this.requireRecentChallenge(),this.recoveryCodes=Array.from({length:6},Ti),{recoveryCodes:this.recoveryCodes}))}reset(){this.user=null,this.mfaPending=!1,this.sessions=[],this.identities=[],this.logs=[],this.tokens.clear()}}function Po(n){let e=2166136261;const i=()=>(e^=e<<13,e^=e>>>17,e^=e<<5,(e>>>0)/4294967296);for(const r of n)e=(e^r.charCodeAt(0))*16777619;const t=25;let o="";const a=(r,d)=>`<rect x="${r}" y="${d}" width="7" height="7"/><rect x="${r+1}" y="${d+1}" width="5" height="5" fill="#fff"/><rect x="${r+2}" y="${d+2}" width="3" height="3"/>`;for(let r=0;r<t;r++)for(let d=0;d<t;d++)!(d<8&&r<8||d>=t-8&&r<8||d<8&&r>=t-8)&&i()<.45&&(o+=`<rect x="${d}" y="${r}" width="1" height="1"/>`);const s=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t} ${t}" shape-rendering="crispEdges"><rect width="${t}" height="${t}" fill="#fff"/><g fill="#000">${a(0,0)}${a(t-7,0)}${a(0,t-7)}${o}</g></svg>`;return`data:image/svg+xml;utf8,${encodeURIComponent(s)}`}const ee={moreFactorsRequired:"user_more_factors_required",invalidCredentials:"user_invalid_credentials",userAlreadyExists:"user_already_exists",emailAlreadyExists:"user_email_already_exists",phoneAlreadyExists:"user_phone_already_exists",userBlocked:"user_blocked",rateLimit:"general_rate_limit_exceeded",invalidToken:"user_invalid_token",invalidCode:"user_invalid_code",passwordMismatch:"user_password_mismatch",passwordRecentlyUsed:"password_recently_used",passwordPersonalData:"password_personal_data",passwordWeak:"user_password_weak",passwordPwned:"password_pwned",challengeRequired:"user_challenge_required",recoveryCodesExist:"user_recovery_codes_already_exists",recoveryCodesNotFound:"user_recovery_codes_not_found",authenticatorNotFound:"user_authenticator_not_found",routeNotFound:"general_route_not_found",projectNotFound:"project_not_found",unknownOrigin:"general_unknown_origin",emailAlreadyVerified:"user_email_already_verified",sessionNotFound:"user_session_not_found",wafChallenged:"waf_request_challenged",sessionAlreadyExists:"user_session_already_exists",oauthUnauthorized:"user_oauth2_unauthorized",oauthBadRequest:"user_oauth2_bad_request",unauthorized:"general_unauthorized_scope",userUnauthorized:"user_unauthorized",authMethodUnsupported:"user_auth_method_unsupported",countMaxExceeded:"user_count_exceeded",targetAlreadyExists:"user_target_already_exists",argumentInvalid:"general_argument_invalid"};function Qe(n){if(n&&typeof n=="object"){const e=n;let i=typeof e.message=="string"?e.message:"Unknown error";return/^\s*<(!doctype|html)/i.test(i)&&(i=""),{message:i,type:typeof e.type=="string"?e.type:"",code:typeof e.code=="number"?e.code:0}}return{message:String(n),type:"",code:0}}function ht(n,e){return Qe(n).type===e}function ft(n,e,i="link"){const t=Qe(n);switch(t.type){case ee.invalidCredentials:return i==="password"?e.errorCurrentPassword:e.errorInvalidCredentials;case ee.userAlreadyExists:case ee.emailAlreadyExists:case ee.phoneAlreadyExists:return e.errorUserExists;case ee.userBlocked:return e.errorUserBlocked;case ee.rateLimit:return e.errorRateLimit;case ee.invalidToken:return i==="code"?e.errorInvalidCode:e.errorInvalidToken;case ee.invalidCode:return e.errorInvalidCode;case ee.passwordMismatch:return e.errorPasswordMismatch;case ee.passwordRecentlyUsed:return e.errorPasswordRecentlyUsed;case ee.passwordPersonalData:return e.errorPasswordPersonalData;case ee.passwordWeak:return e.errorPasswordWeak;case ee.passwordPwned:return e.errorPasswordPwned;case ee.challengeRequired:return e.errorChallengeRequired;case ee.sessionAlreadyExists:return e.errorSessionExists;case ee.oauthUnauthorized:case ee.oauthBadRequest:return e.errorOAuth;case ee.authMethodUnsupported:return e.errorMethodDisabled}if(t.type===ee.argumentInvalid||/Invalid `\w+` param/i.test(t.message)){const o=t.message.match(/Invalid `([^`]+)` param/i)?.[1]?.toLowerCase();return o==="email"?e.errorInvalidEmail:o==="password"?e.errorInvalidPassword:o==="phone"?e.errorInvalidPhone:o==="name"?e.errorInvalidName:e.errorGeneric}return t.type===ee.projectNotFound||t.type===ee.unknownOrigin?e.errorConfig:t.type===ee.routeNotFound?e.errorConfigEndpoint:t.code===0&&/fetch|network/i.test(t.message)?e.errorNetwork:/Invalid `\w+` param/i.test(t.message)?e.errorGeneric:t.message?t.message||e.errorGeneric:t.code===404||t.type===ee.routeNotFound?e.errorConfigEndpoint:e.errorGeneric}function Oi(n){const e=Qe(n);return!!(e.type===ee.projectNotFound||e.type===ee.unknownOrigin||e.type===ee.routeNotFound||!e.message&&e.code===404||e.code===0&&/fetch|network|load failed|failed to fetch/i.test(e.message))}const di=n=>`authui:active-team:${n}`;function li(n){if(typeof localStorage>"u"||!n)return null;try{return localStorage.getItem(di(n))}catch{return null}}function Fi(n,e){if(!(typeof localStorage>"u"||!n))try{e?localStorage.setItem(di(n),e):localStorage.removeItem(di(n))}catch{}}const ui="authui:last-method";function Te(n){if(!(typeof localStorage>"u")){if(!n||n==="mfa"||n==="sign-up")if(n==="sign-up")n="email-password";else return;try{localStorage.setItem(ui,n)}catch{}}}function ze(){if(typeof localStorage>"u")return null;try{return localStorage.getItem(ui)}catch{return null}}function Co(){if(!(typeof localStorage>"u"))try{localStorage.removeItem(ui)}catch{}}const Ut="authui:pending-oauth";function en(n){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(Ut,n)}catch{}}function pi(){if(!(typeof sessionStorage>"u"))try{const n=sessionStorage.getItem(Ut);sessionStorage.removeItem(Ut),n&&Te(`oauth:${n}`)}catch{}}function hi(){if(!(typeof sessionStorage>"u"))try{sessionStorage.removeItem(Ut)}catch{}}function Se(n,e,i){for(const t of e){const o=n[t];if(typeof o=="function")return o.apply(n,i)}return Promise.reject(new Error(`Appwrite SDK is missing ${e[0]}(). Update the appwrite package.`))}const fi="authui",tn=["userId","secret","expire","project","error",fi],nn=()=>({status:"loading",user:null,mfaFactors:null,pending:null,configured:!1,configError:null});class on{constructor(){this.client=null,this.account=null,this.config=null,this.state=nn(),this.listeners=new Map,this.refreshPromise=null,this.preview=null,this.teams=null,this.activeTeamId=null}configure(e){const i=e.endpoint.trim().replace(/\/+$/,"");i&&!i.endsWith("/v1")&&console.warn(`[authui] endpoint should end with /v1 (got "${e.endpoint}"). Without it Appwrite returns HTML 404 pages.`),this.config=e,this.client=new Ae().setEndpoint(e.endpoint).setProject(e.project),this.preview=e.preview?new zi:null,this.account=this.preview?this.preview:new Yt(this.client),this.teams=null,this.activeTeamId=li(e.project),this.setState({configured:!0,status:"loading",configError:null}),this.preview?this.refresh():typeof window<"u"&&this.handleRedirect().then(()=>this.refresh())}notifyConfigIncomplete(){if(this.config)return;const e=this.getStrings().errorConfigIncomplete;console.warn(`[authui] ${e}`),this.setState({status:"signed-out",user:null,mfaFactors:null,configured:!1,configError:e,pending:{type:"notice",tone:"error",message:e}})}get isConfigured(){return this.config!==null}get isPreview(){return this.preview!==null}async previewSignIn(){this.preview&&(this.preview.signInDirectly(),await this.refresh())}getConfig(){return this.config}getClient(){return this.client}getAccount(){return this.account}async listTeams(){if(this.preview||!this.client||this.state.status!=="signed-in")return[];this.teams??=new Ji(this.client);try{return(await this.teams.list()).teams??[]}catch(e){this.fail(e)}}getActiveTeamId(){if(this.activeTeamId)return this.activeTeamId;const e=this.config?.project;return e?(this.activeTeamId=li(e),this.activeTeamId):null}setActiveTeam(e){const i=this.config?.project;i&&Fi(i,e?.$id??null),this.activeTeamId=e?.$id??null,this.emit("active-team",{teamId:this.activeTeamId,team:e})}getStrings(){return{...Zi,...this.config?.strings??{}}}getState(){return{...this.state}}get user(){return this.state.user}on(e,i){let t=this.listeners.get(e);return t||(t=new Set,this.listeners.set(e,t)),t.add(i),()=>t.delete(i)}emit(e,i){this.listeners.get(e)?.forEach(t=>{try{t(i)}catch(o){console.error("[authui] listener failed",o)}}),typeof window<"u"&&window.dispatchEvent(new CustomEvent(`authui:${e}`,{detail:i}))}setState(e){this.state={...this.state,...e},this.emit("change",this.getState())}fail(e){const i=Qe(e);throw this.emit("error",i),e}acct(){if(!this.account)throw new Error(this.getStrings().errorNotConfigured);return this.account}refresh(){return this.refreshPromise?this.refreshPromise:(this.refreshPromise=(async()=>{if(!this.account){this.setState({status:"signed-out",user:null,mfaFactors:null});return}const e=this.state.status==="signed-in";try{const i=await this.account.get();this.setState({status:"signed-in",user:i,mfaFactors:null,configError:null}),e||this.emit("signed-in",i)}catch(i){if(ht(i,ee.moreFactorsRequired)){let t=null;try{t=await Se(this.account,["listMFAFactors","listMfaFactors"],[])}catch{}this.setState({status:"mfa-required",user:null,mfaFactors:t})}else if(ht(i,ee.userBlocked))await this.purgeLocalSession(),this.setState({status:"signed-out",user:null,mfaFactors:null,pending:{type:"notice",tone:"error",message:this.getStrings().errorUserBlocked}}),e&&this.emit("signed-out",void 0);else if(!e&&Oi(i)){const o=ft(i,this.getStrings())||this.getStrings().errorConfig;console.warn(`[authui] ${o} (endpoint=${this.config?.endpoint??"?"}, project=${this.config?.project??"?"})`);const a=Qe(i);this.emit("error",{message:o,type:a.type,code:a.code}),this.setState({status:"signed-out",user:null,mfaFactors:null,configError:o,pending:{type:"notice",tone:"error",message:o}})}else this.setState({status:"signed-out",user:null,mfaFactors:null,configError:null}),e&&this.emit("signed-out",void 0)}})().finally(()=>{this.refreshPromise=null}),this.refreshPromise)}async afterSignIn(){if(await this.refresh(),this.state.status!=="signed-in"&&this.state.status!=="mfa-required"){const i=this.state.pending;if(i?.type==="notice"&&i.tone==="error")throw Object.assign(new Error(i.message),{type:ee.userBlocked,code:401})}const e=this.config?.successUrl;e&&this.state.status==="signed-in"&&typeof window<"u"&&window.location.assign(e)}async purgeLocalSession(){try{await this.account?.deleteSession("current")}catch{}try{this.client?.setSession("")}catch{}if(typeof localStorage<"u")try{localStorage.removeItem("cookieFallback")}catch{}this.config&&!this.preview&&(this.client=new Ae().setEndpoint(this.config.endpoint).setProject(this.config.project),this.account=new Yt(this.client))}async signInWithEmailPassword(e,i){try{await this.acct().createEmailPasswordSession(e.trim(),i)}catch(t){this.fail(t)}await this.afterSignIn()}async signUp(e,i,t){try{await this.acct().create(He.unique(),e.trim(),i,t?.trim()||void 0),await this.acct().createEmailPasswordSession(e.trim(),i)}catch(o){this.fail(o)}await this.afterSignIn()}async signInAnonymously(){try{await this.acct().createAnonymousSession()}catch(e){this.fail(e)}await this.afterSignIn()}async signInWithOAuth(e){const i=this.config?.oauthScopes?.[e];let t;try{t=this.acct().createOAuth2Token(e,this.redirectUrl("oauth"),this.redirectUrl("oauth-failed"),i)}catch(o){this.fail(o)}if(t&&typeof t.then=="function"){try{await t}catch(o){this.fail(o)}await this.afterSignIn()}}async sendMagicUrl(e){try{return await this.acct().createMagicURLToken(He.unique(),e.trim(),this.redirectUrl("magic-url"),this.config?.securityPhrase??!0)}catch(i){return this.fail(i)}}async sendEmailOtp(e){try{return await this.acct().createEmailToken(He.unique(),e.trim(),this.config?.securityPhrase??!0)}catch(i){return this.fail(i)}}async sendPhoneOtp(e){try{return await this.acct().createPhoneToken(He.unique(),e.replace(/[\s()-]/g,""))}catch(i){return this.fail(i)}}async signInWithToken(e,i){try{await this.acct().createSession(e,i.trim())}catch(t){this.fail(t)}await this.afterSignIn()}async createMfaChallenge(e){try{return await Se(this.acct(),["createMFAChallenge","createMfaChallenge"],[e])}catch(i){return this.fail(i)}}async completeMfaChallenge(e,i,t={}){try{await Se(this.acct(),["updateMFAChallenge","updateMfaChallenge"],[e,i.trim()])}catch(o){this.fail(o)}(t.signIn??!0)&&await this.afterSignIn()}async listMfaFactors(){try{return await Se(this.acct(),["listMFAFactors","listMfaFactors"],[])}catch(e){return this.fail(e)}}async setMfaEnabled(e){try{await this.acct().updateMFA(e)}catch(i){this.fail(i)}await this.refresh()}async addAuthenticator(){try{return await Se(this.acct(),["createMFAAuthenticator","createMfaAuthenticator"],["totp"])}catch(e){return this.fail(e)}}async verifyAuthenticator(e){try{await Se(this.acct(),["updateMFAAuthenticator","updateMfaAuthenticator"],["totp",e.trim()])}catch(i){this.fail(i)}await this.refresh()}async removeAuthenticator(){try{await Se(this.acct(),["deleteMFAAuthenticator","deleteMfaAuthenticator"],["totp"])}catch(e){this.fail(e)}await this.refresh()}async createRecoveryCodes(){try{return(await Se(this.acct(),["createMFARecoveryCodes","createMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async regenerateRecoveryCodes(){try{return(await Se(this.acct(),["updateMFARecoveryCodes","updateMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async getRecoveryCodes(){try{return(await Se(this.acct(),["getMFARecoveryCodes","getMfaRecoveryCodes"],[])).recoveryCodes}catch(e){return this.fail(e)}}async sendPasswordRecovery(e){try{await this.acct().createRecovery(e.trim(),this.redirectUrl("recovery"))}catch(i){this.fail(i)}}async completePasswordRecovery(e,i,t){try{await this.acct().updateRecovery(e,i,t)}catch(o){this.fail(o)}this.setState({pending:null})}async signOut(e="current"){try{await this.acct().deleteSession(e)}catch(i){this.fail(i)}if(e==="current"){this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0);return}try{await this.acct().get()}catch{this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}}async signOutEverywhere(){try{await this.acct().deleteSessions()}catch(e){this.fail(e)}this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}async listSessions(){try{return(await this.acct().listSessions()).sessions}catch(e){return this.fail(e)}}async listIdentities(){try{return(await this.acct().listIdentities()).identities}catch(e){return this.fail(e)}}async deleteIdentity(e){try{await this.acct().deleteIdentity(e)}catch(i){this.fail(i)}}async listLogs(){try{return(await this.acct().listLogs()).logs}catch(e){return this.fail(e)}}async updateName(e){try{await this.acct().updateName(e.trim())}catch(i){this.fail(i)}await this.refresh()}async updateEmail(e,i){try{await this.acct().updateEmail(e.trim(),i)}catch(t){this.fail(t)}await this.refresh()}async updatePhone(e,i){try{await this.acct().updatePhone(e.replace(/[\s()-]/g,""),i)}catch(t){this.fail(t)}await this.refresh()}async updatePassword(e,i){try{await this.acct().updatePassword(e,i||void 0)}catch(t){this.fail(t)}await this.refresh()}async convertGuest(e,i,t){try{await this.acct().updateEmail(e.trim(),i),t?.trim()&&await this.acct().updateName(t.trim())}catch(o){this.fail(o)}await this.refresh()}async sendEmailVerification(){try{await Se(this.acct(),["createEmailVerification","createVerification"],[this.redirectUrl("verify-email")])}catch(e){this.fail(e)}}async sendPhoneVerification(){try{await this.acct().createPhoneVerification()}catch(e){this.fail(e)}}async confirmPhoneVerification(e){const i=this.state.user?.$id;if(i){try{await this.acct().updatePhoneVerification(i,e.trim())}catch(t){this.fail(t)}await this.refresh()}}async deleteAccount(){try{await this.acct().updateStatus()}catch(e){this.fail(e)}this.setState({status:"signed-out",user:null,mfaFactors:null}),this.emit("signed-out",void 0)}redirectUrl(e){const i=this.config?.redirectUrl??(typeof window<"u"?window.location.origin+window.location.pathname:""),t=new URL(i,typeof window<"u"?window.location.href:void 0);for(const o of tn)t.searchParams.delete(o);return t.searchParams.set(fi,e),t.toString()}setPending(e){this.setState({pending:e})}async handleRedirect(){if(typeof window>"u")return!1;const e=new URLSearchParams(window.location.search),i=e.get(fi);if(!i)return!1;const t=e.get("userId")??"",o=e.get("secret")??"";this.cleanUrl();const a=()=>{this.setState({pending:{type:"notice",message:this.getStrings().errorInvalidToken,tone:"error"}})};try{switch(i){case"oauth":case"magic-url":t&&o?(await this.acct().createSession(t,o),i==="oauth"?pi():Te("magic-url")):(i==="oauth"&&hi(),a());break;case"oauth-failed":hi(),this.setState({pending:{type:"notice",tone:"error",message:this.getStrings().errorOAuth}});break;case"recovery":t&&o?this.setState({pending:{type:"reset-password",userId:t,secret:o}}):a();break;case"verify-email":t&&o?(await Se(this.acct(),["updateEmailVerification","updateVerification"],[t,o]),this.setState({pending:{type:"notice",message:this.getStrings().emailVerified,tone:"success"}})):a();break}}catch(s){const r=Qe(s),d=ft(s,this.getStrings(),"link");this.emit("error",r),this.setState({pending:{type:"notice",message:d,tone:"error"}})}return!0}cleanUrl(){const e=new URL(window.location.href);for(const i of tn)e.searchParams.delete(i);window.history.replaceState(window.history.state,"",e.toString())}reset(){this.client=null,this.account=null,this.teams=null,this.activeTeamId=null,this.preview=null,this.config=null,this.state=nn(),this.listeners.clear()}}const E=new on;class Uo{constructor(){this.listeners=new Set,this.observer=null,this.media=null,this.notify=()=>{const e=this.isDark("auto");this.listeners.forEach(i=>i(e))}}isDark(e="auto"){if(e==="dark")return!0;if(e==="light"||typeof document>"u")return!1;const i=document.documentElement.classList;return i.contains("dark")?!0:i.contains("light")?!1:document.documentElement.dataset.theme==="dark"?!0:document.documentElement.dataset.theme==="light"?!1:typeof window<"u"&&!!window.matchMedia?.("(prefers-color-scheme: dark)").matches}subscribe(e){return this.listeners.add(e),this.start(),()=>{this.listeners.delete(e),this.listeners.size===0&&this.stop()}}start(){this.observer||typeof document>"u"||(this.observer=new MutationObserver(this.notify),this.observer.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),typeof window<"u"&&window.matchMedia&&(this.media=window.matchMedia("(prefers-color-scheme: dark)"),this.media.addEventListener?.("change",this.notify)))}stop(){this.observer?.disconnect(),this.observer=null,this.media?.removeEventListener?.("change",this.notify),this.media=null}}const an=new Uo,sn={none:"0px",sm:"0.25rem",md:"0.625rem",lg:"0.875rem",xl:"1.125rem",full:"1.5rem"},xo=Ne`
|
|
11
11
|
:host {
|
|
12
12
|
/* Light theme (matches :root in the console) */
|
|
13
13
|
--authui-background: oklch(1 0 0);
|
|
@@ -87,7 +87,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
87
87
|
--authui-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5);
|
|
88
88
|
color-scheme: dark;
|
|
89
89
|
}
|
|
90
|
-
`,
|
|
90
|
+
`,Mo=Ne`
|
|
91
91
|
*,
|
|
92
92
|
*::before,
|
|
93
93
|
*::after {
|
|
@@ -376,6 +376,94 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
376
376
|
font-size: 18px;
|
|
377
377
|
height: 44px;
|
|
378
378
|
}
|
|
379
|
+
|
|
380
|
+
/* Vibes-style segmented OTP (3 + sep + 3) */
|
|
381
|
+
.otp {
|
|
382
|
+
position: relative;
|
|
383
|
+
display: flex;
|
|
384
|
+
align-items: center;
|
|
385
|
+
justify-content: center;
|
|
386
|
+
gap: 8px;
|
|
387
|
+
width: 100%;
|
|
388
|
+
min-height: 52px;
|
|
389
|
+
}
|
|
390
|
+
.otp-group {
|
|
391
|
+
display: flex;
|
|
392
|
+
flex: 1;
|
|
393
|
+
gap: 6px;
|
|
394
|
+
min-width: 0;
|
|
395
|
+
}
|
|
396
|
+
.otp-slot {
|
|
397
|
+
flex: 1;
|
|
398
|
+
min-width: 0;
|
|
399
|
+
height: 52px;
|
|
400
|
+
display: flex;
|
|
401
|
+
align-items: center;
|
|
402
|
+
justify-content: center;
|
|
403
|
+
border: 1px solid var(--authui-input);
|
|
404
|
+
border-radius: var(--authui-radius-md);
|
|
405
|
+
background: var(--authui-background);
|
|
406
|
+
color: var(--authui-foreground);
|
|
407
|
+
font-family: var(--authui-font-mono);
|
|
408
|
+
font-size: 22px;
|
|
409
|
+
font-weight: 600;
|
|
410
|
+
line-height: 1;
|
|
411
|
+
box-shadow: var(--authui-shadow-xs);
|
|
412
|
+
transition:
|
|
413
|
+
border-color 120ms ease,
|
|
414
|
+
box-shadow 120ms ease,
|
|
415
|
+
background-color 120ms ease;
|
|
416
|
+
}
|
|
417
|
+
.otp-slot-active {
|
|
418
|
+
border-color: var(--authui-ring);
|
|
419
|
+
box-shadow: 0 0 0 3px color-mix(in oklab, var(--authui-ring) 40%, transparent);
|
|
420
|
+
}
|
|
421
|
+
.otp-invalid .otp-slot {
|
|
422
|
+
border-color: var(--authui-destructive);
|
|
423
|
+
}
|
|
424
|
+
.otp-invalid .otp-slot-active {
|
|
425
|
+
box-shadow: 0 0 0 3px color-mix(in oklab, var(--authui-destructive) 35%, transparent);
|
|
426
|
+
}
|
|
427
|
+
.otp-sep {
|
|
428
|
+
display: flex;
|
|
429
|
+
align-items: center;
|
|
430
|
+
justify-content: center;
|
|
431
|
+
flex-shrink: 0;
|
|
432
|
+
width: 12px;
|
|
433
|
+
}
|
|
434
|
+
.otp-sep span {
|
|
435
|
+
display: block;
|
|
436
|
+
width: 8px;
|
|
437
|
+
height: 2px;
|
|
438
|
+
border-radius: 1px;
|
|
439
|
+
background: var(--authui-muted-foreground);
|
|
440
|
+
opacity: 0.7;
|
|
441
|
+
}
|
|
442
|
+
.otp-native {
|
|
443
|
+
position: absolute;
|
|
444
|
+
inset: 0;
|
|
445
|
+
width: 100%;
|
|
446
|
+
height: 100%;
|
|
447
|
+
opacity: 0;
|
|
448
|
+
margin: 0;
|
|
449
|
+
border: 0;
|
|
450
|
+
padding: 0;
|
|
451
|
+
caret-color: transparent;
|
|
452
|
+
color: transparent;
|
|
453
|
+
background: transparent;
|
|
454
|
+
cursor: text;
|
|
455
|
+
z-index: 1;
|
|
456
|
+
}
|
|
457
|
+
.otp-disabled {
|
|
458
|
+
opacity: 0.5;
|
|
459
|
+
pointer-events: none;
|
|
460
|
+
}
|
|
461
|
+
@media (max-width: 380px) {
|
|
462
|
+
.otp-slot {
|
|
463
|
+
height: 44px;
|
|
464
|
+
font-size: 18px;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
379
467
|
.hint {
|
|
380
468
|
font-size: 12px;
|
|
381
469
|
color: var(--authui-muted-foreground);
|
|
@@ -1139,11 +1227,11 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1139
1227
|
animation-duration: 0.01ms !important;
|
|
1140
1228
|
}
|
|
1141
1229
|
}
|
|
1142
|
-
`;var
|
|
1230
|
+
`;var Ro=Object.defineProperty,Eo=(n,e,i,t)=>{for(var o=void 0,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=s(e,i,o)||o);return o&&Ro(e,i,o),o};const rn=(qe=class extends Ye{constructor(){super(...arguments),this.auth=E.getState(),this.unsubscribeStore=null,this.unsubscribeTheme=null,this.stopKeys=e=>e.stopPropagation()}connectedCallback(){super.connectedCallback();for(const e of qe.KEY_EVENTS)this.addEventListener(e,this.stopKeys);this.auth=E.getState(),this.unsubscribeStore=E.on("change",e=>{this.auth=e,this.applyBranding()}),this.unsubscribeTheme=an.subscribe(()=>this.applyBranding()),this.applyBranding()}disconnectedCallback(){super.disconnectedCallback();for(const e of qe.KEY_EVENTS)this.removeEventListener(e,this.stopKeys);this.unsubscribeStore?.(),this.unsubscribeTheme?.(),this.unsubscribeStore=null,this.unsubscribeTheme=null}get strings(){return E.getStrings()}t(e,i){return So(this.strings[e],i)}get config(){return E.getConfig()}get productName(){return this.config?.branding?.name??""}applyBranding(){const e=this.config?.branding,i=an.isDark(e?.theme??"auto");this.setAttribute("data-theme",i?"dark":"light"),e?.primary&&(this.style.setProperty("--authui-primary",e.primary),this.style.setProperty("--authui-primary-foreground",e.primaryForeground??"#ffffff")),e?.radius&&sn[e.radius]&&this.style.setProperty("--authui-radius",sn[e.radius])}fire(e,i){this.dispatchEvent(new CustomEvent(e,{detail:i,bubbles:!0,composed:!0}))}},qe.styles=[xo,Mo],qe.KEY_EVENTS=["keydown","keyup","keypress"],qe);Eo([N()],rn.prototype,"auth");let Ce=rn;var qo=Object.defineProperty,_o=Object.getOwnPropertyDescriptor,pe=(n,e,i,t)=>{for(var o=t>1?void 0:t?_o(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&qo(e,i,o),o};I.AuthUIConfigElement=class extends Ye{constructor(){super(...arguments),this.endpoint="",this.project="",this.redirectUrl="",this.successUrl="",this.methods="email-password",this.signUp="true",this.requireName="true",this.mfa="true",this.securityPhrase="true",this.name="",this.logo="",this.theme="auto",this.radius="",this.primary="",this.primaryForeground="",this.termsUrl="",this.privacyUrl="",this.requireAcceptance="",this.oauthLayout="",this.preview=""}connectedCallback(){super.connectedCallback(),this.configure()}updated(){this.configure()}configure(){if(!this.endpoint||!this.project){queueMicrotask(()=>{(!this.endpoint||!this.project)&&E.notifyConfigIncomplete()});return}const e=this.toConfig(),i=E.getConfig();i&&JSON.stringify(i)===JSON.stringify(e)||E.configure(e)}toConfig(){const e={oauth:[]},i=this.methods.split(/[\s,]+/).filter(Boolean);for(const t of i)t.startsWith("oauth:")?e.oauth.push(t.slice(6)):t==="email-password"?e.emailPassword=!0:t==="magic-url"?e.magicUrl=!0:t==="email-otp"?e.emailOtp=!0:t==="phone"?e.phone=!0:(t==="anonymous"||t==="guest")&&(e.anonymous=!0);return e.emailPassword=i.length>0?i.includes("email-password"):!0,this.oauthLayout&&(e.oauthLayout=this.oauthLayout),{endpoint:this.endpoint,project:this.project,redirectUrl:this.redirectUrl||void 0,successUrl:this.successUrl||void 0,methods:e,signUp:this.signUp!=="false",requireName:this.requireName!=="false",mfa:this.mfa!=="false",securityPhrase:this.securityPhrase!=="false",branding:{name:this.name||void 0,logo:this.logo||void 0,theme:this.theme||"auto",radius:this.radius||void 0,primary:this.primary||void 0,primaryForeground:this.primaryForeground||void 0},legal:{termsUrl:this.termsUrl||void 0,privacyUrl:this.privacyUrl||void 0,requireAcceptance:this.requireAcceptance!==""&&this.requireAcceptance!=="false"?!0:void 0},preview:this.preview===""||this.preview==="false"?void 0:!0}}},I.AuthUIConfigElement.styles=Ne`
|
|
1143
1231
|
:host {
|
|
1144
1232
|
display: none;
|
|
1145
1233
|
}
|
|
1146
|
-
`,pe([F({type:String})],I.AuthUIConfigElement.prototype,"endpoint",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"project",2),pe([F({type:String,attribute:"redirect-url"})],I.AuthUIConfigElement.prototype,"redirectUrl",2),pe([F({type:String,attribute:"success-url"})],I.AuthUIConfigElement.prototype,"successUrl",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"methods",2),pe([F({type:String,attribute:"sign-up"})],I.AuthUIConfigElement.prototype,"signUp",2),pe([F({type:String,attribute:"require-name"})],I.AuthUIConfigElement.prototype,"requireName",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"mfa",2),pe([F({type:String,attribute:"security-phrase"})],I.AuthUIConfigElement.prototype,"securityPhrase",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"name",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"logo",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"theme",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"radius",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"primary",2),pe([F({type:String,attribute:"primary-foreground"})],I.AuthUIConfigElement.prototype,"primaryForeground",2),pe([F({type:String,attribute:"terms-url"})],I.AuthUIConfigElement.prototype,"termsUrl",2),pe([F({type:String,attribute:"privacy-url"})],I.AuthUIConfigElement.prototype,"privacyUrl",2),pe([F({type:String,attribute:"require-acceptance"})],I.AuthUIConfigElement.prototype,"requireAcceptance",2),pe([F({type:String,attribute:"oauth-layout"})],I.AuthUIConfigElement.prototype,"oauthLayout",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"preview",2),I.AuthUIConfigElement=pe([Je("authui-config")],I.AuthUIConfigElement);var
|
|
1234
|
+
`,pe([F({type:String})],I.AuthUIConfigElement.prototype,"endpoint",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"project",2),pe([F({type:String,attribute:"redirect-url"})],I.AuthUIConfigElement.prototype,"redirectUrl",2),pe([F({type:String,attribute:"success-url"})],I.AuthUIConfigElement.prototype,"successUrl",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"methods",2),pe([F({type:String,attribute:"sign-up"})],I.AuthUIConfigElement.prototype,"signUp",2),pe([F({type:String,attribute:"require-name"})],I.AuthUIConfigElement.prototype,"requireName",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"mfa",2),pe([F({type:String,attribute:"security-phrase"})],I.AuthUIConfigElement.prototype,"securityPhrase",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"name",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"logo",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"theme",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"radius",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"primary",2),pe([F({type:String,attribute:"primary-foreground"})],I.AuthUIConfigElement.prototype,"primaryForeground",2),pe([F({type:String,attribute:"terms-url"})],I.AuthUIConfigElement.prototype,"termsUrl",2),pe([F({type:String,attribute:"privacy-url"})],I.AuthUIConfigElement.prototype,"privacyUrl",2),pe([F({type:String,attribute:"require-acceptance"})],I.AuthUIConfigElement.prototype,"requireAcceptance",2),pe([F({type:String,attribute:"oauth-layout"})],I.AuthUIConfigElement.prototype,"oauthLayout",2),pe([F({type:String})],I.AuthUIConfigElement.prototype,"preview",2),I.AuthUIConfigElement=pe([Je("authui-config")],I.AuthUIConfigElement);var Lo=Object.defineProperty,No=Object.getOwnPropertyDescriptor,xt=(n,e,i,t)=>{for(var o=t>1?void 0:t?No(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&Lo(e,i,o),o};const gi="authui-show:not([ready]){display:none}",Do="authui-show:not([ready]){display:none}authui-button:not(:defined),authui-user-button:not(:defined){visibility:hidden}";let cn=!1;function Ho(){if(!(typeof document>"u"||cn)){cn=!0;try{if(typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype){const n=new CSSStyleSheet;n.replaceSync(gi),document.adoptedStyleSheets=[...document.adoptedStyleSheets,n];return}}catch{}if(!document.getElementById("authui-fouc")){const n=document.createElement("style");n.id="authui-fouc",n.textContent=gi,document.head.appendChild(n)}}}Ho();const Bo=["loading","signed-out","signed-in","mfa-required"];function yi(n){return n?n.split(/[\s,]+/).map(e=>e.trim()).filter(e=>Bo.includes(e)):[]}function Xo(n,e,i){const t=yi(e),o=yi(i);return!(n==="loading"&&!t.includes("loading")||t.length>0&&!t.includes(n)||o.includes(n))}I.AuthUIShow=class extends Ye{constructor(){super(...arguments),this.when="",this.unless="",this.status=E.getState().status,this.unsubscribe=null}connectedCallback(){super.connectedCallback(),this.status=E.getState().status,this.unsubscribe=E.on("change",e=>this.status=e.status)}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribe?.(),this.unsubscribe=null}get visible(){return Xo(this.status,this.when,this.unless)}updated(){(this.status!=="loading"||yi(this.when).includes("loading"))&&(this.setAttribute("ready",""),this.style.display="contents")}render(){return this.visible?y`<slot></slot>`:C}},xt([F({type:String})],I.AuthUIShow.prototype,"when",2),xt([F({type:String})],I.AuthUIShow.prototype,"unless",2),xt([N()],I.AuthUIShow.prototype,"status",2),I.AuthUIShow=xt([Je("authui-show")],I.AuthUIShow);const Vo=Ne`
|
|
1147
1235
|
:host {
|
|
1148
1236
|
display: block;
|
|
1149
1237
|
width: 100%;
|
|
@@ -1197,7 +1285,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1197
1285
|
height: 14px;
|
|
1198
1286
|
margin: 0;
|
|
1199
1287
|
}
|
|
1200
|
-
`,ae=n=>
|
|
1288
|
+
`,ae=n=>y`<svg
|
|
1201
1289
|
xmlns="http://www.w3.org/2000/svg"
|
|
1202
1290
|
viewBox="0 0 24 24"
|
|
1203
1291
|
fill="none"
|
|
@@ -1208,10 +1296,44 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1208
1296
|
aria-hidden="true"
|
|
1209
1297
|
>
|
|
1210
1298
|
${n}
|
|
1211
|
-
</svg>`,_={mail:ae(G`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>`),phone:ae(G`<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>`),user:ae(G`<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>`),userX:ae(G`<path d="M2 21a8 8 0 0 1 11.873-7"/><circle cx="10" cy="8" r="5"/><path d="m17 17 5 5"/><path d="m22 17-5 5"/>`),lock:ae(G`<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>`),key:ae(G`<path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"/><path d="m21 2-9.6 9.6"/><circle cx="7.5" cy="15.5" r="5.5"/>`),shield:ae(G`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>`),shieldCheck:ae(G`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>`),smartphone:ae(G`<rect width="14" height="20" x="5" y="2" rx="2" ry="2"/><path d="M12 18h.01"/>`),monitor:ae(G`<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>`),globe:ae(G`<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>`),logOut:ae(G`<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" x2="9" y1="12" y2="12"/>`),settings:ae(G`<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>`),x:ae(G`<path d="M18 6 6 18"/><path d="m6 6 12 12"/>`),check:ae(G`<path d="M20 6 9 17l-5-5"/>`),users:ae(G`<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>`),copy:ae(G`<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`),eye:ae(G`<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>`),eyeOff:ae(G`<path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"/><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"/><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"/><path d="m2 2 20 20"/>`),arrowLeft:ae(G`<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>`),alert:ae(G`<circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/>`),info:ae(G`<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>`),checkCircle:ae(G`<circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/>`),link:ae(G`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>`),activity:ae(G`<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/>`),trash:ae(G`<path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/>`),sparkles:ae(G`<path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/>`),refresh:ae(G`<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>`),chevronDown:ae(G`<path d="m6 9 6 6 6-6"/>`),ghost:ae(G`<path d="M9 10h.01"/><path d="M15 10h.01"/><path d="M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z"/>`),qr:ae(G`<rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/>`)},ge=(n,e="0 0 24 24")=>w`<svg xmlns="http://www.w3.org/2000/svg" viewBox=${e} aria-hidden="true">${n}</svg>`,Bo={google:ge(G`<path fill="#4285F4" d="M23.49 12.27c0-.79-.07-1.54-.19-2.27H12v4.51h6.47a5.57 5.57 0 0 1-2.4 3.58v3h3.86c2.26-2.09 3.56-5.17 3.56-8.82z"/><path fill="#34A853" d="M12 24c3.24 0 5.95-1.08 7.93-2.91l-3.86-3c-1.08.72-2.45 1.16-4.07 1.16-3.13 0-5.78-2.11-6.73-4.96H1.29v3.09A11.99 11.99 0 0 0 12 24z"/><path fill="#FBBC05" d="M5.27 14.29A7.2 7.2 0 0 1 4.89 12c0-.8.14-1.57.38-2.29V6.62H1.29A11.97 11.97 0 0 0 0 12c0 1.94.46 3.77 1.29 5.38l3.98-3.09z"/><path fill="#EA4335" d="M12 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C17.95 1.19 15.24 0 12 0 7.31 0 3.26 2.69 1.29 6.62l3.98 3.09C6.22 6.86 8.87 4.75 12 4.75z"/>`),github:ge(G`<path fill="currentColor" d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"/>`),apple:ge(G`<path fill="currentColor" d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/>`),facebook:ge(G`<path fill="#1877F2" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>`),x:ge(G`<path fill="currentColor" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>`),microsoft:ge(G`<path fill="#F25022" d="M1 1h10v10H1z"/><path fill="#7FBA00" d="M13 1h10v10H13z"/><path fill="#00A4EF" d="M1 13h10v10H1z"/><path fill="#FFB900" d="M13 13h10v10H13z"/>`),discord:ge(G`<path fill="#5865F2" d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/>`),gitlab:ge(G`<path fill="#FC6D26" d="m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.876.876 0 0 0-1.001.054.874.874 0 0 0-.29.44l-2.205 6.748H7.535L5.33 1.069a.857.857 0 0 0-.29-.441.876.876 0 0 0-1.001-.054.86.86 0 0 0-.336.405L.436 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.011.009.03.021 4.976 3.727 2.462 1.863 1.5 1.132a1.009 1.009 0 0 0 1.22 0l1.5-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.006-7.002z"/>`),linkedin:ge(G`<path fill="#0A66C2" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>`),slack:ge(G`<path fill="#E01E5A" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313z"/><path fill="#36C5F0" d="M8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312z"/><path fill="#2EB67D" d="M18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.27 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.163 0a2.528 2.528 0 0 1 2.523 2.522v6.312z"/><path fill="#ECB22E" d="M15.163 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.163 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.27a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.315A2.527 2.527 0 0 1 24 15.163a2.528 2.528 0 0 1-2.522 2.523h-6.315z"/>`),twitch:ge(G`<path fill="#9146FF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0 1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/>`),spotify:ge(G`<path fill="#1DB954" d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"/>`),notion:ge(G`<path fill="currentColor" d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"/>`),dropbox:ge(G`<path fill="#0061FF" d="M6 1.807 0 5.629l6 3.822 6.001-3.822L6 1.807zm12 0-6 3.822 6 3.822 6-3.822-6-3.822zM0 13.274l6 3.822 6.001-3.822L6 9.452l-6 3.822zm18-3.822-6 3.822 6 3.822 6-3.822-6-3.822zM6 18.371l6.001 3.822 6-3.822-6-3.822L6 18.371z"/>`),figma:ge(G`<path fill="#F24E1E" d="M8 24a4 4 0 0 0 4-4v-4H8a4 4 0 0 0 0 8z"/><path fill="#A259FF" d="M4 12a4 4 0 0 1 4-4h4v8H8a4 4 0 0 1-4-4z"/><path fill="#FF7262" d="M4 4a4 4 0 0 1 4-4h4v8H8a4 4 0 0 1-4-4z"/><path fill="#1ABCFE" d="M12 0h4a4 4 0 0 1 0 8h-4V0z"/><path fill="#0ACF83" d="M20 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0z"/>`),bitbucket:ge(G`<path fill="#2684FF" d="M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z"/>`),amazon:ge(G`<path fill="currentColor" d="M.045 18.02c.072-.116.187-.124.348-.022 3.636 2.11 7.594 3.166 11.87 3.166 2.852 0 5.668-.533 8.447-1.595l.315-.14c.138-.06.234-.1.293-.13.226-.088.39-.046.525.13.12.174.09.336-.12.48-.256.19-.6.41-1.006.654-1.244.743-2.64 1.316-4.185 1.726a17.617 17.617 0 0 1-10.951-.577 17.88 17.88 0 0 1-5.43-3.35c-.1-.074-.151-.15-.151-.22 0-.047.021-.09.051-.13zm6.565-6.218c0-1.005.247-1.863.743-2.577.495-.71 1.17-1.25 2.04-1.615.796-.335 1.756-.575 2.912-.72.39-.046 1.033-.103 1.92-.174v-.37c0-.93-.105-1.558-.3-1.875-.302-.43-.78-.65-1.44-.65h-.182c-.48.046-.896.196-1.246.46-.35.27-.575.63-.675 1.096-.06.3-.206.465-.435.51l-2.52-.315c-.248-.06-.372-.18-.372-.39 0-.046.007-.09.022-.15.247-1.29.855-2.25 1.82-2.88.976-.616 2.1-.975 3.39-1.05h.54c1.65 0 2.957.434 3.888 1.29.135.15.27.3.405.48.12.165.224.314.283.45.075.134.15.33.195.57.06.254.105.42.135.51.03.104.062.3.076.615.01.313.02.493.02.553v5.28c0 .376.06.72.165 1.036.105.313.21.54.315.674l.51.674c.09.136.136.256.136.36 0 .12-.06.226-.18.314-1.2 1.05-1.86 1.62-1.963 1.71-.165.135-.373.15-.61.045a6.62 6.62 0 0 1-.526-.496l-.31-.347a9.858 9.858 0 0 1-.317-.42l-.3-.435c-.81.886-1.603 1.44-2.4 1.665-.494.15-1.093.227-1.83.227-1.11 0-2.04-.343-2.76-1.034-.72-.69-1.08-1.665-1.08-2.94l-.05-.076zm3.753-.438c0 .566.14 1.02.425 1.364.285.34.675.512 1.155.512.045 0 .106-.007.195-.02.09-.016.134-.023.166-.023.614-.16 1.08-.553 1.424-1.178.165-.28.285-.58.36-.91.09-.32.12-.59.135-.8.015-.195.015-.54.015-1.005v-.54c-.84 0-1.484.06-1.92.18-1.275.36-1.92 1.17-1.92 2.43l-.035-.01zm9.162 7.027c.03-.06.075-.11.132-.17.362-.243.714-.41 1.05-.5a8.094 8.094 0 0 1 1.612-.24c.14-.012.28 0 .41.03.65.06 1.05.168 1.172.33.063.09.099.228.099.39v.15c0 .51-.149 1.11-.424 1.8-.278.69-.664 1.248-1.156 1.68-.073.06-.14.09-.197.09-.03 0-.06 0-.09-.012-.09-.044-.107-.12-.064-.24.54-1.26.806-2.143.806-2.64 0-.15-.03-.27-.087-.344-.145-.166-.55-.257-1.224-.257-.243 0-.533.016-.87.045-.363.045-.7.09-1 .135-.09 0-.148-.014-.18-.044-.03-.03-.036-.06-.02-.106 0-.014.007-.03.02-.06z"/>`),paypal:ge(G`<path fill="#003087" d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z"/>`)};function ft(n){return Bo[n]??_.globe}function gi(n){const e=(n.trim()[0]??"?").toUpperCase();return/[A-Z0-9]/i.test(e)?e:_.user}function ot(n){typeof document>"u"||(document.querySelector("authui-modal")||document.body.appendChild(document.createElement("authui-modal")),queueMicrotask(()=>{window.dispatchEvent(new CustomEvent("authui:open",{detail:{view:n}}))}))}function cn(){typeof window>"u"||window.dispatchEvent(new CustomEvent("authui:close"))}function xt(n){const e={length:n.length>=8,long:n.length>=12,lower:/[a-z]/.test(n),upper:/[A-Z]/.test(n),number:/\d/.test(n),symbol:/[^A-Za-z0-9]/.test(n)};if(!n)return{level:0,percent:0,labelKey:"passwordStrengthTooWeak",checks:e};let i=0;e.length&&(i+=1),e.long&&(i+=1),e.lower&&e.upper&&(i+=1),e.number&&(i+=1),e.symbol&&(i+=1),n.length<8?i=Math.min(i,1):n.length<10&&(i=Math.min(i,3));let t,o;return!e.length||i<=1?(t=1,o="passwordStrengthTooWeak"):i===2?(t=2,o="passwordStrengthWeak"):i===3?(t=3,o="passwordStrengthFair"):i>=5&&e.long&&e.lower&&e.upper&&e.number&&e.symbol?(t=4,o="passwordStrengthVeryStrong"):(t=4,o="passwordStrengthStrong"),{level:t,percent:t*25,labelKey:o,checks:e}}var Xo=Object.defineProperty,Vo=Object.getOwnPropertyDescriptor,he=(n,e,i,t)=>{for(var o=t>1?void 0:t?Vo(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&Xo(e,i,o),o};const Be="authui-error";I.AuthUISignIn=class extends Ce{constructor(){super(...arguments),this.view="sign-in",this.embedded=!1,this.step="sign-in",this.busy=!1,this.error="",this.notice=null,this.showPassword=!1,this.showPasswordConfirm=!1,this.expandedOAuth=null,this.token=null,this.focusOnStep=!1,this.resendCooldownUntil=0,this.challenge=null,this.recovery=null,this.email="",this.password="",this.passwordConfirm="",this.name="",this.phone="",this.code="",this.legalAccepted=!1,this.legalErrorFromOAuth=!1,this.onSignIn=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{await E.signInWithEmailPassword(this.email,this.password),this.password="",Qe("email-password"),this.fire("authui-success",{method:"email-password"})})},this.onSignUp=e=>{e.preventDefault(),this.requireValid(e)&&(this.legalErrorFromOAuth=!1,this.ensureLegalAccepted()&&this.run(async()=>{await E.signUp(this.email,this.password,this.name),this.password="",Qe("email-password"),this.fire("authui-success",{method:"sign-up"})}))},this.onGuest=()=>{this.run(async()=>{await E.signInAnonymously(),Qe("anonymous"),this.fire("authui-success",{method:"anonymous"})})},this.onOAuth=e=>{if(this.step==="sign-up"&&!this.ensureLegalAccepted()){this.legalErrorFromOAuth=!0;return}this.legalErrorFromOAuth=!1,this.run(async()=>{if(Fi(e),await E.signInWithOAuth(e),E.isPreview){li(),this.fire("authui-success",{method:"oauth"});return}await new Promise(i=>setTimeout(i,4e3))})},this.onForgot=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{await E.sendPasswordRecovery(this.email),this.notice={tone:"success",message:this.t("resetLinkSent",{email:this.email})}})},this.onReset=e=>{if(e.preventDefault(),!this.requireValid(e))return;if(this.password!==this.passwordConfirm){this.error=this.t("errorPasswordMismatch");return}const i=this.recovery;i&&this.run(async()=>{await E.completePasswordRecovery(i.userId,i.secret,this.password),this.password="",this.passwordConfirm="",this.recovery=null,this.auth.pending?.type==="reset-password"&&E.setPending(null),this.go("sign-in"),this.notice={tone:"success",message:this.t("passwordUpdated")}})},this.onMagicUrl=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendMagicUrl(this.email);this.token={userId:i.userId,kind:"magic-url",target:this.email,phrase:i.phrase}})},this.onEmailOtp=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendEmailOtp(this.email);this.token={userId:i.userId,kind:"email-otp",target:this.email,phrase:i.phrase},this.code="",this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)})},this.onPhoneOtp=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendPhoneOtp(this.phone);this.token={userId:i.userId,kind:"phone",target:this.phone},this.code="",this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)})},this.onVerifyCode=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.token;i&&this.run(async()=>{await E.signInWithToken(i.userId,this.code),this.code="",this.token=null,Qe(i.kind),this.fire("authui-success",{method:i.kind})},"code")},this.onChooseFactor=e=>{this.run(async()=>{const i=await E.createMfaChallenge(e);this.challenge={id:i.$id,factor:e},this.code=""})},this.onVerifyFactor=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.challenge;i&&this.run(async()=>{await E.completeMfaChallenge(i.id,this.code),this.code="",this.challenge=null,this.go("sign-in"),this.fire("authui-success",{method:"mfa"})},"code")},this.onCancelMfa=()=>{this.run(async()=>{try{await E.signOut()}catch(e){if(!pt(e,ee.sessionNotFound))throw e}this.go("sign-in")})},this.onSignOut=()=>{this.run(()=>E.signOut())}}connectedCallback(){super.connectedCallback(),this.step=this.view,this.syncFromStore()}willUpdate(e){e.has("view")&&e.get("view")!==void 0&&this.go(this.view),e.has("auth")&&this.syncFromStore()}updated(e){e.has("step")&&(this.focusOnStep||this.embedded)&&(this.focusOnStep=!1,requestAnimationFrame(()=>this.firstInput?.focus()))}syncFromStore(){const{status:e,pending:i}=this.auth;e==="mfa-required"&&this.step!=="mfa"&&this.go("mfa");const t=this.step==="reset-password"||i?.type==="reset-password"||this.recovery!==null;(e==="signed-in"||e==="signed-out")&&!t&&(this.step==="mfa"||this.step==="phone"||this.step==="email-otp"||this.step==="magic-url"||this.step==="forgot-password"||this.token!==null||this.challenge!==null||e==="signed-out")&&(this.token=null,this.challenge=null,this.code="",this.password="",this.notice=null,this.go(this.view==="sign-up"?"sign-up":"sign-in")),i?.type==="reset-password"&&this.step!=="reset-password"&&(this.recovery={userId:i.userId,secret:i.secret},this.go("reset-password")),i?.type==="oauth-failed"&&(this.notice={tone:"error",message:this.t("errorOAuth")}),i?.type==="notice"&&!this.notice&&(this.notice={tone:i.tone==="error"?"error":i.tone,message:i.message})}dismissNotice(){this.notice=null,this.auth.pending?.type==="notice"&&E.setPending(null)}go(e){e==="sign-up"&&this.config?.signUp===!1&&(e="sign-in"),this.focusOnStep=!0,this.step=e,this.error="",this.notice=null,this.busy=!1,this.showPassword=!1,this.showPasswordConfirm=!1,this.password="",this.passwordConfirm="",this.legalAccepted=!1,this.legalErrorFromOAuth=!1,e!=="mfa"&&(this.challenge=null),e!=="email-otp"&&e!=="phone"&&e!=="magic-url"&&(this.token=null),this.fire("authui-view",{view:e})}async run(e,i="link"){if(!this.busy){this.busy=!0,this.error="";try{await e()}catch(t){this.error=ht(t,this.strings,i)}finally{this.busy=!1}}}requireValid(e){const i=e.target;return!(i&&typeof i.reportValidity=="function"&&!i.reportValidity())}bind(e){return i=>{this[e]=i.target.value}}render(){const e=this.renderStep();return w`
|
|
1299
|
+
</svg>`,_={mail:ae(G`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>`),phone:ae(G`<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>`),user:ae(G`<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>`),userX:ae(G`<path d="M2 21a8 8 0 0 1 11.873-7"/><circle cx="10" cy="8" r="5"/><path d="m17 17 5 5"/><path d="m22 17-5 5"/>`),lock:ae(G`<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>`),key:ae(G`<path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"/><path d="m21 2-9.6 9.6"/><circle cx="7.5" cy="15.5" r="5.5"/>`),shield:ae(G`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>`),shieldCheck:ae(G`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>`),smartphone:ae(G`<rect width="14" height="20" x="5" y="2" rx="2" ry="2"/><path d="M12 18h.01"/>`),monitor:ae(G`<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>`),globe:ae(G`<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>`),logOut:ae(G`<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" x2="9" y1="12" y2="12"/>`),settings:ae(G`<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>`),x:ae(G`<path d="M18 6 6 18"/><path d="m6 6 12 12"/>`),check:ae(G`<path d="M20 6 9 17l-5-5"/>`),users:ae(G`<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>`),copy:ae(G`<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`),eye:ae(G`<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>`),eyeOff:ae(G`<path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"/><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"/><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"/><path d="m2 2 20 20"/>`),arrowLeft:ae(G`<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>`),alert:ae(G`<circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/>`),info:ae(G`<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>`),checkCircle:ae(G`<circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/>`),link:ae(G`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>`),activity:ae(G`<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/>`),trash:ae(G`<path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/>`),sparkles:ae(G`<path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/>`),refresh:ae(G`<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>`),chevronDown:ae(G`<path d="m6 9 6 6 6-6"/>`),ghost:ae(G`<path d="M9 10h.01"/><path d="M15 10h.01"/><path d="M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z"/>`),qr:ae(G`<rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/>`)},ge=(n,e="0 0 24 24")=>y`<svg xmlns="http://www.w3.org/2000/svg" viewBox=${e} aria-hidden="true">${n}</svg>`,Wo={google:ge(G`<path fill="#4285F4" d="M23.49 12.27c0-.79-.07-1.54-.19-2.27H12v4.51h6.47a5.57 5.57 0 0 1-2.4 3.58v3h3.86c2.26-2.09 3.56-5.17 3.56-8.82z"/><path fill="#34A853" d="M12 24c3.24 0 5.95-1.08 7.93-2.91l-3.86-3c-1.08.72-2.45 1.16-4.07 1.16-3.13 0-5.78-2.11-6.73-4.96H1.29v3.09A11.99 11.99 0 0 0 12 24z"/><path fill="#FBBC05" d="M5.27 14.29A7.2 7.2 0 0 1 4.89 12c0-.8.14-1.57.38-2.29V6.62H1.29A11.97 11.97 0 0 0 0 12c0 1.94.46 3.77 1.29 5.38l3.98-3.09z"/><path fill="#EA4335" d="M12 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C17.95 1.19 15.24 0 12 0 7.31 0 3.26 2.69 1.29 6.62l3.98 3.09C6.22 6.86 8.87 4.75 12 4.75z"/>`),github:ge(G`<path fill="currentColor" d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"/>`),apple:ge(G`<path fill="currentColor" d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/>`),facebook:ge(G`<path fill="#1877F2" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>`),x:ge(G`<path fill="currentColor" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>`),microsoft:ge(G`<path fill="#F25022" d="M1 1h10v10H1z"/><path fill="#7FBA00" d="M13 1h10v10H13z"/><path fill="#00A4EF" d="M1 13h10v10H1z"/><path fill="#FFB900" d="M13 13h10v10H13z"/>`),discord:ge(G`<path fill="#5865F2" d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/>`),gitlab:ge(G`<path fill="#FC6D26" d="m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.876.876 0 0 0-1.001.054.874.874 0 0 0-.29.44l-2.205 6.748H7.535L5.33 1.069a.857.857 0 0 0-.29-.441.876.876 0 0 0-1.001-.054.86.86 0 0 0-.336.405L.436 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.011.009.03.021 4.976 3.727 2.462 1.863 1.5 1.132a1.009 1.009 0 0 0 1.22 0l1.5-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.006-7.002z"/>`),linkedin:ge(G`<path fill="#0A66C2" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>`),slack:ge(G`<path fill="#E01E5A" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313z"/><path fill="#36C5F0" d="M8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312z"/><path fill="#2EB67D" d="M18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.27 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.163 0a2.528 2.528 0 0 1 2.523 2.522v6.312z"/><path fill="#ECB22E" d="M15.163 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.163 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.27a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.315A2.527 2.527 0 0 1 24 15.163a2.528 2.528 0 0 1-2.522 2.523h-6.315z"/>`),twitch:ge(G`<path fill="#9146FF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0 1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/>`),spotify:ge(G`<path fill="#1DB954" d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"/>`),notion:ge(G`<path fill="currentColor" d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"/>`),dropbox:ge(G`<path fill="#0061FF" d="M6 1.807 0 5.629l6 3.822 6.001-3.822L6 1.807zm12 0-6 3.822 6 3.822 6-3.822-6-3.822zM0 13.274l6 3.822 6.001-3.822L6 9.452l-6 3.822zm18-3.822-6 3.822 6 3.822 6-3.822-6-3.822zM6 18.371l6.001 3.822 6-3.822-6-3.822L6 18.371z"/>`),figma:ge(G`<path fill="#F24E1E" d="M8 24a4 4 0 0 0 4-4v-4H8a4 4 0 0 0 0 8z"/><path fill="#A259FF" d="M4 12a4 4 0 0 1 4-4h4v8H8a4 4 0 0 1-4-4z"/><path fill="#FF7262" d="M4 4a4 4 0 0 1 4-4h4v8H8a4 4 0 0 1-4-4z"/><path fill="#1ABCFE" d="M12 0h4a4 4 0 0 1 0 8h-4V0z"/><path fill="#0ACF83" d="M20 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0z"/>`),bitbucket:ge(G`<path fill="#2684FF" d="M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z"/>`),amazon:ge(G`<path fill="currentColor" d="M.045 18.02c.072-.116.187-.124.348-.022 3.636 2.11 7.594 3.166 11.87 3.166 2.852 0 5.668-.533 8.447-1.595l.315-.14c.138-.06.234-.1.293-.13.226-.088.39-.046.525.13.12.174.09.336-.12.48-.256.19-.6.41-1.006.654-1.244.743-2.64 1.316-4.185 1.726a17.617 17.617 0 0 1-10.951-.577 17.88 17.88 0 0 1-5.43-3.35c-.1-.074-.151-.15-.151-.22 0-.047.021-.09.051-.13zm6.565-6.218c0-1.005.247-1.863.743-2.577.495-.71 1.17-1.25 2.04-1.615.796-.335 1.756-.575 2.912-.72.39-.046 1.033-.103 1.92-.174v-.37c0-.93-.105-1.558-.3-1.875-.302-.43-.78-.65-1.44-.65h-.182c-.48.046-.896.196-1.246.46-.35.27-.575.63-.675 1.096-.06.3-.206.465-.435.51l-2.52-.315c-.248-.06-.372-.18-.372-.39 0-.046.007-.09.022-.15.247-1.29.855-2.25 1.82-2.88.976-.616 2.1-.975 3.39-1.05h.54c1.65 0 2.957.434 3.888 1.29.135.15.27.3.405.48.12.165.224.314.283.45.075.134.15.33.195.57.06.254.105.42.135.51.03.104.062.3.076.615.01.313.02.493.02.553v5.28c0 .376.06.72.165 1.036.105.313.21.54.315.674l.51.674c.09.136.136.256.136.36 0 .12-.06.226-.18.314-1.2 1.05-1.86 1.62-1.963 1.71-.165.135-.373.15-.61.045a6.62 6.62 0 0 1-.526-.496l-.31-.347a9.858 9.858 0 0 1-.317-.42l-.3-.435c-.81.886-1.603 1.44-2.4 1.665-.494.15-1.093.227-1.83.227-1.11 0-2.04-.343-2.76-1.034-.72-.69-1.08-1.665-1.08-2.94l-.05-.076zm3.753-.438c0 .566.14 1.02.425 1.364.285.34.675.512 1.155.512.045 0 .106-.007.195-.02.09-.016.134-.023.166-.023.614-.16 1.08-.553 1.424-1.178.165-.28.285-.58.36-.91.09-.32.12-.59.135-.8.015-.195.015-.54.015-1.005v-.54c-.84 0-1.484.06-1.92.18-1.275.36-1.92 1.17-1.92 2.43l-.035-.01zm9.162 7.027c.03-.06.075-.11.132-.17.362-.243.714-.41 1.05-.5a8.094 8.094 0 0 1 1.612-.24c.14-.012.28 0 .41.03.65.06 1.05.168 1.172.33.063.09.099.228.099.39v.15c0 .51-.149 1.11-.424 1.8-.278.69-.664 1.248-1.156 1.68-.073.06-.14.09-.197.09-.03 0-.06 0-.09-.012-.09-.044-.107-.12-.064-.24.54-1.26.806-2.143.806-2.64 0-.15-.03-.27-.087-.344-.145-.166-.55-.257-1.224-.257-.243 0-.533.016-.87.045-.363.045-.7.09-1 .135-.09 0-.148-.014-.18-.044-.03-.03-.036-.06-.02-.106 0-.014.007-.03.02-.06z"/>`),paypal:ge(G`<path fill="#003087" d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z"/>`)};function ot(n){return Wo[n]??_.globe}function mi(n){const e=(n.trim()[0]??"?").toUpperCase();return/[A-Z0-9]/i.test(e)?e:_.user}function at(n){typeof document>"u"||(document.querySelector("authui-modal")||document.body.appendChild(document.createElement("authui-modal")),queueMicrotask(()=>{window.dispatchEvent(new CustomEvent("authui:open",{detail:{view:n}}))}))}function dn(){typeof window>"u"||window.dispatchEvent(new CustomEvent("authui:close"))}function Mt(n){const e={length:n.length>=8,long:n.length>=12,lower:/[a-z]/.test(n),upper:/[A-Z]/.test(n),number:/\d/.test(n),symbol:/[^A-Za-z0-9]/.test(n)};if(!n)return{level:0,percent:0,labelKey:"passwordStrengthTooWeak",checks:e};let i=0;e.length&&(i+=1),e.long&&(i+=1),e.lower&&e.upper&&(i+=1),e.number&&(i+=1),e.symbol&&(i+=1),n.length<8?i=Math.min(i,1):n.length<10&&(i=Math.min(i,3));let t,o;return!e.length||i<=1?(t=1,o="passwordStrengthTooWeak"):i===2?(t=2,o="passwordStrengthWeak"):i===3?(t=3,o="passwordStrengthFair"):i>=5&&e.long&&e.lower&&e.upper&&e.number&&e.symbol?(t=4,o="passwordStrengthVeryStrong"):(t=4,o="passwordStrengthStrong"),{level:t,percent:t*25,labelKey:o,checks:e}}function ln(n,e){return n.replace(/\D/g,"").slice(0,e)}function Rt(n){const e=n.length??6,i=ln(n.value,e),t=Math.ceil(e/2),o=Math.min(i.length,e-1),a=c=>{const l=c.target,u=ln(l.value,e);l.value=u,n.onChange(u)},s=c=>{c.ctrlKey||c.metaKey||c.altKey||c.key==="Backspace"||c.key==="Delete"||c.key==="Tab"||c.key==="Enter"||c.key==="Escape"||c.key==="ArrowLeft"||c.key==="ArrowRight"||c.key==="Home"||c.key==="End"||c.key.length===1&&!/[0-9]/.test(c.key)&&c.preventDefault()},r=c=>{const l=i[c]??"",u=!n.disabled&&c===o;return y`<div
|
|
1300
|
+
class="otp-slot ${l?"otp-slot-filled":""} ${u?"otp-slot-active":""}"
|
|
1301
|
+
aria-hidden="true"
|
|
1302
|
+
>
|
|
1303
|
+
${l}
|
|
1304
|
+
</div>`},d=(c,l)=>y`<div class="otp-group">
|
|
1305
|
+
${Array.from({length:l-c},(u,b)=>r(c+b))}
|
|
1306
|
+
</div>`;return y`
|
|
1307
|
+
<div
|
|
1308
|
+
class="otp ${n.invalid?"otp-invalid":""} ${n.disabled?"otp-disabled":""}"
|
|
1309
|
+
data-otp
|
|
1310
|
+
>
|
|
1311
|
+
${d(0,t)}
|
|
1312
|
+
<div class="otp-sep" aria-hidden="true"><span></span></div>
|
|
1313
|
+
${d(t,e)}
|
|
1314
|
+
<input
|
|
1315
|
+
class="otp-native"
|
|
1316
|
+
id=${n.id}
|
|
1317
|
+
type="text"
|
|
1318
|
+
inputmode="numeric"
|
|
1319
|
+
autocomplete=${n.autocomplete??"one-time-code"}
|
|
1320
|
+
maxlength=${e}
|
|
1321
|
+
minlength=${e}
|
|
1322
|
+
pattern="[0-9]{${e}}"
|
|
1323
|
+
?required=${n.required!==!1}
|
|
1324
|
+
?disabled=${n.disabled}
|
|
1325
|
+
.value=${i}
|
|
1326
|
+
@input=${a}
|
|
1327
|
+
@keydown=${s}
|
|
1328
|
+
aria-invalid=${n.invalid?"true":C}
|
|
1329
|
+
aria-describedby=${n.describedBy?n.describedBy:C}
|
|
1330
|
+
aria-label=${n.ariaLabel?n.ariaLabel:C}
|
|
1331
|
+
/>
|
|
1332
|
+
</div>
|
|
1333
|
+
`}const Go=["totp","email","phone","recoverycode"];function un(n){const e={totp:!!n.totp,email:!!n.email,phone:!!n.phone,recoverycode:!!n.recoveryCode};return Go.filter(i=>e[i])}function Ko(n){return un(n)[0]??null}var Yo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,he=(n,e,i,t)=>{for(var o=t>1?void 0:t?Jo(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&Yo(e,i,o),o};const Be="authui-error";I.AuthUISignIn=class extends Ce{constructor(){super(...arguments),this.view="sign-in",this.embedded=!1,this.step="sign-in",this.busy=!1,this.error="",this.notice=null,this.showPassword=!1,this.showPasswordConfirm=!1,this.expandedOAuth=null,this.token=null,this.focusOnStep=!1,this.resendCooldownUntil=0,this.challenge=null,this.mfaAutoStarted=!1,this.recovery=null,this.email="",this.password="",this.passwordConfirm="",this.name="",this.phone="",this.code="",this.legalAccepted=!1,this.legalErrorFromOAuth=!1,this.onSignIn=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{await E.signInWithEmailPassword(this.email,this.password),this.password="",Te("email-password"),this.fire("authui-success",{method:"email-password"})})},this.onSignUp=e=>{e.preventDefault(),this.requireValid(e)&&(this.legalErrorFromOAuth=!1,this.ensureLegalAccepted()&&this.run(async()=>{await E.signUp(this.email,this.password,this.name),this.password="",Te("email-password"),this.fire("authui-success",{method:"sign-up"})}))},this.onGuest=()=>{this.run(async()=>{await E.signInAnonymously(),Te("anonymous"),this.fire("authui-success",{method:"anonymous"})})},this.onOAuth=e=>{if(this.step==="sign-up"&&!this.ensureLegalAccepted()){this.legalErrorFromOAuth=!0;return}this.legalErrorFromOAuth=!1,this.run(async()=>{if(en(e),await E.signInWithOAuth(e),E.isPreview){pi(),this.fire("authui-success",{method:"oauth"});return}await new Promise(i=>setTimeout(i,4e3))})},this.onForgot=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{await E.sendPasswordRecovery(this.email),this.notice={tone:"success",message:this.t("resetLinkSent",{email:this.email})}})},this.onReset=e=>{if(e.preventDefault(),!this.requireValid(e))return;if(this.password!==this.passwordConfirm){this.error=this.t("errorPasswordMismatch");return}const i=this.recovery;i&&this.run(async()=>{await E.completePasswordRecovery(i.userId,i.secret,this.password),this.password="",this.passwordConfirm="",this.recovery=null,this.auth.pending?.type==="reset-password"&&E.setPending(null),this.go("sign-in"),this.notice={tone:"success",message:this.t("passwordUpdated")}})},this.onMagicUrl=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendMagicUrl(this.email);this.token={userId:i.userId,kind:"magic-url",target:this.email,phrase:i.phrase}})},this.onEmailOtp=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendEmailOtp(this.email);this.token={userId:i.userId,kind:"email-otp",target:this.email,phrase:i.phrase},this.code="",this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)})},this.onPhoneOtp=e=>{e.preventDefault(),this.requireValid(e)&&this.run(async()=>{const i=await E.sendPhoneOtp(this.phone);this.token={userId:i.userId,kind:"phone",target:this.phone},this.code="",this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)})},this.onVerifyCode=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.token;i&&this.run(async()=>{await E.signInWithToken(i.userId,this.code),this.code="",this.token=null,Te(i.kind),this.fire("authui-success",{method:i.kind})},"code")},this.onChooseFactor=e=>{this.run(async()=>{const i=await E.createMfaChallenge(e);this.challenge={id:i.$id,factor:e},this.code=""})},this.onVerifyFactor=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.challenge;i&&this.run(async()=>{await E.completeMfaChallenge(i.id,this.code),this.code="",this.challenge=null,this.go("sign-in"),this.fire("authui-success",{method:"mfa"})},"code")},this.onCancelMfa=()=>{this.run(async()=>{try{await E.signOut()}catch(e){if(!ht(e,ee.sessionNotFound))throw e}this.go("sign-in")})},this.onSignOut=()=>{this.run(()=>E.signOut())}}connectedCallback(){super.connectedCallback(),this.step=this.view,this.syncFromStore()}willUpdate(e){e.has("view")&&e.get("view")!==void 0&&this.go(this.view),e.has("auth")&&this.syncFromStore()}updated(e){e.has("step")&&(this.focusOnStep||this.embedded)&&(this.focusOnStep=!1,requestAnimationFrame(()=>this.firstInput?.focus())),this.maybeAutoStartMfa()}maybeAutoStartMfa(){if(this.step!=="mfa"||this.challenge||this.mfaAutoStarted||this.busy)return;const e=this.auth.mfaFactors;if(!e)return;const i=Ko(e);i&&(this.mfaAutoStarted=!0,queueMicrotask(()=>{!this.challenge&&this.step==="mfa"&&this.onChooseFactor(i)}))}syncFromStore(){const{status:e,pending:i}=this.auth;e==="mfa-required"&&this.step!=="mfa"&&this.go("mfa");const t=this.step==="reset-password"||i?.type==="reset-password"||this.recovery!==null;(e==="signed-in"||e==="signed-out")&&!t&&(this.step==="mfa"||this.step==="phone"||this.step==="email-otp"||this.step==="magic-url"||this.step==="forgot-password"||this.token!==null||this.challenge!==null||e==="signed-out")&&(this.token=null,this.challenge=null,this.code="",this.password="",this.notice=null,this.go(this.view==="sign-up"?"sign-up":"sign-in")),i?.type==="reset-password"&&this.step!=="reset-password"&&(this.recovery={userId:i.userId,secret:i.secret},this.go("reset-password")),i?.type==="oauth-failed"&&(this.notice={tone:"error",message:this.t("errorOAuth")}),i?.type==="notice"&&!this.notice&&(this.notice={tone:i.tone==="error"?"error":i.tone,message:i.message})}dismissNotice(){this.notice=null,this.auth.pending?.type==="notice"&&E.setPending(null)}go(e){e==="sign-up"&&this.config?.signUp===!1&&(e="sign-in"),this.focusOnStep=!0,this.step=e,this.error="",this.notice=null,this.busy=!1,this.showPassword=!1,this.showPasswordConfirm=!1,this.password="",this.passwordConfirm="",this.legalAccepted=!1,this.legalErrorFromOAuth=!1,e!=="mfa"&&(this.challenge=null,this.mfaAutoStarted=!1),e!=="email-otp"&&e!=="phone"&&e!=="magic-url"&&(this.token=null),this.fire("authui-view",{view:e})}async run(e,i="link"){if(!this.busy){this.busy=!0,this.error="";try{await e()}catch(t){this.error=ft(t,this.strings,i)}finally{this.busy=!1}}}requireValid(e){const i=e.target;return!(i&&typeof i.reportValidity=="function"&&!i.reportValidity())}bind(e){return i=>{this[e]=i.target.value}}render(){const e=this.renderStep();return y`
|
|
1212
1334
|
<div class="panel ${this.embedded?"embedded":""}" part="panel">
|
|
1213
1335
|
${this.renderHeader()}
|
|
1214
|
-
${this.notice?
|
|
1336
|
+
${this.notice?y`<div class="alert alert-${this.notice.tone}" role="status">
|
|
1215
1337
|
${this.notice.tone==="success"?_.checkCircle:this.notice.tone==="error"?_.alert:_.info}
|
|
1216
1338
|
<div class="alert-body">${this.notice.message}</div>
|
|
1217
1339
|
<button
|
|
@@ -1221,27 +1343,27 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1221
1343
|
>
|
|
1222
1344
|
${_.x}
|
|
1223
1345
|
</button>
|
|
1224
|
-
</div>`:
|
|
1346
|
+
</div>`:C}
|
|
1225
1347
|
${e}
|
|
1226
1348
|
</div>
|
|
1227
|
-
`}renderHeader(){const e=this.config?.branding?.logo,i=this.productName;let t="",o="";if(this.auth.status==="signed-in")t=this.t("signedInAs");else switch(this.step){case"sign-in":t=i?this.t("signInTitle",{name:i}):this.t("welcomeBack");break;case"sign-up":t=i?this.t("signUpTitle",{name:i}):this.t("createAccount");break;case"forgot-password":case"reset-password":t=this.t("resetPassword");break;case"magic-url":case"email-otp":t=this.t("continueWithEmail");break;case"phone":t=this.t("continueWithPhone");break;case"mfa":t=this.t("mfaTitle"),o=this.t("mfaDescription");break}return
|
|
1349
|
+
`}renderHeader(){const e=this.config?.branding?.logo,i=this.productName;let t="",o="";if(this.auth.status==="signed-in")t=this.t("signedInAs");else switch(this.step){case"sign-in":t=i?this.t("signInTitle",{name:i}):this.t("welcomeBack");break;case"sign-up":t=i?this.t("signUpTitle",{name:i}):this.t("createAccount");break;case"forgot-password":case"reset-password":t=this.t("resetPassword");break;case"magic-url":case"email-otp":t=this.t("continueWithEmail");break;case"phone":t=this.t("continueWithPhone");break;case"mfa":t=this.t("mfaTitle"),o=this.t("mfaDescription");break}return y`
|
|
1228
1350
|
<div class="header">
|
|
1229
|
-
${e?
|
|
1351
|
+
${e?y`<img
|
|
1230
1352
|
class="logo"
|
|
1231
1353
|
src=${e}
|
|
1232
1354
|
alt=""
|
|
1233
1355
|
@error=${a=>{a.target.hidden=!0}}
|
|
1234
|
-
/>`:
|
|
1235
|
-
${E.isPreview?
|
|
1356
|
+
/>`:C}
|
|
1357
|
+
${E.isPreview?y`<span class="badge badge-info preview">${this.t("preview")}</span>`:C}
|
|
1236
1358
|
<h2 class="title" id="authui-title">${t}</h2>
|
|
1237
|
-
${o?
|
|
1359
|
+
${o?y`<p class="description">${o}</p>`:C}
|
|
1238
1360
|
</div>
|
|
1239
|
-
`}renderError(){return this.error?
|
|
1361
|
+
`}renderError(){return this.error?y`<div class="alert alert-error" role="alert" id=${Be}>
|
|
1240
1362
|
${_.alert}
|
|
1241
1363
|
<div class="alert-body">${this.error}</div>
|
|
1242
|
-
</div>`:
|
|
1243
|
-
${this.busy?
|
|
1244
|
-
</button>`}passwordField(e){const i=this[e.field],t=e.field==="passwordConfirm"?this.showPasswordConfirm:this.showPassword,o=e.meter?
|
|
1364
|
+
</div>`:C}submitButton(e,i="btn-primary"){return y`<button class="btn ${i} btn-block" type="submit" ?disabled=${this.busy}>
|
|
1365
|
+
${this.busy?y`<span class="spinner" aria-hidden="true"></span>`:C} ${e}
|
|
1366
|
+
</button>`}passwordField(e){const i=this[e.field],t=e.field==="passwordConfirm"?this.showPasswordConfirm:this.showPassword,o=e.meter?Mt(i):null;return y`
|
|
1245
1367
|
<div class="field${e.forgot?" field-with-forgot":""}">
|
|
1246
1368
|
<label class="label" for=${e.id}>${e.label}</label>
|
|
1247
1369
|
<div class="input-wrap">
|
|
@@ -1254,8 +1376,8 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1254
1376
|
minlength="8"
|
|
1255
1377
|
.value=${i}
|
|
1256
1378
|
@input=${this.bind(e.field)}
|
|
1257
|
-
aria-invalid=${this.error?"true":
|
|
1258
|
-
aria-describedby=${this.error?Be:
|
|
1379
|
+
aria-invalid=${this.error?"true":C}
|
|
1380
|
+
aria-describedby=${this.error?Be:C}
|
|
1259
1381
|
/>
|
|
1260
1382
|
<button
|
|
1261
1383
|
type="button"
|
|
@@ -1266,14 +1388,14 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1266
1388
|
${t?_.eyeOff:_.eye}
|
|
1267
1389
|
</button>
|
|
1268
1390
|
</div>
|
|
1269
|
-
${e.forgot?
|
|
1391
|
+
${e.forgot?y`<button
|
|
1270
1392
|
type="button"
|
|
1271
1393
|
class="btn btn-link small field-forgot"
|
|
1272
1394
|
@click=${()=>this.go("forgot-password")}
|
|
1273
1395
|
>
|
|
1274
1396
|
${this.t("forgotPassword")}
|
|
1275
|
-
</button>`:
|
|
1276
|
-
${o&&i?
|
|
1397
|
+
</button>`:C}
|
|
1398
|
+
${o&&i?y`<div class="strength" aria-live="polite">
|
|
1277
1399
|
<div
|
|
1278
1400
|
class="strength-meter"
|
|
1279
1401
|
data-level=${String(o.level)}
|
|
@@ -1287,9 +1409,9 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1287
1409
|
<span></span><span></span><span></span><span></span>
|
|
1288
1410
|
</div>
|
|
1289
1411
|
<p class="strength-label">${this.t(o.labelKey)}</p>
|
|
1290
|
-
</div>`:e.hint?
|
|
1412
|
+
</div>`:e.hint?y`<p class="hint">${e.hint}</p>`:C}
|
|
1291
1413
|
</div>
|
|
1292
|
-
`}emailField(e="email"){return
|
|
1414
|
+
`}emailField(e="email"){return y`
|
|
1293
1415
|
<div class="field">
|
|
1294
1416
|
<label class="label" for="authui-email">${this.t("email")}</label>
|
|
1295
1417
|
<input
|
|
@@ -1301,66 +1423,53 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1301
1423
|
inputmode="email"
|
|
1302
1424
|
.value=${this.email}
|
|
1303
1425
|
@input=${this.bind("email")}
|
|
1304
|
-
aria-invalid=${this.error?"true":
|
|
1305
|
-
aria-describedby=${this.error?Be:
|
|
1426
|
+
aria-invalid=${this.error?"true":C}
|
|
1427
|
+
aria-describedby=${this.error?Be:C}
|
|
1306
1428
|
/>
|
|
1307
1429
|
</div>
|
|
1308
|
-
`}codeField(){return
|
|
1430
|
+
`}codeField(){return y`
|
|
1309
1431
|
<div class="field">
|
|
1310
1432
|
<label class="label" for="authui-code">${this.t("code")}</label>
|
|
1311
|
-
|
|
1312
|
-
class="input input-otp"
|
|
1313
|
-
id="authui-code"
|
|
1314
|
-
type="text"
|
|
1315
|
-
inputmode="numeric"
|
|
1316
|
-
autocomplete="one-time-code"
|
|
1317
|
-
maxlength="6"
|
|
1318
|
-
pattern="[0-9]*"
|
|
1319
|
-
required
|
|
1320
|
-
.value=${this.code}
|
|
1321
|
-
@input=${this.bind("code")}
|
|
1322
|
-
aria-invalid=${this.error?"true":U}
|
|
1323
|
-
aria-describedby=${this.error?Be:U}
|
|
1324
|
-
/>
|
|
1433
|
+
${Rt({id:"authui-code",value:this.code,invalid:!!this.error,describedBy:this.error?Be:null,disabled:this.busy,onChange:e=>{this.code=e,this.requestUpdate()}})}
|
|
1325
1434
|
</div>
|
|
1326
|
-
`}needsLegalAcceptance(){const e=this.config?.legal;return e?.requireAcceptance?!!(e.termsUrl||e.privacyUrl):!1}ensureLegalAccepted(){return!this.needsLegalAcceptance()||this.legalAccepted?!0:(this.error=this.t("errorLegalRequired"),!1)}legalLinks(){const e=this.config?.legal;return!e?.termsUrl&&!e?.privacyUrl?
|
|
1435
|
+
`}needsLegalAcceptance(){const e=this.config?.legal;return e?.requireAcceptance?!!(e.termsUrl||e.privacyUrl):!1}ensureLegalAccepted(){return!this.needsLegalAcceptance()||this.legalAccepted?!0:(this.error=this.t("errorLegalRequired"),!1)}legalLinks(){const e=this.config?.legal;return!e?.termsUrl&&!e?.privacyUrl?C:y`${e.termsUrl?y`<a href=${e.termsUrl} target="_blank" rel="noopener">${this.t("terms")}</a>`:C}${e.termsUrl&&e.privacyUrl?y` ${this.t("and")} `:C}${e.privacyUrl?y`<a href=${e.privacyUrl} target="_blank" rel="noopener">${this.t("privacy")}</a>`:C}`}legal(){const e=this.config?.legal;return!e?.termsUrl&&!e?.privacyUrl||this.step==="sign-up"&&this.needsLegalAcceptance()?C:y`<p class="legal">${this.t("agreeTo")} ${this.legalLinks()}.</p>`}legalAcceptField(){if(!this.needsLegalAcceptance())return C;const e=this.error===this.t("errorLegalRequired");return y`<label class="legal-accept">
|
|
1327
1436
|
<input
|
|
1328
1437
|
type="checkbox"
|
|
1329
1438
|
.checked=${this.legalAccepted}
|
|
1330
|
-
aria-invalid=${e?"true":
|
|
1331
|
-
aria-describedby=${e?Be:
|
|
1439
|
+
aria-invalid=${e?"true":C}
|
|
1440
|
+
aria-describedby=${e?Be:C}
|
|
1332
1441
|
@change=${i=>{this.legalAccepted=i.target.checked,this.legalAccepted&&this.error===this.t("errorLegalRequired")&&(this.error="",this.legalErrorFromOAuth=!1)}}
|
|
1333
1442
|
/>
|
|
1334
1443
|
<span>${this.t("acceptLegal")} ${this.legalLinks()}.</span>
|
|
1335
|
-
</label>`}backLink(e="sign-in"){return
|
|
1444
|
+
</label>`}backLink(e="sign-in"){return y`<div class="links">
|
|
1336
1445
|
<button type="button" class="btn btn-link" @click=${()=>this.go(e)}>
|
|
1337
1446
|
${_.arrowLeft} ${this.t("back")}
|
|
1338
1447
|
</button>
|
|
1339
|
-
</div>`}renderStep(){if(this.auth.configError)return
|
|
1448
|
+
</div>`}renderStep(){if(this.auth.configError)return y`<div class="alert alert-error" role="alert">
|
|
1340
1449
|
${_.alert}
|
|
1341
1450
|
<div class="alert-body">${this.auth.configError}</div>
|
|
1342
|
-
</div>`;if(!this.auth.configured)return
|
|
1451
|
+
</div>`;if(!this.auth.configured)return y`<div class="alert alert-error" role="alert">
|
|
1343
1452
|
${_.alert}
|
|
1344
1453
|
<div class="alert-body">${this.t("errorNotConfigured")}</div>
|
|
1345
|
-
</div>`;if(this.auth.status==="loading")return
|
|
1454
|
+
</div>`;if(this.auth.status==="loading")return y`<div class="empty"><span class="spinner"></span></div>`;if(this.auth.status==="signed-in"&&this.step!=="mfa")return this.renderSignedIn();switch(this.step){case"sign-up":return this.config?.signUp===!1?this.renderSignIn():this.renderSignUp();case"forgot-password":return this.renderForgot();case"reset-password":return this.renderReset();case"magic-url":return this.renderMagicUrl();case"email-otp":return this.renderEmailOtp();case"phone":return this.renderPhone();case"mfa":return this.renderMfa();default:return this.renderSignIn()}}renderSignedIn(){const e=this.auth.user,i=e.name||e.email||e.phone||this.t("guestAccount");return y`
|
|
1346
1455
|
<div class="stack">
|
|
1347
1456
|
<div class="row">
|
|
1348
1457
|
<div class="inline">
|
|
1349
|
-
<span class="avatar">${
|
|
1458
|
+
<span class="avatar">${mi(i)}</span>
|
|
1350
1459
|
<div class="row-main">
|
|
1351
1460
|
<span class="row-title" title=${i}>${i}</span>
|
|
1352
|
-
${e.email&&e.name?
|
|
1461
|
+
${e.email&&e.name?y`<span class="row-sub" title=${e.email}>${e.email}</span>`:C}
|
|
1353
1462
|
</div>
|
|
1354
1463
|
</div>
|
|
1355
1464
|
</div>
|
|
1356
1465
|
${this.renderError()}
|
|
1357
1466
|
<div class="stack-sm">
|
|
1358
|
-
${this.config?.successUrl?
|
|
1467
|
+
${this.config?.successUrl?y`<a class="btn btn-primary btn-block" href=${this.config.successUrl}
|
|
1359
1468
|
>${this.t("continue")}</a
|
|
1360
|
-
>`:
|
|
1469
|
+
>`:C}
|
|
1361
1470
|
<button
|
|
1362
1471
|
class="btn btn-outline btn-block"
|
|
1363
|
-
@click=${()=>{this.embedded?this.fire("authui-open",{view:"account"}):
|
|
1472
|
+
@click=${()=>{this.embedded?this.fire("authui-open",{view:"account"}):at("account")}}
|
|
1364
1473
|
>
|
|
1365
1474
|
${_.settings} ${this.t("manageAccount")}
|
|
1366
1475
|
</button>
|
|
@@ -1369,9 +1478,9 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1369
1478
|
</button>
|
|
1370
1479
|
</div>
|
|
1371
1480
|
</div>
|
|
1372
|
-
`}renderProviders(){const e=[...this.config?.methods?.oauth??[]];if(e.length===0)return
|
|
1481
|
+
`}renderProviders(){const e=[...this.config?.methods?.oauth??[]];if(e.length===0)return C;const i=ze(),t=e.find(r=>i===`oauth:${r}`)??null,o=this.config?.methods?.oauthLayout,a=o==="horizontal"||o==="icon"?"icon":o==="stack"||o==="accordion"?o:e.length<=2?"stack":"accordion";if(a==="icon"){const r=[...e].sort((d,c)=>{const l=i===`oauth:${d}`?0:1,u=i===`oauth:${c}`?0:1;return l-u});return y`
|
|
1373
1482
|
<div class="providers icon">
|
|
1374
|
-
${r.map(d=>{const c=i===`oauth:${d}`,l=this.t("continueWith",{provider:
|
|
1483
|
+
${r.map(d=>{const c=i===`oauth:${d}`,l=this.t("continueWith",{provider:Ze(d)});return y`<button
|
|
1375
1484
|
type="button"
|
|
1376
1485
|
class="btn btn-outline ${c?"last-used":""}"
|
|
1377
1486
|
@click=${()=>this.onOAuth(d)}
|
|
@@ -1379,30 +1488,30 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1379
1488
|
aria-label=${c?`${l}. ${this.t("lastUsed")}`:l}
|
|
1380
1489
|
title=${l}
|
|
1381
1490
|
>
|
|
1382
|
-
${
|
|
1383
|
-
${c?
|
|
1491
|
+
${ot(d)}
|
|
1492
|
+
${c?y`<span class="oauth-last-used-dot" aria-hidden="true"></span>`:C}
|
|
1384
1493
|
</button>`})}
|
|
1385
1494
|
</div>
|
|
1386
|
-
`}if(a==="stack"){const r=[...e].sort((d,c)=>{const l=i===`oauth:${d}`?0:1,u=i===`oauth:${c}`?0:1;return l-u});return
|
|
1495
|
+
`}if(a==="stack"){const r=[...e].sort((d,c)=>{const l=i===`oauth:${d}`?0:1,u=i===`oauth:${c}`?0:1;return l-u});return y`
|
|
1387
1496
|
<div class="providers">
|
|
1388
|
-
${r.map(d=>{const c=i===`oauth:${d}`,l=this.t("continueWith",{provider:
|
|
1497
|
+
${r.map(d=>{const c=i===`oauth:${d}`,l=this.t("continueWith",{provider:Ze(d)});return y`<button
|
|
1389
1498
|
type="button"
|
|
1390
1499
|
class="btn btn-outline ${c?"last-used":""}"
|
|
1391
1500
|
@click=${()=>this.onOAuth(d)}
|
|
1392
1501
|
?disabled=${this.busy}
|
|
1393
1502
|
aria-label=${c?`${l}. ${this.t("lastUsed")}`:l}
|
|
1394
1503
|
>
|
|
1395
|
-
${
|
|
1504
|
+
${ot(d)}
|
|
1396
1505
|
<span>${l}</span>
|
|
1397
|
-
${c?
|
|
1506
|
+
${c?y`<span class="last-used-badge">${this.t("lastUsed")}</span>`:C}
|
|
1398
1507
|
</button>`})}
|
|
1399
1508
|
</div>
|
|
1400
|
-
`}const s=this.expandedOAuth&&e.includes(this.expandedOAuth)?this.expandedOAuth:t??e[0];return
|
|
1509
|
+
`}const s=this.expandedOAuth&&e.includes(this.expandedOAuth)?this.expandedOAuth:t??e[0];return y`
|
|
1401
1510
|
<div
|
|
1402
1511
|
class="providers accordion"
|
|
1403
1512
|
@mouseleave=${()=>{this.expandedOAuth=t??e[0]}}
|
|
1404
1513
|
>
|
|
1405
|
-
${e.map(r=>{const d=i===`oauth:${r}`,c=s===r,l=this.t("continueWith",{provider:
|
|
1514
|
+
${e.map(r=>{const d=i===`oauth:${r}`,c=s===r,l=this.t("continueWith",{provider:Ze(r)});return y`<div
|
|
1406
1515
|
class="provider-slot ${c?"is-expanded":""}"
|
|
1407
1516
|
@mouseenter=${()=>{this.expandedOAuth=r}}
|
|
1408
1517
|
>
|
|
@@ -1414,67 +1523,67 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1414
1523
|
?disabled=${this.busy}
|
|
1415
1524
|
aria-label=${d?`${l}. ${this.t("lastUsed")}`:l}
|
|
1416
1525
|
>
|
|
1417
|
-
${
|
|
1526
|
+
${ot(r)}
|
|
1418
1527
|
<span class="provider-label"
|
|
1419
1528
|
><span><span class="provider-label-text">${l}</span></span></span
|
|
1420
1529
|
>
|
|
1421
|
-
${d?
|
|
1530
|
+
${d?y`<span class="oauth-last-used" data-last-used=${r} aria-hidden="true">
|
|
1422
1531
|
<span class="oauth-last-used-dot"></span>
|
|
1423
1532
|
<span class="oauth-last-used-pill">${this.t("lastUsed")}</span>
|
|
1424
|
-
</span>`:
|
|
1533
|
+
</span>`:C}
|
|
1425
1534
|
</button>
|
|
1426
1535
|
</div>`})}
|
|
1427
1536
|
</div>
|
|
1428
|
-
`}renderSignIn(){const e=this.config?.methods??{},i=e.emailPassword!==!1,t=(e.oauth?.length??0)>0,o=[e.magicUrl?{step:"magic-url",icon:_.link,label:this.t("sendMagicLink")}:null,e.emailOtp?{step:"email-otp",icon:_.mail,label:this.t("continueWithEmail")}:null,e.phone?{step:"phone",icon:_.smartphone,label:this.t("continueWithPhone")}:null].filter(Boolean);return
|
|
1537
|
+
`}renderSignIn(){const e=this.config?.methods??{},i=e.emailPassword!==!1,t=(e.oauth?.length??0)>0,o=[e.magicUrl?{step:"magic-url",icon:_.link,label:this.t("sendMagicLink")}:null,e.emailOtp?{step:"email-otp",icon:_.mail,label:this.t("continueWithEmail")}:null,e.phone?{step:"phone",icon:_.smartphone,label:this.t("continueWithPhone")}:null].filter(Boolean);return y`
|
|
1429
1538
|
<div class="stack">
|
|
1430
1539
|
${this.renderProviders()}
|
|
1431
|
-
${t&&(i||o.length>0)?
|
|
1432
|
-
${i?
|
|
1433
|
-
class="form ${
|
|
1540
|
+
${t&&(i||o.length>0)?y`<div class="separator-text">${this.t("or")}</div>`:C}
|
|
1541
|
+
${i?y`<form
|
|
1542
|
+
class="form ${ze()==="email-password"?"last-used-form":""}"
|
|
1434
1543
|
@submit=${this.onSignIn}
|
|
1435
1544
|
novalidate
|
|
1436
1545
|
>
|
|
1437
|
-
${
|
|
1546
|
+
${ze()==="email-password"?y`<p class="hint">
|
|
1438
1547
|
<span class="last-used-badge">${this.t("lastUsed")}</span>
|
|
1439
|
-
</p>`:
|
|
1548
|
+
</p>`:C}
|
|
1440
1549
|
${this.emailField()}
|
|
1441
1550
|
${this.passwordField({label:this.t("password"),autocomplete:"current-password",id:"authui-password",field:"password",forgot:!0})}
|
|
1442
1551
|
${this.renderError()} ${this.submitButton(this.t("signIn"))}
|
|
1443
1552
|
</form>`:this.renderError()}
|
|
1444
|
-
${o.length>0?
|
|
1445
|
-
${o.map(a=>{const s=
|
|
1553
|
+
${o.length>0?y`<div class="stack-sm">
|
|
1554
|
+
${o.map(a=>{const s=ze()===a.step;return y`<button
|
|
1446
1555
|
type="button"
|
|
1447
1556
|
class="btn btn-secondary btn-block ${s?"last-used":""}"
|
|
1448
1557
|
@click=${()=>this.go(a.step)}
|
|
1449
1558
|
?disabled=${this.busy}
|
|
1450
1559
|
>
|
|
1451
1560
|
${a.icon} ${a.label}
|
|
1452
|
-
${s?
|
|
1561
|
+
${s?y`<span class="last-used-badge">${this.t("lastUsed")}</span>`:C}
|
|
1453
1562
|
</button>`})}
|
|
1454
|
-
</div>`:
|
|
1455
|
-
${e.anonymous?
|
|
1563
|
+
</div>`:C}
|
|
1564
|
+
${e.anonymous?y`<button
|
|
1456
1565
|
type="button"
|
|
1457
|
-
class="btn btn-ghost btn-block ${
|
|
1566
|
+
class="btn btn-ghost btn-block ${ze()==="anonymous"?"last-used":""}"
|
|
1458
1567
|
@click=${this.onGuest}
|
|
1459
1568
|
?disabled=${this.busy}
|
|
1460
1569
|
>
|
|
1461
1570
|
${_.ghost} ${this.t("continueAsGuest")}
|
|
1462
|
-
${
|
|
1463
|
-
</button>`:
|
|
1464
|
-
${i&&this.config?.signUp!==!1?
|
|
1571
|
+
${ze()==="anonymous"?y`<span class="last-used-badge">${this.t("lastUsed")}</span>`:C}
|
|
1572
|
+
</button>`:C}
|
|
1573
|
+
${i&&this.config?.signUp!==!1?y`<div class="links">
|
|
1465
1574
|
<span>${this.t("noAccount")}</span>
|
|
1466
1575
|
<button type="button" class="btn btn-link" @click=${()=>this.go("sign-up")}>
|
|
1467
1576
|
${this.t("signUp")}
|
|
1468
1577
|
</button>
|
|
1469
|
-
</div>`:
|
|
1578
|
+
</div>`:C}
|
|
1470
1579
|
${this.legal()}
|
|
1471
1580
|
</div>
|
|
1472
|
-
`}renderSignUp(){const e=this.legalErrorFromOAuth&&this.error===this.t("errorLegalRequired");return
|
|
1581
|
+
`}renderSignUp(){const e=this.legalErrorFromOAuth&&this.error===this.t("errorLegalRequired");return y`
|
|
1473
1582
|
<div class="stack">
|
|
1474
|
-
${this.renderProviders()} ${e?this.renderError():
|
|
1475
|
-
${(this.config?.methods?.oauth?.length??0)>0?
|
|
1583
|
+
${this.renderProviders()} ${e?this.renderError():C}
|
|
1584
|
+
${(this.config?.methods?.oauth?.length??0)>0?y`<div class="separator-text">${this.t("or")}</div>`:C}
|
|
1476
1585
|
<form class="form" @submit=${this.onSignUp} novalidate>
|
|
1477
|
-
${this.config?.requireName!==!1?
|
|
1586
|
+
${this.config?.requireName!==!1?y`<div class="field">
|
|
1478
1587
|
<label class="label" for="authui-name">${this.t("name")}</label>
|
|
1479
1588
|
<input
|
|
1480
1589
|
class="input"
|
|
@@ -1484,13 +1593,13 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1484
1593
|
required
|
|
1485
1594
|
.value=${this.name}
|
|
1486
1595
|
@input=${this.bind("name")}
|
|
1487
|
-
aria-invalid=${this.error?"true":
|
|
1488
|
-
aria-describedby=${this.error?Be:
|
|
1596
|
+
aria-invalid=${this.error?"true":C}
|
|
1597
|
+
aria-describedby=${this.error?Be:C}
|
|
1489
1598
|
/>
|
|
1490
|
-
</div>`:
|
|
1599
|
+
</div>`:C}
|
|
1491
1600
|
${this.emailField()}
|
|
1492
1601
|
${this.passwordField({label:this.t("password"),autocomplete:"new-password",id:"authui-password",field:"password",hint:this.t("passwordHint"),meter:!0})}
|
|
1493
|
-
${this.legalAcceptField()} ${e?
|
|
1602
|
+
${this.legalAcceptField()} ${e?C:this.renderError()}
|
|
1494
1603
|
${this.submitButton(this.t("createAccount"))}
|
|
1495
1604
|
</form>
|
|
1496
1605
|
<div class="links">
|
|
@@ -1501,14 +1610,14 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1501
1610
|
</div>
|
|
1502
1611
|
${this.legal()}
|
|
1503
1612
|
</div>
|
|
1504
|
-
`}renderForgot(){return
|
|
1613
|
+
`}renderForgot(){return y`
|
|
1505
1614
|
<div class="stack">
|
|
1506
1615
|
<form class="form" @submit=${this.onForgot} novalidate>
|
|
1507
1616
|
${this.emailField()} ${this.renderError()} ${this.submitButton(this.t("sendResetLink"))}
|
|
1508
1617
|
</form>
|
|
1509
1618
|
${this.backLink()}
|
|
1510
1619
|
</div>
|
|
1511
|
-
`}renderReset(){return this.recovery?
|
|
1620
|
+
`}renderReset(){return this.recovery?y`
|
|
1512
1621
|
<div class="stack">
|
|
1513
1622
|
<form class="form" @submit=${this.onReset} novalidate>
|
|
1514
1623
|
${this.passwordField({label:this.t("newPassword"),autocomplete:"new-password",id:"authui-password",field:"password",hint:this.t("passwordHint"),meter:!0})}
|
|
@@ -1525,7 +1634,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1525
1634
|
</button>
|
|
1526
1635
|
</div>
|
|
1527
1636
|
</div>
|
|
1528
|
-
`:
|
|
1637
|
+
`:y`<div class="stack">
|
|
1529
1638
|
<div class="alert alert-error" role="alert">
|
|
1530
1639
|
${_.alert}
|
|
1531
1640
|
<div class="alert-body">${this.t("errorInvalidToken")}</div>
|
|
@@ -1539,26 +1648,26 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1539
1648
|
${this.t("requestNewLink")}
|
|
1540
1649
|
</button>
|
|
1541
1650
|
</div>
|
|
1542
|
-
</div>`}phraseBox(e){return e?
|
|
1651
|
+
</div>`}phraseBox(e){return e?y`<div class="alert alert-info">
|
|
1543
1652
|
${_.shield}
|
|
1544
1653
|
<div class="alert-title">
|
|
1545
1654
|
${this.t("securityPhrase")}: <span class="code">${e}</span>
|
|
1546
1655
|
</div>
|
|
1547
1656
|
<div class="alert-body">${this.t("securityPhraseHint")}</div>
|
|
1548
|
-
</div>`:
|
|
1657
|
+
</div>`:C}renderMagicUrl(){return this.token?y`<div class="stack">
|
|
1549
1658
|
<div class="alert alert-success" role="status">
|
|
1550
1659
|
${_.mail}
|
|
1551
1660
|
<div class="alert-body">${this.t("magicLinkSent",{email:this.token.target})}</div>
|
|
1552
1661
|
</div>
|
|
1553
1662
|
${this.phraseBox(this.token.phrase)} ${this.backLink()}
|
|
1554
|
-
</div>`:
|
|
1663
|
+
</div>`:y`
|
|
1555
1664
|
<div class="stack">
|
|
1556
1665
|
<form class="form" @submit=${this.onMagicUrl} novalidate>
|
|
1557
1666
|
${this.emailField()} ${this.renderError()} ${this.submitButton(this.t("sendMagicLink"))}
|
|
1558
1667
|
</form>
|
|
1559
1668
|
${this.backLink()} ${this.legal()}
|
|
1560
1669
|
</div>
|
|
1561
|
-
`}async onResendCode(){const e=this.token;!e||Date.now()<this.resendCooldownUntil||(this.error="",await this.run(async()=>{if(e.kind==="phone"){const i=await E.sendPhoneOtp(e.target);this.token={userId:i.userId,kind:"phone",target:e.target}}else{const i=await E.sendEmailOtp(e.target);this.token={userId:i.userId,kind:"email-otp",target:e.target,phrase:i.phrase}}this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)}))}renderCodeEntry(){const e=this.token?.kind==="phone",i=Date.now()<this.resendCooldownUntil;return
|
|
1670
|
+
`}async onResendCode(){const e=this.token;!e||Date.now()<this.resendCooldownUntil||(this.error="",await this.run(async()=>{if(e.kind==="phone"){const i=await E.sendPhoneOtp(e.target);this.token={userId:i.userId,kind:"phone",target:e.target}}else{const i=await E.sendEmailOtp(e.target);this.token={userId:i.userId,kind:"email-otp",target:e.target,phrase:i.phrase}}this.resendCooldownUntil=Date.now()+3e4,window.setTimeout(()=>this.requestUpdate(),3e4)}))}renderCodeEntry(){const e=this.token?.kind==="phone",i=Date.now()<this.resendCooldownUntil;return y`
|
|
1562
1671
|
<div class="alert alert-info" role="status">
|
|
1563
1672
|
${e?_.smartphone:_.mail}
|
|
1564
1673
|
<div class="alert-body">${this.t("codeSent",{target:this.token.target})}</div>
|
|
@@ -1585,14 +1694,14 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1585
1694
|
${e?this.t("useDifferentPhone"):this.t("useDifferentEmail")}
|
|
1586
1695
|
</button>
|
|
1587
1696
|
</div>
|
|
1588
|
-
`}renderEmailOtp(){return this.token?
|
|
1697
|
+
`}renderEmailOtp(){return this.token?y`<div class="stack">${this.renderCodeEntry()}</div>`:y`
|
|
1589
1698
|
<div class="stack">
|
|
1590
1699
|
<form class="form" @submit=${this.onEmailOtp} novalidate>
|
|
1591
1700
|
${this.emailField()} ${this.renderError()} ${this.submitButton(this.t("sendCode"))}
|
|
1592
1701
|
</form>
|
|
1593
1702
|
${this.backLink()} ${this.legal()}
|
|
1594
1703
|
</div>
|
|
1595
|
-
`}renderPhone(){return this.token?
|
|
1704
|
+
`}renderPhone(){return this.token?y`<div class="stack">${this.renderCodeEntry()}</div>`:y`
|
|
1596
1705
|
<div class="stack">
|
|
1597
1706
|
<form class="form" @submit=${this.onPhoneOtp} novalidate>
|
|
1598
1707
|
<div class="field">
|
|
@@ -1606,25 +1715,37 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1606
1715
|
required
|
|
1607
1716
|
.value=${this.phone}
|
|
1608
1717
|
@input=${this.bind("phone")}
|
|
1609
|
-
aria-invalid=${this.error?"true":
|
|
1610
|
-
aria-describedby=${this.error?Be:
|
|
1718
|
+
aria-invalid=${this.error?"true":C}
|
|
1719
|
+
aria-describedby=${this.error?Be:C}
|
|
1611
1720
|
/>
|
|
1612
1721
|
</div>
|
|
1613
1722
|
${this.renderError()} ${this.submitButton(this.t("sendCode"))}
|
|
1614
1723
|
</form>
|
|
1615
1724
|
${this.backLink()} ${this.legal()}
|
|
1616
1725
|
</div>
|
|
1617
|
-
`}renderMfa(){const e=this.auth.mfaFactors;if(!
|
|
1726
|
+
`}renderMfa(){const e=this.auth.mfaFactors;if(!e)return y`
|
|
1727
|
+
<div class="stack">
|
|
1728
|
+
<div class="empty"><span class="spinner" aria-label=${this.t("loading")}></span></div>
|
|
1729
|
+
${this.renderError()}
|
|
1730
|
+
<div class="links">
|
|
1731
|
+
<button type="button" class="btn btn-link" @click=${this.onCancelMfa}>
|
|
1732
|
+
${this.t("cancel")}
|
|
1733
|
+
</button>
|
|
1734
|
+
</div>
|
|
1735
|
+
</div>
|
|
1736
|
+
`;if(!this.challenge){const t=[{factor:"totp",icon:_.smartphone,label:this.t("mfaUseAuthenticator")},{factor:"email",icon:_.mail,label:this.t("mfaUseEmail")},{factor:"phone",icon:_.phone,label:this.t("mfaUsePhone")},{factor:"recoverycode",icon:_.key,label:this.t("mfaUseRecoveryCode")}],o=new Set(un(e)),a=t.filter(s=>o.has(s.factor));return y`
|
|
1618
1737
|
<div class="stack">
|
|
1619
1738
|
<div class="stack-sm">
|
|
1620
|
-
${
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1739
|
+
${a.length===0?y`<div class="empty">
|
|
1740
|
+
<span class="spinner" aria-label=${this.t("loading")}></span>
|
|
1741
|
+
</div>`:a.map(s=>y`<button
|
|
1742
|
+
type="button"
|
|
1743
|
+
class="choice"
|
|
1744
|
+
@click=${()=>this.onChooseFactor(s.factor)}
|
|
1745
|
+
?disabled=${this.busy}
|
|
1746
|
+
>
|
|
1747
|
+
${s.icon}<span class="choice-title">${s.label}</span>
|
|
1748
|
+
</button>`)}
|
|
1628
1749
|
</div>
|
|
1629
1750
|
${this.renderError()}
|
|
1630
1751
|
<div class="links">
|
|
@@ -1633,10 +1754,10 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1633
1754
|
</button>
|
|
1634
1755
|
</div>
|
|
1635
1756
|
</div>
|
|
1636
|
-
`}const i=this.challenge.factor==="recoverycode";return
|
|
1757
|
+
`}const i=this.challenge.factor==="recoverycode";return y`
|
|
1637
1758
|
<div class="stack">
|
|
1638
1759
|
<form class="form" @submit=${this.onVerifyFactor} novalidate>
|
|
1639
|
-
${i?
|
|
1760
|
+
${i?y`<div class="field">
|
|
1640
1761
|
<label class="label" for="authui-code">${this.t("recoveryCode")}</label>
|
|
1641
1762
|
<input
|
|
1642
1763
|
class="input mono"
|
|
@@ -1646,8 +1767,8 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1646
1767
|
required
|
|
1647
1768
|
.value=${this.code}
|
|
1648
1769
|
@input=${this.bind("code")}
|
|
1649
|
-
aria-invalid=${this.error?"true":
|
|
1650
|
-
aria-describedby=${this.error?Be:
|
|
1770
|
+
aria-invalid=${this.error?"true":C}
|
|
1771
|
+
aria-describedby=${this.error?Be:C}
|
|
1651
1772
|
/>
|
|
1652
1773
|
</div>`:this.codeField()}
|
|
1653
1774
|
${this.renderError()} ${this.submitButton(this.t("verifyCode"))}
|
|
@@ -1662,19 +1783,19 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1662
1783
|
</button>
|
|
1663
1784
|
</div>
|
|
1664
1785
|
</div>
|
|
1665
|
-
`}},I.AuthUISignIn.styles=[...Ce.styles,
|
|
1666
|
-
`)),this.copied=!0,setTimeout(()=>this.copied=!1,1500)}catch{this.setNotice("error",this.t("copyFailed"))}},this.onCopySecret=async()=>{const e=this.authenticator?.secret;if(e)try{await navigator.clipboard.writeText(e),this.copied=!0,setTimeout(()=>this.copied=!1,1500)}catch{this.setNotice("error",this.t("copyFailed"))}},this.onStepUpFactor=e=>{this.run("stepup",async()=>{const i=await E.createMfaChallenge(e);this.stepUp={...this.stepUp,challenge:{id:i.$id,factor:e}},this.stepUpCode=""})},this.onStepUpVerify=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.stepUp;i?.challenge&&(async()=>{let t=!1;await this.run("stepup-code",async()=>{await E.completeMfaChallenge(i.challenge.id,this.stepUpCode,{signIn:!1}),this.stepUp=null,this.stepUpCode="",t=!0}),t&&await i.retry()})()},this.onDeleteSession=e=>{this.run(`session-${e}`,async()=>{if((this.sessions??[]).some(t=>t.$id===e&&t.current)){await E.signOut(),this.sessions=[];return}await E.signOut(e),this.sessions=(this.sessions??[]).filter(t=>t.$id!==e)})},this.onSignOutAll=()=>{if(!this.confirmSignOutAll){this.confirmSignOutAll=!0;return}this.confirmSignOutAll=!1,this.run("sessions-all",()=>E.signOutEverywhere())},this.onDeleteIdentity=e=>{if(this.confirmDisconnectId!==e){this.confirmDisconnectId=e;return}this.confirmDisconnectId=null,this.run(`identity-${e}`,async()=>{await E.deleteIdentity(e),this.identities=(this.identities??[]).filter(i=>i.$id!==e)})},this.onDeleteAccount=()=>{this.run("delete",()=>E.deleteAccount())}}connectedCallback(){super.connectedCallback(),this.active=this.tab,this.hydrate()}disconnectedCallback(){super.disconnectedCallback(),this.clearVerifyEmailCooldownTimer(),this.clearVerifyPhoneCooldownTimer(),this.noticeTimer&&(clearTimeout(this.noticeTimer),this.noticeTimer=null)}willUpdate(e){e.has("tab")&&e.get("tab")!==void 0&&(this.active=this.tab),e.has("auth")&&this.hydrate(),this.ensureLoaded()}ensureLoaded(){!this.user||this.busy||(this.logsProbeStarted||this.probeLogsSupport(),this.active==="sessions"&&this.sessions===null?this.loadSessions():this.active==="connections"&&this.identities===null?this.loadIdentities():this.active==="activity"&&this.logsSupported===!0&&this.logs===null?this.loadLogs():this.active==="activity"&&this.logsSupported===!1?this.active="profile":this.active==="security"&&this.factors===null&&this.loadFactors())}hydrate(){const e=this.auth.user;e&&(this.nameInput||(this.nameInput=e.name??""),this.emailInput||(this.emailInput=e.email??""),this.phoneInput||(this.phoneInput=e.phone??""))}get user(){return this.auth.user}get isGuest(){const e=this.user;return!!e&&!e.email&&!e.phone}select(e){this.active=e,this.notice=null,this.errors={}}updated(e){e.has("active")&&requestAnimationFrame(()=>{const t=this.renderRoot.querySelector('.tab[aria-selected="true"]');t&&typeof t.scrollIntoView=="function"&&t.scrollIntoView({inline:"nearest",block:"nearest",behavior:"smooth"})}),(e.has("confirmDelete")&&this.confirmDelete||e.has("confirmSignOutAll")&&this.confirmSignOutAll||e.has("confirmDisconnectId")&&this.confirmDisconnectId!==null||e.has("confirmRegenerate")&&this.confirmRegenerate||e.has("confirmRemoveAuthenticator")&&this.confirmRemoveAuthenticator)&&requestAnimationFrame(()=>{this.renderRoot.querySelector(".card-footer [autofocus], .row-actions [autofocus], .inline [autofocus], .card-footer .btn-outline, .row-actions .btn-outline, .inline .btn-outline")?.focus({preventScroll:!0})})}setNotice(e,i){this.notice={tone:e,message:i},this.noticeTimer&&clearTimeout(this.noticeTimer),this.noticeTimer=setTimeout(()=>{this.notice=null,this.noticeTimer=null},8e3)}requireValid(e){const i=e.target;return!(i&&typeof i.reportValidity=="function"&&!i.reportValidity())}async run(e,i,t){if(!this.busy){this.busy=e,this.errors={...this.errors,[e]:""},this.notice=null;try{await i(),t&&this.setNotice("success",t)}catch(o){
|
|
1786
|
+
`}},I.AuthUISignIn.styles=[...Ce.styles,Vo],he([F({type:String})],I.AuthUISignIn.prototype,"view",2),he([F({type:Boolean})],I.AuthUISignIn.prototype,"embedded",2),he([N()],I.AuthUISignIn.prototype,"step",2),he([N()],I.AuthUISignIn.prototype,"busy",2),he([N()],I.AuthUISignIn.prototype,"error",2),he([N()],I.AuthUISignIn.prototype,"notice",2),he([N()],I.AuthUISignIn.prototype,"showPassword",2),he([N()],I.AuthUISignIn.prototype,"showPasswordConfirm",2),he([N()],I.AuthUISignIn.prototype,"expandedOAuth",2),he([N()],I.AuthUISignIn.prototype,"token",2),he([N()],I.AuthUISignIn.prototype,"resendCooldownUntil",2),he([N()],I.AuthUISignIn.prototype,"challenge",2),he([N()],I.AuthUISignIn.prototype,"recovery",2),he([Vt("form input:not([type=hidden])")],I.AuthUISignIn.prototype,"firstInput",2),he([N()],I.AuthUISignIn.prototype,"password",2),he([N()],I.AuthUISignIn.prototype,"passwordConfirm",2),he([N()],I.AuthUISignIn.prototype,"legalAccepted",2),he([N()],I.AuthUISignIn.prototype,"legalErrorFromOAuth",2),I.AuthUISignIn=he([Je("authui-sign-in")],I.AuthUISignIn);var Zo=Object.defineProperty,Qo=Object.getOwnPropertyDescriptor,O=(n,e,i,t)=>{for(var o=t>1?void 0:t?Qo(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&Zo(e,i,o),o};I.AuthUIAccount=class extends Ce{constructor(){super(...arguments),this.embedded=!1,this.tab="profile",this.active="profile",this.busy="",this.notice=null,this.errors={},this.nameInput="",this.emailInput="",this.emailPassword="",this.phoneInput="",this.phonePassword="",this.phoneCode="",this.phoneCodeSent=!1,this.guestName="",this.oldPassword="",this.newPassword="",this.newPasswordConfirm="",this.showOldPassword=!1,this.showNewPassword=!1,this.showNewPasswordConfirm=!1,this.authenticator=null,this.authenticatorCode="",this.factors=null,this.recoveryCodes=null,this.stepUp=null,this.stepUpCode="",this.copied=!1,this.sessions=null,this.browserIconFailed={},this.identities=null,this.logs=null,this.logsSupported=null,this.logsProbeStarted=!1,this.confirmDelete=!1,this.confirmRegenerate=!1,this.confirmRemoveAuthenticator=!1,this.confirmSignOutAll=!1,this.confirmDisconnectId=null,this.verifyEmailCooldownUntil=0,this.verifyEmailCooldownTimer=null,this.verifyPhoneCooldownUntil=0,this.verifyPhoneCooldownTimer=null,this.onTabsKeydown=e=>{const i=[...this.renderRoot?.querySelectorAll('[role="tab"]')??[]];if(!i.length)return;const t=i.findIndex(s=>s.getAttribute("aria-selected")==="true");let o=t;if(e.key==="ArrowRight"||e.key==="ArrowDown")o=(t+1)%i.length;else if(e.key==="ArrowLeft"||e.key==="ArrowUp")o=(t-1+i.length)%i.length;else if(e.key==="Home")o=0;else if(e.key==="End")o=i.length-1;else return;e.preventDefault();const a=i[o].id.replace("authui-tab-","");this.select(a),requestAnimationFrame(()=>i[o]?.focus())},this.noticeTimer=null,this.factorsLoading=!1,this.onUpdateName=e=>{e.preventDefault(),this.requireValid(e)&&this.run("name",()=>E.updateName(this.nameInput),this.t("nameUpdated"))},this.onUpdateEmail=e=>{e.preventDefault(),this.requireValid(e)&&this.run("email",async()=>{await E.updateEmail(this.emailInput,this.emailPassword),this.emailPassword=""},this.t("emailUpdated"))},this.onUpdatePhone=e=>{e.preventDefault(),this.requireValid(e)&&this.run("phone",async()=>{await E.updatePhone(this.phoneInput,this.phonePassword),this.phonePassword=""},this.t("phoneUpdated"))},this.onConvertGuest=e=>{e.preventDefault(),this.requireValid(e)&&this.run("guest",async()=>{await E.convertGuest(this.emailInput,this.emailPassword,this.guestName),this.emailPassword=""},this.t("accountConverted"))},this.onSendVerification=()=>{Date.now()<this.verifyEmailCooldownUntil||this.run("verify",async()=>{await E.sendEmailVerification(),this.startVerifyEmailCooldown()},this.t("verificationSent"))},this.onSendPhoneVerification=()=>{Date.now()<this.verifyPhoneCooldownUntil||this.run("verify-phone",async()=>{await E.sendPhoneVerification(),this.phoneCodeSent=!0,this.startVerifyPhoneCooldown()})},this.onConfirmPhoneVerification=e=>{e.preventDefault(),this.requireValid(e)&&this.run("verify-phone-code",async()=>{await E.confirmPhoneVerification(this.phoneCode),this.phoneCode="",this.phoneCodeSent=!1,this.verifyPhoneCooldownUntil=0,this.clearVerifyPhoneCooldownTimer()},this.t("phoneVerified"))},this.onChangePassword=e=>{if(e.preventDefault(),!!this.requireValid(e)){if(this.newPassword!==this.newPasswordConfirm){this.errors={...this.errors,password:this.t("errorPasswordMismatch")};return}this.run("password",async()=>{await E.updatePassword(this.newPassword,this.oldPassword),this.oldPassword=this.newPassword=this.newPasswordConfirm=""},this.t("passwordChanged"))}},this.onToggleMfa=()=>{const e=!this.user?.mfa;this.run("mfa",async()=>{await E.setMfaEnabled(e),await this.loadFactors()})},this.onAddAuthenticator=()=>{this.run("authenticator",async()=>{this.authenticator=await E.addAuthenticator(),this.authenticatorCode=""})},this.onVerifyAuthenticator=e=>{e.preventDefault(),this.requireValid(e)&&this.run("authenticator-code",async()=>{await E.verifyAuthenticator(this.authenticatorCode),this.authenticator=null,this.authenticatorCode="",await this.loadFactors()},this.t("authenticatorAdded"))},this.onRemoveAuthenticator=()=>{if(!this.confirmRemoveAuthenticator){this.confirmRemoveAuthenticator=!0;return}this.confirmRemoveAuthenticator=!1,this.run("remove-authenticator",async()=>{await E.removeAuthenticator(),await this.loadFactors()})},this.onRecoveryCodes=()=>{this.run("recovery",async()=>{try{this.recoveryCodes=await E.createRecoveryCodes()}catch(e){if(!ht(e,ee.recoveryCodesExist))throw e;this.recoveryCodes=await E.getRecoveryCodes()}await this.loadFactors()})},this.onRegenerateRecoveryCodes=()=>{if(!this.confirmRegenerate){this.confirmRegenerate=!0;return}this.confirmRegenerate=!1,this.run("recovery",async()=>{this.recoveryCodes=await E.regenerateRecoveryCodes()})},this.onCopyCodes=async()=>{if(this.recoveryCodes)try{await navigator.clipboard.writeText(this.recoveryCodes.join(`
|
|
1787
|
+
`)),this.copied=!0,setTimeout(()=>this.copied=!1,1500)}catch{this.setNotice("error",this.t("copyFailed"))}},this.onCopySecret=async()=>{const e=this.authenticator?.secret;if(e)try{await navigator.clipboard.writeText(e),this.copied=!0,setTimeout(()=>this.copied=!1,1500)}catch{this.setNotice("error",this.t("copyFailed"))}},this.onStepUpFactor=e=>{this.run("stepup",async()=>{const i=await E.createMfaChallenge(e);this.stepUp={...this.stepUp,challenge:{id:i.$id,factor:e}},this.stepUpCode=""})},this.onStepUpVerify=e=>{if(e.preventDefault(),!this.requireValid(e))return;const i=this.stepUp;i?.challenge&&(async()=>{let t=!1;await this.run("stepup-code",async()=>{await E.completeMfaChallenge(i.challenge.id,this.stepUpCode,{signIn:!1}),this.stepUp=null,this.stepUpCode="",t=!0}),t&&await i.retry()})()},this.onDeleteSession=e=>{this.run(`session-${e}`,async()=>{if((this.sessions??[]).some(t=>t.$id===e&&t.current)){await E.signOut(),this.sessions=[];return}await E.signOut(e),this.sessions=(this.sessions??[]).filter(t=>t.$id!==e)})},this.onSignOutAll=()=>{if(!this.confirmSignOutAll){this.confirmSignOutAll=!0;return}this.confirmSignOutAll=!1,this.run("sessions-all",()=>E.signOutEverywhere())},this.onDeleteIdentity=e=>{if(this.confirmDisconnectId!==e){this.confirmDisconnectId=e;return}this.confirmDisconnectId=null,this.run(`identity-${e}`,async()=>{await E.deleteIdentity(e),this.identities=(this.identities??[]).filter(i=>i.$id!==e)})},this.onDeleteAccount=()=>{this.run("delete",()=>E.deleteAccount())}}connectedCallback(){super.connectedCallback(),this.active=this.tab,this.hydrate()}disconnectedCallback(){super.disconnectedCallback(),this.clearVerifyEmailCooldownTimer(),this.clearVerifyPhoneCooldownTimer(),this.noticeTimer&&(clearTimeout(this.noticeTimer),this.noticeTimer=null)}willUpdate(e){e.has("tab")&&e.get("tab")!==void 0&&(this.active=this.tab),e.has("auth")&&this.hydrate(),this.ensureLoaded()}ensureLoaded(){!this.user||this.busy||(this.logsProbeStarted||this.probeLogsSupport(),this.active==="sessions"&&this.sessions===null?this.loadSessions():this.active==="connections"&&this.identities===null?this.loadIdentities():this.active==="activity"&&this.logsSupported===!0&&this.logs===null?this.loadLogs():this.active==="activity"&&this.logsSupported===!1?this.active="profile":this.active==="security"&&this.factors===null&&this.loadFactors())}hydrate(){const e=this.auth.user;e&&(this.nameInput||(this.nameInput=e.name??""),this.emailInput||(this.emailInput=e.email??""),this.phoneInput||(this.phoneInput=e.phone??""))}get user(){return this.auth.user}get isGuest(){const e=this.user;return!!e&&!e.email&&!e.phone}select(e){this.active=e,this.notice=null,this.errors={}}updated(e){e.has("active")&&requestAnimationFrame(()=>{const t=this.renderRoot.querySelector('.tab[aria-selected="true"]');t&&typeof t.scrollIntoView=="function"&&t.scrollIntoView({inline:"nearest",block:"nearest",behavior:"smooth"})}),(e.has("confirmDelete")&&this.confirmDelete||e.has("confirmSignOutAll")&&this.confirmSignOutAll||e.has("confirmDisconnectId")&&this.confirmDisconnectId!==null||e.has("confirmRegenerate")&&this.confirmRegenerate||e.has("confirmRemoveAuthenticator")&&this.confirmRemoveAuthenticator)&&requestAnimationFrame(()=>{this.renderRoot.querySelector(".card-footer [autofocus], .row-actions [autofocus], .inline [autofocus], .card-footer .btn-outline, .row-actions .btn-outline, .inline .btn-outline")?.focus({preventScroll:!0})})}setNotice(e,i){this.notice={tone:e,message:i},this.noticeTimer&&clearTimeout(this.noticeTimer),this.noticeTimer=setTimeout(()=>{this.notice=null,this.noticeTimer=null},8e3)}requireValid(e){const i=e.target;return!(i&&typeof i.reportValidity=="function"&&!i.reportValidity())}async run(e,i,t){if(!this.busy){this.busy=e,this.errors={...this.errors,[e]:""},this.notice=null;try{await i(),t&&this.setNotice("success",t)}catch(o){ht(o,ee.challengeRequired)?this.stepUp={retry:()=>this.run(e,i,t)}:this.errors={...this.errors,[e]:ft(o,this.strings,e.includes("code")?"code":e==="password"?"password":"link")}}finally{this.busy=""}}}async loadSessions(){await this.run("sessions",async()=>{this.sessions=await E.listSessions()})}async loadIdentities(){await this.run("identities",async()=>{this.identities=await E.listIdentities()})}async probeLogsSupport(){if(!this.logsProbeStarted){this.logsProbeStarted=!0;try{this.logs=await E.listLogs(),this.logsSupported=!0}catch{this.logsSupported=!1,this.logs=[],this.active==="activity"&&(this.active="profile")}}}async loadLogs(){if(this.logsSupported===!1){this.active==="activity"&&(this.active="profile");return}this.busy="logs";try{this.logs=await E.listLogs()}catch{this.logsSupported=!1,this.logs=[],this.active==="activity"&&(this.active="profile")}finally{this.busy=""}}async loadFactors(){if(!this.factorsLoading){this.factorsLoading=!0;try{this.factors=await E.listMfaFactors()}catch{this.factors={totp:!1,phone:!1,email:!1,recoveryCode:!1,custom:!1}}finally{this.factorsLoading=!1}}}startVerifyEmailCooldown(){this.verifyEmailCooldownUntil=Date.now()+45e3,this.clearVerifyEmailCooldownTimer(),this.verifyEmailCooldownTimer=setInterval(()=>{this.requestUpdate(),Date.now()>=this.verifyEmailCooldownUntil&&this.clearVerifyEmailCooldownTimer()},1e3)}clearVerifyEmailCooldownTimer(){this.verifyEmailCooldownTimer&&(clearInterval(this.verifyEmailCooldownTimer),this.verifyEmailCooldownTimer=null)}startVerifyPhoneCooldown(){this.verifyPhoneCooldownUntil=Date.now()+45e3,this.clearVerifyPhoneCooldownTimer(),this.verifyPhoneCooldownTimer=setInterval(()=>{this.requestUpdate(),Date.now()>=this.verifyPhoneCooldownUntil&&this.clearVerifyPhoneCooldownTimer()},1e3)}clearVerifyPhoneCooldownTimer(){this.verifyPhoneCooldownTimer&&(clearInterval(this.verifyPhoneCooldownTimer),this.verifyPhoneCooldownTimer=null)}bind(e){return i=>{this[e]=i.target.value}}render(){if(!this.auth.configured)return y`<div class="alert alert-error" role="alert">
|
|
1667
1788
|
${_.alert}
|
|
1668
1789
|
<div class="alert-body">${this.t("errorNotConfigured")}</div>
|
|
1669
|
-
</div>`;if(this.auth.status==="loading")return
|
|
1790
|
+
</div>`;if(this.auth.status==="loading")return y`<div class="panel ${this.embedded?"embedded":""}" part="panel">
|
|
1670
1791
|
<div class="empty"><span class="spinner"></span></div>
|
|
1671
|
-
</div>`;if(!this.user)return
|
|
1792
|
+
</div>`;if(!this.user)return y`<div class="panel ${this.embedded?"embedded":""}">
|
|
1672
1793
|
<authui-sign-in embedded></authui-sign-in>
|
|
1673
|
-
</div>`;const e=[{id:"profile",label:this.t("profile")},{id:"security",label:this.t("security")},{id:"sessions",label:this.t("sessions")},{id:"connections",label:this.t("connections")},...this.logsSupported?[{id:"activity",label:this.t("activity")}]:[]];return
|
|
1794
|
+
</div>`;const e=[{id:"profile",label:this.t("profile")},{id:"security",label:this.t("security")},{id:"sessions",label:this.t("sessions")},{id:"connections",label:this.t("connections")},...this.logsSupported?[{id:"activity",label:this.t("activity")}]:[]];return y`
|
|
1674
1795
|
<div class="panel ${this.embedded?"embedded":""}" part="panel">
|
|
1675
1796
|
${this.renderIdentity()}
|
|
1676
1797
|
<div class="tabs" role="tablist" @keydown=${this.onTabsKeydown}>
|
|
1677
|
-
${e.map(i=>
|
|
1798
|
+
${e.map(i=>y`<button
|
|
1678
1799
|
class="tab"
|
|
1679
1800
|
role="tab"
|
|
1680
1801
|
id=${`authui-tab-${i.id}`}
|
|
@@ -1686,7 +1807,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1686
1807
|
${i.label}
|
|
1687
1808
|
</button>`)}
|
|
1688
1809
|
</div>
|
|
1689
|
-
${this.notice?
|
|
1810
|
+
${this.notice?y`<div class="alert alert-${this.notice.tone}" role="status">
|
|
1690
1811
|
${this.notice.tone==="success"?_.checkCircle:_.info}
|
|
1691
1812
|
<div class="alert-body">${this.notice.message}</div>
|
|
1692
1813
|
<button
|
|
@@ -1696,8 +1817,8 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1696
1817
|
>
|
|
1697
1818
|
${_.x}
|
|
1698
1819
|
</button>
|
|
1699
|
-
</div>`:
|
|
1700
|
-
${this.stepUp?this.renderStepUp():
|
|
1820
|
+
</div>`:C}
|
|
1821
|
+
${this.stepUp?this.renderStepUp():y`<div
|
|
1701
1822
|
class="tabpanel"
|
|
1702
1823
|
role="tabpanel"
|
|
1703
1824
|
id=${`authui-panel-${this.active}`}
|
|
@@ -1706,34 +1827,34 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1706
1827
|
${this.renderTab()}
|
|
1707
1828
|
</div>`}
|
|
1708
1829
|
</div>
|
|
1709
|
-
`}renderIdentity(){const e=this.user,i=e.name||e.email||e.phone||this.t("guestAccount");return
|
|
1830
|
+
`}renderIdentity(){const e=this.user,i=e.name||e.email||e.phone||this.t("guestAccount");return y`
|
|
1710
1831
|
<div class="between">
|
|
1711
1832
|
<div class="identity">
|
|
1712
|
-
<span class="avatar">${
|
|
1833
|
+
<span class="avatar">${mi(i)}</span>
|
|
1713
1834
|
<div class="row-main">
|
|
1714
1835
|
<span class="row-title" title=${i}>
|
|
1715
1836
|
${i}
|
|
1716
|
-
${e.mfa?
|
|
1717
|
-
${E.isPreview?
|
|
1837
|
+
${e.mfa?y`<span class="badge badge-success">${_.shieldCheck} ${this.t("mfaBadge")}</span>`:C}
|
|
1838
|
+
${E.isPreview?y`<span class="badge badge-info">${this.t("preview")}</span>`:C}
|
|
1718
1839
|
</span>
|
|
1719
|
-
${e.email&&e.name?
|
|
1840
|
+
${e.email&&e.name?y`<span class="row-sub" title=${e.email}>${e.email}</span>`:C}
|
|
1720
1841
|
</div>
|
|
1721
1842
|
</div>
|
|
1722
1843
|
<button class="btn btn-outline btn-sm" @click=${()=>E.signOut()}>
|
|
1723
1844
|
${_.logOut} ${this.t("signOut")}
|
|
1724
1845
|
</button>
|
|
1725
1846
|
</div>
|
|
1726
|
-
`}renderTab(){switch(this.active){case"security":return this.renderSecurity();case"sessions":return this.renderSessions();case"connections":return this.renderConnections();case"activity":return this.renderActivity();default:return this.renderProfile()}}error(e){const i=this.errors[e];return i?
|
|
1847
|
+
`}renderTab(){switch(this.active){case"security":return this.renderSecurity();case"sessions":return this.renderSessions();case"connections":return this.renderConnections();case"activity":return this.renderActivity();default:return this.renderProfile()}}error(e){const i=this.errors[e];return i?y`<div class="alert alert-error" role="alert">
|
|
1727
1848
|
${_.alert}
|
|
1728
1849
|
<div class="alert-body">${i}</div>
|
|
1729
|
-
</div>`:
|
|
1850
|
+
</div>`:C}spinner(e){return this.busy===e?y`<span class="spinner" aria-hidden="true"></span>`:C}card(e,i,t,o,a=!1){return y`<section class="card ${a?"card-danger":""}">
|
|
1730
1851
|
<div class="card-header">
|
|
1731
1852
|
<h3 class="card-title">${e}</h3>
|
|
1732
|
-
${i?
|
|
1853
|
+
${i?y`<p class="card-description">${i}</p>`:C}
|
|
1733
1854
|
</div>
|
|
1734
|
-
${t!==
|
|
1735
|
-
${o?
|
|
1736
|
-
</section>`}confirmFooter(e,i,t,o){return
|
|
1855
|
+
${t!==C?y`<div class="card-body">${t}</div>`:C}
|
|
1856
|
+
${o?y`<div class="card-footer">${o}</div>`:C}
|
|
1857
|
+
</section>`}confirmFooter(e,i,t,o){return y`
|
|
1737
1858
|
<button
|
|
1738
1859
|
type="button"
|
|
1739
1860
|
class="btn btn-outline btn-sm"
|
|
@@ -1749,14 +1870,14 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1749
1870
|
?disabled=${!!this.busy}
|
|
1750
1871
|
@click=${i}
|
|
1751
1872
|
>
|
|
1752
|
-
${o?this.spinner(o):
|
|
1873
|
+
${o?this.spinner(o):C} ${t}
|
|
1753
1874
|
</button>
|
|
1754
|
-
`}emptyState(e,i,t){return
|
|
1875
|
+
`}emptyState(e,i,t){return y`<div class="empty empty-well">
|
|
1755
1876
|
<div class="empty-icon" aria-hidden="true">${e}</div>
|
|
1756
1877
|
<p class="empty-title">${i}</p>
|
|
1757
1878
|
<p class="empty-desc">${t}</p>
|
|
1758
|
-
</div>`}verifiedBadge(e){return e?
|
|
1759
|
-
${this.card(this.t("guestAccount"),this.t("guestAccountDescription"),
|
|
1879
|
+
</div>`}verifiedBadge(e){return e?y`<span class="badge badge-success">${_.check} ${this.t("verified")}</span>`:y`<span class="badge badge-warning">${this.t("unverified")}</span>`}renderProfile(){const e=this.user;return this.isGuest?y`<div class="section">
|
|
1880
|
+
${this.card(this.t("guestAccount"),this.t("guestAccountDescription"),y`<form class="form" id="guest-form" @submit=${this.onConvertGuest} novalidate>
|
|
1760
1881
|
<div class="field">
|
|
1761
1882
|
<label class="label" for="guest-name">${this.t("name")}</label>
|
|
1762
1883
|
<input
|
|
@@ -1791,7 +1912,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1791
1912
|
@input=${this.bind("emailPassword")}
|
|
1792
1913
|
autocomplete="new-password"
|
|
1793
1914
|
/>
|
|
1794
|
-
${this.emailPassword?(()=>{const i=
|
|
1915
|
+
${this.emailPassword?(()=>{const i=Mt(this.emailPassword);return y`<div class="strength" aria-live="polite">
|
|
1795
1916
|
<div
|
|
1796
1917
|
class="strength-meter"
|
|
1797
1918
|
data-level=${String(i.level)}
|
|
@@ -1805,10 +1926,10 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1805
1926
|
<span></span><span></span><span></span><span></span>
|
|
1806
1927
|
</div>
|
|
1807
1928
|
<p class="strength-label">${this.t(i.labelKey)}</p>
|
|
1808
|
-
</div>`})():
|
|
1929
|
+
</div>`})():y`<p class="hint">${this.t("passwordHint")}</p>`}
|
|
1809
1930
|
</div>
|
|
1810
1931
|
${this.error("guest")}
|
|
1811
|
-
</form>`,
|
|
1932
|
+
</form>`,y`<button
|
|
1812
1933
|
class="btn btn-primary btn-sm"
|
|
1813
1934
|
type="submit"
|
|
1814
1935
|
form="guest-form"
|
|
@@ -1816,8 +1937,8 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1816
1937
|
>
|
|
1817
1938
|
${this.spinner("guest")} ${this.t("createAccount")}
|
|
1818
1939
|
</button>`)}
|
|
1819
|
-
</div>`:
|
|
1820
|
-
${this.card(this.t("name"),void 0,
|
|
1940
|
+
</div>`:y`<div class="section">
|
|
1941
|
+
${this.card(this.t("name"),void 0,y`<form class="form" id="name-form" @submit=${this.onUpdateName} novalidate>
|
|
1821
1942
|
<div class="field">
|
|
1822
1943
|
<label class="label" for="acc-name">${this.t("name")}</label>
|
|
1823
1944
|
<input
|
|
@@ -1830,7 +1951,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1830
1951
|
/>
|
|
1831
1952
|
</div>
|
|
1832
1953
|
${this.error("name")}
|
|
1833
|
-
</form>`,
|
|
1954
|
+
</form>`,y`<button
|
|
1834
1955
|
class="btn btn-primary btn-sm"
|
|
1835
1956
|
type="submit"
|
|
1836
1957
|
form="name-form"
|
|
@@ -1838,11 +1959,11 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1838
1959
|
>
|
|
1839
1960
|
${this.spinner("name")} ${this.t("update")}
|
|
1840
1961
|
</button>`)}
|
|
1841
|
-
${this.card(this.t("email"),void 0,
|
|
1962
|
+
${this.card(this.t("email"),void 0,y`<form class="form" id="email-form" @submit=${this.onUpdateEmail} novalidate>
|
|
1842
1963
|
<div class="field">
|
|
1843
1964
|
<label class="label" for="acc-email"
|
|
1844
1965
|
>${this.t("email")}
|
|
1845
|
-
${e.email?this.verifiedBadge(e.emailVerification):
|
|
1966
|
+
${e.email?this.verifiedBadge(e.emailVerification):C}</label
|
|
1846
1967
|
>
|
|
1847
1968
|
<input
|
|
1848
1969
|
class="input"
|
|
@@ -1854,7 +1975,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1854
1975
|
required
|
|
1855
1976
|
/>
|
|
1856
1977
|
</div>
|
|
1857
|
-
${this.emailInput!==e.email?
|
|
1978
|
+
${this.emailInput!==e.email?y`<div class="field">
|
|
1858
1979
|
<label class="label" for="acc-email-password"
|
|
1859
1980
|
>${e.passwordUpdate?this.t("currentPassword"):this.t("createPassword")}</label
|
|
1860
1981
|
>
|
|
@@ -1867,11 +1988,11 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1867
1988
|
autocomplete=${e.passwordUpdate?"current-password":"new-password"}
|
|
1868
1989
|
required
|
|
1869
1990
|
/>
|
|
1870
|
-
${e.passwordUpdate?
|
|
1871
|
-
</div>`:
|
|
1991
|
+
${e.passwordUpdate?C:y`<p class="hint">${this.t("createPasswordHint")}</p>`}
|
|
1992
|
+
</div>`:C}
|
|
1872
1993
|
${this.error("email")} ${this.error("verify")}
|
|
1873
|
-
</form>`,
|
|
1874
|
-
${e.email&&!e.emailVerification?
|
|
1994
|
+
</form>`,y`
|
|
1995
|
+
${e.email&&!e.emailVerification?y`<button
|
|
1875
1996
|
class="btn btn-outline btn-sm"
|
|
1876
1997
|
type="button"
|
|
1877
1998
|
@click=${this.onSendVerification}
|
|
@@ -1879,7 +2000,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1879
2000
|
>
|
|
1880
2001
|
${this.spinner("verify")}
|
|
1881
2002
|
${Date.now()<this.verifyEmailCooldownUntil?this.t("verificationResendIn",{seconds:Math.max(1,Math.ceil((this.verifyEmailCooldownUntil-Date.now())/1e3))}):this.t("verifyEmail")}
|
|
1882
|
-
</button>`:
|
|
2003
|
+
</button>`:C}
|
|
1883
2004
|
<button
|
|
1884
2005
|
class="btn btn-primary btn-sm"
|
|
1885
2006
|
type="submit"
|
|
@@ -1889,11 +2010,11 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1889
2010
|
${this.spinner("email")} ${this.t("update")}
|
|
1890
2011
|
</button>
|
|
1891
2012
|
`)}
|
|
1892
|
-
${this.card(this.t("phone"),void 0,
|
|
2013
|
+
${this.card(this.t("phone"),void 0,y`<form class="form" id="phone-form" @submit=${this.onUpdatePhone} novalidate>
|
|
1893
2014
|
<div class="field">
|
|
1894
2015
|
<label class="label" for="acc-phone"
|
|
1895
2016
|
>${this.t("phone")}
|
|
1896
|
-
${e.phone?this.verifiedBadge(e.phoneVerification):
|
|
2017
|
+
${e.phone?this.verifiedBadge(e.phoneVerification):C}</label
|
|
1897
2018
|
>
|
|
1898
2019
|
<input
|
|
1899
2020
|
class="input"
|
|
@@ -1905,7 +2026,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1905
2026
|
autocomplete="tel"
|
|
1906
2027
|
/>
|
|
1907
2028
|
</div>
|
|
1908
|
-
${this.phoneInput!==e.phone?
|
|
2029
|
+
${this.phoneInput!==e.phone?y`<div class="field">
|
|
1909
2030
|
<label class="label" for="acc-phone-password"
|
|
1910
2031
|
>${e.passwordUpdate?this.t("currentPassword"):this.t("createPassword")}</label
|
|
1911
2032
|
>
|
|
@@ -1918,34 +2039,24 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1918
2039
|
autocomplete=${e.passwordUpdate?"current-password":"new-password"}
|
|
1919
2040
|
required
|
|
1920
2041
|
/>
|
|
1921
|
-
${e.passwordUpdate?
|
|
1922
|
-
</div>`:
|
|
1923
|
-
${this.phoneCodeSent?
|
|
2042
|
+
${e.passwordUpdate?C:y`<p class="hint">${this.t("createPasswordHint")}</p>`}
|
|
2043
|
+
</div>`:C}
|
|
2044
|
+
${this.phoneCodeSent?y`<div class="field">
|
|
1924
2045
|
<label class="label" for="acc-phone-code">${this.t("code")}</label>
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
inputmode="numeric"
|
|
1929
|
-
autocomplete="one-time-code"
|
|
1930
|
-
maxlength="6"
|
|
1931
|
-
pattern="[0-9]*"
|
|
1932
|
-
required
|
|
1933
|
-
.value=${this.phoneCode}
|
|
1934
|
-
@input=${this.bind("phoneCode")}
|
|
1935
|
-
@keydown=${i=>{i.key==="Enter"&&(i.preventDefault(),this.onConfirmPhoneVerification(i))}}
|
|
1936
|
-
/>
|
|
1937
|
-
</div>`:U}
|
|
2046
|
+
|
|
2047
|
+
${Rt({id:"acc-phone-code",value:this.phoneCode,disabled:!!this.busy,onChange:i=>{this.phoneCode=i}})}
|
|
2048
|
+
</div>`:C}
|
|
1938
2049
|
${this.error("phone")} ${this.error("verify-phone")} ${this.error("verify-phone-code")}
|
|
1939
|
-
</form>`,
|
|
1940
|
-
${e.phone&&!e.phoneVerification&&!this.phoneCodeSent?
|
|
2050
|
+
</form>`,y`
|
|
2051
|
+
${e.phone&&!e.phoneVerification&&!this.phoneCodeSent?y`<button
|
|
1941
2052
|
class="btn btn-outline btn-sm"
|
|
1942
2053
|
type="button"
|
|
1943
2054
|
@click=${this.onSendPhoneVerification}
|
|
1944
2055
|
?disabled=${!!this.busy}
|
|
1945
2056
|
>
|
|
1946
2057
|
${this.spinner("verify-phone")} ${this.t("sendCode")}
|
|
1947
|
-
</button>`:
|
|
1948
|
-
${this.phoneCodeSent?
|
|
2058
|
+
</button>`:C}
|
|
2059
|
+
${this.phoneCodeSent?y`<button
|
|
1949
2060
|
class="btn btn-outline btn-sm"
|
|
1950
2061
|
type="button"
|
|
1951
2062
|
@click=${this.onSendPhoneVerification}
|
|
@@ -1961,7 +2072,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1961
2072
|
?disabled=${!!this.busy}
|
|
1962
2073
|
>
|
|
1963
2074
|
${this.spinner("verify-phone-code")} ${this.t("verifyCode")}
|
|
1964
|
-
</button>`:
|
|
2075
|
+
</button>`:C}
|
|
1965
2076
|
<button
|
|
1966
2077
|
class="btn btn-primary btn-sm"
|
|
1967
2078
|
type="submit"
|
|
@@ -1972,17 +2083,17 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
1972
2083
|
</button>
|
|
1973
2084
|
`)}
|
|
1974
2085
|
${this.renderDanger()}
|
|
1975
|
-
</div>`}renderDanger(){return this.card(this.t("deleteAccount"),this.t("deleteAccountDescription"),this.confirmDelete?this.error("delete"):
|
|
2086
|
+
</div>`}renderDanger(){return this.card(this.t("deleteAccount"),this.t("deleteAccountDescription"),this.confirmDelete?this.error("delete"):y`${this.error("delete")}
|
|
1976
2087
|
<button class="btn btn-outline btn-sm warn" @click=${()=>this.confirmDelete=!0}>
|
|
1977
2088
|
${_.userX} ${this.t("deleteAccount")}
|
|
1978
|
-
</button>`,this.confirmDelete?this.confirmFooter(()=>{this.confirmDelete=!1},()=>{this.onDeleteAccount()},this.t("deleteAccountConfirm"),"delete"):void 0,!0)}renderSecurity(){const e=this.user,i=this.config?.mfa!==!1;return
|
|
1979
|
-
${this.isGuest?
|
|
2089
|
+
</button>`,this.confirmDelete?this.confirmFooter(()=>{this.confirmDelete=!1},()=>{this.onDeleteAccount()},this.t("deleteAccountConfirm"),"delete"):void 0,!0)}renderSecurity(){const e=this.user,i=this.config?.mfa!==!1;return y`<div class="section">
|
|
2090
|
+
${this.isGuest?C:this.card(this.t("changePassword"),void 0,y`<form
|
|
1980
2091
|
class="form"
|
|
1981
2092
|
id="password-form"
|
|
1982
2093
|
@submit=${this.onChangePassword}
|
|
1983
2094
|
novalidate
|
|
1984
2095
|
>
|
|
1985
|
-
${e.passwordUpdate?
|
|
2096
|
+
${e.passwordUpdate?y`<div class="field">
|
|
1986
2097
|
<label class="label" for="acc-old-password"
|
|
1987
2098
|
>${this.t("currentPassword")}</label
|
|
1988
2099
|
>
|
|
@@ -2005,7 +2116,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2005
2116
|
${this.showOldPassword?_.eyeOff:_.eye}
|
|
2006
2117
|
</button>
|
|
2007
2118
|
</div>
|
|
2008
|
-
</div>`:
|
|
2119
|
+
</div>`:C}
|
|
2009
2120
|
<div class="field">
|
|
2010
2121
|
<label class="label" for="acc-new-password">${this.t("newPassword")}</label>
|
|
2011
2122
|
<div class="input-wrap">
|
|
@@ -2028,7 +2139,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2028
2139
|
${this.showNewPassword?_.eyeOff:_.eye}
|
|
2029
2140
|
</button>
|
|
2030
2141
|
</div>
|
|
2031
|
-
${this.newPassword?(()=>{const t=
|
|
2142
|
+
${this.newPassword?(()=>{const t=Mt(this.newPassword);return y`<div class="strength" aria-live="polite">
|
|
2032
2143
|
<div
|
|
2033
2144
|
class="strength-meter"
|
|
2034
2145
|
data-level=${String(t.level)}
|
|
@@ -2042,7 +2153,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2042
2153
|
<span></span><span></span><span></span><span></span>
|
|
2043
2154
|
</div>
|
|
2044
2155
|
<p class="strength-label">${this.t(t.labelKey)}</p>
|
|
2045
|
-
</div>`})():
|
|
2156
|
+
</div>`})():y`<p class="hint">${this.t("passwordHint")}</p>`}
|
|
2046
2157
|
</div>
|
|
2047
2158
|
<div class="field">
|
|
2048
2159
|
<label class="label" for="acc-new-password-confirm"
|
|
@@ -2070,7 +2181,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2070
2181
|
</div>
|
|
2071
2182
|
</div>
|
|
2072
2183
|
${this.error("password")}
|
|
2073
|
-
</form>`,
|
|
2184
|
+
</form>`,y`<button
|
|
2074
2185
|
class="btn btn-primary btn-sm"
|
|
2075
2186
|
type="submit"
|
|
2076
2187
|
form="password-form"
|
|
@@ -2078,9 +2189,9 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2078
2189
|
>
|
|
2079
2190
|
${this.spinner("password")} ${this.t("update")}
|
|
2080
2191
|
</button>`)}
|
|
2081
|
-
${i?this.renderMfaCard():
|
|
2082
|
-
${i?this.renderRecoveryCard():
|
|
2083
|
-
</div>`}renderMfaCard(){const e=this.user,i=this.factors?.totp??!1,t=this.authenticator?E.isPreview?
|
|
2192
|
+
${i?this.renderMfaCard():C}
|
|
2193
|
+
${i?this.renderRecoveryCard():C}
|
|
2194
|
+
</div>`}renderMfaCard(){const e=this.user,i=this.factors?.totp??!1,t=this.authenticator?E.isPreview?Po(this.authenticator.uri):new $t(E.getClient()).getQR(this.authenticator.uri,400,1).toString():"";return this.card(this.t("twoFactor"),this.t("twoFactorDescription"),y`<div class="kv">
|
|
2084
2195
|
<div class="toggle-row">
|
|
2085
2196
|
<div class="row-main">
|
|
2086
2197
|
<span class="row-title">${this.t("twoFactor")}</span>
|
|
@@ -2095,11 +2206,11 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2095
2206
|
aria-label=${this.t("twoFactor")}
|
|
2096
2207
|
></button>
|
|
2097
2208
|
</div>
|
|
2098
|
-
${e.mfa&&!(this.factors?.totp||e.emailVerification||e.phoneVerification)?
|
|
2209
|
+
${e.mfa&&!(this.factors?.totp||e.emailVerification||e.phoneVerification)?y`<div class="alert alert-warning" role="status">
|
|
2099
2210
|
${_.alert}
|
|
2100
2211
|
<div class="alert-body">
|
|
2101
2212
|
${this.t("mfaNoFactorWarning")}
|
|
2102
|
-
${this.factors?.totp?
|
|
2213
|
+
${this.factors?.totp?C:y`<div class="links">
|
|
2103
2214
|
<button
|
|
2104
2215
|
type="button"
|
|
2105
2216
|
class="btn btn-link"
|
|
@@ -2110,17 +2221,17 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2110
2221
|
</button>
|
|
2111
2222
|
</div>`}
|
|
2112
2223
|
</div>
|
|
2113
|
-
</div>`:
|
|
2224
|
+
</div>`:C}
|
|
2114
2225
|
${this.error("mfa")}
|
|
2115
2226
|
<div class="separator"></div>
|
|
2116
2227
|
<div class="toggle-row">
|
|
2117
2228
|
<div class="row-main">
|
|
2118
2229
|
<span class="row-title"
|
|
2119
2230
|
>${_.smartphone} ${this.t("authenticatorApp")}
|
|
2120
|
-
${i?this.verifiedBadge(!0):
|
|
2231
|
+
${i?this.verifiedBadge(!0):C}</span
|
|
2121
2232
|
>
|
|
2122
2233
|
</div>
|
|
2123
|
-
${i?this.confirmRemoveAuthenticator?
|
|
2234
|
+
${i?this.confirmRemoveAuthenticator?y`<div class="inline">
|
|
2124
2235
|
<button
|
|
2125
2236
|
type="button"
|
|
2126
2237
|
class="btn btn-outline btn-sm"
|
|
@@ -2138,13 +2249,13 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2138
2249
|
>
|
|
2139
2250
|
${this.spinner("remove-authenticator")} ${this.t("remove")}
|
|
2140
2251
|
</button>
|
|
2141
|
-
</div>`:
|
|
2252
|
+
</div>`:y`<button
|
|
2142
2253
|
class="btn btn-outline btn-sm"
|
|
2143
2254
|
@click=${this.onRemoveAuthenticator}
|
|
2144
2255
|
?disabled=${!!this.busy}
|
|
2145
2256
|
>
|
|
2146
2257
|
${this.spinner("remove-authenticator")} ${this.t("remove")}
|
|
2147
|
-
</button>`:this.authenticator?
|
|
2258
|
+
</button>`:this.authenticator?C:y`<button
|
|
2148
2259
|
class="btn btn-outline btn-sm"
|
|
2149
2260
|
@click=${this.onAddAuthenticator}
|
|
2150
2261
|
?disabled=${!!this.busy}
|
|
@@ -2153,7 +2264,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2153
2264
|
</button>`}
|
|
2154
2265
|
</div>
|
|
2155
2266
|
${this.error("authenticator")} ${this.error("remove-authenticator")}
|
|
2156
|
-
${this.authenticator?
|
|
2267
|
+
${this.authenticator?y`<form class="form" @submit=${this.onVerifyAuthenticator} novalidate>
|
|
2157
2268
|
<p class="hint">${this.t("authenticatorScan")}</p>
|
|
2158
2269
|
<img class="qr" src=${t} alt=${this.t("qrCodeAlt")} />
|
|
2159
2270
|
<p class="hint center">${this.t("authenticatorManual")}</p>
|
|
@@ -2172,17 +2283,8 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2172
2283
|
</div>
|
|
2173
2284
|
<div class="field">
|
|
2174
2285
|
<label class="label" for="acc-totp">${this.t("code")}</label>
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
id="acc-totp"
|
|
2178
|
-
inputmode="numeric"
|
|
2179
|
-
autocomplete="one-time-code"
|
|
2180
|
-
maxlength="6"
|
|
2181
|
-
pattern="[0-9]*"
|
|
2182
|
-
required
|
|
2183
|
-
.value=${this.authenticatorCode}
|
|
2184
|
-
@input=${this.bind("authenticatorCode")}
|
|
2185
|
-
/>
|
|
2286
|
+
|
|
2287
|
+
${Rt({id:"acc-totp",value:this.authenticatorCode,disabled:!!this.busy,onChange:o=>{this.authenticatorCode=o}})}
|
|
2186
2288
|
</div>
|
|
2187
2289
|
${this.error("authenticator-code")}
|
|
2188
2290
|
<div class="inline">
|
|
@@ -2197,14 +2299,14 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2197
2299
|
${this.t("cancel")}
|
|
2198
2300
|
</button>
|
|
2199
2301
|
</div>
|
|
2200
|
-
</form>`:
|
|
2201
|
-
</div>`)}renderRecoveryCard(){const e=this.factors?.recoveryCode??!1;return this.card(this.t("recoveryCodes"),this.t("recoveryCodesDescription")+" "+this.t("recoveryCodesOnceHint"),
|
|
2202
|
-
${this.recoveryCodes?
|
|
2302
|
+
</form>`:C}
|
|
2303
|
+
</div>`)}renderRecoveryCard(){const e=this.factors?.recoveryCode??!1;return this.card(this.t("recoveryCodes"),this.t("recoveryCodesDescription")+" "+this.t("recoveryCodesOnceHint"),y`<div class="kv">
|
|
2304
|
+
${this.recoveryCodes?y`<div class="alert alert-warning">
|
|
2203
2305
|
${_.alert}
|
|
2204
2306
|
<div class="alert-body">${this.t("recoveryCodesWarning")}</div>
|
|
2205
2307
|
</div>
|
|
2206
2308
|
<div class="codes">
|
|
2207
|
-
${this.recoveryCodes.map(i=>
|
|
2309
|
+
${this.recoveryCodes.map(i=>y`<span class="code">${i}</span>`)}
|
|
2208
2310
|
</div>
|
|
2209
2311
|
<div class="inline">
|
|
2210
2312
|
<button class="btn btn-outline btn-sm" @click=${this.onCopyCodes}>
|
|
@@ -2214,7 +2316,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2214
2316
|
<button class="btn btn-ghost btn-sm" @click=${()=>this.recoveryCodes=null}>
|
|
2215
2317
|
${this.t("done")}
|
|
2216
2318
|
</button>
|
|
2217
|
-
</div>`:
|
|
2319
|
+
</div>`:y`<div class="inline">
|
|
2218
2320
|
<button
|
|
2219
2321
|
class="btn btn-outline btn-sm"
|
|
2220
2322
|
@click=${this.onRecoveryCodes}
|
|
@@ -2223,7 +2325,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2223
2325
|
${this.spinner("recovery")} ${_.key}
|
|
2224
2326
|
${e?this.t("viewRecoveryCodes"):this.t("generateRecoveryCodes")}
|
|
2225
2327
|
</button>
|
|
2226
|
-
${e?this.confirmRegenerate?
|
|
2328
|
+
${e?this.confirmRegenerate?y`<div class="inline">
|
|
2227
2329
|
<button
|
|
2228
2330
|
type="button"
|
|
2229
2331
|
class="btn btn-outline btn-sm"
|
|
@@ -2242,38 +2344,37 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2242
2344
|
${this.spinner("recovery")} ${_.refresh}
|
|
2243
2345
|
${this.t("regenerateRecoveryCodes")}
|
|
2244
2346
|
</button>
|
|
2245
|
-
</div>`:
|
|
2347
|
+
</div>`:y`<button
|
|
2246
2348
|
class="btn btn-ghost btn-sm"
|
|
2247
2349
|
@click=${this.onRegenerateRecoveryCodes}
|
|
2248
2350
|
?disabled=${!!this.busy}
|
|
2249
2351
|
>
|
|
2250
2352
|
${_.refresh} ${this.t("regenerateRecoveryCodes")}
|
|
2251
|
-
</button>`:
|
|
2353
|
+
</button>`:C}
|
|
2252
2354
|
</div>`}
|
|
2253
2355
|
${this.error("recovery")}
|
|
2254
|
-
</div>`)}renderStepUp(){const e=this.stepUp,i=this.factors,t=[{factor:"totp",icon:_.smartphone,label:this.t("mfaUseAuthenticator"),available:i?.totp??!0},{factor:"email",icon:_.mail,label:this.t("mfaUseEmail"),available:i?.email??!0},{factor:"phone",icon:_.phone,label:this.t("mfaUsePhone"),available:i?.phone??!0},{factor:"recoverycode",icon:_.key,label:this.t("mfaUseRecoveryCode"),available:i?.recoveryCode??!0}];return this.card(this.t("mfaTitle"),this.t("errorChallengeRequired"),
|
|
2255
|
-
${e.challenge?
|
|
2356
|
+
</div>`)}renderStepUp(){const e=this.stepUp,i=this.factors,t=[{factor:"totp",icon:_.smartphone,label:this.t("mfaUseAuthenticator"),available:i?.totp??!0},{factor:"email",icon:_.mail,label:this.t("mfaUseEmail"),available:i?.email??!0},{factor:"phone",icon:_.phone,label:this.t("mfaUsePhone"),available:i?.phone??!0},{factor:"recoverycode",icon:_.key,label:this.t("mfaUseRecoveryCode"),available:i?.recoveryCode??!0}];return this.card(this.t("mfaTitle"),this.t("errorChallengeRequired"),y`<div class="kv">
|
|
2357
|
+
${e.challenge?y`<form class="form" @submit=${this.onStepUpVerify} novalidate>
|
|
2256
2358
|
<div class="field">
|
|
2257
2359
|
<label class="label" for="acc-stepup"
|
|
2258
2360
|
>${e.challenge.factor==="recoverycode"?this.t("recoveryCode"):this.t("code")}</label
|
|
2259
2361
|
>
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
/>
|
|
2362
|
+
${e.challenge.factor==="recoverycode"?y`<input
|
|
2363
|
+
class="input mono"
|
|
2364
|
+
id="acc-stepup"
|
|
2365
|
+
inputmode="text"
|
|
2366
|
+
maxlength="64"
|
|
2367
|
+
autocomplete="one-time-code"
|
|
2368
|
+
required
|
|
2369
|
+
.value=${this.stepUpCode}
|
|
2370
|
+
@input=${this.bind("stepUpCode")}
|
|
2371
|
+
/>`:Rt({id:"acc-stepup",value:this.stepUpCode,disabled:!!this.busy,onChange:o=>{this.stepUpCode=o}})}
|
|
2271
2372
|
</div>
|
|
2272
2373
|
<button class="btn btn-primary btn-sm" type="submit" ?disabled=${!!this.busy}>
|
|
2273
2374
|
${this.spinner("stepup-code")} ${this.t("verifyCode")}
|
|
2274
2375
|
</button>
|
|
2275
|
-
</form>`:
|
|
2276
|
-
${t.filter(o=>o.available).map(o=>
|
|
2376
|
+
</form>`:y`<div class="stack-sm">
|
|
2377
|
+
${t.filter(o=>o.available).map(o=>y`<button
|
|
2277
2378
|
type="button"
|
|
2278
2379
|
class="choice"
|
|
2279
2380
|
@click=${()=>this.onStepUpFactor(o.factor)}
|
|
@@ -2283,37 +2384,62 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2283
2384
|
</button>`)}
|
|
2284
2385
|
</div>`}
|
|
2285
2386
|
${this.error("stepup")} ${this.error("stepup-code")}
|
|
2286
|
-
</div>`,
|
|
2387
|
+
</div>`,y`<button class="btn btn-ghost btn-sm" @click=${()=>this.stepUp=null}>
|
|
2287
2388
|
${this.t("cancel")}
|
|
2288
|
-
</button>`)}
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2389
|
+
</button>`)}formatSessionDate(e){if(!e)return"";const i=new Date(e);return Number.isNaN(i.getTime())?e:i.toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"})}browserIconUrl(e){const i=(e.clientCode||"").trim();if(!i||i==="-")return null;const t=E.getClient();if(!t)return null;try{const o=new $t(t).getBrowser(i,64,64);return typeof o=="string"?o:String(o)}catch{return null}}flagUrl(e){const i=(e.countryCode||"").trim().toLowerCase();if(!i||i==="--")return null;const t=E.getClient();if(!t)return null;try{const o=new $t(t).getFlag(i,32,32);return typeof o=="string"?o:String(o)}catch{return null}}deviceKindIcon(e){const i=(e.deviceName||"").toLowerCase(),t=(e.osName||e.osCode||"").toLowerCase();return/phone|tablet|mobile/.test(i)||/ios|android|ipados/.test(t)?_.smartphone:/desktop|browser/.test(i)||/mac|windows|linux|chrome os/.test(t)?_.monitor:_.globe}deviceIcon(e){const i=this.browserIconUrl(e),t=!!this.browserIconFailed[e.$id],o=this.deviceKindIcon(e);return!i||t?y`<span class="device">${o}</span>`:y`<span class="device">
|
|
2390
|
+
<img
|
|
2391
|
+
class="device-img"
|
|
2392
|
+
src=${i}
|
|
2393
|
+
alt=""
|
|
2394
|
+
@error=${()=>{this.browserIconFailed={...this.browserIconFailed,[e.$id]:!0}}}
|
|
2395
|
+
/>
|
|
2396
|
+
<span class="device-badge" aria-hidden="true">${o}</span>
|
|
2397
|
+
</span>`}renderSessions(){const e=this.sessions;return y`<div class="section">
|
|
2398
|
+
${this.card(this.t("sessions"),void 0,y`${this.error("sessions")}
|
|
2399
|
+
${e===null?y`<div class="empty"><span class="spinner"></span></div>`:e.length===0?this.emptyState(_.monitor,this.t("noSessions"),this.t("noSessionsDescription")):e.map(i=>{const t=this.flagUrl(i),o=Array.isArray(i.factors)&&i.factors.length>0,a=(i.provider||"").trim(),s=!!a&&a!=="email"&&a!=="anonymous",r=this.formatSessionDate(i.$createdAt),d=this.formatSessionDate(i.expire),c=i.countryName||i.countryCode||"";return y`<div class="row">
|
|
2400
|
+
<div class="inline">
|
|
2401
|
+
${this.deviceIcon(i)}
|
|
2402
|
+
<div class="row-main">
|
|
2403
|
+
<span class="row-title">
|
|
2404
|
+
${i.clientName||a||this.t("sessions")}
|
|
2405
|
+
${i.clientVersion?y`<span class="muted small">${i.clientVersion}</span>`:C}
|
|
2406
|
+
<span class="session-badges">
|
|
2407
|
+
${i.current?y`<span class="badge badge-info">${this.t("currentSession")}</span>`:C}
|
|
2408
|
+
${o?y`<span
|
|
2409
|
+
class="badge badge-info"
|
|
2410
|
+
title=${this.t("sessionMfaFactors",{factors:i.factors.join(", ")})}
|
|
2411
|
+
>${_.shield} ${this.t("mfaBadge")}</span
|
|
2412
|
+
>`:C}
|
|
2413
|
+
${s?y`<span class="badge badge-outline"
|
|
2414
|
+
>${ot(a)} ${Ze(a)}</span
|
|
2415
|
+
>`:C}
|
|
2298
2416
|
</span>
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2417
|
+
</span>
|
|
2418
|
+
<span class="row-sub row-sub-meta">
|
|
2419
|
+
${i.osName?y`<span>${i.osName}</span>`:C}
|
|
2420
|
+
${c?y`<span
|
|
2421
|
+
>${t?y`<img class="flag" src=${t} alt="" />`:C}${c}</span
|
|
2422
|
+
>`:C}
|
|
2423
|
+
${i.ip?y`<span>${i.ip}</span>`:C}
|
|
2424
|
+
</span>
|
|
2425
|
+
${r||d?y`<span class="session-dates"
|
|
2426
|
+
>${r?this.t("sessionCreated",{date:r}):C}${r&&d?" · ":""}${d?this.t("sessionExpires",{date:d}):C}</span
|
|
2427
|
+
>`:C}
|
|
2303
2428
|
</div>
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
</
|
|
2315
|
-
</div
|
|
2316
|
-
|
|
2429
|
+
</div>
|
|
2430
|
+
<div class="row-actions">
|
|
2431
|
+
${this.busy===`session-${i.$id}`?y`<span class="spinner"></span>`:C}
|
|
2432
|
+
<button
|
|
2433
|
+
class="btn btn-ghost btn-sm"
|
|
2434
|
+
@click=${()=>this.onDeleteSession(i.$id)}
|
|
2435
|
+
?disabled=${!!this.busy}
|
|
2436
|
+
aria-label=${this.t("signOutSession")}
|
|
2437
|
+
>
|
|
2438
|
+
${_.logOut}
|
|
2439
|
+
</button>
|
|
2440
|
+
</div>
|
|
2441
|
+
</div>`})}`)}
|
|
2442
|
+
${this.card(this.t("signOutAllSessions"),this.t("signOutAllSessionsDescription"),this.confirmSignOutAll?this.error("sessions-all"):y`${this.error("sessions-all")}
|
|
2317
2443
|
<button
|
|
2318
2444
|
class="btn btn-outline btn-sm warn"
|
|
2319
2445
|
@click=${this.onSignOutAll}
|
|
@@ -2321,18 +2447,18 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2321
2447
|
>
|
|
2322
2448
|
${this.spinner("sessions-all")} ${_.logOut} ${this.t("signOutAllSessions")}
|
|
2323
2449
|
</button>`,this.confirmSignOutAll?this.confirmFooter(()=>{this.confirmSignOutAll=!1},()=>{this.onSignOutAll()},this.t("signOutAllSessions"),"sessions-all"):void 0,!0)}
|
|
2324
|
-
</div>`}renderConnections(){const e=this.identities,i=this.config?.methods?.oauth??[];return
|
|
2325
|
-
${this.card(this.t("connections"),void 0,
|
|
2326
|
-
${e===null?
|
|
2450
|
+
</div>`}renderConnections(){const e=this.identities,i=this.config?.methods?.oauth??[];return y`<div class="section">
|
|
2451
|
+
${this.card(this.t("connections"),void 0,y`${this.error("identities")}
|
|
2452
|
+
${e===null?y`<div class="empty"><span class="spinner"></span></div>`:e.length===0?this.emptyState(_.link,this.t("noConnections"),this.t("noConnectionsDescription")):e.map(t=>y`<div class="row">
|
|
2327
2453
|
<div class="inline">
|
|
2328
|
-
<span class="device">${
|
|
2454
|
+
<span class="device">${ot(t.provider)}</span>
|
|
2329
2455
|
<div class="row-main">
|
|
2330
|
-
<span class="row-title">${
|
|
2456
|
+
<span class="row-title">${Ze(t.provider)}</span>
|
|
2331
2457
|
<span class="row-sub">${t.providerEmail||t.providerUid}</span>
|
|
2332
2458
|
</div>
|
|
2333
2459
|
</div>
|
|
2334
2460
|
<div class="row-actions">
|
|
2335
|
-
${this.confirmDisconnectId===t.$id?
|
|
2461
|
+
${this.confirmDisconnectId===t.$id?y`<div class="inline">
|
|
2336
2462
|
<button
|
|
2337
2463
|
type="button"
|
|
2338
2464
|
class="btn btn-outline btn-sm"
|
|
@@ -2348,28 +2474,28 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2348
2474
|
@click=${()=>this.onDeleteIdentity(t.$id)}
|
|
2349
2475
|
?disabled=${!!this.busy}
|
|
2350
2476
|
>
|
|
2351
|
-
${this.busy===`identity-${t.$id}`?
|
|
2477
|
+
${this.busy===`identity-${t.$id}`?y`<span class="spinner"></span>`:C}
|
|
2352
2478
|
${this.t("disconnect")}
|
|
2353
2479
|
</button>
|
|
2354
|
-
</div>`:
|
|
2480
|
+
</div>`:y`<button
|
|
2355
2481
|
class="btn btn-ghost btn-sm"
|
|
2356
2482
|
@click=${()=>this.onDeleteIdentity(t.$id)}
|
|
2357
2483
|
?disabled=${!!this.busy}
|
|
2358
2484
|
>
|
|
2359
|
-
${this.busy===`identity-${t.$id}`?
|
|
2485
|
+
${this.busy===`identity-${t.$id}`?y`<span class="spinner"></span>`:C}
|
|
2360
2486
|
${this.t("disconnect")}
|
|
2361
2487
|
</button>`}
|
|
2362
2488
|
</div>
|
|
2363
|
-
</div>`)}`,i.length>0?
|
|
2489
|
+
</div>`)}`,i.length>0?y`${i.filter(t=>!(e??[]).some(o=>o.provider===t)).map(t=>y`<button
|
|
2364
2490
|
class="btn btn-outline btn-sm"
|
|
2365
2491
|
@click=${()=>{this.run(`connect-${t}`,()=>E.signInWithOAuth(t))}}
|
|
2366
2492
|
?disabled=${!!this.busy}
|
|
2367
2493
|
>
|
|
2368
|
-
${this.spinner(`connect-${t}`)} ${
|
|
2369
|
-
${this.t("connectProvider",{provider:
|
|
2494
|
+
${this.spinner(`connect-${t}`)} ${ot(t)}
|
|
2495
|
+
${this.t("connectProvider",{provider:Ze(t)})}
|
|
2370
2496
|
</button>`)}`:void 0)}
|
|
2371
|
-
</div>`}renderActivity(){const e=this.logs;return
|
|
2372
|
-
${this.card(this.t("activity"),void 0,
|
|
2497
|
+
</div>`}renderActivity(){const e=this.logs;return y`<div class="section">
|
|
2498
|
+
${this.card(this.t("activity"),void 0,y`${e===null?y`<div class="empty"><span class="spinner"></span></div>`:e.length===0?this.emptyState(_.activity,this.t("noActivity"),this.t("noActivityDescription")):e.map(i=>y`<div class="row">
|
|
2373
2499
|
<div class="row-main">
|
|
2374
2500
|
<span class="row-title">${i.event}</span>
|
|
2375
2501
|
<span class="row-sub"
|
|
@@ -2450,6 +2576,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2450
2576
|
gap: 16px;
|
|
2451
2577
|
}
|
|
2452
2578
|
.device {
|
|
2579
|
+
position: relative;
|
|
2453
2580
|
width: 36px;
|
|
2454
2581
|
height: 36px;
|
|
2455
2582
|
border-radius: var(--authui-radius-md);
|
|
@@ -2459,11 +2586,79 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2459
2586
|
align-items: center;
|
|
2460
2587
|
justify-content: center;
|
|
2461
2588
|
flex-shrink: 0;
|
|
2589
|
+
overflow: visible;
|
|
2590
|
+
box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--authui-border) 70%, transparent);
|
|
2462
2591
|
}
|
|
2463
2592
|
.device svg {
|
|
2464
2593
|
width: 18px;
|
|
2465
2594
|
height: 18px;
|
|
2466
2595
|
}
|
|
2596
|
+
.device-img {
|
|
2597
|
+
width: 36px;
|
|
2598
|
+
height: 36px;
|
|
2599
|
+
object-fit: contain;
|
|
2600
|
+
padding: 4px;
|
|
2601
|
+
border-radius: var(--authui-radius-md);
|
|
2602
|
+
display: block;
|
|
2603
|
+
}
|
|
2604
|
+
.device-badge {
|
|
2605
|
+
position: absolute;
|
|
2606
|
+
inset-inline-end: -3px;
|
|
2607
|
+
bottom: -3px;
|
|
2608
|
+
width: 16px;
|
|
2609
|
+
height: 16px;
|
|
2610
|
+
border-radius: 999px;
|
|
2611
|
+
background: var(--authui-card);
|
|
2612
|
+
color: var(--authui-muted-foreground);
|
|
2613
|
+
box-shadow: 0 0 0 2px var(--authui-card);
|
|
2614
|
+
display: inline-flex;
|
|
2615
|
+
align-items: center;
|
|
2616
|
+
justify-content: center;
|
|
2617
|
+
}
|
|
2618
|
+
.device-badge svg {
|
|
2619
|
+
width: 10px;
|
|
2620
|
+
height: 10px;
|
|
2621
|
+
}
|
|
2622
|
+
.flag {
|
|
2623
|
+
width: 14px;
|
|
2624
|
+
height: 14px;
|
|
2625
|
+
border-radius: 2px;
|
|
2626
|
+
object-fit: cover;
|
|
2627
|
+
box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--authui-border) 50%, transparent);
|
|
2628
|
+
flex-shrink: 0;
|
|
2629
|
+
vertical-align: middle;
|
|
2630
|
+
}
|
|
2631
|
+
.row-sub-meta {
|
|
2632
|
+
display: flex;
|
|
2633
|
+
flex-wrap: wrap;
|
|
2634
|
+
align-items: center;
|
|
2635
|
+
gap: 6px;
|
|
2636
|
+
}
|
|
2637
|
+
.row-sub-meta .flag {
|
|
2638
|
+
margin-inline-end: 2px;
|
|
2639
|
+
}
|
|
2640
|
+
.session-badges {
|
|
2641
|
+
display: inline-flex;
|
|
2642
|
+
flex-wrap: wrap;
|
|
2643
|
+
gap: 4px;
|
|
2644
|
+
align-items: center;
|
|
2645
|
+
}
|
|
2646
|
+
.session-badges .badge {
|
|
2647
|
+
font-size: 10px;
|
|
2648
|
+
padding: 0 6px;
|
|
2649
|
+
height: 18px;
|
|
2650
|
+
gap: 3px;
|
|
2651
|
+
}
|
|
2652
|
+
.session-badges .badge svg {
|
|
2653
|
+
width: 10px;
|
|
2654
|
+
height: 10px;
|
|
2655
|
+
}
|
|
2656
|
+
.session-dates {
|
|
2657
|
+
display: block;
|
|
2658
|
+
font-size: 11px;
|
|
2659
|
+
color: var(--authui-muted-foreground);
|
|
2660
|
+
margin-top: 2px;
|
|
2661
|
+
}
|
|
2467
2662
|
.log-time {
|
|
2468
2663
|
font-size: 12px;
|
|
2469
2664
|
color: var(--authui-muted-foreground);
|
|
@@ -2472,7 +2667,7 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2472
2667
|
.warn {
|
|
2473
2668
|
color: var(--authui-destructive-foreground);
|
|
2474
2669
|
}
|
|
2475
|
-
`],O([F({type:Boolean})],I.AuthUIAccount.prototype,"embedded",2),O([F({type:String})],I.AuthUIAccount.prototype,"tab",2),O([N()],I.AuthUIAccount.prototype,"active",2),O([N()],I.AuthUIAccount.prototype,"busy",2),O([N()],I.AuthUIAccount.prototype,"notice",2),O([N()],I.AuthUIAccount.prototype,"errors",2),O([N()],I.AuthUIAccount.prototype,"nameInput",2),O([N()],I.AuthUIAccount.prototype,"emailInput",2),O([N()],I.AuthUIAccount.prototype,"emailPassword",2),O([N()],I.AuthUIAccount.prototype,"phoneInput",2),O([N()],I.AuthUIAccount.prototype,"phonePassword",2),O([N()],I.AuthUIAccount.prototype,"phoneCode",2),O([N()],I.AuthUIAccount.prototype,"phoneCodeSent",2),O([N()],I.AuthUIAccount.prototype,"guestName",2),O([N()],I.AuthUIAccount.prototype,"oldPassword",2),O([N()],I.AuthUIAccount.prototype,"newPassword",2),O([N()],I.AuthUIAccount.prototype,"newPasswordConfirm",2),O([N()],I.AuthUIAccount.prototype,"showOldPassword",2),O([N()],I.AuthUIAccount.prototype,"showNewPassword",2),O([N()],I.AuthUIAccount.prototype,"showNewPasswordConfirm",2),O([N()],I.AuthUIAccount.prototype,"authenticator",2),O([N()],I.AuthUIAccount.prototype,"authenticatorCode",2),O([N()],I.AuthUIAccount.prototype,"factors",2),O([N()],I.AuthUIAccount.prototype,"recoveryCodes",2),O([N()],I.AuthUIAccount.prototype,"stepUp",2),O([N()],I.AuthUIAccount.prototype,"stepUpCode",2),O([N()],I.AuthUIAccount.prototype,"copied",2),O([N()],I.AuthUIAccount.prototype,"sessions",2),O([N()],I.AuthUIAccount.prototype,"identities",2),O([N()],I.AuthUIAccount.prototype,"logs",2),O([N()],I.AuthUIAccount.prototype,"logsSupported",2),O([N()],I.AuthUIAccount.prototype,"confirmDelete",2),O([N()],I.AuthUIAccount.prototype,"confirmRegenerate",2),O([N()],I.AuthUIAccount.prototype,"confirmRemoveAuthenticator",2),O([N()],I.AuthUIAccount.prototype,"confirmSignOutAll",2),O([N()],I.AuthUIAccount.prototype,"confirmDisconnectId",2),O([N()],I.AuthUIAccount.prototype,"verifyEmailCooldownUntil",2),O([N()],I.AuthUIAccount.prototype,"verifyPhoneCooldownUntil",2),I.AuthUIAccount=O([Je("authui-account")],I.AuthUIAccount);var
|
|
2670
|
+
`],O([F({type:Boolean})],I.AuthUIAccount.prototype,"embedded",2),O([F({type:String})],I.AuthUIAccount.prototype,"tab",2),O([N()],I.AuthUIAccount.prototype,"active",2),O([N()],I.AuthUIAccount.prototype,"busy",2),O([N()],I.AuthUIAccount.prototype,"notice",2),O([N()],I.AuthUIAccount.prototype,"errors",2),O([N()],I.AuthUIAccount.prototype,"nameInput",2),O([N()],I.AuthUIAccount.prototype,"emailInput",2),O([N()],I.AuthUIAccount.prototype,"emailPassword",2),O([N()],I.AuthUIAccount.prototype,"phoneInput",2),O([N()],I.AuthUIAccount.prototype,"phonePassword",2),O([N()],I.AuthUIAccount.prototype,"phoneCode",2),O([N()],I.AuthUIAccount.prototype,"phoneCodeSent",2),O([N()],I.AuthUIAccount.prototype,"guestName",2),O([N()],I.AuthUIAccount.prototype,"oldPassword",2),O([N()],I.AuthUIAccount.prototype,"newPassword",2),O([N()],I.AuthUIAccount.prototype,"newPasswordConfirm",2),O([N()],I.AuthUIAccount.prototype,"showOldPassword",2),O([N()],I.AuthUIAccount.prototype,"showNewPassword",2),O([N()],I.AuthUIAccount.prototype,"showNewPasswordConfirm",2),O([N()],I.AuthUIAccount.prototype,"authenticator",2),O([N()],I.AuthUIAccount.prototype,"authenticatorCode",2),O([N()],I.AuthUIAccount.prototype,"factors",2),O([N()],I.AuthUIAccount.prototype,"recoveryCodes",2),O([N()],I.AuthUIAccount.prototype,"stepUp",2),O([N()],I.AuthUIAccount.prototype,"stepUpCode",2),O([N()],I.AuthUIAccount.prototype,"copied",2),O([N()],I.AuthUIAccount.prototype,"sessions",2),O([N()],I.AuthUIAccount.prototype,"browserIconFailed",2),O([N()],I.AuthUIAccount.prototype,"identities",2),O([N()],I.AuthUIAccount.prototype,"logs",2),O([N()],I.AuthUIAccount.prototype,"logsSupported",2),O([N()],I.AuthUIAccount.prototype,"confirmDelete",2),O([N()],I.AuthUIAccount.prototype,"confirmRegenerate",2),O([N()],I.AuthUIAccount.prototype,"confirmRemoveAuthenticator",2),O([N()],I.AuthUIAccount.prototype,"confirmSignOutAll",2),O([N()],I.AuthUIAccount.prototype,"confirmDisconnectId",2),O([N()],I.AuthUIAccount.prototype,"verifyEmailCooldownUntil",2),O([N()],I.AuthUIAccount.prototype,"verifyPhoneCooldownUntil",2),I.AuthUIAccount=O([Je("authui-account")],I.AuthUIAccount);var To=Object.defineProperty,zo=Object.getOwnPropertyDescriptor,Xe=(n,e,i,t)=>{for(var o=t>1?void 0:t?zo(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&To(e,i,o),o};I.AuthUIModal=class extends Ce{constructor(){super(...arguments),this.open=!1,this.view="sign-in",this.closeOnSuccess=!0,this.handledPending=null,this.scrollCue=!1,this.bodyResizeObserver=null,this.onOpenEvent=e=>{const i=e.detail??{};this.show(i.view)},this.onCloseEvent=()=>this.hide(),this.syncScrollCue=()=>{const e=this.bodyEl;if(!e){this.scrollCue=!1;return}const i=e.scrollHeight>e.clientHeight+1,t=e.scrollTop+e.clientHeight>=e.scrollHeight-4,o=i&&!t;o!==this.scrollCue&&(this.scrollCue=o)},this.onSuccess=()=>{this.fire("authui-signed-in",this.auth.user),this.closeOnSuccess&&!this.config?.successUrl&&this.hide()},this.onInnerOpen=e=>{const i=e.detail?.view;i&&(this.view=i)},this.onBackdrop=e=>{e.target===this.dialog&&this.hide()}}connectedCallback(){super.connectedCallback(),window.addEventListener("authui:open",this.onOpenEvent),window.addEventListener("authui:close",this.onCloseEvent)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("authui:open",this.onOpenEvent),window.removeEventListener("authui:close",this.onCloseEvent),this.bodyResizeObserver?.disconnect(),this.bodyResizeObserver=null}show(e){e==="account"&&this.auth.status!=="signed-in"?this.view="sign-in":e?this.view=e:this.auth.status==="signed-in"?this.view="account":this.view="sign-in",this.open=!0}hide(){this.open=!1}observeBody(){this.bodyResizeObserver?.disconnect(),this.bodyResizeObserver=null;const e=this.bodyEl;if(!e||typeof ResizeObserver>"u"){this.syncScrollCue();return}this.bodyResizeObserver=new ResizeObserver(()=>this.syncScrollCue()),this.bodyResizeObserver.observe(e),e.firstElementChild&&this.bodyResizeObserver.observe(e.firstElementChild),this.syncScrollCue()}updated(e){if(e.has("open")&&this.dialog&&(this.open&&!this.dialog.open&&(this.dialog.showModal(),requestAnimationFrame(()=>{this.focusPrimary(),this.observeBody()})),!this.open&&this.dialog.open&&this.dialog.close(),this.open||(this.scrollCue=!1,this.bodyResizeObserver?.disconnect(),this.bodyResizeObserver=null)),e.has("auth")){const i=this.auth.pending;i&&i!==this.handledPending&&i.type!=="notice"&&(this.handledPending=i,this.view="sign-in",this.open=!0),i?.type==="notice"&&i!==this.handledPending&&(this.handledPending=i,this.open=!0),this.open&&this.view==="account"&&this.auth.status!=="signed-in"&&(this.view="sign-in"),this.open&&this.auth.status==="signed-out"&&this.view==="account"&&(this.view="sign-in")}this.open&&(e.has("view")||e.has("auth")||e.has("open"))&&requestAnimationFrame(()=>this.observeBody())}focusPrimary(){const e=this.dialog;if(!e)return;const t=e.querySelector("authui-sign-in, authui-account")?.shadowRoot;(t?.querySelector(".alert[role=alert], .alert[role=status]")??t?.querySelector("input:not([type=hidden]), button.choice, [role=tab]"))?.focus?.()}render(){const e=this.auth.status==="signed-in",i=this.view==="account"&&e;return y`
|
|
2476
2671
|
<dialog
|
|
2477
2672
|
class=${i?"wide":""}
|
|
2478
2673
|
aria-label=${i?this.t("dialogAccount"):this.t("dialogSignIn")}
|
|
@@ -2493,10 +2688,10 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2493
2688
|
</button>
|
|
2494
2689
|
</div>
|
|
2495
2690
|
<div class="body" @scroll=${this.syncScrollCue}>
|
|
2496
|
-
${this.open?i?
|
|
2691
|
+
${this.open?i?y`<authui-account embedded></authui-account>`:y`<authui-sign-in
|
|
2497
2692
|
embedded
|
|
2498
2693
|
.view=${this.view==="account"?"sign-in":this.view}
|
|
2499
|
-
></authui-sign-in>`:
|
|
2694
|
+
></authui-sign-in>`:C}
|
|
2500
2695
|
</div>
|
|
2501
2696
|
<div class="scroll-fade ${this.scrollCue?"show":""}" aria-hidden="true"></div>
|
|
2502
2697
|
</div>
|
|
@@ -2593,9 +2788,9 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2593
2788
|
authui-account {
|
|
2594
2789
|
max-width: none;
|
|
2595
2790
|
}
|
|
2596
|
-
`],Xe([F({type:Boolean,reflect:!0})],I.AuthUIModal.prototype,"open",2),Xe([F({type:String})],I.AuthUIModal.prototype,"view",2),Xe([F({attribute:"close-on-success",reflect:!0,converter:{fromAttribute(n){if(n===null)return!0;const e=n.trim().toLowerCase();return!(e==="false"||e==="0"||e==="off"||e==="no")},toAttribute(n){return n?null:"false"}}})],I.AuthUIModal.prototype,"closeOnSuccess",2),Xe([N()],I.AuthUIModal.prototype,"handledPending",2),Xe([N()],I.AuthUIModal.prototype,"scrollCue",2),Xe([
|
|
2791
|
+
`],Xe([F({type:Boolean,reflect:!0})],I.AuthUIModal.prototype,"open",2),Xe([F({type:String})],I.AuthUIModal.prototype,"view",2),Xe([F({attribute:"close-on-success",reflect:!0,converter:{fromAttribute(n){if(n===null)return!0;const e=n.trim().toLowerCase();return!(e==="false"||e==="0"||e==="off"||e==="no")},toAttribute(n){return n?null:"false"}}})],I.AuthUIModal.prototype,"closeOnSuccess",2),Xe([N()],I.AuthUIModal.prototype,"handledPending",2),Xe([N()],I.AuthUIModal.prototype,"scrollCue",2),Xe([Vt("dialog")],I.AuthUIModal.prototype,"dialog",2),Xe([Vt(".body")],I.AuthUIModal.prototype,"bodyEl",2),I.AuthUIModal=Xe([Je("authui-modal")],I.AuthUIModal);var Oo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Et=(n,e,i,t)=>{for(var o=t>1?void 0:t?Fo(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&Oo(e,i,o),o};I.AuthUIButton=class extends Ce{constructor(){super(...arguments),this.view="sign-in",this.variant="primary",this.size="md"}render(){const e=this.size==="md"?"":`btn-${this.size}`;return y`<button
|
|
2597
2792
|
class="btn btn-${this.variant} ${e}"
|
|
2598
|
-
@click=${()=>
|
|
2793
|
+
@click=${()=>at(this.view)}
|
|
2599
2794
|
part="button"
|
|
2600
2795
|
>
|
|
2601
2796
|
<slot
|
|
@@ -2608,9 +2803,9 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2608
2803
|
.btn {
|
|
2609
2804
|
width: 100%;
|
|
2610
2805
|
}
|
|
2611
|
-
`],
|
|
2806
|
+
`],Et([F({type:String})],I.AuthUIButton.prototype,"view",2),Et([F({type:String})],I.AuthUIButton.prototype,"variant",2),Et([F({type:String})],I.AuthUIButton.prototype,"size",2),I.AuthUIButton=Et([Je("authui-button")],I.AuthUIButton);var ea=Object.defineProperty,ta=Object.getOwnPropertyDescriptor,Ee=(n,e,i,t)=>{for(var o=t>1?void 0:t?ta(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(o=(t?s(e,i,o):s(o))||o);return t&&o&&ea(e,i,o),o};I.AuthUIUserButton=class extends Ce{constructor(){super(...arguments),this.showTeams=!1,this.menuItems=[],this.src="",this.menuOpen=!1,this.menuAbove=!1,this.teams=[],this.teamsLoading=!1,this.activeTeamId=null,this.onReposition=()=>{this.menuOpen&&this.placeMenu()},this.onDocumentClick=e=>{e.composedPath().includes(this)||(this.menuOpen=!1)},this.onKeydown=e=>{if(!this.menuOpen){(e.key==="ArrowDown"||e.key==="Enter"||e.key===" ")&&e.target===this.renderRoot?.querySelector(".trigger")&&e.key==="ArrowDown"&&(e.preventDefault(),this.menuOpen=!0,requestAnimationFrame(()=>this.focusMenuItem(0)));return}const i=[...this.renderRoot?.querySelectorAll('[role="menuitem"]')??[]],t=i.findIndex(o=>o===this.shadowRoot?.activeElement);if(e.key==="Escape"){e.preventDefault(),this.menuOpen=!1,this.renderRoot?.querySelector(".trigger")?.focus();return}e.key==="ArrowDown"?(e.preventDefault(),this.focusMenuItem(t<0?0:(t+1)%i.length)):e.key==="ArrowUp"?(e.preventDefault(),this.focusMenuItem(t<0?i.length-1:(t-1+i.length)%i.length)):e.key==="Home"?(e.preventDefault(),this.focusMenuItem(0)):e.key==="End"&&(e.preventDefault(),this.focusMenuItem(i.length-1))},this.toggleMenu=()=>{this.menuOpen=!this.menuOpen,this.menuOpen&&this.showTeams&&this.loadTeams()},this.selectTeam=e=>{E.setActiveTeam({$id:e.$id,name:e.name}),this.activeTeamId=e.$id,this.dispatchEvent(new CustomEvent("authui-active-team",{detail:{teamId:e.$id,team:e},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.onDocumentClick,!0),document.addEventListener("keydown",this.onKeydown),this.addEventListener("keydown",this.onKeydown),window.addEventListener("resize",this.onReposition),window.addEventListener("scroll",this.onReposition,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onDocumentClick,!0),document.removeEventListener("keydown",this.onKeydown),this.removeEventListener("keydown",this.onKeydown),window.removeEventListener("resize",this.onReposition),window.removeEventListener("scroll",this.onReposition,!0)}placeMenu(){const e=this.renderRoot?.querySelector(".trigger"),i=this.renderRoot?.querySelector(".menu");if(!e||!i)return;const t=e.getBoundingClientRect(),o=6,a=8;i.style.maxHeight="";const s=i.offsetHeight+o,r=window.innerHeight-t.bottom,d=t.top,c=r<s&&d>r;c!==this.menuAbove&&(this.menuAbove=c);const l=Math.max(80,(c?d:r)-o-a);i.style.maxHeight=`${l}px`}focusMenuItem(e){[...this.renderRoot?.querySelectorAll('[role="menuitem"]')??[]][e]?.focus()}updated(e){e.has("menuOpen")&&(this.menuOpen?(this.showTeams&&this.loadTeams(),requestAnimationFrame(()=>{this.placeMenu(),this.focusMenuItem(0)})):this.menuAbove=!1),this.menuOpen&&(e.has("teams")||e.has("teamsLoading"))&&requestAnimationFrame(()=>this.placeMenu())}async loadTeams(){this.teamsLoading=!0,this.activeTeamId=E.getActiveTeamId();try{this.teams=await E.listTeams(),this.activeTeamId&&!this.teams.some(e=>e.$id===this.activeTeamId)&&(this.activeTeamId=null,E.setActiveTeam(null))}catch{this.teams=[]}finally{this.teamsLoading=!1}}render(){const{status:e,user:i,configured:t}=this.auth;if(e==="loading"&&t)return y`<span class="avatar"><span class="spinner"></span></span>`;if(e!=="signed-in"||!i)return y`<button class="btn btn-primary btn-sm" @click=${()=>at("sign-in")}>
|
|
2612
2807
|
<slot>${this.t("signIn")}</slot>
|
|
2613
|
-
</button>`;const o=i.name||i.email||i.phone||this.t("guestAccount");return
|
|
2808
|
+
</button>`;const o=i.name||i.email||i.phone||this.t("guestAccount");return y`
|
|
2614
2809
|
<button
|
|
2615
2810
|
class="trigger"
|
|
2616
2811
|
aria-haspopup="menu"
|
|
@@ -2619,19 +2814,19 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2619
2814
|
aria-label=${o}
|
|
2620
2815
|
>
|
|
2621
2816
|
<span class="avatar"
|
|
2622
|
-
>${this.src?
|
|
2817
|
+
>${this.src?y`<img src=${this.src} alt="" />`:mi(o)}</span
|
|
2623
2818
|
>
|
|
2624
2819
|
</button>
|
|
2625
|
-
${this.menuOpen?
|
|
2820
|
+
${this.menuOpen?y`<div class="menu ${this.menuAbove?"above":""}" role="menu">
|
|
2626
2821
|
<div class="menu-header">
|
|
2627
2822
|
<span class="row-title" title=${o}>${o}</span>
|
|
2628
|
-
${i.email&&i.name?
|
|
2823
|
+
${i.email&&i.name?y`<span class="row-sub" title=${i.email}>${i.email}</span>`:C}
|
|
2629
2824
|
</div>
|
|
2630
|
-
${this.showTeams?
|
|
2825
|
+
${this.showTeams?y`<div class="menu-section">
|
|
2631
2826
|
<div class="menu-section-label">${this.t("teamsLabel")}</div>
|
|
2632
|
-
${this.teamsLoading?
|
|
2827
|
+
${this.teamsLoading?y`<div class="menu-item" aria-busy="true">
|
|
2633
2828
|
<span class="spinner"></span>
|
|
2634
|
-
</div>`:this.teams.length===0?
|
|
2829
|
+
</div>`:this.teams.length===0?y`<div class="menu-item" role="note">${this.t("noTeams")}</div>`:this.teams.map(a=>y`<button
|
|
2635
2830
|
class="menu-item ${a.$id===this.activeTeamId?"active":""}"
|
|
2636
2831
|
role="menuitemradio"
|
|
2637
2832
|
aria-checked=${a.$id===this.activeTeamId?"true":"false"}
|
|
@@ -2639,15 +2834,15 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2639
2834
|
>
|
|
2640
2835
|
${_.users}
|
|
2641
2836
|
<span title=${a.name}>${a.name}</span>
|
|
2642
|
-
${a.$id===this.activeTeamId?
|
|
2837
|
+
${a.$id===this.activeTeamId?y`<span class="check">${_.check}</span>`:C}
|
|
2643
2838
|
</button>`)}
|
|
2644
|
-
</div>`:
|
|
2839
|
+
</div>`:C}
|
|
2645
2840
|
${this.renderCustomMenuItems()}
|
|
2646
2841
|
<slot name="menu-items"></slot>
|
|
2647
2842
|
<button
|
|
2648
2843
|
class="menu-item"
|
|
2649
2844
|
role="menuitem"
|
|
2650
|
-
@click=${()=>{this.menuOpen=!1,
|
|
2845
|
+
@click=${()=>{this.menuOpen=!1,at("account")}}
|
|
2651
2846
|
>
|
|
2652
2847
|
${_.settings} ${this.t("manageAccount")}
|
|
2653
2848
|
</button>
|
|
@@ -2658,24 +2853,24 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2658
2853
|
>
|
|
2659
2854
|
${_.logOut} ${this.t("signOut")}
|
|
2660
2855
|
</button>
|
|
2661
|
-
</div>`:
|
|
2662
|
-
`}renderCustomMenuItems(){return this.menuItems?.length?this.menuItems.map(e=>{if(e.href){const t=e.target;return
|
|
2856
|
+
</div>`:C}
|
|
2857
|
+
`}renderCustomMenuItems(){return this.menuItems?.length?this.menuItems.map(e=>{if(e.href){const t=e.target;return y`<a
|
|
2663
2858
|
class="menu-item"
|
|
2664
2859
|
role="menuitem"
|
|
2665
2860
|
href=${e.href}
|
|
2666
|
-
target=${t||
|
|
2667
|
-
rel=${t==="_blank"?"noopener noreferrer":
|
|
2861
|
+
target=${t||C}
|
|
2862
|
+
rel=${t==="_blank"?"noopener noreferrer":C}
|
|
2668
2863
|
@click=${()=>{this.menuOpen=!1}}
|
|
2669
2864
|
>
|
|
2670
2865
|
${e.label}
|
|
2671
|
-
</a>`}const i=e.actionId;return
|
|
2866
|
+
</a>`}const i=e.actionId;return y`<button
|
|
2672
2867
|
class="menu-item"
|
|
2673
2868
|
role="menuitem"
|
|
2674
2869
|
type="button"
|
|
2675
2870
|
@click=${()=>{this.menuOpen=!1,i&&this.dispatchEvent(new CustomEvent("authui-menu-action",{detail:{actionId:i},bubbles:!0,composed:!0}))}}
|
|
2676
2871
|
>
|
|
2677
2872
|
${e.label}
|
|
2678
|
-
</button>`}):
|
|
2873
|
+
</button>`}):C}},I.AuthUIUserButton.styles=[...Ce.styles,Ne`
|
|
2679
2874
|
:host {
|
|
2680
2875
|
display: inline-block;
|
|
2681
2876
|
position: relative;
|
|
@@ -2793,4 +2988,4 @@ var AuthUI=(function(I){"use strict";var qe;const mt=globalThis,Et=mt.ShadowRoot
|
|
|
2793
2988
|
height: 32px;
|
|
2794
2989
|
font-size: 13px;
|
|
2795
2990
|
}
|
|
2796
|
-
`],Ee([F({type:Boolean,attribute:"show-teams"})],I.AuthUIUserButton.prototype,"showTeams",2),Ee([F({attribute:!1})],I.AuthUIUserButton.prototype,"menuItems",2),Ee([F({type:String})],I.AuthUIUserButton.prototype,"src",2),Ee([N()],I.AuthUIUserButton.prototype,"menuOpen",2),Ee([N()],I.AuthUIUserButton.prototype,"menuAbove",2),Ee([N()],I.AuthUIUserButton.prototype,"teams",2),Ee([N()],I.AuthUIUserButton.prototype,"teamsLoading",2),Ee([N()],I.AuthUIUserButton.prototype,"activeTeamId",2),I.AuthUIUserButton=Ee([Je("authui-user-button")],I.AuthUIUserButton);function
|
|
2991
|
+
`],Ee([F({type:Boolean,attribute:"show-teams"})],I.AuthUIUserButton.prototype,"showTeams",2),Ee([F({attribute:!1})],I.AuthUIUserButton.prototype,"menuItems",2),Ee([F({type:String})],I.AuthUIUserButton.prototype,"src",2),Ee([N()],I.AuthUIUserButton.prototype,"menuOpen",2),Ee([N()],I.AuthUIUserButton.prototype,"menuAbove",2),Ee([N()],I.AuthUIUserButton.prototype,"teams",2),Ee([N()],I.AuthUIUserButton.prototype,"teamsLoading",2),Ee([N()],I.AuthUIUserButton.prototype,"activeTeamId",2),I.AuthUIUserButton=Ee([Je("authui-user-button")],I.AuthUIUserButton);function pn(n){return E.configure(n),An}function hn(n){at(n)}function fn(){dn()}function gn(){return E.signOut()}function yn(){return E.user}function mn(){return E.getState()}function bn(){return E.getClient()}function wn(){return E.getAccount()}function vn(){return E.previewSignIn()}function In(n,e){return E.on(n,e)}const An={init:pn,open:hn,close:fn,signOut:gn,getUser:yn,getState:mn,getClient:bn,getAccount:wn,on:In,previewSignIn:vn,store:E};return I.AuthStore=on,I.AuthUI=An,I.AuthUIElement=Ce,I.CRITICAL_FOUC_CSS=Do,I.ErrorTypes=ee,I.FOUC_CSS=gi,I.PreviewAccount=zi,I.appwrite=ko,I.authStore=E,I.clearLastMethod=Co,I.clearPendingOAuth=hi,I.close=fn,I.closeModal=dn,I.defaultStrings=Zi,I.describeError=ft,I.getAccount=wn,I.getClient=bn,I.getLastMethod=ze,I.getState=mn,I.getStoredActiveTeamId=li,I.getUser=yn,I.init=pn,I.isConfigError=Oi,I.on=In,I.open=hn,I.openModal=at,I.previewSignIn=vn,I.providerLabel=Ze,I.rememberLastMethod=Te,I.rememberPendingOAuth=pi,I.scorePassword=Mt,I.setStoredActiveTeamId=Fi,I.signOut=gn,I.stashPendingOAuth=en,I.toAuthUIError=Qe,Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),I})({});
|