@junobuild/core-standalone 5.0.0 → 5.1.0-next-2026-02-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +19 -19
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +19 -19
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/auth/providers/dev-identity.providers.d.ts +41 -0
- package/dist/types/auth/types/auth.d.ts +6 -0
- package/dist/types/auth/types/dev-identity.d.ts +6 -0
- package/dist/types/index.d.ts +2 -1
- package/package.json +3 -3
package/dist/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var pf=Object.defineProperty;var ff=(e,t)=>{for(var r in t)pf(e,r,{get:t[r],enumerable:!0})};var hl;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(hl||(hl={}));var Ir;(function(e){e.Replied="replied",e.Rejected="rejected"})(Ir||(Ir={}));function ml(e){return e!=null&&"reject_code"in e}function _l(e){return e!=null&&"certificate"in e}var _i="abcdefghijklmnopqrstuvwxyz234567",jn=Object.create(null);for(let e=0;e<_i.length;e++)jn[_i[e]]=e;jn[0]=jn.o;jn[1]=jn.i;function yl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=_i[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?_i[r>>3]:"")}function gl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=jn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var hf=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function xl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=hf[o]^t>>>8}return(t^-1)>>>0}var bn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function St(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function da(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!St(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function pa(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function wl(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function wn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function gi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function gt(e,t){return e<<32-t|e>>>t}var Tl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),Tl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=mf[e[r]];return t}var er={_0:48,_9:57,A:65,F:70,a:97,f:102};function bl(e){if(e>=er._0&&e<=er._9)return e-er._0;if(e>=er.A&&e<=er.F)return e-(er.A-10);if(e>=er.a&&e<=er.f)return e-(er.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Tl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=bl(e.charCodeAt(i)),a=bl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function fa(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var yi=class{};function xi(e){let t=n=>e().update(fa(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Kn(e=32){if(bn&&typeof bn.getRandomValues=="function")return bn.getRandomValues(new Uint8Array(e));if(bn&&typeof bn.randomBytes=="function")return Uint8Array.from(bn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function _f(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Nl(e,t,r){return e&t^~e&r}function Ol(e,t,r){return e&t^e&r^t&r}var wo=class extends yi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=gi(this.buffer)}update(t){pa(this),t=fa(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=gi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){pa(this),wl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,wn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;_f(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=gi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},tr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var bi=BigInt(4294967295),El=BigInt(32);function yf(e,t=!1){return t?{h:Number(e&bi),l:Number(e>>El&bi)}:{h:Number(e>>El&bi)|0,l:Number(e&bi)|0}}function Rl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=yf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ha=(e,t,r)=>e>>>r,ma=(e,t,r)=>e<<32-r|t>>>r,Tn=(e,t,r)=>e>>>r|t<<32-r,Nn=(e,t,r)=>e<<32-r|t>>>r,To=(e,t,r)=>e<<64-r|t>>>r-32,No=(e,t,r)=>e>>>r-32|t<<64-r;function Ct(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Il=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),vl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Al=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Sl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Cl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Fl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var xf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),vr=new Uint32Array(64),wi=class extends wo{constructor(t=32){super(64,t,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)vr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=vr[d-15],f=vr[d-2],h=gt(l,7)^gt(l,18)^l>>>3,_=gt(f,17)^gt(f,19)^f>>>10;vr[d]=_+vr[d-7]+h+vr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=gt(a,6)^gt(a,11)^gt(a,25),f=p+l+Nl(a,c,u)+xf[d]+vr[d]|0,_=(gt(n,2)^gt(n,13)^gt(n,22))+Ol(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){wn(vr)}destroy(){this.set(0,0,0,0,0,0,0,0),wn(this.buffer)}},_a=class extends wi{constructor(){super(28),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}},Pl=Rl(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),bf=Pl[0],wf=Pl[1],Ar=new Uint32Array(80),Sr=new Uint32Array(80),ya=class extends wo{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Ar[y]=t.getUint32(r),Sr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Ar[y-15]|0,E=Sr[y-15]|0,O=Tn(T,E,1)^Tn(T,E,8)^ha(T,E,7),R=Nn(T,E,1)^Nn(T,E,8)^ma(T,E,7),v=Ar[y-2]|0,w=Sr[y-2]|0,I=Tn(v,w,19)^To(v,w,61)^ha(v,w,6),F=Nn(v,w,19)^No(v,w,61)^ma(v,w,6),S=Al(R,F,Sr[y-7],Sr[y-16]),b=Sl(S,O,I,Ar[y-7],Ar[y-16]);Ar[y]=b|0,Sr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=Tn(d,l,14)^Tn(d,l,18)^To(d,l,41),E=Nn(d,l,14)^Nn(d,l,18)^No(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=Cl(x,E,R,wf[y],Sr[y]),w=Fl(v,m,T,O,bf[y],Ar[y]),I=v|0,F=Tn(n,o,28)^To(n,o,34)^To(n,o,39),S=Nn(n,o,28)^No(n,o,34)^No(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Ct(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=Il(I,S,N);n=vl(C,w,F,b),o=C|0}({h:n,l:o}=Ct(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Ct(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Ct(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Ct(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Ct(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Ct(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=Ct(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=Ct(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){wn(Ar,Sr)}destroy(){wn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=xi(()=>new wi),Vl=xi(()=>new _a),Bl=xi(()=>new ya);var Ti="__principal__",Tf=2,Dl=4,Nf="aaaaa-aa",k=class e{static anonymous(){return new this(new Uint8Array([Dl]))}static managementCanister(){return this.fromText(Nf)}static selfAuthenticating(t){let r=Vl(t);return new this(new Uint8Array([...r,Tf]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Ti)){let s=JSON.parse(t);Ti in s&&(r=s[Ti])}let n=r.toLowerCase().replace(/-/g,""),o=gl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Dl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,xl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=yl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ti]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var nr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(nr||(nr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
1
|
+
var Rf=Object.defineProperty;var vf=(e,t)=>{for(var r in t)Rf(e,r,{get:t[r],enumerable:!0})};var Tl;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Tl||(Tl={}));var Fr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Fr||(Fr={}));function Nl(e){return e!=null&&"reject_code"in e}function Ol(e){return e!=null&&"certificate"in e}var Si="abcdefghijklmnopqrstuvwxyz234567",Qn=Object.create(null);for(let e=0;e<Si.length;e++)Qn[Si[e]]=e;Qn[0]=Qn.o;Qn[1]=Qn.i;function El(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=Si[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Si[r>>3]:"")}function Rl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Qn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var If=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function vl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=If[o]^t>>>8}return(t^-1)>>>0}var Cn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function kt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ya(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function he(e,...t){if(!kt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ga(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Al(e,t){he(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Vn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Vi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Et(e,t){return e<<32-t|e>>>t}var Sl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Af=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(he(e),Sl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Af[e[r]];return t}var cr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Il(e){if(e>=cr._0&&e<=cr._9)return e-cr._0;if(e>=cr.A&&e<=cr.F)return e-(cr.A-10);if(e>=cr.a&&e<=cr.f)return e-(cr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Sl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Il(e.charCodeAt(i)),a=Il(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function xa(e){return typeof e=="string"&&(e=G(e)),he(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];he(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var Ci=class{};function Fi(e){let t=n=>e().update(xa(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function eo(e=32){if(Cn&&typeof Cn.getRandomValues=="function")return Cn.getRandomValues(new Uint8Array(e));if(Cn&&typeof Cn.randomBytes=="function")return Uint8Array.from(Cn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Sf(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Cl(e,t,r){return e&t^~e&r}function Vl(e,t,r){return e&t^e&r^t&r}var Po=class extends Ci{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Vi(this.buffer)}update(t){ga(this),t=xa(t),he(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Vi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ga(this),Al(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Vn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Sf(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Vi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},lr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ur=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Pi=BigInt(4294967295),Fl=BigInt(32);function Cf(e,t=!1){return t?{h:Number(e&Pi),l:Number(e>>Fl&Pi)}:{h:Number(e>>Fl&Pi)|0,l:Number(e&Pi)|0}}function Pl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=Cf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ba=(e,t,r)=>e>>>r,wa=(e,t,r)=>e<<32-r|t>>>r,Fn=(e,t,r)=>e>>>r|t<<32-r,Pn=(e,t,r)=>e<<32-r|t>>>r,Bo=(e,t,r)=>e<<64-r|t>>>r-32,Do=(e,t,r)=>e>>>r-32|t<<64-r;function Lt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Bl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Dl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Ul=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),kl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Ll=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ql=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Ff=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Pr=new Uint32Array(64),Bi=class extends Po{constructor(t=32){super(64,t,8,!1),this.A=lr[0]|0,this.B=lr[1]|0,this.C=lr[2]|0,this.D=lr[3]|0,this.E=lr[4]|0,this.F=lr[5]|0,this.G=lr[6]|0,this.H=lr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Pr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Pr[d-15],f=Pr[d-2],h=Et(l,7)^Et(l,18)^l>>>3,_=Et(f,17)^Et(f,19)^f>>>10;Pr[d]=_+Pr[d-7]+h+Pr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=Et(a,6)^Et(a,11)^Et(a,25),f=p+l+Cl(a,c,u)+Ff[d]+Pr[d]|0,_=(Et(n,2)^Et(n,13)^Et(n,22))+Vl(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){Vn(Pr)}destroy(){this.set(0,0,0,0,0,0,0,0),Vn(this.buffer)}},Ta=class extends Bi{constructor(){super(28),this.A=ur[0]|0,this.B=ur[1]|0,this.C=ur[2]|0,this.D=ur[3]|0,this.E=ur[4]|0,this.F=ur[5]|0,this.G=ur[6]|0,this.H=ur[7]|0}},Ml=Pl(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Pf=Ml[0],Bf=Ml[1],Br=new Uint32Array(80),Dr=new Uint32Array(80),Na=class extends Po{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Br[y]=t.getUint32(r),Dr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Br[y-15]|0,O=Dr[y-15]|0,R=Fn(T,O,1)^Fn(T,O,8)^ba(T,O,7),E=Pn(T,O,1)^Pn(T,O,8)^wa(T,O,7),v=Br[y-2]|0,w=Dr[y-2]|0,I=Fn(v,w,19)^Bo(v,w,61)^ba(v,w,6),V=Pn(v,w,19)^Do(v,w,61)^wa(v,w,6),C=Ul(E,V,Dr[y-7],Dr[y-16]),b=kl(C,R,I,Br[y-7],Br[y-16]);Br[y]=b|0,Dr[y]=C|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=Fn(d,l,14)^Fn(d,l,18)^Bo(d,l,41),O=Pn(d,l,14)^Pn(d,l,18)^Do(d,l,41),R=d&f^~d&_,E=l&h^~l&g,v=Ll(x,O,E,Bf[y],Dr[y]),w=ql(v,m,T,R,Pf[y],Br[y]),I=v|0,V=Fn(n,o,28)^Bo(n,o,34)^Bo(n,o,39),C=Pn(n,o,28)^Do(n,o,34)^Do(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Lt(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Bl(I,C,N);n=Dl(S,w,V,b),o=S|0}({h:n,l:o}=Lt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Lt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Lt(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Lt(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Lt(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Lt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=Lt(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=Lt(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){Vn(Br,Dr)}destroy(){Vn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=Fi(()=>new Bi),jl=Fi(()=>new Ta),Kl=Fi(()=>new Na);var Di="__principal__",Df=2,Hl=4,Uf="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([Hl]))}static managementCanister(){return this.fromText(Uf)}static selfAuthenticating(t){let r=jl(t);return new this(new Uint8Array([...r,Df]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Di)){let s=JSON.parse(t);Di in s&&(r=s[Di])}let n=r.toLowerCase().replace(/-/g,""),o=Rl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Hl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,vl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=El(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Di]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var dr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(dr||(dr={}));var $=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
2
2
|
Request context:
|
|
3
3
|
Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
|
|
4
4
|
Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
|
|
@@ -7,51 +7,51 @@ Request context:
|
|
|
7
7
|
Call context:
|
|
8
8
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
9
9
|
Method name: ${this.callContext.methodName}
|
|
10
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},
|
|
10
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ot=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},pr=class extends ot{static fromCode(t){return new this(t)}},Me=class e extends pr{constructor(t){super(t,dr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends pr{constructor(t){super(t,dr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Ur=class e extends pr{constructor(t){super(t,dr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Uo=class e extends pr{constructor(t){super(t,dr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},_e=class e extends pr{constructor(t){super(t,dr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends pr{constructor(t){super(t,dr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends pr{constructor(t){super(t,dr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},Rt=class e extends ${constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Ho(this.error)}`),`Certificate verification error: "${t}"`}},fr=class e extends ${constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Ui=class e extends ${constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Bn=class e extends ${constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},ki=class e extends ${constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},vt=class e extends ${constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Li=class e extends ${constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},qi=class e extends ${constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},to=class e extends ${constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},Mi=class e extends ${constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},ji=class e extends ${constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},It=class e extends ${constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},ko=class e extends ${constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Ki=class e extends ${constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Ho(this.error)}, input: ${j(this.input)}`}},Hi=class e extends ${constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Ho(this.error)}, input: ${this.value}`}};var Dn=class e extends ${constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
|
|
11
11
|
`;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
|
|
12
12
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
13
|
-
`),t}},
|
|
13
|
+
`),t}},Gi=class e extends ${constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
14
14
|
Request ID: ${j(this.requestId)}
|
|
15
|
-
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}}
|
|
15
|
+
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},ro=class e extends ${constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
16
16
|
Request ID: ${j(this.requestId)}
|
|
17
17
|
Reject code: ${this.rejectCode}
|
|
18
18
|
Reject text: ${this.rejectMessage}
|
|
19
19
|
Error code: ${this.rejectErrorCode}
|
|
20
|
-
`}}
|
|
20
|
+
`}},$i=class e extends ${constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
21
21
|
Request ID: ${j(this.requestId)}
|
|
22
22
|
Reject code: ${this.rejectCode}
|
|
23
23
|
Reject text: ${this.rejectMessage}
|
|
24
24
|
Error code: ${this.rejectErrorCode}
|
|
25
|
-
`}},
|
|
25
|
+
`}},Ji=class e extends ${constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
26
26
|
Request ID: ${j(this.requestId)}
|
|
27
27
|
Reject code: ${this.rejectCode}
|
|
28
28
|
Reject text: ${this.rejectMessage}
|
|
29
29
|
Error code: ${this.rejectErrorCode}
|
|
30
|
-
`}},
|
|
30
|
+
`}},Wi=class e extends ${constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
31
31
|
Request ID: ${j(this.requestId)}
|
|
32
|
-
`}},
|
|
32
|
+
`}},lt=class e extends ${constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},zi=class e extends ${constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},no=class e extends ${constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},kr=class e extends ${constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},qt=class e extends ${constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},Yi=class e extends ${constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Zi=class e extends ${constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},Xi=class e extends ${constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Qi=class e extends ${constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},es=class e extends ${constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Re=class e extends ${constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Ho(this.error)}`}},Lr=class e extends ${constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Lo=class e extends ${constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
|
|
33
33
|
Status: ${this.status} (${this.statusText})
|
|
34
34
|
Headers: ${JSON.stringify(this.headers)}
|
|
35
35
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
36
|
-
`),t}},Io=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},vo=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Co(this.error)}`}},Ao=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},Mi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},So=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Co(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ct=new Error("unreachable");var An={};ff(An,{Bool:()=>$l,BoolClass:()=>Gi,ConstructType:()=>Bt,Empty:()=>Kl,EmptyClass:()=>Po,FixedIntClass:()=>cr,FixedNatClass:()=>Vt,Float32:()=>Yl,Float64:()=>Zl,FloatClass:()=>Do,Func:()=>fu,FuncClass:()=>vn,Int:()=>Wl,Int16:()=>Ql,Int32:()=>eu,Int64:()=>tu,Int8:()=>Xl,IntClass:()=>Vo,Nat:()=>zl,Nat16:()=>nu,Nat32:()=>ou,Nat64:()=>iu,Nat8:()=>ru,NatClass:()=>Bo,Null:()=>Gl,NullClass:()=>Rn,Opt:()=>lu,OptClass:()=>Dr,PrimitiveType:()=>ze,Principal:()=>su,PrincipalClass:()=>zi,Rec:()=>pu,RecClass:()=>lt,Record:()=>uu,RecordClass:()=>In,Reserved:()=>Hl,ReservedClass:()=>Dt,Service:()=>hu,ServiceClass:()=>Zn,Text:()=>Jl,TextClass:()=>Ji,Tuple:()=>au,TupleClass:()=>Wi,Type:()=>Wn,Unknown:()=>vf,UnknownClass:()=>$i,Variant:()=>du,VariantClass:()=>Yn,Vec:()=>cu,VecClass:()=>zn,Visitor:()=>Na,decode:()=>If,encode:()=>Rf,resetSubtypeCache:()=>Oa,subtype:()=>Ra});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var Tt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Pt(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Pt(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Pt(e.buffer):new Uint8Array(e)}function Jn(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function Ul(e,t){return Jn(e,t)===0}function kl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Of(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function qe(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Of(e)}function ga(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function ji(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Ll(){throw new Error("unexpected end of buffer")}function Br(e,t){return e.byteLength<t&&Ll(),e.read(t)}function Vr(e){let t=e.readUint8();return t===void 0&&Ll(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:ga(e))+1,r=new Tt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Vr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ga(e))+1,n=new Tt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function sr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(Br(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function ql(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return xa(e,t)}function xa(e,t){e=BigInt(e);let r=new Tt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function ba(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Vr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Vr(e));r=r+n*i}return r}function Ml(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=ba(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var Ki="DIDL",Ef=new TextEncoder().encode(Ki),jl=400;function Fo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ta=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},Na=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var Wn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},ze=class extends Wn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Bt=class extends Wn{checkType(t){if(t instanceof lt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Po=class extends ze{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},$i=class extends Wn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof lt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Gi=class extends ze{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Vr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Rn=class extends ze{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Dt=class extends ze{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Ji=class extends ze{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=Br(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Vo=class extends ze{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),sr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Bo=class extends ze{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ie(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Do=class extends ze{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=Br(t,this._bits/8),o=kl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},cr=class extends ze{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=ji(this._bits-1)*BigInt(-1),n=ji(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xa(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Ml(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Vt=class extends ze{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=ji(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ql(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=ba(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},zn=class e extends Bt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Vt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Vt?this._type._bits:this._type instanceof cr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
36
|
+
`),t}},qo=class e extends ${constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Mo=class e extends ${constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Ho(this.error)}`}},jo=class e extends ${constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},ts=class e extends ${constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Ko=class e extends ${constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Ho(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ut=new Error("unreachable");var qn={};vf(qn,{Bool:()=>Ql,BoolClass:()=>ss,ConstructType:()=>Kt,Empty:()=>Zl,EmptyClass:()=>$o,FixedIntClass:()=>_r,FixedNatClass:()=>jt,Float32:()=>ou,Float64:()=>iu,FloatClass:()=>zo,Func:()=>wu,FuncClass:()=>Ln,Int:()=>ru,Int16:()=>au,Int32:()=>cu,Int64:()=>lu,Int8:()=>su,IntClass:()=>Jo,Nat:()=>nu,Nat16:()=>du,Nat32:()=>pu,Nat64:()=>fu,Nat8:()=>uu,NatClass:()=>Wo,Null:()=>eu,NullClass:()=>Un,Opt:()=>yu,OptClass:()=>jr,PrimitiveType:()=>Ze,Principal:()=>hu,PrincipalClass:()=>ls,Rec:()=>bu,RecClass:()=>dt,Record:()=>gu,RecordClass:()=>kn,Reserved:()=>Xl,ReservedClass:()=>Ht,Service:()=>Tu,ServiceClass:()=>co,Text:()=>tu,TextClass:()=>as,Tuple:()=>mu,TupleClass:()=>cs,Type:()=>io,Unknown:()=>jf,UnknownClass:()=>is,Variant:()=>xu,VariantClass:()=>ao,Vec:()=>_u,VecClass:()=>so,Visitor:()=>Aa,decode:()=>Mf,encode:()=>qf,resetSubtypeCache:()=>Sa,subtype:()=>Va});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var At=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Mt(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Mt(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Mt(e.buffer):new Uint8Array(e)}function oo(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function Gl(e,t){return oo(e,t)===0}function $l(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function kf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function je(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return kf(e)}function Oa(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function rs(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Jl(){throw new Error("unexpected end of buffer")}function Mr(e,t){return e.byteLength<t&&Jl(),e.read(t)}function qr(e){let t=e.readUint8();return t===void 0&&Jl(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:Oa(e))+1,r=new At(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ye(e){let t=BigInt(1),r=BigInt(0),n;do n=qr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ge(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Oa(e))+1,n=new At(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function hr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ye(e);break}let n=new Uint8Array(Mr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Wl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Ea(e,t)}function Ea(e,t){e=BigInt(e);let r=new At(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function Ra(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(qr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(qr(e));r=r+n*i}return r}function zl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Ra(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var ns="DIDL",Lf=new TextEncoder().encode(ns),Yl=400;function Go(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ia=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return ge(this._idx.get(t)||0)}},Aa=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var io=class{display(){return this.name}valueToString(t){return me(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ze=class extends io{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Kt=class extends io{checkType(t){if(t instanceof dt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},$o=class extends Ze{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return ge(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},is=class extends io{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof dt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},ss=class extends Ze{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return ge(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),qr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Un=class extends Ze{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return ge(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Ht=class extends Ze{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return ge(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},as=class extends Ze{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return ge(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ye(t),o=Mr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Jo=class extends Ze{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return ge(t)}encodeType(){return ge(Q.Int)}decodeValue(t,r){return this.checkType(r),hr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Wo=class extends Ze{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return ie(t)}encodeType(){return ge(Q.Nat)}decodeValue(t,r){return this.checkType(r),ye(t)}get name(){return"nat"}valueToString(t){return t.toString()}},zo=class extends Ze{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return ge(t)}decodeValue(t,r){this.checkType(r);let n=Mr(t,this._bits/8),o=$l(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},_r=class extends Ze{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=rs(this._bits-1)*BigInt(-1),n=rs(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return Ea(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ge(-9-t)}decodeValue(t,r){this.checkType(r);let n=zl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},jt=class extends Ze{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=rs(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return Wl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ge(-5-t)}decodeValue(t,r){this.checkType(r);let n=Ra(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},so=class e extends Kt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof jt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof jt?this._type._bits:this._type instanceof _r?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
37
37
|
|
|
38
|
-
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
38
|
+
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=ie(t.length);if(this._blobOptimization)return Z(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else return Z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new At(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ge(Q.Vector),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(ye(t));if(this._type instanceof jt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof _r){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},jr=class e extends Kt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${me(t)}
|
|
39
39
|
|
|
40
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${
|
|
40
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ge(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof Un)return[];if(r instanceof Ht)return[];let n=r;if(r instanceof dt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(qr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof Un||this._type instanceof e||this._type instanceof Ht)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},kn=class e extends Kt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>je(r[0])-je(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
41
41
|
|
|
42
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
42
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Go(this._fields,r,([,o],i)=>o.encodeValue(i));return Z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ge(Q.Record),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(je(i)),s.encodeType(t)));t.add(this,Z(r,n,Z(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=je(this._fields[i][0]),l=je(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof jr||p instanceof Ht)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof jr||c instanceof Ht)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[je(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>r+":"+n.display()).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${Go(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},cs=class e extends kn{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
43
43
|
|
|
44
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
44
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=Go(this._components,t,(n,o)=>n.encodeValue(o));return Z(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Go(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},ao=class e extends Kt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>je(r[0])-je(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
45
45
|
|
|
46
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
46
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=ie(r),s=o.encodeValue(t[n]);return Z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ge(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(je(i)),s.encodeType(t)));t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(ye(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(je(i)===je(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[je(r)]=n;return t}},dt=class e extends Kt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function Ca(e){if(qr(e)!==1)throw new Error("Cannot decode principal");let r=Number(ye(e));return L.fromUint8Array(new Uint8Array(Mr(e,r)))}var ls=class extends Ze{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.byteLength);return Z(new Uint8Array([1]),n,r)}encodeType(){return ge(Q.Principal)}decodeValue(t,r){return this.checkType(r),Ca(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Ln=class extends Kt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=ie(n.byteLength),i=Z(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=ie(s.byteLength);return Z(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=ge(Q.Func),n=ie(this.argTypes.length),o=Z(...this.argTypes.map(u=>u.encodeType(t))),i=ie(this.retTypes.length),s=Z(...this.retTypes.map(u=>u.encodeType(t))),a=ie(this.annotations.length),c=Z(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Z(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof dt?r.getType()??r:r;if(!Va(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(qr(t)!==1)throw new Error("Cannot decode function reference");let i=Ca(t),s=Number(ye(t)),a=Mr(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},co=class extends Kt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${me(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.length);return Z(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ge(Q.Service),n=ie(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=ie(a.length);return Z(c,a,s.encodeType(t))});t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=r instanceof dt?r.getType()??r:r;if(!Va(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Ca(t)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function me(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Yl?t.substring(0,Yl-3)+"...":t}function qf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Ia;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=ie(t.length),i=Z(...e.map(a=>a.encodeType(r))),s=Z(...Go(e,t,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(u.message+`
|
|
47
47
|
|
|
48
|
-
`)}return a.encodeValue(c)}));return Z(
|
|
49
|
-
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},
|
|
50
|
-
ic-request`),Aa=new TextEncoder().encode("\vic-response"),Sa=new TextEncoder().encode("ic-request-auth-delegation");var Ut=class{getPrincipal(){return this._principal||(this._principal=k.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=lr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(ko,o))}}}},ot=class{getPrincipal(){return k.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var ur=class extends Error{constructor(t){super(t),this.name="DecodingError"}},yu=55799,gu=Symbol("CBOR_STOP_CODE"),Et=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Et||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Sf=23,Cf=255,Ff=65535,Pf=4294967295,Vf=BigInt("0xffffffffffffffff"),Ot=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Ot||{}),Qn=!1;function Bf(e){return e==null}function xu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Df=new TextDecoder;function Uf(e){return(e&224)>>5}function kf(e){return e&31}var Mo=new Uint8Array,Lo,Rt=0;function bu(e,t){Mo=e,Rt=0;let r=Cn(t);return t?.(r)??r}function Cn(e){let[t,r]=Zi();switch(t){case Ne.UnsignedInteger:return eo(r);case Ne.NegativeInteger:return jf(r);case Ne.ByteString:return wu(r);case Ne.TextString:return Fa(r);case Ne.Array:return Lf(r,e);case Ne.Map:return Mf(r,e);case Ne.Tag:return Kf(r,e);case Ne.Simple:return qf(r)}throw new ur(`Unsupported major type: ${t}`)}function Zi(){let e=Mo.at(Rt);if(Bf(e))throw new ur("Provided CBOR data is empty");let t=Uf(e),r=kf(e);return Rt++,[t,r]}function Lf(e,t){let r=eo(e);if(r===1/0){let o=[],i=Cn(t);for(;i!==gu;)o.push(t?.(i)??i),i=Cn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Cn(t);n[o]=t?.(i)??i}return n}function qf(e){switch(e){case Et.False:return!1;case Et.True:return!0;case Et.Null:return null;case Et.Undefined:return;case Et.Break:return gu}throw new ur(`Unrecognized simple type: ${e.toString(2)}`)}function Mf(e,t){let r=eo(e),n={};if(r===1/0){let[o,i]=Zi();for(;o!==Ne.Simple&&i!==Et.Break;){let s=Fa(i),a=Cn(t);n[s]=t?.(a,s)??a,[o,i]=Zi()}return n}for(let o=0;o<r;o++){let[i,s]=Zi();if(i!==Ne.TextString)throw new ur("Map keys must be text strings");let a=Fa(s),c=Cn(t);n[a]=t?.(c,a)??c}return n}function eo(e){if(e<=Ot.Value)return e;switch(Lo=new DataView(Mo.buffer,Mo.byteOffset+Rt),e){case Ot.OneByte:return Rt++,Lo.getUint8(0);case Ot.TwoBytes:return Rt+=2,Lo.getUint16(0,Qn);case Ot.FourBytes:return Rt+=4,Lo.getUint32(0,Qn);case Ot.EightBytes:return Rt+=8,Lo.getBigUint64(0,Qn);case Ot.Indefinite:return 1/0;default:throw new ur(`Unsupported integer info: ${e.toString(2)}`)}}function jf(e){let t=eo(e);return typeof t=="number"?-1-t:-1n-t}function wu(e){let t=eo(e);if(t>Number.MAX_SAFE_INTEGER)throw new ur("Byte length is too large");let r=Number(t);return Rt+=r,Mo.slice(Rt-r,Rt)}function Fa(e){let t=wu(e);return Df.decode(t)}function Kf(e,t){let r=eo(e);if(r===yu)return Cn(t);throw new ur(`Unsupported tag: ${r}.`)}var jo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Hf=2*1024,$f=100,Gf=new TextEncoder;function qo(e){return e<<5}var it=new Uint8Array(Hf),Nt=new DataView(it.buffer),Te=0,Ca=[];function Tu(e,t){Te=0;let r=t?.(e)??e;return eh(yu,r,t),it.slice(0,Te)}function Pa(e,t){if(Te>it.length-$f&&(it=xu(it,it.length*2),Nt=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){zf(e);return}if(typeof e=="number"||typeof e=="bigint"){Qf(e);return}if(typeof e=="string"){Eu(e);return}if(e instanceof Uint8Array){_u(e);return}if(e instanceof ArrayBuffer){_u(new Uint8Array(e));return}if(Array.isArray(e)){Jf(e,t);return}if(typeof e=="object"){Wf(e,t);return}throw new jo(`Unsupported type: ${typeof e}`)}function Jf(e,t){to(Ne.Array,e.length),e.forEach((r,n)=>{Pa(t?.(r,n.toString())??r,t)})}function Wf(e,t){Ca=Object.entries(e),to(Ne.Map,Ca.length),Ca.forEach(([r,n])=>{Eu(r),Pa(t?.(n,r)??n,t)})}function to(e,t){if(t<=Sf){Nt.setUint8(Te++,qo(e)|Number(t));return}if(t<=Cf){Nt.setUint8(Te++,qo(e)|Ot.OneByte),Nt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Ff){Nt.setUint8(Te++,qo(e)|Ot.TwoBytes),Nt.setUint16(Te,Number(t),Qn),Te+=2;return}if(t<=Pf){Nt.setUint8(Te++,qo(e)|Ot.FourBytes),Nt.setUint32(Te,Number(t),Qn),Te+=4;return}if(t<=Vf){Nt.setUint8(Te++,qo(e)|Ot.EightBytes),Nt.setBigUint64(Te,BigInt(t),Qn),Te+=8;return}throw new jo(`Value too large to encode: ${t}`)}function zf(e){to(Ne.Simple,Yf(e))}function Yf(e){if(e===!1)return Et.False;if(e===!0)return Et.True;if(e===null)return Et.Null;if(e===void 0)return Et.Undefined;throw new jo(`Unrecognized simple value: ${e.toString()}`)}function Nu(e,t){to(e,t.length),Te>it.length-t.length&&(it=xu(it,it.length+t.length),Nt=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function Ou(e,t){to(e,t)}function Zf(e){Ou(Ne.UnsignedInteger,e)}function Xf(e){Ou(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Qf(e){e>=0?Zf(e):Xf(e)}function Eu(e){Nu(Ne.TextString,Gf.encode(e))}function _u(e){Nu(Ne.ByteString,e)}function eh(e,t,r){to(Ne.Tag,e),Pa(t,r)}function rh(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Ko(e){try{return Tu(e,t=>k.isPrincipal(t)?t.toUint8Array():ro.isExpiry(t)?t.toBigInt():rh(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Si(t,e))}}function Me(e){try{return bu(e)}catch(t){throw Y.fromCode(new Ai(t,e))}}var Xi={encode:Ko,decode:Me};var Ho=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var dr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(dr||(dr={}));var es;(function(e){e.Call="call"})(es||(es={}));var Fn;(function(e){e.Query="query",e.ReadState="read_state"})(Fn||(Fn={}));function $o(){let e=new ArrayBuffer(16),t=new DataView(e),r=Ho(),n=Ho(),o=Ho(),i=Ho();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var ts="__expiry__",Va=BigInt(1e3),nh=BigInt(1e6),oh=BigInt(60),Ba=oh*Va,ih=BigInt(1)*Ba;function sh(e){return e/Va*Va}function ah(e){return e/Ba*Ba}var ro=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=ah(o),s;return i>=n+ih?s=i:s=sh(o),new e(s*nh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ts]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ts])try{let n=BigInt(r[ts]);return new e(n)}catch(n){throw new Y(new So(`Not a valid BigInt: ${n}`))}throw new Y(new So(`The input does not contain the key ${ts}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function Da(e=$o){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===dr.Call&&(t.body.nonce=e())}}function Ua(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var La=BigInt(0),rs=BigInt(1);function Pn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Ur(e,t,r=""){let n=St(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Ru(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?La:BigInt("0x"+e)}function Ye(e){return Ru(j(e))}function pr(e){return me(e),Ru(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function qa(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(St(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function Iu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ma(e){return Uint8Array.from(e)}var ka=e=>typeof e=="bigint"&&La<=e;function ja(e,t,r){return ka(e)&&ka(t)&&ka(r)&&t<=e&&e<r}function ns(e,t,r,n){if(!ja(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function fr(e){let t;for(t=0;e>La;e>>=rs,t+=1);return t}function vu(e,t){return e>>BigInt(t)&rs}var It=e=>(rs<<BigInt(e))-rs;function Au(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function hr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var no=()=>{throw new Error("not implemented")};function kr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var je=BigInt(0),Ie=BigInt(1),Vn=BigInt(2),Cu=BigInt(3),Fu=BigInt(4),Pu=BigInt(5),ch=BigInt(7),Vu=BigInt(8),lh=BigInt(9),Bu=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function vt(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function Su(e,t){if(e===je)throw new Error("invert: expected non-zero number");if(t<=je)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,o=je,i=Ie,s=Ie,a=je;for(;r!==je;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return le(o,t)}function Ka(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Du(e,t){let r=(e.ORDER+Ie)/Fu,n=e.pow(t,r);return Ka(e,n,t),n}function uh(e,t){let r=(e.ORDER-Pu)/Vu,n=e.mul(t,Vn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Vn),o),a=e.mul(i,e.sub(s,e.ONE));return Ka(e,a,t),a}function dh(e){let t=Ke(e),r=Uu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+ch)/Bu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return Ka(a,g,c),g}}function Uu(e){if(e<Cu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Vn===je;)t/=Vn,r++;let n=Vn,o=Ke(e);for(;Go(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Du;let i=o.pow(n,t),s=(t+Ie)/Vn;return function(c,u){if(c.is0(u))return u;if(Go(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function ph(e){return e%Fu===Cu?Du:e%Vu===Pu?uh:e%Bu===lh?dh(e):Uu(e)}var mr=(e,t)=>(le(e,t)&Ie)===Ie,fh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function os(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=fh.reduce((n,o)=>(n[o]="function",n),t);return hr(e,r),e}function Jo(e,t,r){if(r<je)throw new Error("invalid exponent, negatives unsupported");if(r===je)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>je;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function ut(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Go(e,t){let r=(e.ORDER-Ie)/Vn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Ha(e,t){t!==void 0&&da(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ke(e,t,r=!1,n={}){if(e<=je)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Ha(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:It(c),ZERO:je,ONE:Ie,allowedLengths:a,create:l=>le(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return je<=l&&l<e},is0:l=>l===je,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>le(-l,e),eql:(l,f)=>l===f,sqr:l=>le(l*l,e),add:(l,f)=>le(l+f,e),sub:(l,f)=>le(l-f,e),mul:(l,f)=>le(l*f,e),pow:(l,f)=>Jo(d,l,f),div:(l,f)=>le(l*Su(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>Su(l,e),sqrt:i||(l=>(p||(p=ph(e)),p(d,l))),toBytes:l=>r?qa(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?pr(l):Ye(l);if(s&&(h=le(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>ut(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function ku(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function is(e){let t=ku(e);return t+Math.ceil(t/2)}function $a(e,t,r=!1){let n=e.length,o=ku(t),i=is(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?pr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?qa(a,o):Oe(a,o)}var oo=BigInt(0),Bn=BigInt(1);function Wo(e,t){let r=t.negate();return e?r:t}function dt(e,t){let r=ut(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function ju(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ga(e,t){ju(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=It(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Lu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Bn);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function mh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function _h(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Ja=new WeakMap,Ku=new WeakMap;function Wa(e){return Ku.get(e)||1}function qu(e){if(e!==oo)throw new Error("invalid wNAF")}var io=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>oo;)r&Bn&&(n=n.add(o)),o=o.double(),r>>=Bn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ga(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=Ga(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Lu(n,a,s);n=c,p?i=i.add(Wo(l,r[f])):o=o.add(Wo(d,r[u]))}return qu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ga(t,this.bits);for(let s=0;s<i.windows&&n!==oo;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Lu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return qu(n),o}getPrecomputes(t,r,n){let o=Ja.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ja.set(r,o))),o}cached(t,r,n){let o=Wa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Wa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){ju(r,this.bits),Ku.set(t,r),Ja.delete(t)}hasCache(t){return Wa(t)!==1}};function Hu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>oo||n>oo;)r&Bn&&(i=i.add(o)),n&Bn&&(s=s.add(o)),o=o.double(),r>>=Bn,n>>=Bn;return{p1:i,p2:s}}function so(e,t,r,n){mh(r,e),_h(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=fr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=It(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Mu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return os(t),t}else return Ke(e,{isLE:r})}function ss(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>oo))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Mu(t.p,r.Fp,n),i=Mu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var yh=Ye;function Lr(e,t){if(zo(e),zo(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function gh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function zo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function $u(e){if(!St(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function xh(e,t,r,n){me(e),zo(r),t=$u(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,Lr(t.length,1)),c=Lr(0,i),u=Lr(r,2),p=new Array(s),d=n(K(c,e,u,Lr(0,1),a));p[0]=n(K(d,Lr(1,1),a));for(let f=1;f<=s;f++){let h=[gh(d,p[f-1]),Lr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function bh(e,t,r,n,o){if(me(e),zo(r),t=$u(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Lr(r,2)).update(t).update(Lr(t.length,1)).digest()}function za(e,t,r){hr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Au(r.hash))throw new Error("expected valid hash");me(e),zo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=xh(e,c,d,s);else if(a==="xof")l=bh(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=le(yh(x),n)}f[h]=_}return f}function Ya(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=ut(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var wh=$("HashToScalar-");function Za(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=za(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=za(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:wh},s);return za(i,1,c)[0][0]}}}var Gu=(e,t)=>(e+(e>=0?t:-t)/_r)/t;function Th(e,t,r){let[[n,o],[i,s]]=t,a=Gu(s*e,r),c=Gu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Dn,l=p<Dn;d&&(u=-u),l&&(p=-p);let f=It(Math.ceil(fr(r)/2))+He;if(u<Dn||u>=f||p<Dn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Dn=BigInt(0),He=BigInt(1),_r=BigInt(2),ao=BigInt(3),Xa=BigInt(4);function Yo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Nh(e,t={}){let r=ss("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;hr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Rh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),L=n.toBytes(C);if(Pn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(Oh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Ur(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],L=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let P=_(A),V;try{V=n.sqrt(P)}catch(te){let ee=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(V);return(B&1)===1!==D&&(V=n.neg(V)),{x:A,y:V}}else if(C===N&&B===4){let A=n.BYTES,P=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(P,V))throw new Error("bad point: is not on curve");return{x:P,y:V}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,ao),Xa),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Th(S,c.basises,o.ORDER)}let O=kr((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),P=n.mul(C,b),V=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(V,n.ONE))throw new Error("invZ was invalid");return{x:A,y:P}}),R=kr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=Wo(C,b),N=Wo(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Ur(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(ao),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.eql(n.mul(N,P),n.mul(L,B)),D=n.eql(n.mul(C,P),n.mul(A,B));return V&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,ao),{X:B,Y:L,Z:A}=this,P=n.ZERO,V=n.ZERO,D=n.ZERO,q=n.mul(B,B),te=n.mul(L,L),ee=n.mul(A,A),J=n.mul(B,L);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),P=n.mul(b,D),V=n.mul(C,ee),V=n.add(P,V),P=n.sub(te,V),V=n.add(te,V),V=n.mul(P,V),P=n.mul(J,P),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(q,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(q,q),q=n.add(D,q),q=n.add(q,ee),q=n.mul(q,J),V=n.add(V,q),ee=n.mul(L,A),ee=n.add(ee,ee),q=n.mul(ee,J),P=n.sub(P,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(P,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,ao),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,P),Fe=n.add(N,C),oe=n.add(L,A);Fe=n.mul(Fe,oe),oe=n.add(J,ae),Fe=n.sub(Fe,oe),oe=n.add(N,B);let re=n.add(L,P);return oe=n.mul(oe,re),re=n.add(J,he),oe=n.sub(oe,re),re=n.add(C,B),V=n.add(A,P),re=n.mul(re,V),V=n.add(ae,he),re=n.sub(re,V),q=n.mul(te,oe),V=n.mul(ee,he),q=n.add(V,q),V=n.sub(ae,q),q=n.add(ae,q),D=n.mul(V,q),ae=n.add(J,J),ae=n.add(ae,J),he=n.mul(te,he),oe=n.mul(ee,oe),ae=n.add(ae,he),he=n.sub(J,he),he=n.mul(te,he),oe=n.add(oe,he),J=n.mul(ae,oe),D=n.add(D,J),J=n.mul(re,oe),V=n.mul(Fe,V),V=n.sub(V,J),J=n.mul(Fe,ae),q=n.mul(re,q),q=n.add(q,J),new w(V,D,q)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,L=A=>F.cached(this,A,P=>dt(w,P));if(N){let{k1neg:A,k1:P,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(P),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:P}=L(b);C=A,B=P}return dt(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Dn||C.is0())return w.ZERO;if(b===He)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:P}=E(b),{p1:V,p2:D}=Hu(w,C,L,P);return v(N.beta,V,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===He?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===He?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Pn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return dt(w,b)}static msm(b,N){return so(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Yo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new io(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Oh(e){return Uint8Array.of(e?2:3)}function Eh(e,t){let r=e.ORDER,n=Dn;for(let h=r-He;h%_r===Dn;h/=_r)n+=He;let o=n,i=_r<<o-He-He,s=i*_r,a=(r-He)/s,c=(a-He)/_r,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/_r),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>He;O--){let R=O-_r;R=_r<<R-He;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Xa===ao){let h=(e.ORDER-ao)/Xa,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function Qa(e,t){os(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Eh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=ut(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Rh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function ec(e){let{CURVE:t,curveOpts:r}=Ih(e),n=Nh(t,r);return Ah(e,n)}function Ih(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function vh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Ah(e,t){let{Fp:r,Fn:n}=t;function o(s){return ja(s,He,n.ORDER)}let i=vh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Yo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Sh=BigInt(0),as=BigInt(1),Ju=BigInt(2),co=BigInt(3);function Ch(e){let t=[];for(;e>as;e>>=as)(e&as)===Sh?t.unshift(0):(e&co)===co?(t.unshift(-1),e+=as):t.unshift(1);return t}function tc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Fh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Ju));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,co)),I=o.mul(w,co),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),co),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),co)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),L=o.add(o.sub(C,o.mul(B,Ju)),o.mul(o.sqr(w),O));return T=o.mul(I,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=Ch(a),_=kr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];dt(t,y.map(({g1:O})=>O)),dt(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Wu(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=Yo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=Yo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(tc(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){tc(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){tc(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function zu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=ec(e.G1),a=Object.assign(s,Za(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=ec(e.G2),u=Object.assign(c,Za(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Fh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Wu(p,a,u,e.G2.Signature,!1),g=Wu(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Kn,x=()=>{let A=is(r.ORDER);return $a(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,P){return A instanceof a.Point?A:g.hash(pe("point",A),P?.DST)}function R(A,P){return A instanceof u.Point?A:_.hash(pe("point",A),P?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,P,V){let D=R(A,V),q=_.sign(D,P);return A instanceof u.Point?q:E.toBytes(q)}function F(A,P,V){let D=O(A,V),q=g.sign(D,P);return A instanceof a.Point?q:T.toBytes(q)}function S(A,P,V,D){let q=R(P,D);return _.verify(A,q,V)}function b(A,P,V,D){let q=O(P,D);return g.verify(A,q,V)}function N(A){let P=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?P:P.toBytes(!0)}function C(A){let P=_.aggregateSignatures(A);return A[0]instanceof u.Point?P:E.toBytes(P)}function B(A){let P=g.aggregateSignatures(A);return A[0]instanceof a.Point?P:T.toBytes(P)}function L(A,P,V,D){let q=P.map(te=>R(te,D));return _.verifyBatch(A,q,V)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Yu=BigInt(0),yr=BigInt(1),$e=BigInt(2),Zu=BigInt(3);function ic(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=yr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Qu(e,t,r){let n=t.pow(r,(e.ORDER-yr)/Zu),o=t.pow(r,(e.ORDER-yr)/$e);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**$e-yr)/Zu),a=t.pow(r,(e.ORDER**$e-yr)/$e);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Xu=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},rc=class{constructor(t,r={}){this.MASK=yr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=fr(o),this.BYTES=Math.ceil(fr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,$e),this.NONRESIDUE=Xu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ic(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Xu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Yu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Go(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Go(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%$e,i=r===Yu,s=n%$e;return BigInt(o||i&&s)==yr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},nc=class{constructor(t){this.MASK=yr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=ic(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),$e),a=o.mul(o.mul(r,n),$e),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return no()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},oc=class{constructor(t,r){this.MASK=yr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=ic(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){no()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),$e),d),c1:o.add(o.mul(o.sub(f,s),$e),f),c2:o.add(o.mul(o.sub(_,a),$e),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$e),m),c1:o.add(o.mul(o.add(l,u),$e),l),c2:o.add(o.mul(o.add(h,p),$e),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),vu(r,o)&&(n=this.mul(n,t));return n}};function ed(e){let t=Ke(e.ORDER),r=new rc(t,e),n=new nc(r),o=new oc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),cs=BigInt(1),pt=BigInt(2),ls=BigInt(3),Zo=BigInt(4),qr=BigInt("0xd201000000010000"),Ph=fr(qr),Un={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:Zo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Vh=Ke(Un.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:z,Fp6:Bh,Fp12:X}=ed({ORDER:Un.p,X_LEN:Ph,FP2_NONRESIDUE:[cs,cs],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Zo),n=M.mul(t,Zo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=qr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:td,G2psi2:Dh}=Qu(M,z,z.div(z.ONE,z.NONRESIDUE)),sc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),lc={p:z.ORDER,n:Un.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:z.ZERO,b:z.fromBigTuple([Zo,Zo]),Gx:z.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:z.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},us=Xo(M.toBytes(Ve),{infinity:!0,compressed:!0});function ds(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function Xo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Uh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return us.slice();let c=!!(a*pt/o);return Xo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function ac(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return us.slice();let i=!!(o*pt/r);return Xo(Oe(n,t),{compressed:!0,sort:i})}function kh(e){let{compressed:t,infinity:r,sort:n,value:o}=ds(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&It(M.BITS));if(r){if(c!==Ve)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ve,y:Ve}}let u=M.add(M.pow(c,ls),M.create(Un.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*pt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=Ye(o.subarray(0,i)),c=Ye(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Qo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function rd(e){let{infinity:t,sort:r,value:n}=ds(pe("signatureHex",e,48)),o=M.ORDER,i=Qo.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&It(M.BITS)),c=M.add(M.pow(a,ls),M.create(Un.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*pt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Lh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(us,Oe(Ve,n));let c=!!(a.c1===Ve?a.c0*pt/o:a.c1*pt/o);return K(Xo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=z.reim(s),{re:p,im:d}=z.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function cc(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(us,Oe(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=z.reim(r),{re:s,im:a}=z.reim(n),u=!!((a>Ve?a*pt:s*pt)/M.ORDER&cs),p=o;return K(Xo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function qh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=ds(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ye(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:z.ZERO,y:z.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=z.create({c0:M.create(u),c1:M.create(c)}),d=z.add(z.pow(p,ls),lc.b),l=z.sqrt(d),f=l.c1===Ve?l.c0*pt/r:l.c1*pt/r?cs:Ve;return l=i&&f>0?l:z.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:z.ZERO,y:z.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:z.fromBigTuple([u,c]),y:z.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function nd(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=ds(pe("signatureHex",e)),i=Qo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ye(o.slice(0,s)),c=Ye(o.slice(s));if(r)return i.ZERO;let u=M.create(a&It(M.BITS)),p=M.create(c),d=z.create({c0:p,c1:u}),l=z.add(z.pow(d,ls),lc.b),f=z.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=z.reim(f),g=BigInt(n),m=_>Ve&&_*pt/t!==g,x=_===Ve&&h*pt/t!==g;(m||x)&&(f=z.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Qo=zu({fields:{Fp:M,Fp2:z,Fp6:Bh,Fp12:X,Fr:Vh},G1:{...Un,Fp:M,htfDefaults:{...sc,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(qr).negate().multiplyUnsafe(qr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(qr).add(t),mapToCurve:$h,fromBytes:kh,toBytes:Uh,ShortSignature:{fromBytes(e){return me(e),rd(e)},fromHex(e){return rd(e)},toBytes(e){return ac(e)},toRawBytes(e){return ac(e)},toHex(e){return j(ac(e))}}},G2:{...lc,Fp:z,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...sc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Gh,isTorsionFree:(e,t)=>t.multiplyUnsafe(qr).negate().equals(td(e,t)),clearCofactor:(e,t)=>{let r=qr,n=t.multiplyUnsafe(r).negate(),o=td(e,t),i=t.double();return i=Dh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:qh,toBytes:Lh,Signature:{fromBytes(e){return me(e),nd(e)},fromHex(e){return nd(e)},toBytes(e){return cc(e)},toRawBytes(e){return cc(e)},toHex(e){return j(cc(e))}}},params:{ateLoopSize:qr,r:Un.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:sc,hash:Pe}),Mh=Ya(z,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>z.fromBigTuple(t.map(BigInt))))),jh=Ya(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),Kh=Qa(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),Hh=Qa(z,{A:z.create({c0:M.create(Ve),c1:M.create(BigInt(240))}),B:z.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:z.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function $h(e){let{x:t,y:r}=Kh(M.create(e[0]));return jh(t,r)}function Gh(e){let{x:t,y:r}=Hh(z.fromBigTuple(e));return Mh(t,r)}function od(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Qo.verifyShortSignature(o,i,n)}var Wh=BigInt(1e6),uc=e=>ge(new Tt(e)),Mr=e=>{let r=uc(e)/Wh;return new Date(Number(r))};var id=60*1e3,zh=60,Yh=24,Zh=Yh*zh,Xh=5,Qh=5,em=30*Zh,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function tm(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var st=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??od,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Xh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Me(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return gr(t,this.cert.tree)}lookup_subtree(t){return ri(t,this.cert.tree)}async verify(){let t=await fs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=nm(r),i=K(va,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new xt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*id,u=new Date,p=u.getTime()+a,d=p-c,l=p+Qh*id,f=Mr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Le.fromCode(new ir(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ce.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Le.fromCode(new ir(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new xt("Invalid signature"))}catch(a){throw Le.fromCode(new xt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:em,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Ni);await r.verify();let n;if(ad(this._principal)){let i=this._principal.canisterId;if(n=k.fromUint8Array(t.subnet_id),!dc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new On(i,n))}else if(sd(this._principal))n=this._principal.subnetId;else throw ct;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw sd(this._principal)?Le.fromCode(new Oi(n)):Le.fromCode(new Ri(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(ad(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function sd(e){return"subnetId"in e}function ad(e){return"canisterId"in e}var ei=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),rm=96;function nm(e){let t=ei.byteLength+rm;if(e.byteLength!==t)throw ne.fromCode(new Hn(t,e.byteLength));let r=e.slice(0,ei.byteLength);if(!Sn(r,ei))throw ne.fromCode(new Ii(ei,r));return e.slice(ei.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function fs(e){switch(e[0]){case fe.Empty:return Pe(ps("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Pe(K(ps("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Pe(K(ps("ic-hashtree-labeled"),e[1],await fs(e[2])));case fe.Fork:return Pe(K(ps("ic-hashtree-fork"),await fs(e[1]),await fs(e[2])));default:throw ct}}function ps(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function cd(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var jr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(jr||(jr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function gr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Pr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ct}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw ct}let r=cd(e),n=ti(r,t);switch(n.status){case ue.Found:return gr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:Be.Absent};case ue.Unknown:return{status:Be.Unknown};default:throw ct}}function ri(e,t){if(e.length===0)return{status:jr.Found,value:t};let r=cd(e),n=ti(r,t);switch(n.status){case ue.Found:return ri(e.slice(1),n.value);case ue.Unknown:return{status:jr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:jr.Absent};default:throw ct}}function ms(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return ms(e[1]).concat(ms(e[2]));default:return[e]}}function ti(e,t){switch(t[0]){case fe.Labeled:return tm(e,t[1])?{status:ue.Greater}:Sn(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=ti(e,t[1]);switch(r.status){case ue.Greater:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Unknown}:n}default:return r}}case fe.Pruned:return{status:ue.Unknown};default:return{status:ue.Absent}}}function hs(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return hs(e,t[1]).concat(hs(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return hs(o,n)}default:throw ct}}function dc(e){let t=om(e),r=pc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function om(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ri(["canister_ranges",t.toUint8Array()],r);if(o.status!==jr.Found)return im(t,r);let i=o.value,s=sm(i);if(s.length===0)throw ne.fromCode(new On(n,t));s.sort(Jn);let a=am(s,n),c=s[a];return cm(c,i)}function im(e,t){let r=gr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ne.fromCode(new bt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function pc(e){return Me(e).map(n=>[k.fromUint8Array(n[0]),k.fromUint8Array(n[1])])}function sm(e){let t=[];for(let r of hs([],e)){let n=r[0];if(!n)throw ne.fromCode(new xt("Path is invalid"));t.push(n)}return t}function am(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);Jn(e[i],r)<=0?o=i:n=i+1}return n}function cm(e,t){let r=gr([e],t);if(r.status!==Be.Found)throw ne.fromCode(new bt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function fc(e,t){return e.delegation?k.fromUint8Array(e.delegation.subnet_id):k.selfAuthenticating(t)}var ld=k.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function _s(e,t){switch(t){case"raw":return e;case"leb128":return uc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function ud(e){return Me(e).map(r=>k.fromUint8Array(r))}function dd(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function Kr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function lo(e,t){let r=ri(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==jr.Found)throw ne.fromCode(new bt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Pr("Invalid node tree"));let n=ms(r.value),o=new Map;return n.forEach(i=>{let s=k.from(i[1]).toText(),a=gr(["public_key"],i[2]);if(a.status!==Be.Found)throw ne.fromCode(new bt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new Hn(44,c.byteLength));o.set(s,c)}),o}var pd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=um(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=lm(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Mr(g));break}case"controllers":{s.set(_,ud(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:Kr(_)&&s.set(_.key,_s(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(xt)||d.hasCode(ir)))throw d;Kr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},lm=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Me(e),{delegation:o}=n,i;o&&o.subnet_id?i=k.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=k.selfAuthenticating(new Uint8Array(r)):i=ld;let s=lo(n,i);return{subnetId:i.toText(),nodeKeys:s}},um=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(Kr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?dd(e.path,r):e.path}throw ce.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function fd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=dm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=lo(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Mr(g));break}case"canisterRanges":{s.set(_,pc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Kr(_)&&s.set(_.key,_s(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(xt)||d.hasCode(ir)))throw d;Kr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function dm(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(Kr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ce.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Hr=BigInt(0),Ae=BigInt(1),hc=BigInt(2),pm=BigInt(8);function fm(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function hm(e,t={}){let r=ss("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;hr(t,{},{uvRatio:"function"});let a=hc<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Hr}}});if(!fm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Hr;return ns("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=kr((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?pm:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:Hr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=kr(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Ma(Ur(m,y,"point")),Pn(x,"zip215");let O=Ma(m),R=m[y-1];O[y-1]=R&-129;let v=pr(O),w=x?a:n.ORDER;ns("point.y",v,Hr,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===Hr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(hc),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(hc*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),L=c(S*F);return new h(N,C,L,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,P=c(b-x*S),V=c(B*L),D=c(A*P),q=c(B*P),te=c(L*A);return new h(V,D,te,q)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>dt(h,T));return dt(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Hr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>dt(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return dt(h,m)}static msm(m,x){return so(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Hr,Ae,Ae,Hr),h.Fp=n,h.Fn=o;let _=new io(h,o.BITS);return h.BASE.precompute(8),h}var ys=class{constructor(t){this.ep=t}static fromBytes(t){no()}static fromHex(t){no()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function mm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');hr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Kn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(Pn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(pr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),L=h(F.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let P=K(B,s.toBytes(A));return Ur(P,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&Pn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=pr(w.subarray(B,C)),P,V,D;try{P=e.fromBytes(F,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&P.isSmallOrder())return!1;let q=h(b,V.toBytes(),P.toBytes(),I);return V.add(P.multiplyUnsafe(q)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Ur(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return St(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Ur(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function _m(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function ym(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function hd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=_m(e),i=hm(t,r),s=mm(i,n,o);return ym(e,s)}var gm=BigInt(0),xr=BigInt(1),md=BigInt(2),bx=BigInt(3),xm=BigInt(5),bm=BigInt(8),uo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ni={p:uo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:bm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function wm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=uo,a=e*e%i*e%i,c=vt(a,md,i)*a%i,u=vt(c,xr,i)*e%i,p=vt(u,xm,i)*u%i,d=vt(p,t,i)*p%i,l=vt(d,r,i)*d%i,f=vt(l,n,i)*l%i,h=vt(f,o,i)*f%i,_=vt(h,o,i)*f%i,g=vt(_,t,i)*p%i;return{pow_p_5_8:vt(g,md,i)*e%i,b2:a}}function Tm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var mc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function gc(e,t){let r=uo,n=le(t*t*t,r),o=le(n*n*t,r),i=wm(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*mc,r),p=a===e,d=a===le(-e,r),l=a===le(-e*mc,r);return p&&(s=c),(d||l)&&(s=u),mr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var $r=Ke(ni.p,{isLE:!0}),Nm=Ke(ni.n,{isLE:!0}),Om={...ni,Fp:$r,hash:Bl,adjustScalarBytes:Tm,uvRatio:gc},Ge=hd(Om);var _c=mc,Em=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Rm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Im=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),vm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),_d=e=>gc(xr,e),Am=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),yc=e=>Ge.Point.Fp.create(pr(e)&Am);function yd(e){let{d:t}=ni,r=uo,n=m=>$r.create(m),o=n(_c*e*e),i=n((o+xr)*Im),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=gc(i,a),p=n(u*e);mr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-xr)*vm-a),l=u*u,f=n((u+u)*a),h=n(d*Em),_=n(xr-l),g=n(xr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Sm(e){me(e,64);let t=yc(e.subarray(0,32)),r=yd(t),n=yc(e.subarray(32,64)),o=yd(n);return new br(r.add(o))}var br=class e extends ys{constructor(t){super(t)}static fromAffine(t){return new e(Ge.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Sm(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ni,o=uo,i=T=>$r.create(T),s=yc(t);if(!Iu($r.toBytes(s),t)||mr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(xr+r*a),u=i(xr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=_d(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);mr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||mr(y,o)||x===gm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,xr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return so(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=uo,s=g=>$r.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=_d(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(mr(o*f,i)){let g=s(r*_c),m=s(t*_c);t=g,r=m,h=s(d*Rm)}else h=l;mr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return mr(_,i)&&(_=s(-_)),$r.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>$r.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};br.BASE=new br(Ge.Point.BASE);br.ZERO=new br(Ge.Point.ZERO);br.Fp=$r;br.Fn=Nm;var gd,xd,gs=class{static{gd=Symbol.iterator,xd=Symbol.toStringTag}#e;#t;constructor(t={}){this[gd]=this.entries.bind(this),this[xd]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var bd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},wd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},xc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new wt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new wt("Length too long (> 4 bytes)"))},Cm=(e,t)=>{let r=xc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new wt("Length too long (> 4 bytes)"))},oi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),kn=Uint8Array.from([48,5,6,3,43,101,112]),Ex=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Rx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Ln(e,t){let r=2+bd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+bd(n)+n);return i[o++]=48,o+=wd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=wd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var qn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new wt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=xc(o,r),!Sn(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new wt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Cm(o,r)-1;r+=xc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new vi(i,s.length));return s};var xs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Ln(t,kn)}static derDecode(t){let r=qn(t,kn);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new wt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new wt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var bc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},bs=class extends bc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var ws=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var kt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(kt||(kt={}));var Nc=60*1e3,Fm=1e6,Pm=0,Vm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Bm="ic0.app",Dm=".ic0.app",Um="icp0.io",km=".icp0.io",Lm="icp-api.io",qm=".icp-api.io",wc=200,Mm=202,jm=404;function Km(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new Gn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Hm(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var wr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*Nc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Pm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new bs,this.#h=[],this.#m=[],this.#_=new gs({expirationTime:5*Nc}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=k.fromUint8Array(d).toText(),f;if(s===Ir.Replied){let{reply:x}=o;f=Uo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Ir.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Uo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ce.fromCode(new Re(`Unknown status: ${s}`));let h=K(Aa,f),_=i.get(l);if(!_)throw ne.fromCode(new Li);let g=xs.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new qi(l))}return o},this.config=t,this.#o=t.fetch||Km()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(Vm);let r=Hm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new ws({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Dm)?this.host.hostname=Bm:this.host.hostname.endsWith(km)?this.host.hostname=Um:this.host.hostname.endsWith(qm)&&(this.host.hostname=Lm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new ot),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ft("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ft("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Da($o)),t.useQueryNonces&&this.addTransform("query",Da($o)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Di)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Fr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Fr);let s=k.from(t),a=r.effectiveCanisterId?k.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=Tc(this.#l,this.#r),p={request_type:es.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Ko(d.body),_=this.#f(),g=lr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?Me(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Io))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ft)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ce.fromCode(new En(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
48
|
+
`)}return a.encodeValue(c)}));return Z(Lf,n,o,i,s)}function Mf(e,t){let r=new At(t);if(t.byteLength<ns.length)throw new Error("Message length smaller than magic number");let n=Mr(r,ns.length),o=new TextDecoder().decode(n);if(o!==ns)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(ye(l));for(let m=0;m<h;m++){let x=Number(hr(l));switch(x){case Q.Opt:case Q.Vector:{let y=Number(hr(l));f.push([x,y]);break}case Q.Record:case Q.Variant:{let y=[],T=Number(ye(l)),O;for(;T--;){let R=Number(ye(l));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=R)throw new Error("field id collision or not sorted");O=R;let E=Number(hr(l));y.push([R,E])}f.push([x,y]);break}case Q.Func:{let y=[],T=Number(ye(l));for(;T--;)y.push(Number(hr(l)));let O=[],R=Number(ye(l));for(;R--;)O.push(Number(hr(l)));let E=[],v=Number(ye(l));for(;v--;)switch(Number(ye(l))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,O,E]]);break}case Q.Service:{let y=Number(ye(l)),T=[];for(;y--;){let O=Number(ye(l)),R=new TextDecoder().decode(Mr(l,O)),E=hr(l);T.push([R,E])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(ye(l));for(let m=0;m<g;m++)_.push(Number(hr(l)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>bu());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return eu;case-2:return Ql;case-3:return nu;case-4:return ru;case-5:return uu;case-6:return du;case-7:return pu;case-8:return fu;case-9:return su;case-10:return au;case-11:return cu;case-12:return lu;case-13:return ou;case-14:return iu;case-15:return tu;case-16:return Xl;case-17:return Zl;case-24:return hu;default:throw new Error("Illegal op_code: "+l)}if(l>=s.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Q.Vector:{let f=u(l[1]);return _u(f)}case Q.Opt:{let f=u(l[1]);return yu(f)}case Q.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=gu(f),_=h.tryAsTuple();return Array.isArray(_)?mu(..._):h}case Q.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return xu(f)}case Q.Func:{let[f,h,_]=l[1];return wu(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Q.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof dt&&(m=m.getType()),!(m instanceof Ln))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Tu(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===Q.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==Q.Func){let h=p(l);c[f].fill(h)}}),Sa();let d=a.map(l=>u(l));try{let l=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return l}finally{Sa()}}var Zl=new $o,Xl=new Ht,jf=new is,Ql=new ss,eu=new Un,tu=new as,ru=new Jo,nu=new Wo,ou=new zo(32),iu=new zo(64),su=new _r(8),au=new _r(16),cu=new _r(32),lu=new _r(64),uu=new jt(8),du=new jt(16),pu=new jt(32),fu=new jt(64),hu=new ls;function mu(...e){return new cs(e)}function _u(e){return new so(e)}function yu(e){return new jr(e)}function gu(e){return new kn(e)}function xu(e){return new ao(e)}function bu(){return new dt}function wu(e,t,r=[]){return new Ln(e,t,r)}function Tu(e){return new co(e)}var us=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
|
|
49
|
+
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},os=new us;function Sa(){os=new us}function Kf(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function va(e){return e instanceof jr||e instanceof Un||e instanceof Ht}function Va(e,t){let r=os.copy(),n=mr(r,e,t);return n?os.add(e,t):os.addNegative(e,t),n}function mr(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof Ht||t instanceof $o||t instanceof Wo&&r instanceof Jo)return!0;if(t instanceof so&&r instanceof so)return mr(e,t._type,r._type);if(r instanceof jr)return!0;if(t instanceof kn&&r instanceof kn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[je(i)];if(a){if(!mr(e,a,s))return!1}else if(!va(s))return!1}return!0}if(t instanceof Ln&&r instanceof Ln){if(!Kf(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!mr(e,r.argTypes[o],i))return!1}else if(!va(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!mr(e,t.retTypes[o],i))return!1}else if(!va(i))return!1}return!0}if(t instanceof ao&&r instanceof ao){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[je(i)];if(!a||!mr(e,s,a))return!1}return!0}if(t instanceof co&&r instanceof co){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!mr(e,a,s))return!1}return!0}return t instanceof dt?mr(e,t.getType(),r):r instanceof dt?mr(e,t,r.getType()):!1}function lo(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?lo(e.buffer):new Uint8Array(e)}function Mn(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Fa(e){if(typeof e=="string")return Nu(e);if(typeof e=="number")return Pe(ie(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Pe(lo(e));if(Array.isArray(e)){let t=e.map(Fa);return Pe(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Pe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Fa(e.toHash());if(typeof e=="object")return Yo(e);if(typeof e=="bigint")return Pe(ie(e))}throw z.fromCode(new zi(e))}var Nu=e=>{let t=new TextEncoder().encode(e);return Pe(t)};function yr(e){return Yo(e)}function Yo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Nu(s),u=Fa(a);return[c,u]}).sort(([s],[a])=>oo(s,a)),o=K(...n.map(s=>K(...s)));return Pe(o)}var Pa=new TextEncoder().encode("\ric-state-root"),Zo=new TextEncoder().encode(`
|
|
50
|
+
ic-request`),Ba=new TextEncoder().encode("\vic-response"),Da=new TextEncoder().encode("ic-request-auth-delegation");var Gt=class{getPrincipal(){return this._principal||(this._principal=L.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=yr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Zo,o))}}}},it=class{getPrincipal(){return L.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var gr=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Eu=55799,Ru=Symbol("CBOR_STOP_CODE"),Vt=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Vt||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Hf=23,Gf=255,$f=65535,Jf=4294967295,Wf=BigInt("0xffffffffffffffff"),Ct=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Ct||{}),uo=!1;function zf(e){return e==null}function vu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Yf=new TextDecoder;function Zf(e){return(e&224)>>5}function Xf(e){return e&31}var ei=new Uint8Array,Xo,Ft=0;function Iu(e,t){ei=e,Ft=0;let r=jn(t);return t?.(r)??r}function jn(e){let[t,r]=ds();switch(t){case Ne.UnsignedInteger:return po(r);case Ne.NegativeInteger:return rh(r);case Ne.ByteString:return Au(r);case Ne.TextString:return ka(r);case Ne.Array:return Qf(r,e);case Ne.Map:return th(r,e);case Ne.Tag:return nh(r,e);case Ne.Simple:return eh(r)}throw new gr(`Unsupported major type: ${t}`)}function ds(){let e=ei.at(Ft);if(zf(e))throw new gr("Provided CBOR data is empty");let t=Zf(e),r=Xf(e);return Ft++,[t,r]}function Qf(e,t){let r=po(e);if(r===1/0){let o=[],i=jn(t);for(;i!==Ru;)o.push(t?.(i)??i),i=jn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=jn(t);n[o]=t?.(i)??i}return n}function eh(e){switch(e){case Vt.False:return!1;case Vt.True:return!0;case Vt.Null:return null;case Vt.Undefined:return;case Vt.Break:return Ru}throw new gr(`Unrecognized simple type: ${e.toString(2)}`)}function th(e,t){let r=po(e),n={};if(r===1/0){let[o,i]=ds();for(;o!==Ne.Simple&&i!==Vt.Break;){let s=ka(i),a=jn(t);n[s]=t?.(a,s)??a,[o,i]=ds()}return n}for(let o=0;o<r;o++){let[i,s]=ds();if(i!==Ne.TextString)throw new gr("Map keys must be text strings");let a=ka(s),c=jn(t);n[a]=t?.(c,a)??c}return n}function po(e){if(e<=Ct.Value)return e;switch(Xo=new DataView(ei.buffer,ei.byteOffset+Ft),e){case Ct.OneByte:return Ft++,Xo.getUint8(0);case Ct.TwoBytes:return Ft+=2,Xo.getUint16(0,uo);case Ct.FourBytes:return Ft+=4,Xo.getUint32(0,uo);case Ct.EightBytes:return Ft+=8,Xo.getBigUint64(0,uo);case Ct.Indefinite:return 1/0;default:throw new gr(`Unsupported integer info: ${e.toString(2)}`)}}function rh(e){let t=po(e);return typeof t=="number"?-1-t:-1n-t}function Au(e){let t=po(e);if(t>Number.MAX_SAFE_INTEGER)throw new gr("Byte length is too large");let r=Number(t);return Ft+=r,ei.slice(Ft-r,Ft)}function ka(e){let t=Au(e);return Yf.decode(t)}function nh(e,t){let r=po(e);if(r===Eu)return jn(t);throw new gr(`Unsupported tag: ${r}.`)}var ti=class extends Error{constructor(t){super(t),this.name="SerializationError"}},oh=2*1024,ih=100,sh=new TextEncoder;function Qo(e){return e<<5}var st=new Uint8Array(oh),St=new DataView(st.buffer),Te=0,Ua=[];function Su(e,t){Te=0;let r=t?.(e)??e;return hh(Eu,r,t),st.slice(0,Te)}function La(e,t){if(Te>st.length-ih&&(st=vu(st,st.length*2),St=new DataView(st.buffer)),e===!1||e===!0||e===null||e===void 0){lh(e);return}if(typeof e=="number"||typeof e=="bigint"){fh(e);return}if(typeof e=="string"){Fu(e);return}if(e instanceof Uint8Array){Ou(e);return}if(e instanceof ArrayBuffer){Ou(new Uint8Array(e));return}if(Array.isArray(e)){ah(e,t);return}if(typeof e=="object"){ch(e,t);return}throw new ti(`Unsupported type: ${typeof e}`)}function ah(e,t){fo(Ne.Array,e.length),e.forEach((r,n)=>{La(t?.(r,n.toString())??r,t)})}function ch(e,t){Ua=Object.entries(e),fo(Ne.Map,Ua.length),Ua.forEach(([r,n])=>{Fu(r),La(t?.(n,r)??n,t)})}function fo(e,t){if(t<=Hf){St.setUint8(Te++,Qo(e)|Number(t));return}if(t<=Gf){St.setUint8(Te++,Qo(e)|Ct.OneByte),St.setUint8(Te,Number(t)),Te+=1;return}if(t<=$f){St.setUint8(Te++,Qo(e)|Ct.TwoBytes),St.setUint16(Te,Number(t),uo),Te+=2;return}if(t<=Jf){St.setUint8(Te++,Qo(e)|Ct.FourBytes),St.setUint32(Te,Number(t),uo),Te+=4;return}if(t<=Wf){St.setUint8(Te++,Qo(e)|Ct.EightBytes),St.setBigUint64(Te,BigInt(t),uo),Te+=8;return}throw new ti(`Value too large to encode: ${t}`)}function lh(e){fo(Ne.Simple,uh(e))}function uh(e){if(e===!1)return Vt.False;if(e===!0)return Vt.True;if(e===null)return Vt.Null;if(e===void 0)return Vt.Undefined;throw new ti(`Unrecognized simple value: ${e.toString()}`)}function Cu(e,t){fo(e,t.length),Te>st.length-t.length&&(st=vu(st,st.length+t.length),St=new DataView(st.buffer)),st.set(t,Te),Te+=t.length}function Vu(e,t){fo(e,t)}function dh(e){Vu(Ne.UnsignedInteger,e)}function ph(e){Vu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function fh(e){e>=0?dh(e):ph(e)}function Fu(e){Cu(Ne.TextString,sh.encode(e))}function Ou(e){Cu(Ne.ByteString,e)}function hh(e,t,r){fo(Ne.Tag,e),La(t,r)}function _h(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function ri(e){try{return Su(e,t=>L.isPrincipal(t)?t.toUint8Array():ho.isExpiry(t)?t.toBigInt():_h(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new Hi(t,e))}}function Ke(e){try{return Iu(e)}catch(t){throw z.fromCode(new Ki(t,e))}}var ps={encode:ri,decode:Ke};var ni=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var xr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(xr||(xr={}));var hs;(function(e){e.Call="call"})(hs||(hs={}));var Kn;(function(e){e.Query="query",e.ReadState="read_state"})(Kn||(Kn={}));function oi(){let e=new ArrayBuffer(16),t=new DataView(e),r=ni(),n=ni(),o=ni(),i=ni();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var ms="__expiry__",qa=BigInt(1e3),yh=BigInt(1e6),gh=BigInt(60),Ma=gh*qa,xh=BigInt(1)*Ma;function bh(e){return e/qa*qa}function wh(e){return e/Ma*Ma}var ho=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=wh(o),s;return i>=n+xh?s=i:s=bh(o),new e(s*yh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ms]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ms])try{let n=BigInt(r[ms]);return new e(n)}catch(n){throw new z(new Ko(`Not a valid BigInt: ${n}`))}throw new z(new Ko(`The input does not contain the key ${ms}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function ja(e=oi){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===xr.Call&&(t.body.nonce=e())}}function Ka(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Ga=BigInt(0),_s=BigInt(1);function Hn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Kr(e,t,r=""){let n=kt(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Pu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ga:BigInt("0x"+e)}function Xe(e){return Pu(j(e))}function br(e){return he(e),Pu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function $a(e,t){return Oe(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(kt(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function Bu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ja(e){return Uint8Array.from(e)}var Ha=e=>typeof e=="bigint"&&Ga<=e;function Wa(e,t,r){return Ha(e)&&Ha(t)&&Ha(r)&&t<=e&&e<r}function ys(e,t,r,n){if(!Wa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function wr(e){let t;for(t=0;e>Ga;e>>=_s,t+=1);return t}function Du(e,t){return e>>BigInt(t)&_s}var Pt=e=>(_s<<BigInt(e))-_s;function Uu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Tr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var mo=()=>{throw new Error("not implemented")};function Hr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var He=BigInt(0),ve=BigInt(1),Gn=BigInt(2),Lu=BigInt(3),qu=BigInt(4),Mu=BigInt(5),Th=BigInt(7),ju=BigInt(8),Nh=BigInt(9),Ku=BigInt(16);function ce(e,t){let r=e%t;return r>=He?r:t+r}function Bt(e,t,r){let n=e;for(;t-- >He;)n*=n,n%=r;return n}function ku(e,t){if(e===He)throw new Error("invert: expected non-zero number");if(t<=He)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=He,i=ve,s=ve,a=He;for(;r!==He;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==ve)throw new Error("invert: does not exist");return ce(o,t)}function za(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Hu(e,t){let r=(e.ORDER+ve)/qu,n=e.pow(t,r);return za(e,n,t),n}function Oh(e,t){let r=(e.ORDER-Mu)/ju,n=e.mul(t,Gn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Gn),o),a=e.mul(i,e.sub(s,e.ONE));return za(e,a,t),a}function Eh(e){let t=Ge(e),r=Gu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Th)/Ku;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return za(a,g,c),g}}function Gu(e){if(e<Lu)throw new Error("sqrt is not defined for small field");let t=e-ve,r=0;for(;t%Gn===He;)t/=Gn,r++;let n=Gn,o=Ge(e);for(;ii(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Hu;let i=o.pow(n,t),s=(t+ve)/Gn;return function(c,u){if(c.is0(u))return u;if(ii(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=ve<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function Rh(e){return e%qu===Lu?Hu:e%ju===Mu?Oh:e%Ku===Nh?Eh(e):Gu(e)}var Nr=(e,t)=>(ce(e,t)&ve)===ve,vh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function gs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=vh.reduce((n,o)=>(n[o]="function",n),t);return Tr(e,r),e}function si(e,t,r){if(r<He)throw new Error("invalid exponent, negatives unsupported");if(r===He)return e.ONE;if(r===ve)return t;let n=e.ONE,o=t;for(;r>He;)r&ve&&(n=e.mul(n,o)),o=e.sqr(o),r>>=ve;return n}function pt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function ii(e,t){let r=(e.ORDER-ve)/Gn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Ya(e,t){t!==void 0&&ya(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ge(e,t,r=!1,n={}){if(e<=He)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Ya(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Pt(c),ZERO:He,ONE:ve,allowedLengths:a,create:l=>ce(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return He<=l&&l<e},is0:l=>l===He,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&ve)===ve,neg:l=>ce(-l,e),eql:(l,f)=>l===f,sqr:l=>ce(l*l,e),add:(l,f)=>ce(l+f,e),sub:(l,f)=>ce(l-f,e),mul:(l,f)=>ce(l*f,e),pow:(l,f)=>si(d,l,f),div:(l,f)=>ce(l*ku(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>ku(l,e),sqrt:i||(l=>(p||(p=Rh(e)),p(d,l))),toBytes:l=>r?$a(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?br(l):Xe(l);if(s&&(h=ce(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>pt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function $u(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function xs(e){let t=$u(e);return t+Math.ceil(t/2)}function Za(e,t,r=!1){let n=e.length,o=$u(t),i=xs(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?br(e):Xe(e),a=ce(s,t-ve)+ve;return r?$a(a,o):Oe(a,o)}var _o=BigInt(0),$n=BigInt(1);function ai(e,t){let r=t.negate();return e?r:t}function ft(e,t){let r=pt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Yu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Xa(e,t){Yu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Pt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Ju(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=$n);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function Ah(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Sh(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Qa=new WeakMap,Zu=new WeakMap;function ec(e){return Zu.get(e)||1}function Wu(e){if(e!==_o)throw new Error("invalid wNAF")}var yo=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>_o;)r&$n&&(n=n.add(o)),o=o.double(),r>>=$n;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Xa(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=Xa(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Ju(n,a,s);n=c,p?i=i.add(ai(l,r[f])):o=o.add(ai(d,r[u]))}return Wu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Xa(t,this.bits);for(let s=0;s<i.windows&&n!==_o;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Ju(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Wu(n),o}getPrecomputes(t,r,n){let o=Qa.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Qa.set(r,o))),o}cached(t,r,n){let o=ec(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=ec(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Yu(r,this.bits),Zu.set(t,r),Qa.delete(t)}hasCache(t){return ec(t)!==1}};function Xu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>_o||n>_o;)r&$n&&(i=i.add(o)),n&$n&&(s=s.add(o)),o=o.double(),r>>=$n,n>>=$n;return{p1:i,p2:s}}function go(e,t,r,n){Ah(r,e),Sh(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=wr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Pt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function zu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return gs(t),t}else return Ge(e,{isLE:r})}function bs(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>_o))throw new Error(`CURVE.${c} must be positive bigint`)}let o=zu(t.p,r.Fp,n),i=zu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var Ch=Xe;function Gr(e,t){if(ci(e),ci(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function Vh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function ci(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Qu(e){if(!kt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function Fh(e,t,r,n){he(e),ci(r),t=Qu(t),t.length>255&&(t=n(K(G("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,Gr(t.length,1)),c=Gr(0,i),u=Gr(r,2),p=new Array(s),d=n(K(c,e,u,Gr(0,1),a));p[0]=n(K(d,Gr(1,1),a));for(let f=1;f<=s;f++){let h=[Vh(d,p[f-1]),Gr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Ph(e,t,r,n,o){if(he(e),ci(r),t=Qu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Gr(r,2)).update(t).update(Gr(t.length,1)).digest()}function tc(e,t,r){Tr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Uu(r.hash))throw new Error("expected valid hash");he(e),ci(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Fh(e,c,d,s);else if(a==="xof")l=Ph(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=ce(Ch(x),n)}f[h]=_}return f}function rc(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=pt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Bh=G("HashToScalar-");function nc(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=tc(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=tc(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Bh},s);return tc(i,1,c)[0][0]}}}var ed=(e,t)=>(e+(e>=0?t:-t)/Or)/t;function Dh(e,t,r){let[[n,o],[i,s]]=t,a=ed(s*e,r),c=ed(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Jn,l=p<Jn;d&&(u=-u),l&&(p=-p);let f=Pt(Math.ceil(wr(r)/2))+$e;if(u<Jn||u>=f||p<Jn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Jn=BigInt(0),$e=BigInt(1),Or=BigInt(2),xo=BigInt(3),oc=BigInt(4);function li(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Uh(e,t={}){let r=bs("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Tr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=qh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(C,b,N){let{x:S,y:B}=b.toAffine(),k=n.toBytes(S);if(Hn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(kh(A),k)}else return K(Uint8Array.of(4),k,n.toBytes(B))}function l(C){Kr(C,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,S=C.length,B=C[0],k=C.subarray(1);if(S===b&&(B===2||B===3)){let A=n.fromBytes(k);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let F=_(A),P;try{P=n.sqrt(F)}catch(ee){let ne=ee instanceof Error?": "+ee.message:"";throw new Error("bad point: is not on curve, sqrt error"+ne)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(S===N&&B===4){let A=n.BYTES,F=n.fromBytes(k.subarray(0,A)),P=n.fromBytes(k.subarray(A,A*2));if(!g(F,P))throw new Error("bad point: is not on curve");return{x:F,y:P}}else throw new Error(`bad point: got length ${S}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(C){let b=n.sqr(C),N=n.mul(b,C);return n.add(n.add(N,n.mul(C,i.a)),i.b)}function g(C,b){let N=n.sqr(b),S=_(C);return n.eql(N,S)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,xo),oc),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(C,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${C}`);return b}function T(C){if(!(C instanceof w))throw new Error("ProjectivePoint expected")}function O(C){if(!c||!c.basises)throw new Error("no endo");return Dh(C,c.basises,o.ORDER)}let R=Hr((C,b)=>{let{X:N,Y:S,Z:B}=C;if(n.eql(B,n.ONE))return{x:N,y:S};let k=C.is0();b==null&&(b=k?n.ONE:n.inv(B));let A=n.mul(N,b),F=n.mul(S,b),P=n.mul(B,b);if(k)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:F}}),E=Hr(C=>{if(C.is0()){if(t.allowInfinityPoint&&!n.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=C.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(C,b,N,S,B){return N=new w(n.mul(N.X,C),N.Y,N.Z),b=ai(S,b),N=ai(B,N),b.add(N)}class w{constructor(b,N,S){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:S}=b||{};if(!b||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?w.ZERO:new w(N,S,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Kr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(de("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return V.createCache(this,b),N||this.multiply(xo),this}assertValidity(){E(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:S,Z:B}=this,{X:k,Y:A,Z:F}=b,P=n.eql(n.mul(N,F),n.mul(k,B)),D=n.eql(n.mul(S,F),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,S=n.mul(N,xo),{X:B,Y:k,Z:A}=this,F=n.ZERO,P=n.ZERO,D=n.ZERO,M=n.mul(B,B),ee=n.mul(k,k),ne=n.mul(A,A),Y=n.mul(B,k);return Y=n.add(Y,Y),D=n.mul(B,A),D=n.add(D,D),F=n.mul(b,D),P=n.mul(S,ne),P=n.add(F,P),F=n.sub(ee,P),P=n.add(ee,P),P=n.mul(F,P),F=n.mul(Y,F),D=n.mul(S,D),ne=n.mul(b,ne),Y=n.sub(M,ne),Y=n.mul(b,Y),Y=n.add(Y,D),D=n.add(M,M),M=n.add(D,M),M=n.add(M,ne),M=n.mul(M,Y),P=n.add(P,M),ne=n.mul(k,A),ne=n.add(ne,ne),M=n.mul(ne,Y),F=n.sub(F,M),D=n.mul(ne,ee),D=n.add(D,D),D=n.add(D,D),new w(F,P,D)}add(b){T(b);let{X:N,Y:S,Z:B}=this,{X:k,Y:A,Z:F}=b,P=n.ZERO,D=n.ZERO,M=n.ZERO,ee=i.a,ne=n.mul(i.b,xo),Y=n.mul(N,k),we=n.mul(S,A),fe=n.mul(B,F),Fe=n.add(N,S),oe=n.add(k,A);Fe=n.mul(Fe,oe),oe=n.add(Y,we),Fe=n.sub(Fe,oe),oe=n.add(N,B);let te=n.add(k,F);return oe=n.mul(oe,te),te=n.add(Y,fe),oe=n.sub(oe,te),te=n.add(S,B),P=n.add(A,F),te=n.mul(te,P),P=n.add(we,fe),te=n.sub(te,P),M=n.mul(ee,oe),P=n.mul(ne,fe),M=n.add(P,M),P=n.sub(we,M),M=n.add(we,M),D=n.mul(P,M),we=n.add(Y,Y),we=n.add(we,Y),fe=n.mul(ee,fe),oe=n.mul(ne,oe),we=n.add(we,fe),fe=n.sub(Y,fe),fe=n.mul(ee,fe),oe=n.add(oe,fe),Y=n.mul(we,oe),D=n.add(D,Y),Y=n.mul(te,oe),P=n.mul(Fe,P),P=n.sub(P,Y),Y=n.mul(Fe,we),M=n.mul(te,M),M=n.add(M,Y),new w(P,D,M)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let S,B,k=A=>V.cached(this,A,F=>ft(w,F));if(N){let{k1neg:A,k1:F,k2neg:P,k2:D}=O(b),{p:M,f:ee}=k(F),{p:ne,f:Y}=k(D);B=ee.add(Y),S=v(N.beta,M,ne,A,P)}else{let{p:A,f:F}=k(b);S=A,B=F}return ft(w,[S,B])[0]}multiplyUnsafe(b){let{endo:N}=t,S=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Jn||S.is0())return w.ZERO;if(b===$e)return S;if(V.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:k,k2neg:A,k2:F}=O(b),{p1:P,p2:D}=Xu(w,S,k,F);return v(N.beta,P,D,B,A)}else return V.unsafe(S,b)}multiplyAndAddUnsafe(b,N,S){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(b){return R(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===$e?!0:b?b(w,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===$e?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Hn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return ft(w,b)}static msm(b,N){return go(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(li(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,V=new yo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function kh(e){return Uint8Array.of(e?2:3)}function Lh(e,t){let r=e.ORDER,n=Jn;for(let h=r-$e;h%Or===Jn;h/=Or)n+=$e;let o=n,i=Or<<o-$e-$e,s=i*Or,a=(r-$e)/s,c=(a-$e)/Or,u=s-$e,p=i,d=e.pow(t,a),l=e.pow(t,(a+$e)/Or),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let O=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,O),T=e.cmov(y,T,O);for(let R=o;R>$e;R--){let E=R-Or;E=Or<<E-$e;let v=e.pow(T,E),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:O,value:x}};if(e.ORDER%oc===xo){let h=(e.ORDER-xo)/oc,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let O=e.mul(T,_),R=e.mul(e.sqr(T),m),E=e.eql(R,g),v=e.cmov(O,T,E);return{isValid:E,value:v}}}return f}function ic(e,t){gs(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Lh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=pt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function qh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function sc(e){let{CURVE:t,curveOpts:r}=Mh(e),n=Uh(t,r);return Kh(e,n)}function Mh(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ge(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function jh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Kh(e,t){let{Fp:r,Fn:n}=t;function o(s){return Wa(s,$e,n.ORDER)}let i=jh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>li(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Hh=BigInt(0),ws=BigInt(1),td=BigInt(2),bo=BigInt(3);function Gh(e){let t=[];for(;e>ws;e>>=ws)(e&ws)===Hh?t.unshift(0):(e&bo)===bo?(t.unshift(-1),e+=ws):t.unshift(1);return t}function ac(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function $h(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,O,R,E,v)=>i.mul014(R,y,o.mul(T,E),o.mul(O,v));else if(s==="divisive")p=(y,T,O,R,E,v)=>i.mul034(R,o.mul(O,v),o.mul(T,E),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,td));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,bo)),I=o.mul(w,bo),V=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),C=o.sub(w,E),b=o.mul(o.sqr(T),bo),N=o.neg(V);return y.push([C,b,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,I),d)),o.mul(o.sqr(w),bo)),R=o.mul(E,V),{Rx:T,Ry:O,Rz:R}}function f(y,T,O,R,E,v){let w=o.sub(O,o.mul(v,R)),I=o.sub(T,o.mul(E,R)),V=o.sub(o.mul(w,E),o.mul(I,v)),C=o.neg(w),b=I;y.push([V,C,b]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,T),k=o.add(o.sub(S,o.mul(B,td)),o.mul(o.sqr(w),R));return T=o.mul(I,k),O=o.sub(o.mul(o.sub(B,k),w),o.mul(S,O)),R=o.mul(R,S),{Rx:T,Ry:O,Rz:R}}let h=Gh(a),_=Hr(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),I=E,V=v,C=o.ONE,b=[];for(let N of h){let S=[];({Rx:I,Ry:V,Rz:C}=l(S,I,V,C)),N&&({Rx:I,Ry:V,Rz:C}=f(S,I,V,C,E,N===-1?w:v)),b.push(S)}if(u){let N=b[b.length-1];u(I,V,C,E,v,f.bind(null,N))}return b});function g(y,T=!1){let O=i.ONE;if(y.length){let R=y[0][0].length;for(let E=0;E<R;E++){O=i.sqr(O);for(let[v,w,I]of y)for(let[V,C,b]of v[E])O=p(V,C,b,O,w,I)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(y,T=!0){let O=[];ft(t,y.map(({g1:R})=>R)),ft(r,y.map(({g2:R})=>R));for(let{g1:R,g2:E}of y){if(R.is0()||E.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),E.assertValidity();let v=R.toAffine();O.push([_(E),v.x,v.y])}return g(O,T)}function x(y,T,O=!0){return m([{g1:y,g2:T}],O)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function rd(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=li(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=li(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(ac(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let O=g[T],R=_[T],E=m.get(R);E===void 0&&(E=[],m.set(R,E)),E.push(O)}let x=[],y=t.Point.BASE;try{for(let[T,O]of m){let R=O.reduce((E,v)=>E.add(v));x.push(p(R,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){ac(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){ac(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){he(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function nd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=sc(e.G1),a=Object.assign(s,nc(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=sc(e.G2),u=Object.assign(c,nc(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=$h(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=rd(p,a,u,e.G2.Signature,!1),g=rd(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||eo,x=()=>{let A=xs(r.ORDER);return Za(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function R(A,F){return A instanceof a.Point?A:g.hash(de("point",A),F?.DST)}function E(A,F){return A instanceof u.Point?A:_.hash(de("point",A),F?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,F,P){let D=E(A,P),M=_.sign(D,F);return A instanceof u.Point?M:O.toBytes(M)}function V(A,F,P){let D=R(A,P),M=g.sign(D,F);return A instanceof a.Point?M:T.toBytes(M)}function C(A,F,P,D){let M=E(F,D);return _.verify(A,M,P)}function b(A,F,P,D){let M=R(F,D);return g.verify(A,M,P)}function N(A){let F=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?F:F.toBytes(!0)}function S(A){let F=_.aggregateSignatures(A);return A[0]instanceof u.Point?F:O.toBytes(F)}function B(A){let F=g.aggregateSignatures(A);return A[0]instanceof a.Point?F:T.toBytes(F)}function k(A,F,P,D){let M=F.map(ee=>E(ee,D));return _.verifyBatch(A,M,P)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:k,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:V,verify:C,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:u,Signature:O,ShortSignature:T}}var od=BigInt(0),Er=BigInt(1),Je=BigInt(2),id=BigInt(3);function dc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=Er;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function ad(e,t,r){let n=t.pow(r,(e.ORDER-Er)/id),o=t.pow(r,(e.ORDER-Er)/Je);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Je-Er)/id),a=t.pow(r,(e.ORDER**Je-Er)/Je);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var sd=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},cc=class{constructor(t,r={}){this.MASK=Er;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=wr(o),this.BYTES=Math.ceil(wr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,Je),this.NONRESIDUE=sd(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=dc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return sd(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&od<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return si(this,t,r)}invertBatch(t){return pt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return ii(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);ii(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Je,i=r===od,s=n%Je;return BigInt(o||i&&s)==Er}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},lc=class{constructor(t){this.MASK=Er,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=dc(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Je),a=o.mul(o.mul(r,n),Je),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return mo()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return si(this,t,r)}invertBatch(t){return pt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},uc=class{constructor(t,r){this.MASK=Er;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=dc(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){mo()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return si(this,t,r)}invertBatch(t){return pt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),Je),d),c1:o.add(o.mul(o.sub(f,s),Je),f),c2:o.add(o.mul(o.sub(_,a),Je),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Je),m),c1:o.add(o.mul(o.add(l,u),Je),l),c2:o.add(o.mul(o.add(h,p),Je),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Du(r,o)&&(n=this.mul(n,t));return n}};function cd(e){let t=Ge(e.ORDER),r=new cc(t,e),n=new lc(r),o=new uc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Be=BigInt(0),Ts=BigInt(1),ht=BigInt(2),Ns=BigInt(3),ui=BigInt(4),$r=BigInt("0xd201000000010000"),Jh=wr($r),Wn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Be,b:ui,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Wh=Ge(Wn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:W,Fp6:zh,Fp12:X}=cd({ORDER:Wn.p,X_LEN:Jh,FP2_NONRESIDUE:[Ts,Ts],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,ui),n=q.mul(t,ui);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=$r,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:ld,G2psi2:Yh}=ad(q,W,W.div(W.ONE,W.NONRESIDUE)),pc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),mc={p:W.ORDER,n:Wn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([ui,ui]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Os=di(q.toBytes(Be),{infinity:!0,compressed:!0});function Es(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function di(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Zh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Os.slice();let c=!!(a*ht/o);return di(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function fc(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return Os.slice();let i=!!(o*ht/r);return di(Oe(n,t),{compressed:!0,sort:i})}function Xh(e){let{compressed:t,infinity:r,sort:n,value:o}=Es(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=Xe(o),c=q.create(a&Pt(q.BITS));if(r){if(c!==Be)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Be,y:Be}}let u=q.add(q.pow(c,Ns),q.create(Wn.b)),p=q.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*ht/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=Xe(o.subarray(0,i)),c=Xe(o.subarray(i));if(r){if(a!==Be||c!==Be)throw new Error("G1: non-empty point at infinity");return pi.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function ud(e){let{infinity:t,sort:r,value:n}=Es(de("signatureHex",e,48)),o=q.ORDER,i=pi.G1.Point,s=Xe(n);if(t)return i.ZERO;let a=q.create(s&Pt(q.BITS)),c=q.add(q.pow(a,Ns),q.create(Wn.b)),u=q.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*ht/o!==p&&(u=q.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Qh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(Os,Oe(Be,n));let c=!!(a.c1===Be?a.c0*ht/o:a.c1*ht/o);return K(di(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function hc(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return K(Os,Oe(Be,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Be?a*ht:s*ht)/q.ORDER&Ts),p=o;return K(di(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function em(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=Es(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Xe(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:q.create(u),c1:q.create(c)}),d=W.add(W.pow(p,Ns),mc.b),l=W.sqrt(d),f=l.c1===Be?l.c0*ht/r:l.c1*ht/r?Ts:Be;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function dd(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=Es(de("signatureHex",e)),i=pi.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Xe(o.slice(0,s)),c=Xe(o.slice(s));if(r)return i.ZERO;let u=q.create(a&Pt(q.BITS)),p=q.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,Ns),mc.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Be&&_*ht/t!==g,x=_===Be&&h*ht/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var pi=nd({fields:{Fp:q,Fp2:W,Fp6:zh,Fp12:X,Fr:Wh},G1:{...Wn,Fp:q,htfDefaults:{...pc,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe($r).negate().multiplyUnsafe($r).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe($r).add(t),mapToCurve:im,fromBytes:Xh,toBytes:Zh,ShortSignature:{fromBytes(e){return he(e),ud(e)},fromHex(e){return ud(e)},toBytes(e){return fc(e)},toRawBytes(e){return fc(e)},toHex(e){return j(fc(e))}}},G2:{...mc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...pc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:sm,isTorsionFree:(e,t)=>t.multiplyUnsafe($r).negate().equals(ld(e,t)),clearCofactor:(e,t)=>{let r=$r,n=t.multiplyUnsafe(r).negate(),o=ld(e,t),i=t.double();return i=Yh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:em,toBytes:Qh,Signature:{fromBytes(e){return he(e),dd(e)},fromHex(e){return dd(e)},toBytes(e){return hc(e)},toRawBytes(e){return hc(e)},toHex(e){return j(hc(e))}}},params:{ateLoopSize:$r,r:Wn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:pc,hash:Pe}),tm=rc(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),rm=rc(q,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),nm=ic(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),om=ic(W,{A:W.create({c0:q.create(Be),c1:q.create(BigInt(240))}),B:W.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:W.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function im(e){let{x:t,y:r}=nm(q.create(e[0]));return rm(t,r)}function sm(e){let{x:t,y:r}=om(W.fromBigTuple(e));return tm(t,r)}function pd(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return pi.verifyShortSignature(o,i,n)}var cm=BigInt(1e6),_c=e=>ye(new At(e)),Jr=e=>{let r=_c(e)/cm;return new Date(Number(r))};var fd=60*1e3,lm=60,um=24,dm=um*lm,pm=5,fm=5,hm=30*dm,pe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(pe||(pe={}));function mm(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var at=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??pd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=pm,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Ke(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Rr(t,this.cert.tree)}lookup_subtree(t){return mi(t,this.cert.tree)}async verify(){let t=await vs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=ym(r),i=K(Pa,t),s=Ie(this.lookup_path(["time"]));if(!s)throw re.fromCode(new Rt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*fd,u=new Date,p=u.getTime()+a,d=p-c,l=p+fm*fd,f=Jr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Me.fromCode(new fr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Me.fromCode(new fr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Me.fromCode(new Rt("Invalid signature"))}catch(a){throw Me.fromCode(new Rt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:hm,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Ui);await r.verify();let n;if(md(this._principal)){let i=this._principal.canisterId;if(n=L.fromUint8Array(t.subnet_id),!yc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Me.fromCode(new Bn(i,n))}else if(hd(this._principal))n=this._principal.subnetId;else throw ut;let o=Ie(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw hd(this._principal)?Me.fromCode(new ki(n)):Me.fromCode(new qi(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(md(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function hd(e){return"subnetId"in e}function md(e){return"canisterId"in e}var fi=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),_m=96;function ym(e){let t=fi.byteLength+_m;if(e.byteLength!==t)throw re.fromCode(new to(t,e.byteLength));let r=e.slice(0,fi.byteLength);if(!Mn(r,fi))throw re.fromCode(new Mi(fi,r));return e.slice(fi.byteLength)}function Ie(e){if(e.status===De.Found&&e.value instanceof Uint8Array)return e.value}async function vs(e){switch(e[0]){case pe.Empty:return Pe(Rs("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Pe(K(Rs("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Pe(K(Rs("ic-hashtree-labeled"),e[1],await vs(e[2])));case pe.Fork:return Pe(K(Rs("ic-hashtree-fork"),await vs(e[1]),await vs(e[2])));default:throw ut}}function Rs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function _d(e){return typeof e[0]=="string"?G(e[0]):e[0]}var De;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(De||(De={}));var Wr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Wr||(Wr={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Rr(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:De.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new Lr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:De.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ut}case pe.Pruned:return{status:De.Unknown};case pe.Labeled:case pe.Fork:return{status:De.Error};default:throw ut}let r=_d(e),n=hi(r,t);switch(n.status){case le.Found:return Rr(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:De.Absent};case le.Unknown:return{status:De.Unknown};default:throw ut}}function mi(e,t){if(e.length===0)return{status:Wr.Found,value:t};let r=_d(e),n=hi(r,t);switch(n.status){case le.Found:return mi(e.slice(1),n.value);case le.Unknown:return{status:Wr.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:Wr.Absent};default:throw ut}}function As(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return As(e[1]).concat(As(e[2]));default:return[e]}}function hi(e,t){switch(t[0]){case pe.Labeled:return mm(e,t[1])?{status:le.Greater}:Mn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=hi(e,t[1]);switch(r.status){case le.Greater:{let n=hi(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=hi(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function Is(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return Is(e,t[1]).concat(Is(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return Is(o,n)}default:throw ut}}function yc(e){let t=gm(e),r=gc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function gm(e){let{subnetId:t,tree:r,canisterId:n}=e,o=mi(["canister_ranges",t.toUint8Array()],r);if(o.status!==Wr.Found)return xm(t,r);let i=o.value,s=bm(i);if(s.length===0)throw re.fromCode(new Bn(n,t));s.sort(oo);let a=wm(s,n),c=s[a];return Tm(c,i)}function xm(e,t){let r=Rr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==De.Found)throw re.fromCode(new vt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function gc(e){return Ke(e).map(n=>[L.fromUint8Array(n[0]),L.fromUint8Array(n[1])])}function bm(e){let t=[];for(let r of Is([],e)){let n=r[0];if(!n)throw re.fromCode(new Rt("Path is invalid"));t.push(n)}return t}function wm(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);oo(e[i],r)<=0?o=i:n=i+1}return n}function Tm(e,t){let r=Rr([e],t);if(r.status!==De.Found)throw re.fromCode(new vt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function xc(e,t){return e.delegation?L.fromUint8Array(e.delegation.subnet_id):L.selfAuthenticating(t)}var yd=L.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Ss(e,t){switch(t){case"raw":return e;case"leb128":return _c(e);case"cbor":return Ke(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function gd(e){return Ke(e).map(r=>L.fromUint8Array(r))}function xd(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function zr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function wo(e,t){let r=mi(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Wr.Found)throw re.fromCode(new vt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Lr("Invalid node tree"));let n=As(r.value),o=new Map;return n.forEach(i=>{let s=L.from(i[1]).toText(),a=Rr(["public_key"],i[2]);if(a.status!==De.Found)throw re.fromCode(new vt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new to(44,c.byteLength));o.set(s,c)}),o}var bd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=L.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Om(c,o);return(async()=>{try{if(t.rootKey===null)throw _e.fromCode(new lt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await at.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=Nm(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ie(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Jr(g));break}case"controllers":{s.set(_,gd(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:zr(_)&&s.set(_.key,Ss(g,_.decodeStrategy))}}catch(d){if(d instanceof ot&&(d.hasCode(Rt)||d.hasCode(fr)))throw d;zr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},Nm=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Re("Invalid canisterId"));let n=Ke(e),{delegation:o}=n,i;o&&o.subnet_id?i=L.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=L.selfAuthenticating(new Uint8Array(r)):i=yd;let s=wo(n,i);return{subnetId:i.toText(),nodeKeys:s}},Om=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(zr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?xd(e.path,r):e.path}throw ae.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function wd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=L.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Em(c,o);return(async()=>{try{if(t.rootKey===null)throw _e.fromCode(new lt);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await at.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=wo(m.cert,o);return{path:x,data:y}}else return{path:x,data:Ie(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Jr(g));break}case"canisterRanges":{s.set(_,gc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:zr(_)&&s.set(_.key,Ss(g,_.decodeStrategy))}}catch(d){if(d instanceof ot&&(d.hasCode(Rt)||d.hasCode(fr)))throw d;zr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function Em(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(zr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}else return e.path}throw ae.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Yr=BigInt(0),Ae=BigInt(1),bc=BigInt(2),Rm=BigInt(8);function vm(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Im(e,t={}){let r=bs("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Tr(t,{},{uvRatio:"function"});let a=bc<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Yr}}});if(!vm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Yr;return ys("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Hr((g,m)=>{let{X:x,Y:y,Z:T}=g,O=g.is0();m==null&&(m=O?Rm:n.inv(T));let R=c(x*m),E=c(y*m),v=n.mul(T,m);if(O)return{x:Yr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:R,y:E}}),f=Hr(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:O,T:R}=g,E=c(y*y),v=c(T*T),w=c(O*O),I=c(w*w),V=c(E*m),C=c(w*c(V+v)),b=c(I+c(x*c(E*v)));if(C!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),S=c(O*R);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:O}=i;m=Ja(Kr(m,y,"point")),Hn(x,"zip215");let R=Ja(m),E=m[y-1];R[y-1]=E&-129;let v=br(R),w=x?a:n.ORDER;ys("point.y",v,Yr,w);let I=c(v*v),V=c(I-Ae),C=c(O*I-T),{isValid:b,value:N}=u(V,C);if(!b)throw new Error("bad point: invalid y coordinate");let S=(N&Ae)===Ae,B=(E&128)!==0;if(!x&&N===Yr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(de("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(bc),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:O,Y:R,Z:E}=m,v=c(x*E),w=c(O*T),I=c(y*E),V=c(R*T);return v===w&&I===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,O=c(x*x),R=c(y*y),E=c(bc*c(T*T)),v=c(m*O),w=x+y,I=c(c(w*w)-O-R),V=v+R,C=V-E,b=v-R,N=c(I*C),S=c(V*b),B=c(I*b),k=c(C*V);return new h(N,S,k,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:O,Z:R,T:E}=this,{X:v,Y:w,Z:I,T:V}=m,C=c(T*v),b=c(O*w),N=c(E*y*V),S=c(R*I),B=c((T+O)*(v+w)-C-b),k=S-N,A=S+N,F=c(b-x*C),P=c(B*k),D=c(A*F),M=c(B*F),ee=c(k*A);return new h(P,D,ee,M)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>ft(h,T));return ft(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Yr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>ft(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return ft(h,m)}static msm(m,x){return go(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Yr,Ae,Ae,Yr),h.Fp=n,h.Fn=o;let _=new yo(h,o.BITS);return h.BASE.precompute(8),h}var Cs=class{constructor(t){this.ep=t}static fromBytes(t){mo()}static fromHex(t){mo()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function Am(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Tr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||eo,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,V)=>{if(Hn(V,"phflag"),I.length||V)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(br(w))}function d(w){let I=y.secretKey;w=de("private key",w,I);let V=de("hashed private key",t(w),2*I),C=c(V.slice(0,I)),b=V.slice(I,2*I),N=p(C);return{head:C,prefix:b,scalar:N}}function l(w){let{head:I,prefix:V,scalar:C}=d(w),b=o.multiply(C),N=b.toBytes();return{head:I,prefix:V,scalar:C,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let V=K(...I);return p(t(u(V,de("context",w),!!n)))}function _(w,I,V={}){w=de("message",w),n&&(w=n(w));let{prefix:C,scalar:b,pointBytes:N}=l(I),S=h(V.context,C,w),B=o.multiply(S).toBytes(),k=h(V.context,B,N,w),A=s.create(S+k*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let F=K(B,s.toBytes(A));return Kr(F,y.signature,"result")}let g={zip215:!0};function m(w,I,V,C=g){let{context:b,zip215:N}=C,S=y.signature;w=de("signature",w,S),I=de("message",I),V=de("publicKey",V,y.publicKey),N!==void 0&&Hn(N,"zip215"),n&&(I=n(I));let B=S/2,k=w.subarray(0,B),A=br(w.subarray(B,S)),F,P,D;try{F=e.fromBytes(V,N),P=e.fromBytes(k,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&F.isSmallOrder())return!1;let M=h(b,P.toBytes(),F.toBytes(),I);return P.add(F.multiplyUnsafe(M)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Kr(w,y.seed,"seed")}function O(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function R(w){return kt(w)&&w.length===s.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),V=y.publicKey,C=V===32;if(!C&&V!==57)throw new Error("only defined for 25519 and 448");let b=C?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Kr(w,I);let V=t(w.subarray(0,I));return c(V).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function Sm(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ge(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Cm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Td(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Sm(e),i=Im(t,r),s=Am(i,n,o);return Cm(e,s)}var Vm=BigInt(0),vr=BigInt(1),Nd=BigInt(2),kx=BigInt(3),Fm=BigInt(5),Pm=BigInt(8),To=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),_i={p:To,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Pm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Bm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=To,a=e*e%i*e%i,c=Bt(a,Nd,i)*a%i,u=Bt(c,vr,i)*e%i,p=Bt(u,Fm,i)*u%i,d=Bt(p,t,i)*p%i,l=Bt(d,r,i)*d%i,f=Bt(l,n,i)*l%i,h=Bt(f,o,i)*f%i,_=Bt(h,o,i)*f%i,g=Bt(_,t,i)*p%i;return{pow_p_5_8:Bt(g,Nd,i)*e%i,b2:a}}function Dm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var wc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Oc(e,t){let r=To,n=ce(t*t*t,r),o=ce(n*n*t,r),i=Bm(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,u=ce(s*wc,r),p=a===e,d=a===ce(-e,r),l=a===ce(-e*wc,r);return p&&(s=c),(d||l)&&(s=u),Nr(s,r)&&(s=ce(-s,r)),{isValid:p||d,value:s}}var Zr=Ge(_i.p,{isLE:!0}),Um=Ge(_i.n,{isLE:!0}),km={..._i,Fp:Zr,hash:Kl,adjustScalarBytes:Dm,uvRatio:Oc},We=Td(km);var Tc=wc,Lm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),qm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Mm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),jm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Od=e=>Oc(vr,e),Km=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Nc=e=>We.Point.Fp.create(br(e)&Km);function Ed(e){let{d:t}=_i,r=To,n=m=>Zr.create(m),o=n(Tc*e*e),i=n((o+vr)*Mm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=Oc(i,a),p=n(u*e);Nr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-vr)*jm-a),l=u*u,f=n((u+u)*a),h=n(d*Lm),_=n(vr-l),g=n(vr+l);return new We.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Hm(e){he(e,64);let t=Nc(e.subarray(0,32)),r=Ed(t),n=Nc(e.subarray(32,64)),o=Ed(n);return new Ir(r.add(o))}var Ir=class e extends Cs{constructor(t){super(t)}static fromAffine(t){return new e(We.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Hm(de("ristrettoHash",t,64))}static fromBytes(t){he(t,32);let{a:r,d:n}=_i,o=To,i=T=>Zr.create(T),s=Nc(t);if(!Bu(Zr.toBytes(s),t)||Nr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(vr+r*a),u=i(vr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Od(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);Nr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||Nr(y,o)||x===Vm)throw new Error("invalid ristretto255 encoding 2");return new e(new We.Point(m,x,vr,y))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return go(e,We.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=To,s=g=>Zr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Od(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(Nr(o*f,i)){let g=s(r*Tc),m=s(t*Tc);t=g,r=m,h=s(d*qm)}else h=l;Nr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Nr(_,i)&&(_=s(-_)),Zr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Zr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};Ir.BASE=new Ir(We.Point.BASE);Ir.ZERO=new Ir(We.Point.ZERO);Ir.Fp=Zr;Ir.Fn=Um;var Rd,vd,Vs=class{static{Rd=Symbol.iterator,vd=Symbol.toStringTag}#e;#t;constructor(t={}){this[Rd]=this.entries.bind(this),this[vd]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var Id=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new ko("Length too long (> 4 bytes)"))},Ad=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw z.fromCode(new ko("Length too long (> 4 bytes)"))},Ec=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new It("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new It("Length too long (> 4 bytes)"))},Gm=(e,t)=>{let r=Ec(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw z.fromCode(new It("Length too long (> 4 bytes)"))},yi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),zn=Uint8Array.from([48,5,6,3,43,101,112]),Kx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Hx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Yn(e,t){let r=2+Id(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Id(n)+n);return i[o++]=48,o+=Ad(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Ad(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Zn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new It(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ec(o,r),!Mn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new It("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Gm(o,r)-1;r+=Ec(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new ji(i,s.length));return s};var Fs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Yn(t,zn)}static derDecode(t){let r=Zn(t,zn);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new It("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw z.fromCode(new It("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var Rc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},Ps=class extends Rc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var Bs=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var $t;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})($t||($t={}));var Ac=60*1e3,$m=1e6,Jm=0,Wm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var zm="ic0.app",Ym=".ic0.app",Zm="icp0.io",Xm=".icp0.io",Qm="icp-api.io",e_=".icp-api.io",vc=200,t_=202,r_=404;function n_(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw _e.fromCode(new no("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw _e.fromCode(new no("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw _e.fromCode(new no("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function o_(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Ar=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*Ac}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Jm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new Ps,this.#h=[],this.#m=[],this.#_=new Vs({expirationTime:5*Ac}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=L.fromUint8Array(d).toText(),f;if(s===Fr.Replied){let{reply:x}=o;f=Yo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Fr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Yo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Re(`Unknown status: ${s}`));let h=K(Ba,f),_=i.get(l);if(!_)throw re.fromCode(new Qi);let g=Fs.fromDer(_).rawKey;if(!We.verify(u.signature,h,g))throw Me.fromCode(new es(l))}return o},this.config=t,this.#o=t.fetch||n_()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(Wm);let r=o_(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new Bs({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Ym)?this.host.hostname=zm:this.host.hostname.endsWith(Xm)?this.host.hostname=Zm:this.host.hostname.endsWith(e_)&&(this.host.hostname=Qm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new it),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new qt("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new qt("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",ja(oi)),t.useQueryNonces&&this.addTransform("query",ja(oi)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw z.fromCode(new Yi)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw _e.fromCode(new kr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw _e.fromCode(new kr);let s=L.from(t),a=r.effectiveCanisterId?L.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=Ic(this.#l,this.#r),p={request_type:hs.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:xr.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=ri(d.body),_=this.#f(),g=yr(p);try{let y=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#o(E,{...this.#w,...d.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#o(E,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...O}=await this.#g({requestFn:y,backoff:_,tries:0}),R=T.byteLength>0?Ke(T):null;return{requestId:g,response:{...O,body:R},requestDetails:p}}catch(m){let x;if(m instanceof ot){if(m.hasCode(qo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(qt)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ae.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new Dn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
51
51
|
${m}
|
|
52
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw
|
|
52
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw Uo.fromCode(new Mo(m))}let d=Ka(p.headers);if(p.status!==vc){let m=await p.text();if(Sd(m))throw z.fromCode(new qt(m,this.#l));if(a<this.#u)return await this.#b({...t,tries:a+1});throw re.fromCode(new Lo(p.status,p.statusText,d,m))}let f={...Ke(lo(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#y)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new Zi("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt($m));if(Date.now()+this.#r-_>this.#E){if(a<this.#u)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#b({...t,tries:a+1});throw Me.fromCode(new Gi(this.#l,i,a))}return f}async#g(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new Dn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===vc&&(a=lo(await s.clone().arrayBuffer()))}catch(p){if(o<this.#u)return this.log.warn(`Caught exception while attempting to make request:
|
|
53
53
|
${p}
|
|
54
|
-
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw Oo.fromCode(new vo(p))}let c=Ua(s.headers);if(s.status===wc||s.status===Mm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===jm&&s.url.includes("api/v4"))throw ne.fromCode(new Io);if(Td(u))throw Y.fromCode(new Ft(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Ro(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?k.from(r.effectiveCanisterId):k.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Fr);let c=k.from(t),u=a.getPrincipal(),p=Tc(this.#l,this.#r),d={request_type:Fn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=lr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Query,body:d}),s=await a.transformRequest(s);let f=Ko(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Le.fromCode(new ki);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ft)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Fr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.ReadState,body:{request_type:Fn.ReadState,paths:t.paths,sender:o,ingress_expiry:Tc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=k.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Sn(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Fr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=k.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:Ko(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Ft)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ct;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??lr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ce.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Me(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new Pr("Could not decode time from response"));let o=gr(["time"],r);if(o.status!==Be.Found)throw ne.fromCode(new bt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Ei("Time was not in its expected format."));let i=Mr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??k.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await pd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await fd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Me(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new at(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=k.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await st.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=k.selfAuthenticating(n);if(!dc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new On(r,c))}let s=fc(i.cert,n),a=lo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=k.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await st.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return fc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===dr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function Tc(e,t){let r=e*Nc;return ro.fromDeltaInMilliseconds(r,t)}function Td(e){return e.includes("Invalid request expiry: ")}var $m=300*1e3;function Nd(){return Ym(Jm(Gm(),1e3),zm(1e3,1.2),Wm($m))}function Gm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Jm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Wm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new En(`Request timed out after ${e} msec`,n,o))}}function zm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Ym(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Ed={preSignReadStateRequest:!1};function Rd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oc(e,t){return e!==null&&typeof e=="object"&&Rd(e,t)}function Xm(e,t){return Rd(e,t)&&typeof e[t]=="function"}function Od(e){return Oc(e,"body")&&Oc(e.body,"content")&&e.body.content.request_type===Fn.ReadState&&Oc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Xm(e.body.content.ingress_expiry,"toHash")}async function Ec(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await Qm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new at);let c=await st.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=kt.Unknown:p=new TextDecoder().decode(u),p){case kt.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case kt.Received:case kt.Unknown:case kt.Processing:{let d=n.strategy??Nd();return await d(t,r,p),Ec(e,t,r,{...n,strategy:d,request:s})}case kt.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Cr.fromCode(new $n(r,d,l,h))}case kt.Done:throw ce.fromCode(new Vi(r))}throw ct}async function Qm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Od(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Od(o))throw Y.fromCode(new Mi(o));return o}var ft=Symbol.for("ic-agent-metadata"),fo=class e{static agentOf(t){return t[ft].config.agent}static interfaceOf(t){return t[ft].service}static canisterIdOf(t){return k.from(t[ft].config.canisterId)}static createActorClass(t,r){let n=t({IDL:An});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Ao(s.canisterId));let a=typeof s.canisterId=="string"?k.fromText(s.canisterId):s.canisterId;super({config:{...Id,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Rc),r?.certificate&&u.annotations.push(vd),this[c]=t_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Ao(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ft]=Object.freeze(t)}};function po(e,t){let r=An.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Id={pollingOptions:Ed},Rc="http-details",vd="certificate";function t_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ft].config.queryTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||new wr,u=k.from(s.canisterId||e[ft].config.canisterId),p=An.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Ir.Rejected:{let f=new Fi(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Cr.fromCode(f)}case Ir.Replied:return r.annotations.includes(Rc)?{httpDetails:l,result:po(r.retTypes,d.reply.arg)}:po(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ft].config.callTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||wr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Id,...e[ft].config,...s},l=k.from(u),f=p!==void 0?k.from(p):l,h=An.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(_l(g.body)){if(c.rootKey==null)throw ye.fromCode(new at);let R=g.body.certificate;y=await st.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new $n(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Cr.fromCode(N)}}}else if(ml(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Pi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Cr.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await Ec(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(Rc),E=r.annotations.includes(vd),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:po(r.retTypes,x)}:E?{certificate:y,result:po(r.retTypes,x)}:T?{httpDetails:O,result:po(r.retTypes,x)}:po(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ce.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var r_=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(r_||{}),Vb=BigInt(1e8);var U=e=>e==null,W=e=>!U(e),Tr=e=>W(e)&&e!=="",ht=e=>!Tr(e);var n_=class extends Error{},si=(e,t)=>{if(e==null)throw new n_(t)};var Nr=e=>new Uint8Array(e),Ts=e=>Array.from(e);var Sd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Ad="abcdefghijklmnopqrstuvwxyz234567",ii=Object.create(null);for(let e=0;e<Ad.length;e++)ii[Ad[e]]=e;ii[0]=ii.o;ii[1]=ii.i;var Gr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Cd=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Bb=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Ic="__bigint__",vc="__principal__",Ac="__uint8array__",Fd=(e,t)=>typeof t=="bigint"?{[Ic]:`${t}`}:W(t)&&k.isPrincipal(t)?{[vc]:k.from(t).toText()}:W(t)&&t instanceof Uint8Array?{[Ac]:Array.from(t)}:t,Pd=(e,t)=>{let r=n=>t[n];return W(t)&&typeof t=="object"&&Ic in t?BigInt(r(Ic)):W(t)&&typeof t=="object"&&vc in t?k.fromText(r(vc)):W(t)&&typeof t=="object"&&Ac in t?Uint8Array.from(r(Ac)):t};var se=e=>W(e)?[e]:[],be=e=>e?.[0];var o_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=i_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},i_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ts(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function s_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function a_(e){return Ln(e,oi)}var c_=class{constructor(e){this._cose=e,this.#e=a_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},kd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new c_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Gr(this.#e)}},l_=class extends kd{#e;#t;constructor({authData:e,...t}){super(t);let r=o_({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},u_=class extends kd{},d_=class extends Error{},p_=class extends Error{},f_=class extends Error{},h_=class extends Error{},m_=class extends Error{},__=class extends Error{},y_=class extends Error{},Vd=class extends Error{};var g_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},x_=6e4,Ld=()=>window.crypto.getRandomValues(new Uint8Array(16)),b_=()=>Ld(),w_=()=>Ld(),T_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new d_}},qd=({appId:e})=>e?.id??T_(),N_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:qd({appId:e})}}),o=()=>({user:{id:w_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:b_(),...n(),...o(),pubKeyCredParams:Object.values(g_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},O_=(e={})=>({rpId:qd(e),allowCredentials:[],userVerification:"required"}),Sc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Jr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Jr||{}),Md=({timeout:e})=>AbortSignal.timeout(e??x_),E_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...O_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Md({timeout:n})}),Bd=e=>{if(e.status!=="initialized")throw new p_},Dd=e=>{if(U(e))throw new f_},Ud=({type:e})=>{if(e!=="public-key")throw new h_},Cc=class ai extends Ut{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ai.#r({credential:new l_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:N_(t),signal:Md({timeout:r})});Dd(o),Ud(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new m_;let{authData:a}=Xi.decode(Nr(i)),c=s_(a);return new ai({...n,rawId:Nr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ai(t)}getPublicKey(){Bd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Bd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Sc({fn:async()=>{let n=await E_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Dd(n),Ud(n),n},step:0,onProgress:this.#e});return await Sc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Sd({a:this.#t.credential.getCredentialId(),b:Nr(n)}))throw new __;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Nr(n)});this.#t=ai.#r({credential:new u_({rawId:Nr(n),cose:i})})},step:1,onProgress:this.#e}),await Sc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new Vd;if(U(s))throw new Vd;let a=Xi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Nr(s)});if(U(a))throw new y_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},R_=async()=>W(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ho=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends ho{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var ci=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var mo="http://127.0.0.1:5987",jd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Kd=async({identity:e,container:t})=>{let n=W(t)&&t!==!1?t===!0?mo:t:"https://icp-api.io",o=W(t);return await wr.create({identity:e,shouldFetchRootKey:o,host:n})};var _o=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await Kd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var yo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(U(this.#e)||U(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await _o.getInstance().getAgent(n);return fo.createActor(t,{agent:o,canisterId:r})}};function Hd(e){return e!==null&&typeof e=="object"}var li=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Hd(t)){let r=t;if(Hd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Pt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Pt(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Ln(t,kn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=qn(t,kn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},At=class e extends Ut{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),Ul(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ge.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(li.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(li.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=li.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ge.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Pt(a)));return Ge.verify(o,i,s)}};var Fc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function $d(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Fc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var Lt=class e extends Ut{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=$d(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Pt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=$d(r),o=Pt(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Pt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ns=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return k.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Os(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Pc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var Wr=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:Os(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function I_(e,t,r,n){let o=new Wr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Sa,...new Uint8Array(lr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Or=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await I_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Wr(Pc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return k.fromHex(d)})),signature:Pc(a)}});return new this(o,Pc(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Os(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Os(n)}}),publicKey:Os(this.publicKey)}}},Er=class extends Ut{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await lr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ko,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ui=class e extends Ns{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Vc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?k.fromText(o):o)):r.push(typeof n=="string"?k.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var Gd=["mousedown","mousemove","keydown","touchstart","wheel"],di=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Gd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Gd.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var v_=(e,t)=>t.some(r=>e instanceof r),Jd,Wd;function A_(){return Jd||(Jd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function S_(){return Wd||(Wd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var zd=new WeakMap,Dc=new WeakMap,Yd=new WeakMap,Bc=new WeakMap,kc=new WeakMap;function C_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(qt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&zd.set(r,e)}).catch(()=>{}),kc.set(t,e),t}function F_(e){if(Dc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});Dc.set(e,t)}var Uc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Dc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Yd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return qt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Zd(e){Uc=e(Uc)}function P_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Es(this),t,...r);return Yd.set(n,t.sort?t.sort():[t]),qt(n)}:S_().includes(e)?function(...t){return e.apply(Es(this),t),qt(zd.get(this))}:function(...t){return qt(e.apply(Es(this),t))}}function V_(e){return typeof e=="function"?P_(e):(e instanceof IDBTransaction&&F_(e),v_(e,A_())?new Proxy(e,Uc):e)}function qt(e){if(e instanceof IDBRequest)return C_(e);if(Bc.has(e))return Bc.get(e);let t=V_(e);return t!==e&&(Bc.set(e,t),kc.set(t,e)),t}var Es=e=>kc.get(e);function Qd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=qt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(qt(s.result),c.oldVersion,c.newVersion,qt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var B_=["get","getKey","getAll","getAllKeys","count"],D_=["put","add","delete","clear"],Lc=new Map;function Xd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Lc.get(t))return Lc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=D_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||B_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Lc.set(t,i),i}Zd(e=>({...e,get:(t,r,n)=>Xd(t,r)||e.get(t,r,n),has:(t,r)=>!!Xd(t,r)||e.has(t,r)}));var ep="auth-client-db",tp="ic-keyval",U_=async(e=ep,t=tp,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(We)),await Qd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function k_(e,t,r){return await e.get(t,r)}async function L_(e,t,r,n){return await e.put(t,n,r)}async function q_(e,t,r){return await e.delete(t,r)}var Rs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=ep,storeName:n=tp,version:o=rp}=t??{},i=await U_(r,n,o);return new e(i,n)}async set(t,r){return await L_(this._db,this._storeName,t,r)}async get(t){return await k_(this._db,this._storeName,t)??null}async remove(t){return await q_(this._db,this._storeName,t)}};var We="identity",Je="delegation",np="iv",rp=1,pi=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Mt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Rs.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var M_=BigInt(1e9),j_=BigInt(3600),K_=M_*j_,H_="https://identity.internetcomputer.org",$_="#authorize",G_=BigInt(8)*K_,qc="ECDSA",Mc="Ed25519",J_=500,Is="UserInterrupt",fi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Mt,n=t.keyType??qc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let u=new pi,p=await u.get(Je),d=await u.get(We);p&&d&&n===qc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Je,p),await r.set(We,d),c=p,await u.remove(Je),await u.remove(We))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Mc&&typeof c=="string"?o=At.fromJSON(c):o=await Lt.fromKeyPair(c):typeof c=="string"&&(o=At.fromJSON(c))}catch{}}let i=new ot,s=null;if(o)try{let c=await r.get(Je);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Or.fromJSON(c),Vc(s)?"toDer"in o?i=ui.fromDelegation(o,s):i=Er.fromDelegation(o,s):(await jc(r),o=null))}catch(c){console.error(c),await jc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=di.create(t.idleOptions)),o||(n===Mc?o=At.generate():(t.storage&&n===qc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Mc}' as the key type, as it can serialize to a string`),o=await Lt.generate()),await op(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Wr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Or.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ui.fromDelegation(i,this._chain):this._identity=Er.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=di.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await op(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Vc(this._chain)}async login(t){let r=W_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??G_,o=new URL(r?.identityProvider?.toString()||H_);o.hash=$_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Is,r?.onError):setTimeout(i,J_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await jc(this._storage),this._identity=new ot,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function jc(e){await e.remove(We),await e.remove(Je),await e.remove(np)}function W_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function z_(e){if(e instanceof Lt)return e.getKeyPair();if(e instanceof At)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function op(e,t){let r=z_(t);await e.set(We,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await fi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Mt().remove(We),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Mt;await Promise.all([n.set(We,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var Kc=async e=>{await Y_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Y_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),yo.getInstance().reset(),_o.getInstance().reset()};var ip=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ci({message:"junoSignOutAuthTimer"}),await Kc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ci({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var go=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&W(o)&&o.msg==="authClientLoginSuccess"&&Tr(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends ho{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var hi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await Z_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||X_()},sp=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},Z_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},X_=()=>{try{go.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Hc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var ap="juno.datastore.error.user.cannot_update";var jt={certified:!1};var vs=()=>Ue.getInstance().getAuthClient()?.getIdentity(),Q_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},ey=async()=>{let e=De.getInstance().get();if(U(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>W(e)?e:vs()??new ot;var $c=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ht=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Yr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Zr=e.Variant({OpenId:Yr}),Xr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Qr=e.Record({signature:e.Vec(e.Nat8),delegation:Xr}),$t=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Qr,Err:$t}),Gt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),en=e.Record({clear_existing_assets:e.Opt(e.Bool)}),tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:en,SegmentsDeployment:tn}),Qe=e.Record({status:Gt,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Jt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Wt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),rn=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],["query"])})}),zt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(rn),status_code:e.Nat16}),nn=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),yt=e.Record({batch_id:e.Nat}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),sn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),cn=e.Record({desc:e.Bool}),Yt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ln=e.Record({order:e.Opt(cn),paginate:e.Opt(Yt)}),un=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(un,Qe)),items_length:e.Nat64}),dn=e.Record({include_system:e.Bool}),pn=e.Record({matcher:e.Opt(dn)}),fn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),hn=e.Record({stable:e.Nat64,heap:e.Nat64}),mn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),_n=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),yn=e.Record({controller:_n,controllers:e.Vec(e.Principal)}),gn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Xt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),xn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Qt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Ht],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([Zr],[Ze],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([Wt],[zt],["query"]),http_request_streaming_callback:e.Func([mt],[nn],["query"]),init_asset_upload:e.Func([_t],[yt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,yt))],[]),list_assets:e.Func([e.Text,O],[on],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,sn))],["query"]),list_docs:e.Func([e.Text,O],[an],["query"]),list_proposals:e.Func([ln],[Zt],["query"]),list_rules:e.Func([F,pn],[fn],["query"]),memory_size:e.Func([],[hn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([mn],[ee],[]),set_controllers:e.Func([yn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([gn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Xt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Xt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([xn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qt],[rt],[]),upload_proposal_asset_chunk:e.Func([Qt],[rt],[])})},Gc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ht=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Yr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Zr=e.Variant({OpenId:Yr}),Xr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Qr=e.Record({signature:e.Vec(e.Nat8),delegation:Xr}),$t=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Qr,Err:$t}),Gt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),en=e.Record({clear_existing_assets:e.Opt(e.Bool)}),tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:en,SegmentsDeployment:tn}),Qe=e.Record({status:Gt,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Jt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Wt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),rn=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],[])})}),zt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(rn),status_code:e.Nat16}),nn=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),yt=e.Record({batch_id:e.Nat}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),sn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),cn=e.Record({desc:e.Bool}),Yt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ln=e.Record({order:e.Opt(cn),paginate:e.Opt(Yt)}),un=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(un,Qe)),items_length:e.Nat64}),dn=e.Record({include_system:e.Bool}),pn=e.Record({matcher:e.Opt(dn)}),fn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),hn=e.Record({stable:e.Nat64,heap:e.Nat64}),mn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),_n=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),yn=e.Record({controller:_n,controllers:e.Vec(e.Principal)}),gn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Xt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),xn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Qt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Ht],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([Zr],[Ze],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],[]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([Wt],[zt],[]),http_request_streaming_callback:e.Func([mt],[nn],[]),init_asset_upload:e.Func([_t],[yt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,yt))],[]),list_assets:e.Func([e.Text,O],[on],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,sn))],[]),list_docs:e.Func([e.Text,O],[an],[]),list_proposals:e.Func([ln],[Zt],[]),list_rules:e.Func([F,pn],[fn],[]),memory_size:e.Func([],[hn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([mn],[ee],[]),set_controllers:e.Func([yn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([gn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Xt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Xt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([xn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qt],[rt],[]),upload_proposal_asset_chunk:e.Func([Qt],[rt],[])})},ty=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Ht=e.Record({e12s:e.Nat64}),Yr=e.Record({updated_at:e.Nat64,fee_cycles:Ht,fee_icp:e.Opt(t)}),Zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),$t=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Ze=e.Record({status:Zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:$t}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),en=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),tn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:tn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],["query"])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Jt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Wt=e.Record({batch_id:e.Nat}),mt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),rn=e.Record({field:mt,desc:e.Bool}),zt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),nn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(zt),description:e.Opt(e.Text),created_at:e.Opt(zt)}),_t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yt=e.Record({order:e.Opt(rn),owner:e.Opt(e.Principal),matcher:e.Opt(nn),paginate:e.Opt(_t)}),on=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),sn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),an=e.Record({key:on,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,sn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),cn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,an)),items_length:e.Nat64}),Yt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ln=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Yt,expires_at:e.Opt(e.Nat64)}),un=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Zt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),dn=e.Record({status:Zt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),pn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),fn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),hn=e.Record({status:Zt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:fn}),mn=e.Record({desc:e.Bool}),_n=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),yn=e.Record({order:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({proposal_id:e.Nat}),Xt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(gn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),xn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Qt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),ta=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Yt,expires_at:e.Opt(e.Nat64)}),na=e.Record({controller:ra,controllers:e.Vec(e.Principal)}),oa=e.Record({fee_cycles:Ht,fee_icp:e.Opt(t)}),ia=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),aa=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ca=e.Record({segment_id:e.Principal,segment_kind:ke}),la=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ua=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[q],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([J],[oe],["query"]),get_fee:e.Func([re],[Yr],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rate_config:e.Func([re],[Gt],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([en],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[Jt],["query"]),init_proposal:e.Func([$t],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Wt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Wt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,yt],[cn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ln))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,un))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,dn))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(pn,hn))],["query"]),list_proposals:e.Func([yn],[Xt],["query"]),list_segments:e.Func([xn],[e.Vec(e.Tuple(Qt,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ta],[B],[]),set_controllers:e.Func([na],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,oa],[],[]),set_rate_config:e.Func([re,Gt],[],[]),set_segment:e.Func([ia],[rt],[]),set_segment_metadata:e.Func([sa],[rt],[]),set_storage_config:e.Func([aa],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ca],[],[]),upload_proposal_asset_chunk:e.Func([la],[ua],[])})},ry=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Ht=e.Record({e12s:e.Nat64}),Yr=e.Record({updated_at:e.Nat64,fee_cycles:Ht,fee_icp:e.Opt(t)}),Zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),$t=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Ze=e.Record({status:Zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:$t}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),en=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),tn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:tn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],[])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Jt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Wt=e.Record({batch_id:e.Nat}),mt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),rn=e.Record({field:mt,desc:e.Bool}),zt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),nn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(zt),description:e.Opt(e.Text),created_at:e.Opt(zt)}),_t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yt=e.Record({order:e.Opt(rn),owner:e.Opt(e.Principal),matcher:e.Opt(nn),paginate:e.Opt(_t)}),on=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),sn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),an=e.Record({key:on,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,sn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),cn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,an)),items_length:e.Nat64}),Yt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ln=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Yt,expires_at:e.Opt(e.Nat64)}),un=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Zt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),dn=e.Record({status:Zt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),pn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),fn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),hn=e.Record({status:Zt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:fn}),mn=e.Record({desc:e.Bool}),_n=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),yn=e.Record({order:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({proposal_id:e.Nat}),Xt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(gn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),xn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Qt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),ta=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Yt,expires_at:e.Opt(e.Nat64)}),na=e.Record({controller:ra,controllers:e.Vec(e.Principal)}),oa=e.Record({fee_cycles:Ht,fee_icp:e.Opt(t)}),ia=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),aa=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ca=e.Record({segment_id:e.Principal,segment_kind:ke}),la=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ua=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[q],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([J],[oe],[]),get_fee:e.Func([re],[Yr],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rate_config:e.Func([re],[Gt],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([en],[et],[]),http_request_streaming_callback:e.Func([Xe],[Jt],[]),init_proposal:e.Func([$t],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Wt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Wt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,yt],[cn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ln))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,un))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,dn))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(pn,hn))],[]),list_proposals:e.Func([yn],[Xt],[]),list_segments:e.Func([xn],[e.Vec(e.Tuple(Qt,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ta],[B],[]),set_controllers:e.Func([na],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,oa],[],[]),set_rate_config:e.Func([re,Gt],[],[]),set_segment:e.Func([ia],[rt],[]),set_segment_metadata:e.Func([sa],[rt],[]),set_storage_config:e.Func([aa],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ca],[],[]),upload_proposal_asset_chunk:e.Func([la],[ua],[])})};var ny=async({identity:e,host:t,localActor:r})=>await wr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),oy=async({agent:e,...t})=>e??await iy(t),iy=async({identity:e,container:t})=>{let r=W(t)&&t!==!1;return await ny({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var cp=({satelliteId:e,certified:t=!1,...r})=>up({canisterId:e,...r,idlFactory:t?Gc:$c});var lp=({consoleId:e,certified:t=!1,...r})=>up({canisterId:e,...r,idlFactory:t?ry:ty}),up=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return sy({canisterId:e,idlFactory:t,...r})},sy=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await oy(n);return fo.createActor(t,{agent:o,canisterId:e,...r??{}})};var dp=({satelliteId:e,container:t})=>{let{satelliteId:r}=Jc({satelliteId:e}),{container:n}=Wc({container:t});if(W(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?mo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Jc=({satelliteId:e})=>W(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Wc=({container:e})=>W(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>fp({idlFactory:t?Gc:$c,actorKey:`stock#${t?"update":"query"}`,...e}),pp=({idlFactory:e,...t})=>fp({idlFactory:e,actorKey:"extended#query",...t}),fp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Jc({satelliteId:e});si(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Wc({container:t});return await yo.getInstance().getActor({satelliteId:n,container:o,...r})};var As=class extends Error{},Rr=class extends Error{},Ss=class extends Error{},Cs=class extends Error{},xo=class extends Error{},Fs=class extends Error{},Ps=class extends Error{},Vs=class extends Error{},Bs=class extends Error{};var hp=e=>{if(U(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Bs("Invalid list matcher for timestamp",e)}},zr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:hp(e.createdAt),updated_at:hp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?k.fromText(n):n)});var mp=async e=>{let t=new Blob([JSON.stringify(e,Fd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Ds=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Pd)},Us=()=>typeof window<"u";var _p=async({data:e})=>{try{return await Ds(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var zc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await mp(t),version:se(r)}},Yc=e=>{let{version:t}=e;return{version:se(t)}},Mn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await Ds(i),version:be(n),...s}};var yp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!U(o))return Mn({doc:o,key:t})},gp=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(W(c)?await Mn({key:s,doc:c}):void 0)}return i},xp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await zc(t),s=await n(e,o,i);return await Mn({key:o,doc:s})},bp=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await zc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Mn({key:s,doc:a}));return i},wp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Yc(t))},Tp=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Yc(i)]);await r(n)},Np=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,zr(t))},Op=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,zr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await _p({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},Ep=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,zr(t))};var ks=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await yp({...r,satellite:{...e,identity:n},options:t??jt})},xN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await gp({...r,satellite:{...e,identity:n},options:t??jt})},Rp=async({satellite:e,...t})=>{let r=de(e?.identity);return await xp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Ip=async({satellite:e,...t})=>{let r=de(e?.identity);return await bp({...t,satellite:{...e,identity:r},options:{certified:!0}})},bN=async({satellite:e,...t})=>{let r=de(e?.identity);return await wp({...t,satellite:{...e,identity:r},options:{certified:!0}})},wN=async({satellite:e,...t})=>{let r=de(e?.identity);return await Tp({...t,satellite:{...e,identity:r},options:{certified:!0}})},TN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await Np({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},NN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Op({...n,filter:r??{},satellite:{...e,identity:o},options:t??jt})},ON=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Ep({...n,filter:r??{},satellite:{...e,identity:o},options:t??jt})};var vp=async({provider:e})=>{let{user:t,userId:r}=await Ls();if(W(t))return t;try{return await ay({userId:r,provider:e})}catch(n){if(Hc({error:n,type:ap})){let o=await Ap({userId:r});if(W(o))return o}throw n}},Ls=async()=>{let e=vs();if(U(e))throw new Vs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Ap({userId:t});return{userId:t,user:r}},Ap=({userId:e})=>ks({collection:"#user",key:e}),ay=({userId:e,...t})=>Rp({collection:"#user",doc:{key:e,data:t}});var qs=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await hi({fn:async()=>{let{user:r}=await Ls();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},Sp=async()=>{await sp({fn:async({authenticated:t})=>{let n=t?Ls:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},Ms=async({user:e})=>{await hi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var Cp=()=>{try{let e=go.getInstance(),t=async()=>{await Sp(),ci({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Fp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Pp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},Vp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()},Bp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},js=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var Dp=BigInt(144e11),Up=!1,kp={width:576,height:576},Lp={width:424,height:576},Zc="internetcomputer.org",qp="ic0.app",Ks="id.ai";var Mp=({width:e,height:t})=>{if(!Us()||U(window)||U(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Kt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var jp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(jp||{});var Hs=class{async signIn({options:t,authClient:r,initAuth:n}){await Kt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Kt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Rr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Is){o(new Ss(i));return}o(new As(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Dp,allowPinAuthentication:t?.allowPin??Up,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var $s=class extends Hs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(U(i)||i===!1){let p=[Zc,qp].includes(this.#e??Ks);return ht(this.#e)?`https://${Ks}`:p?`https://identity.${this.#e??Zc}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=W(s)&&W(s?.internetIdentityId)?s.internetIdentityId:jd,{host:c,protocol:u}=new URL(i===!0?mo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Mp((()=>{try{let{hostname:i}=new URL(n);return i.includes(Ks)}catch{return!1}})()?Lp:kp)},identityProvider:n}}};var Xc=class extends Error{},Qc=class extends Error{},el=class extends Error{},tl=class extends Error{},rl=class extends Error{},nl=class extends Error{},ol=class extends Error{},Gs=class extends Error{},il=class extends Error{},sl=class extends Error{},al=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},cl=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}};var Kp=({auth:e,identity:t})=>"satellite"in e?cp({...e.satellite,identity:t}):lp({...e.console,identity:t}),cy=async({actorParams:e,args:t})=>{let{authenticate:r}=await Kp(e);return await r(t)},ly=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Kp(e);return await r(t)},uy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Or.fromDelegations(n,Uint8Array.from(r));return{identity:Er.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Js=async({jwt:e,context:t,auth:r})=>{let n=await Lt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await dy({jwt:e,publicKey:o,context:t,auth:r});return{identity:uy({sessionKey:n,delegations:i}),data:s}},dy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await cy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new rl("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await py({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Wr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},py=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await ly({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new il("Getting delegation failed",{cause:c})}return c.Ok}throw new sl};var Hp=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new al({cause:t})}}},$p=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new cl({cause:r})}}};var ll="juno:auth:openid",ul={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},Ws={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"};var dl=e=>Gr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),zs=({url:e})=>{try{return new URL(e)}catch{throw new Xc("Cannot parse authURL",{cause:e})}},fy=()=>window.crypto.getRandomValues(new Uint8Array(32)),hy=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return dl(Nr(o))},my=async({caller:e})=>{let t=fy();return{nonce:await hy({salt:t,caller:e}),salt:t}},Gp="__caller__",Jp="__salt__",Wp="__state__",_y=({caller:e,state:t,salt:r})=>{let n={[Gp]:e.toJSON(),[Jp]:Gr(r),[Wp]:t};return JSON.stringify(n)},yy=e=>{let{[Gp]:t,[Jp]:r,[Wp]:n}=JSON.parse(e);return{caller:At.fromParsedJson(t),salt:Cd(r),state:n}},pl=async({generateState:e})=>{let t=At.generate(),{nonce:r,salt:n}=await my({caller:t}),o=await e({nonce:r}),i=_y({caller:t,salt:n,state:o});return sessionStorage.setItem(ll,i),{nonce:r,state:o}},zp=()=>{let e=sessionStorage.getItem(ll);if(U(e))throw new Qc;return yy(e)};var gy=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await $p({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(ht(c))throw new Gs;return await Js({jwt:c,auth:e,context:t})},xy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(ht(r)||!r.startsWith("#"))throw new nl("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(ht(s)||o!==s)throw new ol("The provided state is invalid",{cause:o});if(ht(i))throw new Gs;return await Js({jwt:i,auth:e,context:t})},fl=async e=>{let t=zp();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=Ws;return await gy({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await Js({jwt:n,context:t,auth:o})}return await xy({...r,context:t})};var by=({initUrl:e})=>async({nonce:t})=>{let r=zs({url:e});r.searchParams.set("nonce",t);let n=await Hp({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},wy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=zs({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Ty=()=>dl(window.crypto.getRandomValues(new Uint8Array(12))),Ny=async e=>Ty(),Oy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=zs({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),Tr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Ey=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(U(i))throw new el;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new tl("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function mi(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=Ws,f=await pl({generateState:by({initUrl:c??l})});wy({...u,...f,authUrl:p,authScopes:d});return}let t=await pl({generateState:Ny}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=ul;return await Ey({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=ul;Oy({...n,...t,authUrl:o,authScopes:i})}var Ys=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var Ry=async e=>{let{satelliteId:t}=Se.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let r=Se.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(Tr(d))return d;let l=js();return ht(l)?null:Ys({url:`${l}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:u}}=await fl("github"in e?{github:{redirect:W(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ue.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await Mn({doc:u,key:c.getPrincipal().toText()});await Ms({user:p})};var Yp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Iy=()=>{window.addEventListener("beforeunload",Yp,{capture:!0})},vy=()=>{window.removeEventListener("beforeunload",Yp,{capture:!0})},Zs=async({fn:e})=>{try{return Iy(),await e()}finally{vy()}};var Xs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Bp();if(U(r))throw new xo;let{redirect:n}=t;await mi({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(Tr(i))return i;let s=js();if(!ht(s))return Ys({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var Qs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Vp();if(U(r))throw new xo;let{redirect:n}=t;await mi({google:{redirect:{...n??{},clientId:r}}})}};var Zp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Ip({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...W(n)&&{aaguid:Ts(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var bo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Jr.RequestingUserCredential:t?.({step:1,state:g});break;case Jr.FinalizingCredential:t?.({step:2,state:g});break;case Jr.Signing:t?.({step:3,state:g});break}},c=await Kt({fn:async()=>await Cc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Kt({fn:async()=>await Zp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Kt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Kt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(U(o))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await ks({collection:"#user-webauthn",key:Gr(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(U(l))throw new Fs("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return qn(h,oi)},s=({step:d,state:l})=>{switch(d){case Jr.RequestingUserCredential:t?.({step:0,state:l});break;case Jr.FinalizingCredential:t?.({step:1,state:l});break;case Jr.Signing:t?.({step:2,state:l});break}},a=await Cc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Kt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Kt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Lt.generate({extractable:!1}),o=r??144e5,i=await Or.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Er.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Mt;await Promise.all([n.set(We,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var Sy=async({provider:e})=>{await hi({fn:async()=>{let r=await vp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},Cy=async e=>{if("google"in e){let{google:{options:t}}=e;await ea({fn:()=>new Qs().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await ea({fn:()=>new Xs().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await ea({fn:()=>new bo().signIn({options:t,loadAuth:()=>qs({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await ea({fn:()=>new $s({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:Sy}),context:r});return}throw new Cs("An unknown or unsupported provider was provided for sign-in.")},ea=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Zs({fn:e})};var Fy=async e=>{let t=async()=>await Py(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Zs({fn:t})},Py=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:Ms});return}throw new Ps("An unknown or unsupported provider was provided for sign-up.")};var d1=e=>e?.data?.provider==="webauthn",p1=e=>e?.data?.provider==="google";var _1=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await pp({idlFactory:e,...t,identity:r})};var Xp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Vy(r));o?.onInitiatedBatch();let{chunkIds:u}=await Uy({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Dy({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Vy=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),By=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Dy=async({commitFn:e,...t})=>{let r=By(t);await e(r)},Uy=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Us()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of ky({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*ky({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Ly(o)))}}var Ly=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Qp=async({asset:e,...t})=>{let r=await we(t);await Xp({actor:r,asset:e})},ef=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,zr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},tf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,zr(t))},rf=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),nf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},of=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,zr(t))},sf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},af=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},cf=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var lf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var P1=e=>uf(e),V1=e=>uf({filename:e.data.name,...e}),uf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Qp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:df({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...W(i)&&{token:i},name:p}},B1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await ef({collection:e,filter:t??{},satellite:o,options:n??jt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:df({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:lf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},D1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await tf({collection:e,satellite:o,filter:t??{},options:n??jt})},U1=({collection:e,fullPath:t,satellite:r})=>rf({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),k1=({collection:e,fullPath:t,token:r,satellite:n})=>sf({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),L1=({assets:e,satellite:t})=>nf({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),q1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await of({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},M1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await af({...r,satellite:{...e,identity:n},options:t??jt})},j1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await cf({...r,satellite:{...e,identity:n},options:t??jt})},df=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${dp(n)}${e}${W(t)?`?token=${t}`:""}`};var qy=e=>{let t=e?.satelliteId??Fp();si(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Pp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},X1=e=>My(e),My=async e=>{let t=qy(e);Se.getInstance().set(t),await qs();let r=t.workers?.auth!==void 0?ip(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Cp();return[...W(r)?[r]:[],...W(n)?[n]:[]]},jy=e=>De.getInstance().subscribe(e),Q1=jy;export{jp as AuthClientSignInProgressStep,Vs as InitError,$s as InternetIdentityProvider,Bs as ListError,As as SignInError,Rr as SignInInitError,xo as SignInMissingClientIdError,Cs as SignInProviderNotSupportedError,Ss as SignInUserInterruptError,Ps as SignUpProviderNotSupportedError,Fs as WebAuthnSignInRetrievePublicKeyError,Q1 as authSubscribe,D1 as countAssets,ON as countDocs,U1 as deleteAsset,bN as deleteDoc,q1 as deleteFilteredAssets,TN as deleteFilteredDocs,L1 as deleteManyAssets,wN as deleteManyDocs,df as downloadUrl,M1 as getAsset,ks as getDoc,ey as getIdentityOnce,j1 as getManyAssets,xN as getManyDocs,_1 as getSatelliteExtendedActor,Ry as handleRedirectCallback,X1 as initJuno,My as initSatellite,p1 as isGoogleUser,R_ as isWebAuthnAvailable,d1 as isWebAuthnUser,B1 as listAssets,NN as listDocs,jy as onAuthStateChange,k1 as setAssetToken,Rp as setDoc,Ip as setManyDocs,Cy as signIn,Kc as signOut,Fy as signUp,Q_ as unsafeIdentity,P1 as uploadBlob,V1 as uploadFile};
|
|
54
|
+
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw Uo.fromCode(new Mo(p))}let c=Ka(s.headers);if(s.status===vc||s.status===t_)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===r_&&s.url.includes("api/v4"))throw re.fromCode(new qo);if(Sd(u))throw z.fromCode(new qt(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new Lo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?L.from(r.effectiveCanisterId):L.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw _e.fromCode(new kr);let c=L.from(t),u=a.getPrincipal(),p=Ic(this.#l,this.#r),d={request_type:Kn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=yr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:xr.Query,body:d}),s=await a.transformRequest(s);let f=ri(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Me.fromCode(new Xi);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof ot){if(m.hasCode(qt)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ae.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw _e.fromCode(new kr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:xr.ReadState,body:{request_type:Kn.ReadState,paths:t.paths,sender:o,ingress_expiry:Ic(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=L.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Mn(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw _e.fromCode(new kr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=L.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:ri(n.body)}),backoff:i,tries:0});return Ke(s)}catch(s){let a;if(s instanceof ot){if(s.hasCode(qt)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ut;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??yr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Ke(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new Lr("Could not decode time from response"));let o=Rr(["time"],r);if(o.status!==De.Found)throw re.fromCode(new vt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new Li("Time was not in its expected format."));let i=Jr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??L.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new it,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await bd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof ot?n:ae.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new it,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await wd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof ot?n:ae.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Ke(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw _e.fromCode(new lt(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=L.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[G("subnet")]]}),i=await at.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=L.selfAuthenticating(n);if(!yc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Me.fromCode(new Bn(r,c))}let s=xc(i.cert,n),a=wo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=L.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await at.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return xc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===xr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function Ic(e,t){let r=e*Ac;return ho.fromDeltaInMilliseconds(r,t)}function Sd(e){return e.includes("Invalid request expiry: ")}var i_=300*1e3;function Cd(){return u_(a_(s_(),1e3),l_(1e3,1.2),c_(i_))}function s_(){let e=!0;return async()=>e?(e=!1,!0):!1}function a_(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function c_(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new Dn(`Request timed out after ${e} msec`,n,o))}}function l_(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function u_(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Fd={preSignReadStateRequest:!1};function Pd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Sc(e,t){return e!==null&&typeof e=="object"&&Pd(e,t)}function p_(e,t){return Pd(e,t)&&typeof e[t]=="function"}function Vd(e){return Sc(e,"body")&&Sc(e.body,"content")&&e.body.content.request_type===Kn.ReadState&&Sc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&p_(e.body.content.ingress_expiry,"toHash")}async function Cc(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await f_({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw _e.fromCode(new lt);let c=await at.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=Ie(c.lookup_path([...o,G("status")])),p;switch(typeof u>"u"?p=$t.Unknown:p=new TextDecoder().decode(u),p){case $t.Replied:return{reply:Ie(c.lookup_path([...o,"reply"])),certificate:c};case $t.Received:case $t.Unknown:case $t.Processing:{let d=n.strategy??Cd();return await d(t,r,p),Cc(e,t,r,{...n,strategy:d,request:s})}case $t.Rejected:{let d=new Uint8Array(Ie(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ie(c.lookup_path([...o,"reject_message"]))),f=Ie(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Ur.fromCode(new ro(r,d,l,h))}case $t.Done:throw ae.fromCode(new Wi(r))}throw ut}async function f_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Vd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Vd(o))throw z.fromCode(new ts(o));return o}var mt=Symbol.for("ic-agent-metadata"),Oo=class e{static agentOf(t){return t[mt].config.agent}static interfaceOf(t){return t[mt].service}static canisterIdOf(t){return L.from(t[mt].config.canisterId)}static createActorClass(t,r){let n=t({IDL:qn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new jo(s.canisterId));let a=typeof s.canisterId=="string"?L.fromText(s.canisterId):s.canisterId;super({config:{...Bd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Vc),r?.certificate&&u.annotations.push(Dd),this[c]=m_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new jo(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[mt]=Object.freeze(t)}};function No(e,t){let r=qn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Bd={pollingOptions:Fd},Vc="http-details",Dd="certificate";function m_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[mt].config.queryTransform?.(t,a,{...e[mt].config,...s})};let c=s.agent||e[mt].config.agent||new Ar,u=L.from(s.canisterId||e[mt].config.canisterId),p=qn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Fr.Rejected:{let f=new $i(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Ur.fromCode(f)}case Fr.Replied:return r.annotations.includes(Vc)?{httpDetails:l,result:No(r.retTypes,d.reply.arg)}:No(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[mt].config.callTransform?.(t,a,{...e[mt].config,...s})};let c=s.agent||e[mt].config.agent||Ar.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Bd,...e[mt].config,...s},l=L.from(u),f=p!==void 0?L.from(p):l,h=qn.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(Ol(g.body)){if(c.rootKey==null)throw _e.fromCode(new lt);let E=g.body.certificate;y=await at.create({certificate:E,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[G("request_status"),_];switch(new TextDecoder().decode(Ie(y.lookup_path([...v,"status"])))){case"replied":x=Ie(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(Ie(y.lookup_path([...v,"reject_code"])))[0],V=new TextDecoder().decode(Ie(y.lookup_path([...v,"reject_message"]))),C=Ie(y.lookup_path([...v,"error_code"])),b=C?new TextDecoder().decode(C):void 0,N=new ro(_,I,V,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Ur.fromCode(N)}}}else if(Nl(g.body)){let{reject_code:E,reject_message:v,error_code:w}=g.body,I=new Ji(_,E,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Ur.fromCode(I)}if(g.status===202){let E={...d,blsVerify:n},v=await Cc(c,f,_,E);y=v.certificate,x=v.reply}let T=r.annotations.includes(Vc),O=r.annotations.includes(Dd),R={...g,requestDetails:m};if(x!==void 0)return T&&O?{httpDetails:R,certificate:y,result:No(r.retTypes,x)}:O?{certificate:y,result:No(r.retTypes,x)}:T?{httpDetails:R,result:No(r.retTypes,x)}:No(r.retTypes,x);{let E=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw E.callContext={canisterId:l,methodName:t,httpDetails:R},ae.fromCode(E)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var __=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(__||{}),Xb=BigInt(1e8);var U=e=>e==null,J=e=>!U(e),Sr=e=>J(e)&&e!=="",_t=e=>!Sr(e);var y_=class extends Error{},xi=(e,t)=>{if(e==null)throw new y_(t)};var Cr=e=>new Uint8Array(e),Ds=e=>Array.from(e);var kd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Ud="abcdefghijklmnopqrstuvwxyz234567",gi=Object.create(null);for(let e=0;e<Ud.length;e++)gi[Ud[e]]=e;gi[0]=gi.o;gi[1]=gi.i;var Xr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Ld=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Qb=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Fc="__bigint__",Pc="__principal__",Bc="__uint8array__",qd=(e,t)=>typeof t=="bigint"?{[Fc]:`${t}`}:J(t)&&L.isPrincipal(t)?{[Pc]:L.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[Bc]:Array.from(t)}:t,Md=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&Fc in t?BigInt(r(Fc)):J(t)&&typeof t=="object"&&Pc in t?L.fromText(r(Pc)):J(t)&&typeof t=="object"&&Bc in t?Uint8Array.from(r(Bc)):t};var se=e=>J(e)?[e]:[],xe=e=>e?.[0];var g_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=x_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},x_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ds(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function b_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function w_(e){return Yn(e,yi)}var T_=class{constructor(e){this._cose=e,this.#e=w_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},$d=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new T_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Xr(this.#e)}},N_=class extends $d{#e;#t;constructor({authData:e,...t}){super(t);let r=g_({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},O_=class extends $d{},E_=class extends Error{},R_=class extends Error{},v_=class extends Error{},I_=class extends Error{},A_=class extends Error{},S_=class extends Error{},C_=class extends Error{},jd=class extends Error{};var V_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},F_=6e4,Jd=()=>window.crypto.getRandomValues(new Uint8Array(16)),P_=()=>Jd(),B_=()=>Jd(),D_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new E_}},Wd=({appId:e})=>e?.id??D_(),U_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Wd({appId:e})}}),o=()=>({user:{id:B_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:P_(),...n(),...o(),pubKeyCredParams:Object.values(V_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},k_=(e={})=>({rpId:Wd(e),allowCredentials:[],userVerification:"required"}),Dc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Qr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Qr||{}),zd=({timeout:e})=>AbortSignal.timeout(e??F_),L_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...k_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:zd({timeout:n})}),Kd=e=>{if(e.status!=="initialized")throw new R_},Hd=e=>{if(U(e))throw new v_},Gd=({type:e})=>{if(e!=="public-key")throw new I_},Uc=class bi extends Gt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=bi.#r({credential:new N_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:U_(t),signal:zd({timeout:r})});Hd(o),Gd(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new A_;let{authData:a}=ps.decode(Cr(i)),c=b_(a);return new bi({...n,rawId:Cr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new bi(t)}getPublicKey(){Kd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Kd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Dc({fn:async()=>{let n=await L_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Hd(n),Gd(n),n},step:0,onProgress:this.#e});return await Dc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!kd({a:this.#t.credential.getCredentialId(),b:Cr(n)}))throw new S_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Cr(n)});this.#t=bi.#r({credential:new O_({rawId:Cr(n),cose:i})})},step:1,onProgress:this.#e}),await Dc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new jd;if(U(s))throw new jd;let a=ps.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Cr(s)});if(U(a))throw new C_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},q_=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Eo=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Ue=class e extends Eo{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var wi=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Ro="http://127.0.0.1:5987",Yd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Zd=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Ro:t:"https://icp-api.io",o=J(t);return await Ar.create({identity:e,shouldFetchRootKey:o,host:n})};var vo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await Zd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Io=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(U(this.#e)||U(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await vo.getInstance().getAgent(n);return Oo.createActor(t,{agent:o,canisterId:r})}};function Xd(e){return e!==null&&typeof e=="object"}var Ti=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Xd(t)){let r=t;if(Xd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Mt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Mt(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Yn(t,zn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Zn(t,zn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},ct=class e extends Gt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=We.utils.randomPrivateKey()),Gl(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=We.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Ti.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(Ti.fromRaw(t),r)}static fromSecretKey(t){let r=We.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Ti.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=We.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Mt(a)));return We.verify(o,i,s)}};var kc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Qd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new kc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var yt=class e extends Gt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Qd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Mt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Qd(r),o=Mt(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Mt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Us=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return L.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function ks(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Lc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var en=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:ks(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function M_(e,t,r,n){let o=new en(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Da,...new Uint8Array(yr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Dt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await M_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new en(Lc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return L.fromHex(d)})),signature:Lc(a)}});return new this(o,Lc(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:ks(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:ks(n)}}),publicKey:ks(this.publicKey)}}},Ut=class extends Gt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await yr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Zo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ni=class e extends Us{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function qc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?L.fromText(o):o)):r.push(typeof n=="string"?L.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var ep=["mousedown","mousemove","keydown","touchstart","wheel"],Oi=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),ep.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);ep.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var j_=(e,t)=>t.some(r=>e instanceof r),tp,rp;function K_(){return tp||(tp=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function H_(){return rp||(rp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var np=new WeakMap,jc=new WeakMap,op=new WeakMap,Mc=new WeakMap,Hc=new WeakMap;function G_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Jt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&np.set(r,e)}).catch(()=>{}),Hc.set(t,e),t}function $_(e){if(jc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});jc.set(e,t)}var Kc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return jc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||op.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Jt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function ip(e){Kc=e(Kc)}function J_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Ls(this),t,...r);return op.set(n,t.sort?t.sort():[t]),Jt(n)}:H_().includes(e)?function(...t){return e.apply(Ls(this),t),Jt(np.get(this))}:function(...t){return Jt(e.apply(Ls(this),t))}}function W_(e){return typeof e=="function"?J_(e):(e instanceof IDBTransaction&&$_(e),j_(e,K_())?new Proxy(e,Kc):e)}function Jt(e){if(e instanceof IDBRequest)return G_(e);if(Mc.has(e))return Mc.get(e);let t=W_(e);return t!==e&&(Mc.set(e,t),Hc.set(t,e)),t}var Ls=e=>Hc.get(e);function ap(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Jt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Jt(s.result),c.oldVersion,c.newVersion,Jt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var z_=["get","getKey","getAll","getAllKeys","count"],Y_=["put","add","delete","clear"],Gc=new Map;function sp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Gc.get(t))return Gc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Y_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||z_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Gc.set(t,i),i}ip(e=>({...e,get:(t,r,n)=>sp(t,r)||e.get(t,r,n),has:(t,r)=>!!sp(t,r)||e.has(t,r)}));var cp="auth-client-db",lp="ic-keyval",Z_=async(e=cp,t=lp,r)=>(globalThis.localStorage?.getItem(ze)&&(globalThis.localStorage.removeItem(ze),globalThis.localStorage.removeItem(Ye)),await ap(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function X_(e,t,r){return await e.get(t,r)}async function Q_(e,t,r,n){return await e.put(t,n,r)}async function ey(e,t,r){return await e.delete(t,r)}var qs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=cp,storeName:n=lp,version:o=up}=t??{},i=await Z_(r,n,o);return new e(i,n)}async set(t,r){return await Q_(this._db,this._storeName,t,r)}async get(t){return await X_(this._db,this._storeName,t)??null}async remove(t){return await ey(this._db,this._storeName,t)}};var Ye="identity",ze="delegation",dp="iv",up=1,Ei=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Wt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}qs.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var ty=BigInt(1e9),ry=BigInt(3600),ny=ty*ry,oy="https://identity.internetcomputer.org",iy="#authorize",sy=BigInt(8)*ny,$c="ECDSA",Jc="Ed25519",ay=500,Ms="UserInterrupt",Ri=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Wt,n=t.keyType??$c,o=null;if(t.identity)o=t.identity;else{let c=await r.get(Ye);if(!c)try{let u=new Ei,p=await u.get(ze),d=await u.get(Ye);p&&d&&n===$c&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(Ye,d),c=p,await u.remove(ze),await u.remove(Ye))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Jc&&typeof c=="string"?o=ct.fromJSON(c):o=await yt.fromKeyPair(c):typeof c=="string"&&(o=ct.fromJSON(c))}catch{}}let i=new it,s=null;if(o)try{let c=await r.get(ze);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Dt.fromJSON(c),qc(s)?"toDer"in o?i=Ni.fromDelegation(o,s):i=Ut.fromDelegation(o,s):(await Wc(r),o=null))}catch(c){console.error(c),await Wc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Oi.create(t.idleOptions)),o||(n===Jc?o=ct.generate():(t.storage&&n===$c&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Jc}' as the key type, as it can serialize to a string`),o=await yt.generate()),await pp(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new en(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Dt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Ni.fromDelegation(i,this._chain):this._identity=Ut.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Oi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,JSON.stringify(this._chain.toJSON())),await pp(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&qc(this._chain)}async login(t){let r=cy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??sy,o=new URL(r?.identityProvider?.toString()||oy);o.hash=iy,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ms,r?.onError):setTimeout(i,ay))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await Wc(this._storage),this._identity=new it,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function Wc(e){await e.remove(Ye),await e.remove(ze),await e.remove(dp)}function cy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function ly(e){if(e instanceof yt)return e.getKeyPair();if(e instanceof ct)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function pp(e,t){let r=ly(t);await e.set(Ye,r)}var Ve=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Ri.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Wt().remove(Ye),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Wt;await Promise.all([n.set(Ye,r.getKeyPair()),n.set(ze,JSON.stringify(t.toJSON()))])}};var zc=async e=>{await uy(),await Ve.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},uy=async()=>{await Ve.getInstance().logout(),Ue.getInstance().reset(),Io.getInstance().reset(),vo.getInstance().reset()};var fp=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{wi({message:"junoSignOutAuthTimer"}),await zc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":wi({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Ao=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&J(o)&&o.msg==="authClientLoginSuccess"&&Sr(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends Eo{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var vi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await dy({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||py()},hp=async({fn:e})=>{let{createAuthClient:t}=Ve.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},dy=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ve.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},py=()=>{try{Ao.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Yc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var mp="juno.datastore.error.user.cannot_update";var zt={certified:!1};var js=()=>Ve.getInstance().getAuthClient()?.getIdentity(),fy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ve.getInstance();return(e()??await t()).getIdentity()},hy=async()=>{let e=Ue.getInstance().get();if(U(e))return null;let t=Ve.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:js()??new it;var Zc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),g=e.Variant({OpenId:_}),m=e.Variant({JwtFindProvider:u,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,TooManyControllers:e.Text}),x=e.Variant({PrepareAutomation:m,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),y=e.Variant({Ok:e.Null,Err:x}),T=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),O=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),R=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),E=e.Record({field:R,desc:e.Bool}),v=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),w=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(v),description:e.Opt(e.Text),created_at:e.Opt(v)}),I=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),V=e.Record({order:e.Opt(E),owner:e.Opt(e.Principal),matcher:e.Opt(w),paginate:e.Opt(I)}),C=e.Record({controllers:e.Vec(e.Principal)}),b=e.Variant({Emulator:e.Null,Automation:e.Null}),N=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),S=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(b),created_at:e.Nat64,scope:N,expires_at:e.Opt(e.Nat64)}),B=e.Record({version:e.Opt(e.Nat64)}),k=e.Variant({Db:e.Null,Storage:e.Null}),A=e.Record({version:e.Opt(e.Nat64)}),F=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({cycles:e.Nat,destination_id:e.Principal}),D=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),M=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ee=e.Record({key:D,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,M)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ne=e.Variant({GitHub:e.Null,Google:e.Null}),Y=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),we=e.Record({delegation:e.Opt(Y),client_id:e.Text}),fe=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ne,we))}),Fe=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),oe=e.Record({allowed_callers:e.Vec(e.Principal)}),te=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(fe),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(Fe),rules:e.Opt(oe)}),Zt=e.Variant({GitHub:e.Null}),rn=e.Variant({Write:e.Null,Submit:e.Null}),nn=e.Record({scope:e.Opt(rn),max_time_to_live:e.Opt(e.Nat64)}),on=e.Record({owner:e.Text,name:e.Text}),sn=e.Record({branches:e.Opt(e.Vec(e.Text))}),Xt=e.Record({controller:e.Opt(nn),repositories:e.Vec(e.Tuple(on,sn))}),ke=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(Zt,Xt))}),gt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ke),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),Qe=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),xt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe)}),et=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Qt=e.Variant({Deny:e.Null,Allow:e.Null}),er=e.Record({status_code:e.Nat16,location:e.Text}),bt=e.Record({iframe:e.Opt(et),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe),raw_access:e.Opt(Qt),redirects:e.Opt(e.Vec(e.Tuple(e.Text,er)))}),tr=e.Record({db:e.Opt(xt),authentication:e.Opt(te),storage:bt}),rr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),an=e.Variant({OpenId:rr}),cn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),nr=e.Record({signature:e.Vec(e.Nat8),delegation:cn}),ln=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),un=e.Variant({Ok:nr,Err:ln}),dn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),pn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),fn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),or=e.Variant({AssetsUpgrade:pn,SegmentsDeployment:fn}),tt=e.Record({status:dn,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:or}),Le=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),wt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Le,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(wt),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),hn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),rt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),mn=e.Variant({Callback:e.Record({token:rt,callback:e.Func([],[],["query"])})}),_n=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(mn),status_code:e.Nat16}),yn=e.Record({token:e.Opt(rt),body:e.Vec(e.Nat8)}),Nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Ot=e.Record({batch_id:e.Nat}),gn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),xn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),bn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),wn=e.Record({desc:e.Bool}),qe=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Tn=e.Record({order:e.Opt(wn),paginate:e.Opt(qe)}),Nn=e.Record({proposal_id:e.Nat}),nt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Nn,tt)),items_length:e.Nat64}),On=e.Record({include_system:e.Bool}),En=e.Record({matcher:e.Opt(On)}),Rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Tt)),items_length:e.Nat64}),vn=e.Record({stable:e.Nat64,heap:e.Nat64}),ir=e.Record({openid:e.Opt(fe),version:e.Opt(e.Nat64),internet_identity:e.Opt(Fe),rules:e.Opt(oe)}),In=e.Record({openid:e.Opt(ke),version:e.Opt(e.Nat64)}),An=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(b),scope:N,expires_at:e.Opt(e.Nat64)}),sr=e.Record({controller:An,controllers:e.Vec(e.Principal)}),Sn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe)}),ar=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ma=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Le,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(wt),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),_a=e.Record({iframe:e.Opt(et),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe),raw_access:e.Opt(Qt),redirects:e.Opt(e.Vec(e.Tuple(e.Text,er)))}),Vo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Fo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([g],[y],[]),commit_asset_upload:e.Func([T],[],[]),commit_proposal:e.Func([O],[e.Null],[]),commit_proposal_asset_upload:e.Func([T],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(T)],[],[]),count_assets:e.Func([e.Text,V],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,V],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([C],[e.Vec(e.Tuple(e.Principal,S))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,B],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,V],[],[]),del_filtered_docs:e.Func([e.Text,V],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,B))],[],[]),del_rule:e.Func([k,e.Text,A],[],[]),delete_proposal_assets:e.Func([F],[],[]),deposit_cycles:e.Func([P],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ee)],["query"]),get_auth_config:e.Func([],[e.Opt(te)],["query"]),get_automation_config:e.Func([],[e.Opt(gt)],["query"]),get_config:e.Func([],[tr],[]),get_db_config:e.Func([],[e.Opt(xt)],["query"]),get_delegation:e.Func([an],[un],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ee)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rule:e.Func([k,e.Text],[e.Opt(Tt)],["query"]),get_storage_config:e.Func([],[bt],["query"]),http_request:e.Func([hn],[_n],["query"]),http_request_streaming_callback:e.Func([rt],[yn],["query"]),init_asset_upload:e.Func([Nt],[Ot],[]),init_proposal:e.Func([or],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([Nt,e.Nat],[Ot],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Nt),e.Nat],[e.Vec(e.Tuple(e.Text,Ot))],[]),list_assets:e.Func([e.Text,V],[gn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,S))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,xn))],["query"]),list_docs:e.Func([e.Text,V],[bn],["query"]),list_proposals:e.Func([Tn],[nt],["query"]),list_rules:e.Func([k,En],[Rn],["query"]),memory_size:e.Func([],[vn],["query"]),reject_proposal:e.Func([O],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([ir],[te],[]),set_automation_config:e.Func([In],[gt],[]),set_controllers:e.Func([sr],[e.Vec(e.Tuple(e.Principal,S))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Sn],[xt],[]),set_doc:e.Func([e.Text,e.Text,ar],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ar))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([k,e.Text,ma],[Tt],[]),set_storage_config:e.Func([_a],[bt],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Vo],[Fo],[]),upload_proposal_asset_chunk:e.Func([Vo],[Fo],[])})},Xc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),g=e.Variant({OpenId:_}),m=e.Variant({JwtFindProvider:u,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,TooManyControllers:e.Text}),x=e.Variant({PrepareAutomation:m,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),y=e.Variant({Ok:e.Null,Err:x}),T=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),O=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),R=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),E=e.Record({field:R,desc:e.Bool}),v=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),w=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(v),description:e.Opt(e.Text),created_at:e.Opt(v)}),I=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),V=e.Record({order:e.Opt(E),owner:e.Opt(e.Principal),matcher:e.Opt(w),paginate:e.Opt(I)}),C=e.Record({controllers:e.Vec(e.Principal)}),b=e.Variant({Emulator:e.Null,Automation:e.Null}),N=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),S=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(b),created_at:e.Nat64,scope:N,expires_at:e.Opt(e.Nat64)}),B=e.Record({version:e.Opt(e.Nat64)}),k=e.Variant({Db:e.Null,Storage:e.Null}),A=e.Record({version:e.Opt(e.Nat64)}),F=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({cycles:e.Nat,destination_id:e.Principal}),D=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),M=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ee=e.Record({key:D,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,M)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ne=e.Variant({GitHub:e.Null,Google:e.Null}),Y=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),we=e.Record({delegation:e.Opt(Y),client_id:e.Text}),fe=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ne,we))}),Fe=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),oe=e.Record({allowed_callers:e.Vec(e.Principal)}),te=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(fe),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(Fe),rules:e.Opt(oe)}),Zt=e.Variant({GitHub:e.Null}),rn=e.Variant({Write:e.Null,Submit:e.Null}),nn=e.Record({scope:e.Opt(rn),max_time_to_live:e.Opt(e.Nat64)}),on=e.Record({owner:e.Text,name:e.Text}),sn=e.Record({branches:e.Opt(e.Vec(e.Text))}),Xt=e.Record({controller:e.Opt(nn),repositories:e.Vec(e.Tuple(on,sn))}),ke=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(Zt,Xt))}),gt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ke),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),Qe=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),xt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe)}),et=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Qt=e.Variant({Deny:e.Null,Allow:e.Null}),er=e.Record({status_code:e.Nat16,location:e.Text}),bt=e.Record({iframe:e.Opt(et),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe),raw_access:e.Opt(Qt),redirects:e.Opt(e.Vec(e.Tuple(e.Text,er)))}),tr=e.Record({db:e.Opt(xt),authentication:e.Opt(te),storage:bt}),rr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),an=e.Variant({OpenId:rr}),cn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),nr=e.Record({signature:e.Vec(e.Nat8),delegation:cn}),ln=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),un=e.Variant({Ok:nr,Err:ln}),dn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),pn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),fn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),or=e.Variant({AssetsUpgrade:pn,SegmentsDeployment:fn}),tt=e.Record({status:dn,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:or}),Le=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),wt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Le,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(wt),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),hn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),rt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),mn=e.Variant({Callback:e.Record({token:rt,callback:e.Func([],[],[])})}),_n=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(mn),status_code:e.Nat16}),yn=e.Record({token:e.Opt(rt),body:e.Vec(e.Nat8)}),Nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Ot=e.Record({batch_id:e.Nat}),gn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),xn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),bn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),wn=e.Record({desc:e.Bool}),qe=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Tn=e.Record({order:e.Opt(wn),paginate:e.Opt(qe)}),Nn=e.Record({proposal_id:e.Nat}),nt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Nn,tt)),items_length:e.Nat64}),On=e.Record({include_system:e.Bool}),En=e.Record({matcher:e.Opt(On)}),Rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Tt)),items_length:e.Nat64}),vn=e.Record({stable:e.Nat64,heap:e.Nat64}),ir=e.Record({openid:e.Opt(fe),version:e.Opt(e.Nat64),internet_identity:e.Opt(Fe),rules:e.Opt(oe)}),In=e.Record({openid:e.Opt(ke),version:e.Opt(e.Nat64)}),An=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(b),scope:N,expires_at:e.Opt(e.Nat64)}),sr=e.Record({controller:An,controllers:e.Vec(e.Principal)}),Sn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe)}),ar=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ma=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Le,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(wt),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),_a=e.Record({iframe:e.Opt(et),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(Qe),raw_access:e.Opt(Qt),redirects:e.Opt(e.Vec(e.Tuple(e.Text,er)))}),Vo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Fo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([g],[y],[]),commit_asset_upload:e.Func([T],[],[]),commit_proposal:e.Func([O],[e.Null],[]),commit_proposal_asset_upload:e.Func([T],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(T)],[],[]),count_assets:e.Func([e.Text,V],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,V],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([C],[e.Vec(e.Tuple(e.Principal,S))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,B],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,V],[],[]),del_filtered_docs:e.Func([e.Text,V],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,B))],[],[]),del_rule:e.Func([k,e.Text,A],[],[]),delete_proposal_assets:e.Func([F],[],[]),deposit_cycles:e.Func([P],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ee)],[]),get_auth_config:e.Func([],[e.Opt(te)],[]),get_automation_config:e.Func([],[e.Opt(gt)],[]),get_config:e.Func([],[tr],[]),get_db_config:e.Func([],[e.Opt(xt)],[]),get_delegation:e.Func([an],[un],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ee)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rule:e.Func([k,e.Text],[e.Opt(Tt)],[]),get_storage_config:e.Func([],[bt],[]),http_request:e.Func([hn],[_n],[]),http_request_streaming_callback:e.Func([rt],[yn],[]),init_asset_upload:e.Func([Nt],[Ot],[]),init_proposal:e.Func([or],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([Nt,e.Nat],[Ot],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Nt),e.Nat],[e.Vec(e.Tuple(e.Text,Ot))],[]),list_assets:e.Func([e.Text,V],[gn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,S))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,xn))],[]),list_docs:e.Func([e.Text,V],[bn],[]),list_proposals:e.Func([Tn],[nt],[]),list_rules:e.Func([k,En],[Rn],[]),memory_size:e.Func([],[vn],[]),reject_proposal:e.Func([O],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([ir],[te],[]),set_automation_config:e.Func([In],[gt],[]),set_controllers:e.Func([sr],[e.Vec(e.Tuple(e.Principal,S))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Sn],[xt],[]),set_doc:e.Func([e.Text,e.Text,ar],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ar))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([k,e.Text,ma],[Tt],[]),set_storage_config:e.Func([_a],[bt],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Vo],[Fo],[]),upload_proposal_asset_chunk:e.Func([Vo],[Fo],[])})},my=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),R=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(R)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(V),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),k=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),F=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(k),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),M=e.Record({authentication:e.Opt(B),storage:D}),ee=e.Record({user:e.Principal}),ne=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:ne}),we=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),fe=e.Record({signature:e.Vec(e.Nat8),delegation:we}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:fe,Err:Fe}),te=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Zt=e.Record({e12s:e.Nat64}),rn=e.Record({updated_at:e.Nat64,fee_cycles:Zt,fee_icp:e.Opt(t)}),nn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),on=e.Record({clear_existing_assets:e.Opt(e.Bool)}),sn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xt=e.Variant({AssetsUpgrade:on,SegmentsDeployment:sn}),ke=e.Record({status:nn,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xt}),gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qe=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),xt=e.Variant({Heap:e.Null,Stable:e.Null}),et=e.Record({memory:xt,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qt=e.Variant({Callback:e.Record({token:et,callback:e.Func([],[],["query"])})}),er=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qt),status_code:e.Nat16}),bt=e.Record({token:e.Opt(et),body:e.Vec(e.Nat8)}),tr=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),rr=e.Record({batch_id:e.Nat}),an=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),cn=e.Record({field:an,desc:e.Bool}),nr=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ln=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(nr),description:e.Opt(e.Text),created_at:e.Opt(nr)}),un=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dn=e.Record({order:e.Opt(cn),owner:e.Opt(e.Principal),matcher:e.Opt(ln),paginate:e.Opt(un)}),pn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),fn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),or=e.Record({key:pn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,fn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),tt=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,or)),items_length:e.Nat64}),Le=e.Variant({Emulator:e.Null,Automation:e.Null}),wt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Tt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(Le),created_at:e.Nat64,scope:wt,expires_at:e.Opt(e.Nat64)}),hn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),rt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),mn=e.Record({status:rt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),_n=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),yn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),Nt=e.Record({status:rt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:yn}),Ot=e.Record({desc:e.Bool}),gn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),xn=e.Record({order:e.Opt(Ot),paginate:e.Opt(gn)}),bn=e.Record({proposal_id:e.Nat}),wn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(bn,ke)),items_length:e.Nat64}),qe=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Tn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(qe)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:qe}),nt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(Le),scope:wt,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:Zt,fee_icp:e.Opt(t)}),ir=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:qe}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:qe}),An=e.Record({iframe:e.Opt(k),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),sr=e.Record({segment_id:e.Principal,segment_kind:qe}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ar=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[M],["query"]),get_create_orbiter_fee:e.Func([ee],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([ee],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Y],[oe],["query"]),get_fee:e.Func([te],[rn],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(ke)],["query"]),get_rate_config:e.Func([te],[gt],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([Qe],[er],["query"]),http_request_streaming_callback:e.Func([et],[bt],["query"]),init_proposal:e.Func([Xt],[e.Nat,ke],[]),init_proposal_asset_upload:e.Func([tr,e.Nat],[rr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tr),e.Nat],[e.Vec(e.Tuple(e.Text,rr))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,dn],[tt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Tt))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,hn))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,mn))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(_n,Nt))],["query"]),list_proposals:e.Func([xn],[wn],["query"]),list_segments:e.Func([Tn],[e.Vec(e.Tuple(Nn,nt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([te,vn],[],[]),set_many_segments:e.Func([e.Vec(ir)],[e.Vec(nt)],[]),set_rate_config:e.Func([te,gt],[],[]),set_segment:e.Func([ir],[nt],[]),set_segment_metadata:e.Func([In],[nt],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,ke],[]),unset_many_segments:e.Func([e.Vec(sr)],[],[]),unset_segment:e.Func([sr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[ar],[])})},_y=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),R=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(R)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(V),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),k=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),F=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(k),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),M=e.Record({authentication:e.Opt(B),storage:D}),ee=e.Record({user:e.Principal}),ne=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:ne}),we=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),fe=e.Record({signature:e.Vec(e.Nat8),delegation:we}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:fe,Err:Fe}),te=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Zt=e.Record({e12s:e.Nat64}),rn=e.Record({updated_at:e.Nat64,fee_cycles:Zt,fee_icp:e.Opt(t)}),nn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),on=e.Record({clear_existing_assets:e.Opt(e.Bool)}),sn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xt=e.Variant({AssetsUpgrade:on,SegmentsDeployment:sn}),ke=e.Record({status:nn,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xt}),gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qe=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),xt=e.Variant({Heap:e.Null,Stable:e.Null}),et=e.Record({memory:xt,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qt=e.Variant({Callback:e.Record({token:et,callback:e.Func([],[],[])})}),er=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qt),status_code:e.Nat16}),bt=e.Record({token:e.Opt(et),body:e.Vec(e.Nat8)}),tr=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),rr=e.Record({batch_id:e.Nat}),an=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),cn=e.Record({field:an,desc:e.Bool}),nr=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ln=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(nr),description:e.Opt(e.Text),created_at:e.Opt(nr)}),un=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dn=e.Record({order:e.Opt(cn),owner:e.Opt(e.Principal),matcher:e.Opt(ln),paginate:e.Opt(un)}),pn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),fn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),or=e.Record({key:pn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,fn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),tt=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,or)),items_length:e.Nat64}),Le=e.Variant({Emulator:e.Null,Automation:e.Null}),wt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Tt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(Le),created_at:e.Nat64,scope:wt,expires_at:e.Opt(e.Nat64)}),hn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),rt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),mn=e.Record({status:rt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),_n=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),yn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),Nt=e.Record({status:rt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:yn}),Ot=e.Record({desc:e.Bool}),gn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),xn=e.Record({order:e.Opt(Ot),paginate:e.Opt(gn)}),bn=e.Record({proposal_id:e.Nat}),wn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(bn,ke)),items_length:e.Nat64}),qe=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Tn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(qe)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:qe}),nt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(Le),scope:wt,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:Zt,fee_icp:e.Opt(t)}),ir=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:qe}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:qe}),An=e.Record({iframe:e.Opt(k),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),sr=e.Record({segment_id:e.Principal,segment_kind:qe}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ar=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[M],[]),get_create_orbiter_fee:e.Func([ee],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([ee],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Y],[oe],[]),get_fee:e.Func([te],[rn],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(ke)],[]),get_rate_config:e.Func([te],[gt],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([Qe],[er],[]),http_request_streaming_callback:e.Func([et],[bt],[]),init_proposal:e.Func([Xt],[e.Nat,ke],[]),init_proposal_asset_upload:e.Func([tr,e.Nat],[rr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tr),e.Nat],[e.Vec(e.Tuple(e.Text,rr))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,dn],[tt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Tt))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,hn))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,mn))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(_n,Nt))],[]),list_proposals:e.Func([xn],[wn],[]),list_segments:e.Func([Tn],[e.Vec(e.Tuple(Nn,nt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([te,vn],[],[]),set_many_segments:e.Func([e.Vec(ir)],[e.Vec(nt)],[]),set_rate_config:e.Func([te,gt],[],[]),set_segment:e.Func([ir],[nt],[]),set_segment_metadata:e.Func([In],[nt],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,ke],[]),unset_many_segments:e.Func([e.Vec(sr)],[],[]),unset_segment:e.Func([sr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[ar],[])})};var yy=async({identity:e,host:t,localActor:r})=>await Ar.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),gy=async({agent:e,...t})=>e??await xy(t),xy=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await yy({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var _p=({satelliteId:e,certified:t=!1,...r})=>gp({canisterId:e,...r,idlFactory:t?Xc:Zc});var yp=({consoleId:e,certified:t=!1,...r})=>gp({canisterId:e,...r,idlFactory:t?_y:my}),gp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return by({canisterId:e,idlFactory:t,...r})},by=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await gy(n);return Oo.createActor(t,{agent:o,canisterId:e,...r??{}})};var xp=({satelliteId:e,container:t})=>{let{satelliteId:r}=Qc({satelliteId:e}),{container:n}=el({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Ro:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Qc=({satelliteId:e})=>J(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},el=({container:e})=>J(e)?{container:e}:Se.getInstance().get()??{container:void 0};var be=({satellite:e,options:{certified:t}})=>wp({idlFactory:t?Xc:Zc,actorKey:`stock#${t?"update":"query"}`,...e}),bp=({idlFactory:e,...t})=>wp({idlFactory:e,actorKey:"extended#query",...t}),wp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Qc({satelliteId:e});xi(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=el({container:t});return await Io.getInstance().getActor({satelliteId:n,container:o,...r})};var Ks=class extends Error{},Vr=class extends Error{},Hs=class extends Error{},Gs=class extends Error{},So=class extends Error{},$s=class extends Error{},Js=class extends Error{},Ws=class extends Error{},zs=class extends Error{};var Tp=e=>{if(U(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new zs("Invalid list matcher for timestamp",e)}},tn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:Tp(e.createdAt),updated_at:Tp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?L.fromText(n):n)});var Np=async e=>{let t=new Blob([JSON.stringify(e,qd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Ys=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Md)},Zs=()=>typeof window<"u";var Op=async({data:e})=>{try{return await Ys(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var tl=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await Np(t),version:se(r)}},rl=e=>{let{version:t}=e;return{version:se(t)}},Xn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:xe(o),owner:r.toText(),data:await Ys(i),version:xe(n),...s}};var Ep=async({collection:e,key:t,...r})=>{let{get_doc:n}=await be(r),o=xe(await n(e,t));if(!U(o))return Xn({doc:o,key:t})},Rp=async({docs:e,...t})=>{let{get_many_docs:r}=await be(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=xe(a);i.push(J(c)?await Xn({key:s,doc:c}):void 0)}return i},vp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await be(r),{key:o}=t,i=await tl(t),s=await n(e,o,i);return await Xn({key:o,doc:s})},Ip=async({docs:e,...t})=>{let{set_many_docs:r}=await be(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await tl(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Xn({key:s,doc:a}));return i},Ap=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await be(r),{key:o}=t;return n(e,o,rl(t))},Sp=async({docs:e,...t})=>{let{del_many_docs:r}=await be(t),n=e.map(({collection:o,doc:i})=>[o,i.key,rl(i)]);await r(n)},Cp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await be(r);return n(e,tn(t))},Vp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await be(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,tn(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:xe(h),owner:f.toText(),data:await Op({data:l}),version:xe(_),...g})}return{items:u,items_length:s,items_page:xe(i),matches_length:a,matches_pages:xe(c)}},Fp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await be(r);return n(e,tn(t))};var Xs=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Ep({...r,satellite:{...e,identity:n},options:t??zt})},UN=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Rp({...r,satellite:{...e,identity:n},options:t??zt})},Pp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await vp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Bp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Ip({...t,satellite:{...e,identity:r},options:{certified:!0}})},kN=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Ap({...t,satellite:{...e,identity:r},options:{certified:!0}})},LN=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Sp({...t,satellite:{...e,identity:r},options:{certified:!0}})},qN=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await Cp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},MN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Vp({...n,filter:r??{},satellite:{...e,identity:o},options:t??zt})},jN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Fp({...n,filter:r??{},satellite:{...e,identity:o},options:t??zt})};var Dp=async({provider:e})=>{let{user:t,userId:r}=await Qs();if(J(t))return t;try{return await wy({userId:r,provider:e})}catch(n){if(Yc({error:n,type:mp})){let o=await Up({userId:r});if(J(o))return o}throw n}},Qs=async()=>{let e=js();if(U(e))throw new Ws("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Up({userId:t});return{userId:t,user:r}},Up=({userId:e})=>Xs({collection:"#user",key:e}),wy=({userId:e,...t})=>Pp({collection:"#user",doc:{key:e,data:t}});var ea=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await vi({fn:async()=>{let{user:r}=await Qs();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},kp=async()=>{await hp({fn:async({authenticated:t})=>{let n=t?Qs:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},ta=async({user:e})=>{await vi({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Lp=()=>{try{let e=Ao.getInstance(),t=async()=>{await kp(),wi({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var qp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Mp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},jp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()},Kp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},ra=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var Hp=BigInt(144e11),Gp=!1,$p={width:576,height:576},Jp={width:424,height:576},nl="internetcomputer.org",Wp="ic0.app",na="id.ai";var zp=({width:e,height:t})=>{if(!Zs()||U(window)||U(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Yt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Yp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Yp||{});var oa=class{async signIn({options:t,authClient:r,initAuth:n}){await Yt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Yt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Vr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Ms){o(new Hs(i));return}o(new Ks(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Hp,allowPinAuthentication:t?.allowPin??Gp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var ia=class extends oa{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(U(i)||i===!1){let p=[nl,Wp].includes(this.#e??na);return _t(this.#e)?`https://${na}`:p?`https://identity.${this.#e??nl}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:Yd,{host:c,protocol:u}=new URL(i===!0?Ro:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:zp((()=>{try{let{hostname:i}=new URL(n);return i.includes(na)}catch{return!1}})()?Jp:$p)},identityProvider:n}}};var ol=class extends Error{},il=class extends Error{},sl=class extends Error{},al=class extends Error{},cl=class extends Error{},ll=class extends Error{},ul=class extends Error{},sa=class extends Error{},dl=class extends Error{},pl=class extends Error{},fl=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},hl=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}};var Zp=({auth:e,identity:t})=>"satellite"in e?_p({...e.satellite,identity:t}):yp({...e.console,identity:t}),Ty=async({actorParams:e,args:t})=>{let{authenticate:r}=await Zp(e);return await r(t)},Ny=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Zp(e);return await r(t)},Oy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Dt.fromDelegations(n,Uint8Array.from(r));return{identity:Ut.fromDelegation(t,o),delegationChain:o,sessionKey:t}},aa=async({jwt:e,context:t,auth:r})=>{let n=await yt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await Ey({jwt:e,publicKey:o,context:t,auth:r});return{identity:Oy({sessionKey:n,delegations:i}),data:s}},Ey=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await Ty({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new cl("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await Ry({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new en(Uint8Array.from(l),f,xe(h)),signature:Uint8Array.from(d)}]],data:c}},Ry=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await Ny({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new dl("Getting delegation failed",{cause:c})}return c.Ok}throw new pl};var Xp=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new fl({cause:t})}}},Qp=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new hl({cause:r})}}};var ml="juno:auth:openid",_l={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},ca={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"};var yl=e=>Xr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),la=({url:e})=>{try{return new URL(e)}catch{throw new ol("Cannot parse authURL",{cause:e})}},vy=()=>window.crypto.getRandomValues(new Uint8Array(32)),Iy=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return yl(Cr(o))},Ay=async({caller:e})=>{let t=vy();return{nonce:await Iy({salt:t,caller:e}),salt:t}},ef="__caller__",tf="__salt__",rf="__state__",Sy=({caller:e,state:t,salt:r})=>{let n={[ef]:e.toJSON(),[tf]:Xr(r),[rf]:t};return JSON.stringify(n)},Cy=e=>{let{[ef]:t,[tf]:r,[rf]:n}=JSON.parse(e);return{caller:ct.fromParsedJson(t),salt:Ld(r),state:n}},gl=async({generateState:e})=>{let t=ct.generate(),{nonce:r,salt:n}=await Ay({caller:t}),o=await e({nonce:r}),i=Sy({caller:t,salt:n,state:o});return sessionStorage.setItem(ml,i),{nonce:r,state:o}},nf=()=>{let e=sessionStorage.getItem(ml);if(U(e))throw new il;return Cy(e)};var Vy=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await Qp({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(_t(c))throw new sa;return await aa({jwt:c,auth:e,context:t})},Fy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(_t(r)||!r.startsWith("#"))throw new ll("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(_t(s)||o!==s)throw new ul("The provided state is invalid",{cause:o});if(_t(i))throw new sa;return await aa({jwt:i,auth:e,context:t})},xl=async e=>{let t=nf();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=ca;return await Vy({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await aa({jwt:n,context:t,auth:o})}return await Fy({...r,context:t})};var Py=({initUrl:e})=>async({nonce:t})=>{let r=la({url:e});r.searchParams.set("nonce",t);let n=await Xp({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},By=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=la({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Dy=()=>yl(window.crypto.getRandomValues(new Uint8Array(12))),Uy=async e=>Dy(),ky=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=la({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),Sr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Ly=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(U(i))throw new sl;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new al("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Ii(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=ca,f=await gl({generateState:Py({initUrl:c??l})});By({...u,...f,authUrl:p,authScopes:d});return}let t=await gl({generateState:Uy}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=_l;return await Ly({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=_l;ky({...n,...t,authUrl:o,authScopes:i})}var ua=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var qy=async e=>{let{satelliteId:t}=Se.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Vr("Satellite ID not set. Have you initialized the Satellite?");let r=Se.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(Sr(d))return d;let l=ra();return _t(l)?null:ua({url:`${l}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:u}}=await xl("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ve.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await Xn({doc:u,key:c.getPrincipal().toText()});await ta({user:p})};var of=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),My=()=>{window.addEventListener("beforeunload",of,{capture:!0})},jy=()=>{window.removeEventListener("beforeunload",of,{capture:!0})},da=async({fn:e})=>{try{return My(),await e()}finally{jy()}};function sf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function wl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=sf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var bl;function Ky(){return bl||(bl=wl("keyval-store","keyval")),bl}function af(e,t,r=Ky()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(sf(n.transaction))}catch(s){i(s)}}}))}var Hy=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},Gy=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},$y=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},Jy=wl("juno-dev-identifiers","juno-dev-identifiers-store");var cf=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new Hy;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new Gy;let n=()=>{if(e.length>32)throw new $y(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=ct.generate(a),u=await yt.generate({extractable:!1}),p=t??6048e5,d=await Dt.create(c,u.getPublicKey(),new Date(Date.now()+p));return{identity:Ut.fromDelegation(u,d),sessionKey:u,delegationChain:d}},i=async()=>{await af(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},Jy)},s=await o();return await i(),s};var pa=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await cf(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var fa=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Kp();if(U(r))throw new So;let{redirect:n}=t;await Ii({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(Sr(i))return i;let s=ra();if(!_t(s))return ua({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var ha=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??jp();if(U(r))throw new So;let{redirect:n}=t;await Ii({google:{redirect:{...n??{},clientId:r}}})}};var lf=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Bp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:Ds(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var uf=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(uf||{}),df=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(df||{});var Co=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Vr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Qr.RequestingUserCredential:t?.({step:1,state:g});break;case Qr.FinalizingCredential:t?.({step:2,state:g});break;case Qr.Signing:t?.({step:3,state:g});break}},c=await Yt({fn:async()=>await Uc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Yt({fn:async()=>await lf({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Yt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Yt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(U(o))throw new Vr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Xs({collection:"#user-webauthn",key:Xr(d),options:{certified:!0},satellite:{identity:new it,satelliteId:o}});if(U(l))throw new $s("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Zn(h,yi)},s=({step:d,state:l})=>{switch(d){case Qr.RequestingUserCredential:t?.({step:0,state:l});break;case Qr.FinalizingCredential:t?.({step:1,state:l});break;case Qr.Signing:t?.({step:2,state:l});break}},a=await Uc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Yt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Yt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await yt.generate({extractable:!1}),o=r??144e5,i=await Dt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Ut.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Wt;await Promise.all([n.set(Ye,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var pf=async({provider:e})=>{await vi({fn:async()=>{let r=await Dp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},zy=async e=>{if("google"in e){let{google:{options:t}}=e;await Ai({fn:()=>new ha().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Ai({fn:()=>new fa().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Ai({fn:()=>new Co().signIn({options:t,loadAuth:()=>ea({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Ai({fn:()=>new ia({domain:n}).signIn({options:o,authClient:Ve.getInstance().getAuthClient(),initAuth:pf}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ve.getInstance();await Ai({fn:()=>new pa().signIn({options:t,initAuth:pf,setStorage:r}),context:{windowGuard:!1}});return}throw new Gs("An unknown or unsupported provider was provided for sign-in.")},Ai=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await da({fn:e})};var Yy=async e=>{let t=async()=>await Zy(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await da({fn:t})},Zy=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new Co().signUp({options:t,loadAuthWithUser:ta});return}throw new Js("An unknown or unsupported provider was provided for sign-up.")};var L1=e=>e?.data?.provider==="webauthn",q1=e=>e?.data?.provider==="google";var H1=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await bp({idlFactory:e,...t,identity:r})};var ff=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Xy(r));o?.onInitiatedBatch();let{chunkIds:u}=await tg({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await eg({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Xy=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),Qy=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},eg=async({commitFn:e,...t})=>{let r=Qy(t);await e(r)},tg=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Zs()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of rg({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*rg({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>ng(o)))}}var ng=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var hf=async({asset:e,...t})=>{let r=await be(t);await ff({actor:r,asset:e})},mf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await be(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,tn(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:xe(s),matches_length:a,matches_pages:xe(c)}},_f=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await be(r);return n(e,tn(t))},yf=async({collection:e,fullPath:t,...r})=>(await be(r)).del_asset(e,t),gf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await be({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},xf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await be(r);return n(e,tn(t))},bf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await be(n);return o(e,t,se(r))},wf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await be(r);return xe(await n(e,t))},Tf=async({assets:e,...t})=>{let{get_many_assets:r}=await be(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>xe(s))};var Nf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var aE=e=>Of(e),cE=e=>Of({filename:e.data.name,...e}),Of=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=ue(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await hf({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Ef({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...J(i)&&{token:i},name:p}},lE=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await mf({collection:e,filter:t??{},satellite:o,options:n??zt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=xe(u);return{fullPath:c,description:xe(l),name:p,downloadUrl:Ef({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:O,total_length:R}])=>({...x,[y]:{modified:T,sha256:Nf(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},uE=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await _f({collection:e,satellite:o,filter:t??{},options:n??zt})},dE=({collection:e,fullPath:t,satellite:r})=>yf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),pE=({collection:e,fullPath:t,token:r,satellite:n})=>bf({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),fE=({assets:e,satellite:t})=>gf({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),hE=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await xf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},mE=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await wf({...r,satellite:{...e,identity:n},options:t??zt})},_E=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Tf({...r,satellite:{...e,identity:n},options:t??zt})},Ef=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${xp(n)}${e}${J(t)?`?token=${t}`:""}`};var og=e=>{let t=e?.satelliteId??qp();xi(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Mp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},RE=e=>ig(e),ig=async e=>{let t=og(e);Se.getInstance().set(t),await ea();let r=t.workers?.auth!==void 0?fp(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Lp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},sg=e=>Ue.getInstance().subscribe(e),vE=sg;export{Yp as AuthClientSignInProgressStep,Ws as InitError,ia as InternetIdentityProvider,zs as ListError,Ks as SignInError,Vr as SignInInitError,So as SignInMissingClientIdError,Gs as SignInProviderNotSupportedError,Hs as SignInUserInterruptError,Js as SignUpProviderNotSupportedError,uf as WebAuthnSignInProgressStep,$s as WebAuthnSignInRetrievePublicKeyError,df as WebAuthnSignUpProgressStep,vE as authSubscribe,uE as countAssets,jN as countDocs,dE as deleteAsset,kN as deleteDoc,hE as deleteFilteredAssets,qN as deleteFilteredDocs,fE as deleteManyAssets,LN as deleteManyDocs,Ef as downloadUrl,mE as getAsset,Xs as getDoc,hy as getIdentityOnce,_E as getManyAssets,UN as getManyDocs,H1 as getSatelliteExtendedActor,qy as handleRedirectCallback,RE as initJuno,ig as initSatellite,q1 as isGoogleUser,q_ as isWebAuthnAvailable,L1 as isWebAuthnUser,lE as listAssets,MN as listDocs,sg as onAuthStateChange,pE as setAssetToken,Pp as setDoc,Bp as setManyDocs,zy as signIn,zc as signOut,Yy as signUp,fy as unsafeIdentity,aE as uploadBlob,cE as uploadFile};
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
@noble/hashes/esm/utils.js:
|