@junobuild/core-standalone 2.2.0-next-2025-09-25 → 2.2.0

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.
@@ -1,4 +1,4 @@
1
- var Cd=Object.defineProperty;var Vd=(e,t)=>{for(var r in t)Cd(e,r,{get:t[r],enumerable:!0})};var Xa;(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"})(Xa||(Xa={}));var Ht;(function(e){e.Replied="replied",e.Rejected="rejected"})(Ht||(Ht={}));function Qa(e){return e!=null&&"reject_code"in e}function ec(e){return e!=null&&"certificate"in e}var To="abcdefghijklmnopqrstuvwxyz234567",Kr=Object.create(null);for(let e=0;e<To.length;e++)Kr[To[e]]=e;Kr[0]=Kr.o;Kr[1]=Kr.i;function tc(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=To[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?To[r>>3]:"")}function rc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let a=Kr[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);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 i of e)s(i);return n.slice(0,o)}var Dd=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 nc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Dd[o]^t>>>8}return(t^-1)>>>0}var pr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function li(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ue(e,...t){if(!ft(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 ui(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 sc(e,t){ue(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function fr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Oo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}var ic=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ud=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function M(e){if(ue(e),ic)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Ud[e[r]];return t}var Ot={_0:48,_9:57,A:65,F:70,a:97,f:102};function oc(e){if(e>=Ot._0&&e<=Ot._9)return e-Ot._0;if(e>=Ot.A&&e<=Ot.F)return e-(Ot.A-10);if(e>=Ot.a&&e<=Ot.f)return e-(Ot.a-10)}function be(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(ic)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,s=0;o<r;o++,s+=2){let i=oc(e.charCodeAt(s)),a=oc(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Q(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function di(e){return typeof e=="string"&&(e=Q(e)),ue(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ue(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var No=class{};function Eo(e){let t=n=>e().update(di(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function $r(e=32){if(pr&&typeof pr.getRandomValues=="function")return pr.getRandomValues(new Uint8Array(e));if(pr&&typeof pr.randomBytes=="function")return Uint8Array.from(pr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function kd(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,i,n),e.setUint32(t+u,a,n)}function ac(e,t,r){return e&t^~e&r}function cc(e,t,r){return e&t^e&r^t&r}var En=class extends No{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=Oo(this.buffer)}update(t){ui(this),t=di(t),ue(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Oo(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ui(this),sc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,fr(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;kd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Oo(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],s)}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:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Et=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Rt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ee=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Ro=BigInt(4294967295),lc=BigInt(32);function Ld(e,t=!1){return t?{h:Number(e&Ro),l:Number(e>>lc&Ro)}:{h:Number(e>>lc&Ro)|0,l:Number(e&Ro)|0}}function uc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ld(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var pi=(e,t,r)=>e>>>r,fi=(e,t,r)=>e<<32-r|t>>>r,hr=(e,t,r)=>e>>>r|t<<32-r,mr=(e,t,r)=>e<<32-r|t>>>r,Rn=(e,t,r)=>e<<64-r|t>>>r-32,vn=(e,t,r)=>e>>>r-32|t<<64-r;function ht(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var dc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),pc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,fc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),hc=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,mc=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),_c=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Md=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]),Gt=new Uint32Array(64),vo=class extends En{constructor(t=32){super(64,t,8,!1),this.A=Et[0]|0,this.B=Et[1]|0,this.C=Et[2]|0,this.D=Et[3]|0,this.E=Et[4]|0,this.F=Et[5]|0,this.G=Et[6]|0,this.H=Et[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Gt[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Gt[d-15],f=Gt[d-2],h=rt(l,7)^rt(l,18)^l>>>3,_=rt(f,17)^rt(f,19)^f>>>10;Gt[d]=_+Gt[d-7]+h+Gt[d-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=rt(a,6)^rt(a,11)^rt(a,25),f=p+l+ac(a,c,u)+Md[d]+Gt[d]|0,_=(rt(n,2)^rt(n,13)^rt(n,22))+cc(n,o,s)|0;p=u,u=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+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,s,i,a,c,u,p)}roundClean(){fr(Gt)}destroy(){this.set(0,0,0,0,0,0,0,0),fr(this.buffer)}},hi=class extends vo{constructor(){super(28),this.A=Rt[0]|0,this.B=Rt[1]|0,this.C=Rt[2]|0,this.D=Rt[3]|0,this.E=Rt[4]|0,this.F=Rt[5]|0,this.G=Rt[6]|0,this.H=Rt[7]|0}},yc=uc(["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))),jd=yc[0],Kd=yc[1],zt=new Uint32Array(80),Wt=new Uint32Array(80),mi=class extends En{constructor(t=64){super(128,t,16,!1),this.Ah=Ee[0]|0,this.Al=Ee[1]|0,this.Bh=Ee[2]|0,this.Bl=Ee[3]|0,this.Ch=Ee[4]|0,this.Cl=Ee[5]|0,this.Dh=Ee[6]|0,this.Dl=Ee[7]|0,this.Eh=Ee[8]|0,this.El=Ee[9]|0,this.Fh=Ee[10]|0,this.Fl=Ee[11]|0,this.Gh=Ee[12]|0,this.Gl=Ee[13]|0,this.Hh=Ee[14]|0,this.Hl=Ee[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,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,s,i,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,s,i,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=s|0,this.Cl=i|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)zt[y]=t.getUint32(r),Wt[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=zt[y-15]|0,O=Wt[y-15]|0,R=hr(T,O,1)^hr(T,O,8)^pi(T,O,7),E=mr(T,O,1)^mr(T,O,8)^fi(T,O,7),v=zt[y-2]|0,w=Wt[y-2]|0,I=hr(v,w,19)^Rn(v,w,61)^pi(v,w,6),B=mr(v,w,19)^vn(v,w,61)^fi(v,w,6),A=fc(E,B,Wt[y-7],Wt[y-16]),b=hc(A,R,I,zt[y-7],zt[y-16]);zt[y]=b|0,Wt[y]=A|0}let{Ah:n,Al:o,Bh:s,Bl:i,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=hr(d,l,14)^hr(d,l,18)^Rn(d,l,41),O=mr(d,l,14)^mr(d,l,18)^vn(d,l,41),R=d&f^~d&_,E=l&h^~l&g,v=mc(x,O,E,Kd[y],Wt[y]),w=_c(v,m,T,R,jd[y],zt[y]),I=v|0,B=hr(n,o,28)^Rn(n,o,34)^Rn(n,o,39),A=mr(n,o,28)^vn(n,o,34)^vn(n,o,39),b=n&s^n&a^s&a,N=o&i^o&c^i&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=ht(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let P=dc(I,A,N);n=pc(P,w,B,b),o=P|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=ht(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=ht(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=ht(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=ht(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=ht(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,s,i,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){fr(zt,Wt)}destroy(){fr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ve=Eo(()=>new vo),gc=Eo(()=>new hi),xc=Eo(()=>new mi);var Io="__principal__",$d=2,bc=4,Hd="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([bc]))}static managementCanister(){return this.fromText(Hd)}static selfAuthenticating(t){let r=gc(t);return new this(new Uint8Array([...r,$d]))}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(be(t))}static fromText(t){let r=t;if(t.includes(Io)){let i=JSON.parse(t);Io in i&&(r=i[Io])}let n=r.toLowerCase().replace(/-/g,""),o=rc(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}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]===bc}toUint8Array(){return this._arr}toHex(){return M(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,nc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=tc(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[Io]: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 vt;(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"})(vt||(vt={}));var H=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
1
+ var Pd=Object.defineProperty;var Bd=(e,t)=>{for(var r in t)Pd(e,r,{get:t[r],enumerable:!0})};var Za;(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"})(Za||(Za={}));var Gt;(function(e){e.Replied="replied",e.Rejected="rejected"})(Gt||(Gt={}));function Xa(e){return e!=null&&"reject_code"in e}function Qa(e){return e!=null&&"certificate"in e}var To="abcdefghijklmnopqrstuvwxyz234567",Kr=Object.create(null);for(let e=0;e<To.length;e++)Kr[To[e]]=e;Kr[0]=Kr.o;Kr[1]=Kr.i;function ec(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=To[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?To[r>>3]:"")}function tc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let a=Kr[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);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 i of e)s(i);return n.slice(0,o)}var Cd=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 rc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Cd[o]^t>>>8}return(t^-1)>>>0}var fr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function li(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ue(e,...t){if(!ft(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 ui(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 oc(e,t){ue(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function hr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Oo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}var sc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Vd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function M(e){if(ue(e),sc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Vd[e[r]];return t}var Et={_0:48,_9:57,A:65,F:70,a:97,f:102};function nc(e){if(e>=Et._0&&e<=Et._9)return e-Et._0;if(e>=Et.A&&e<=Et.F)return e-(Et.A-10);if(e>=Et.a&&e<=Et.f)return e-(Et.a-10)}function be(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(sc)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,s=0;o<r;o++,s+=2){let i=nc(e.charCodeAt(s)),a=nc(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Q(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function di(e){return typeof e=="string"&&(e=Q(e)),ue(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ue(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var No=class{};function Eo(e){let t=n=>e().update(di(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function $r(e=32){if(fr&&typeof fr.getRandomValues=="function")return fr.getRandomValues(new Uint8Array(e));if(fr&&typeof fr.randomBytes=="function")return Uint8Array.from(fr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Dd(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,i,n),e.setUint32(t+u,a,n)}function ic(e,t,r){return e&t^~e&r}function ac(e,t,r){return e&t^e&r^t&r}var En=class extends No{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=Oo(this.buffer)}update(t){ui(this),t=di(t),ue(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Oo(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ui(this),oc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,hr(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;Dd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Oo(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],s)}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:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Rt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ee=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Ro=BigInt(4294967295),cc=BigInt(32);function Ud(e,t=!1){return t?{h:Number(e&Ro),l:Number(e>>cc&Ro)}:{h:Number(e>>cc&Ro)|0,l:Number(e&Ro)|0}}function lc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ud(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var pi=(e,t,r)=>e>>>r,fi=(e,t,r)=>e<<32-r|t>>>r,mr=(e,t,r)=>e>>>r|t<<32-r,_r=(e,t,r)=>e<<32-r|t>>>r,Rn=(e,t,r)=>e<<64-r|t>>>r-32,vn=(e,t,r)=>e>>>r-32|t<<64-r;function ht(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var uc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),dc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,pc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),fc=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,hc=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),mc=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Ld=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]),zt=new Uint32Array(64),vo=class extends En{constructor(t=32){super(64,t,8,!1),this.A=Rt[0]|0,this.B=Rt[1]|0,this.C=Rt[2]|0,this.D=Rt[3]|0,this.E=Rt[4]|0,this.F=Rt[5]|0,this.G=Rt[6]|0,this.H=Rt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)zt[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=zt[d-15],f=zt[d-2],h=rt(l,7)^rt(l,18)^l>>>3,_=rt(f,17)^rt(f,19)^f>>>10;zt[d]=_+zt[d-7]+h+zt[d-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=rt(a,6)^rt(a,11)^rt(a,25),f=p+l+ic(a,c,u)+Ld[d]+zt[d]|0,_=(rt(n,2)^rt(n,13)^rt(n,22))+ac(n,o,s)|0;p=u,u=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+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,s,i,a,c,u,p)}roundClean(){hr(zt)}destroy(){this.set(0,0,0,0,0,0,0,0),hr(this.buffer)}},hi=class extends vo{constructor(){super(28),this.A=vt[0]|0,this.B=vt[1]|0,this.C=vt[2]|0,this.D=vt[3]|0,this.E=vt[4]|0,this.F=vt[5]|0,this.G=vt[6]|0,this.H=vt[7]|0}},_c=lc(["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))),qd=_c[0],Md=_c[1],Wt=new Uint32Array(80),Yt=new Uint32Array(80),mi=class extends En{constructor(t=64){super(128,t,16,!1),this.Ah=Ee[0]|0,this.Al=Ee[1]|0,this.Bh=Ee[2]|0,this.Bl=Ee[3]|0,this.Ch=Ee[4]|0,this.Cl=Ee[5]|0,this.Dh=Ee[6]|0,this.Dl=Ee[7]|0,this.Eh=Ee[8]|0,this.El=Ee[9]|0,this.Fh=Ee[10]|0,this.Fl=Ee[11]|0,this.Gh=Ee[12]|0,this.Gl=Ee[13]|0,this.Hh=Ee[14]|0,this.Hl=Ee[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,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,s,i,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,s,i,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=s|0,this.Cl=i|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)Wt[y]=t.getUint32(r),Yt[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Wt[y-15]|0,O=Yt[y-15]|0,R=mr(T,O,1)^mr(T,O,8)^pi(T,O,7),E=_r(T,O,1)^_r(T,O,8)^fi(T,O,7),v=Wt[y-2]|0,w=Yt[y-2]|0,I=mr(v,w,19)^Rn(v,w,61)^pi(v,w,6),B=_r(v,w,19)^vn(v,w,61)^fi(v,w,6),A=pc(E,B,Yt[y-7],Yt[y-16]),b=fc(A,R,I,Wt[y-7],Wt[y-16]);Wt[y]=b|0,Yt[y]=A|0}let{Ah:n,Al:o,Bh:s,Bl:i,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=mr(d,l,14)^mr(d,l,18)^Rn(d,l,41),O=_r(d,l,14)^_r(d,l,18)^vn(d,l,41),R=d&f^~d&_,E=l&h^~l&g,v=hc(x,O,E,Md[y],Yt[y]),w=mc(v,m,T,R,qd[y],Wt[y]),I=v|0,B=mr(n,o,28)^Rn(n,o,34)^Rn(n,o,39),A=_r(n,o,28)^vn(n,o,34)^vn(n,o,39),b=n&s^n&a^s&a,N=o&i^o&c^i&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=ht(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let P=uc(I,A,N);n=dc(P,w,B,b),o=P|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=ht(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=ht(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=ht(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=ht(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=ht(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,s,i,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){hr(Wt,Yt)}destroy(){hr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ve=Eo(()=>new vo),yc=Eo(()=>new hi),gc=Eo(()=>new mi);var Io="__principal__",jd=2,xc=4,Kd="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([xc]))}static managementCanister(){return this.fromText(Kd)}static selfAuthenticating(t){let r=yc(t);return new this(new Uint8Array([...r,jd]))}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(be(t))}static fromText(t){let r=t;if(t.includes(Io)){let i=JSON.parse(t);Io in i&&(r=i[Io])}let n=r.toLowerCase().replace(/-/g,""),o=tc(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}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]===xc}toUint8Array(){return this._arr}toHex(){return M(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,rc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=ec(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[Io]: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 It;(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"})(It||(It={}));var H=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?M(this.requestContext.requestId):"undefined"}
4
4
  Sender pubkey (hex): ${M(this.requestContext.senderPubKey)}
@@ -7,7 +7,7 @@ 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}},nt=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}`}},It=class extends nt{static fromCode(t){return new this(t)}},Pe=class e extends It{constructor(t){super(t,vt.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},te=class e extends It{constructor(t){super(t,vt.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Yt=class e extends It{constructor(t){super(t,vt.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},In=class e extends It{constructor(t){super(t,vt.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},we=class e extends It{constructor(t){super(t,vt.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var W=class e extends It{constructor(t){super(t,vt.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},he=class e extends It{constructor(t){super(t,vt.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},Jt=class e extends H{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+=`: ${Vn(this.error)}`),`Certificate verification error: "${t}"`}},_r=class e extends H{constructor(t,r,n,o,s){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=s,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`}},Ao=class e extends H{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Hr=class e extends H{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()}`}},At=class e extends H{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}`}},Gr=class e extends H{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},So=class e extends H{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},zr=class e extends H{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`}},Fo=class e extends H{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: ${M(this.expectedPrefix)}, but got ${M(this.actualPrefix)}`}},Po=class e extends H{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}`}},ot=class e extends H{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},An=class e extends H{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Bo=class e extends H{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Vn(this.error)}, input: ${M(this.input)}`}},Co=class e extends H{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Vn(this.error)}, input: ${this.value}`}};var yr=class e extends H{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}
10
+ HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},nt=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}`}},At=class extends nt{static fromCode(t){return new this(t)}},Pe=class e extends At{constructor(t){super(t,It.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},te=class e extends At{constructor(t){super(t,It.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Jt=class e extends At{constructor(t){super(t,It.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},In=class e extends At{constructor(t){super(t,It.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},we=class e extends At{constructor(t){super(t,It.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var W=class e extends At{constructor(t){super(t,It.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},he=class e extends At{constructor(t){super(t,It.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},Zt=class e extends H{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+=`: ${Vn(this.error)}`),`Certificate verification error: "${t}"`}},yr=class e extends H{constructor(t,r,n,o,s){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=s,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`}},Ao=class e extends H{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Hr=class e extends H{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()}`}},St=class e extends H{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}`}},Gr=class e extends H{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},So=class e extends H{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},zr=class e extends H{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`}},Fo=class e extends H{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: ${M(this.expectedPrefix)}, but got ${M(this.actualPrefix)}`}},Po=class e extends H{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}`}},ot=class e extends H{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},An=class e extends H{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Bo=class e extends H{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Vn(this.error)}, input: ${M(this.input)}`}},Co=class e extends H{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Vn(this.error)}, input: ${this.value}`}};var gr=class e extends H{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: ${M(this.requestId)}
12
12
  `),this.status&&(t+=` Request status: ${this.status}
13
13
  `),t}},Vo=class e extends H{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?
@@ -29,29 +29,29 @@ Call context:
29
29
  Error code: ${this.rejectErrorCode}
30
30
  `}},ko=class e extends H{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: ${M(this.requestId)}
32
- `}},mt=class e extends H{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.`}},Lo=class e extends H{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}`}},Yr=class e extends H{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Zt=class e extends H{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."}},gr=class e extends H{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.`}},qo=class e extends H{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Mo=class e extends H{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},jo=class e extends H{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Ko=class e extends H{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},$o=class e extends H{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Be=class e extends H{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Vn(this.error)}`}},Xt=class e extends H{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Sn=class e extends H{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:
32
+ `}},mt=class e extends H{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.`}},Lo=class e extends H{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}`}},Yr=class e extends H{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Xt=class e extends H{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."}},xr=class e extends H{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.`}},qo=class e extends H{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Mo=class e extends H{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},jo=class e extends H{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Ko=class e extends H{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},$o=class e extends H{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Be=class e extends H{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Vn(this.error)}`}},Qt=class e extends H{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Sn=class e extends H{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}},Fn=class e extends H{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},Pn=class e extends H{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Vn(this.error)}`}},Bn=class e extends H{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.`}},Ho=class e extends H{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Cn=class e extends H{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Vn(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var Qt=new Error("unreachable");var Tr={};Vd(Tr,{Bool:()=>Ac,BoolClass:()=>Jo,ConstructType:()=>gt,Empty:()=>vc,EmptyClass:()=>Un,FixedIntClass:()=>Pt,FixedNatClass:()=>yt,Float32:()=>Cc,Float64:()=>Vc,FloatClass:()=>qn,Func:()=>Zc,FuncClass:()=>wr,Int:()=>Pc,Int16:()=>Uc,Int32:()=>kc,Int64:()=>Lc,Int8:()=>Dc,IntClass:()=>kn,Nat:()=>Bc,Nat16:()=>Mc,Nat32:()=>jc,Nat64:()=>Kc,Nat8:()=>qc,NatClass:()=>Ln,Null:()=>Sc,NullClass:()=>xr,Opt:()=>zc,OptClass:()=>rr,PrimitiveType:()=>Me,Principal:()=>$c,PrincipalClass:()=>Qo,Rec:()=>Jc,RecClass:()=>We,Record:()=>Wc,RecordClass:()=>br,Reserved:()=>Ic,ReservedClass:()=>xt,Service:()=>Xc,ServiceClass:()=>Qr,Text:()=>Fc,TextClass:()=>Zo,Tuple:()=>Hc,TupleClass:()=>Xo,Type:()=>Jr,Unknown:()=>Yd,UnknownClass:()=>Yo,Variant:()=>Yc,VariantClass:()=>Xr,Vec:()=>Gc,VecClass:()=>Zr,Visitor:()=>Ti,decode:()=>Wd,encode:()=>zd,resetSubtypeCache:()=>Ni,subtype:()=>Ei});function Y(...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 st=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=_t(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 _t(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?_t(e.buffer):new Uint8Array(e)}function _i(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 wc(e,t){return _i(e,t)===0}function Tc(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Gd(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Ce(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 Gd(e)}function yi(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Go(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Nc(){throw new Error("unexpected end of buffer")}function tr(e,t){return e.byteLength<t&&Nc(),e.read(t)}function er(e){let t=e.readUint8();return t===void 0&&Nc(),t}function re(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:yi(e))+1,r=new st(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 pe(e){let t=BigInt(1),r=BigInt(0),n;do n=er(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function fe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:yi(e))+1,n=new st(new Uint8Array(r),0);for(;;){let s=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(s&64)!==0||!t&&e===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(t?BigInt(128)-i-BigInt(1):i)}return n.buffer}function St(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return pe(e);break}let n=new Uint8Array(tr(e,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Oc(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return gi(e,t)}function gi(e,t){e=BigInt(e);let r=new st(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(e%o);for(r.write(new Uint8Array([i]));++n<t;)e<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((e/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function xi(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(er(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let s=BigInt(er(e));r=r+n*s}return r}function Ec(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=xi(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Z;(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"})(Z||(Z={}));var zo="DIDL",Rc=400;function Dn(e,t,r){return e.map((n,o)=>r(n,t[o]))}var wi=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 s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),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=re(this._typs.length),r=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return fe(this._idx.get(t)||0)}},Ti=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((s,i)=>[`_${i}_`,s]);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)}},$;(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__"})($||($={}));var Jr=class{display(){return this.name}valueToString(t){return de(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Me=class extends Jr{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){}},gt=class extends Jr{checkType(t){if(t instanceof We){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)}},Un=class extends Me{get typeName(){return $.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===$.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return fe(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Yo=class extends Jr{get typeName(){return $.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 We?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"}},Jo=class extends Me{get typeName(){return $.BoolClass}static[Symbol.hasInstance](t){return t.typeName===$.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return fe(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),er(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},xr=class extends Me{get typeName(){return $.NullClass}static[Symbol.hasInstance](t){return t.typeName===$.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},xt=class extends Me{get typeName(){return $.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===$.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Zo=class extends Me{get typeName(){return $.TextClass}static[Symbol.hasInstance](t){return t.typeName===$.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=re(r.byteLength);return Y(n,r)}encodeType(){return fe(Z.Text)}decodeValue(t,r){this.checkType(r);let n=pe(t),o=tr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},kn=class extends Me{get typeName(){return $.IntClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){return fe(t)}encodeType(){return fe(Z.Int)}decodeValue(t,r){return this.checkType(r),St(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ln=class extends Me{get typeName(){return $.NatClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){return re(t)}encodeType(){return fe(Z.Nat)}decodeValue(t,r){return this.checkType(r),pe(t)}get name(){return"nat"}valueToString(t){return t.toString()}},qn=class extends Me{get typeName(){return $.FloatClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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?Z.Float32:Z.Float64;return fe(t)}decodeValue(t,r){this.checkType(r);let n=tr(t,this._bits/8),o=Tc(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Pt=class extends Me{get typeName(){return $.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Go(this._bits-1)*BigInt(-1),n=Go(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let s=BigInt(t);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return gi(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Ec(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},yt=class extends Me{get typeName(){return $.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Go(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: ${de(t)}`)}encodeValue(t){return Oc(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-5-t)}decodeValue(t,r){this.checkType(r);let n=xi(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Zr=class e extends gt{get typeName(){return $.VecClass}static[Symbol.hasInstance](t){return t.typeName===$.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof yt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof yt?this._type._bits:this._type instanceof Pt?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(s){throw new Error(`Invalid ${this.display()} argument:
36
+ `),t}},Fn=class e extends H{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},Pn=class e extends H{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Vn(this.error)}`}},Bn=class e extends H{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.`}},Ho=class e extends H{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Cn=class e extends H{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Vn(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var er=new Error("unreachable");var Nr={};Bd(Nr,{Bool:()=>Ic,BoolClass:()=>Jo,ConstructType:()=>gt,Empty:()=>Rc,EmptyClass:()=>Un,FixedIntClass:()=>Bt,FixedNatClass:()=>yt,Float32:()=>Bc,Float64:()=>Cc,FloatClass:()=>qn,Func:()=>Jc,FuncClass:()=>Tr,Int:()=>Fc,Int16:()=>Dc,Int32:()=>Uc,Int64:()=>kc,Int8:()=>Vc,IntClass:()=>kn,Nat:()=>Pc,Nat16:()=>qc,Nat32:()=>Mc,Nat64:()=>jc,Nat8:()=>Lc,NatClass:()=>Ln,Null:()=>Ac,NullClass:()=>br,Opt:()=>Gc,OptClass:()=>nr,PrimitiveType:()=>Me,Principal:()=>Kc,PrincipalClass:()=>Qo,Rec:()=>Yc,RecClass:()=>We,Record:()=>zc,RecordClass:()=>wr,Reserved:()=>vc,ReservedClass:()=>xt,Service:()=>Zc,ServiceClass:()=>Qr,Text:()=>Sc,TextClass:()=>Zo,Tuple:()=>$c,TupleClass:()=>Xo,Type:()=>Jr,Unknown:()=>zd,UnknownClass:()=>Yo,Variant:()=>Wc,VariantClass:()=>Xr,Vec:()=>Hc,VecClass:()=>Zr,Visitor:()=>Ti,decode:()=>Gd,encode:()=>Hd,resetSubtypeCache:()=>Ni,subtype:()=>Ei});function Y(...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 st=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=_t(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 _t(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?_t(e.buffer):new Uint8Array(e)}function _i(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 bc(e,t){return _i(e,t)===0}function wc(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function $d(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Ce(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 $d(e)}function yi(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Go(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Tc(){throw new Error("unexpected end of buffer")}function rr(e,t){return e.byteLength<t&&Tc(),e.read(t)}function tr(e){let t=e.readUint8();return t===void 0&&Tc(),t}function re(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:yi(e))+1,r=new st(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 pe(e){let t=BigInt(1),r=BigInt(0),n;do n=tr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function fe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:yi(e))+1,n=new st(new Uint8Array(r),0);for(;;){let s=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(s&64)!==0||!t&&e===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(t?BigInt(128)-i-BigInt(1):i)}return n.buffer}function Ft(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return pe(e);break}let n=new Uint8Array(rr(e,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Nc(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return gi(e,t)}function gi(e,t){e=BigInt(e);let r=new st(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(e%o);for(r.write(new Uint8Array([i]));++n<t;)e<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((e/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function xi(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(tr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let s=BigInt(tr(e));r=r+n*s}return r}function Oc(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=xi(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Z;(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"})(Z||(Z={}));var zo="DIDL",Ec=400;function Dn(e,t,r){return e.map((n,o)=>r(n,t[o]))}var wi=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 s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),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=re(this._typs.length),r=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return fe(this._idx.get(t)||0)}},Ti=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((s,i)=>[`_${i}_`,s]);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)}},$;(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__"})($||($={}));var Jr=class{display(){return this.name}valueToString(t){return de(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Me=class extends Jr{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){}},gt=class extends Jr{checkType(t){if(t instanceof We){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)}},Un=class extends Me{get typeName(){return $.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===$.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return fe(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Yo=class extends Jr{get typeName(){return $.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 We?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"}},Jo=class extends Me{get typeName(){return $.BoolClass}static[Symbol.hasInstance](t){return t.typeName===$.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return fe(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),tr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},br=class extends Me{get typeName(){return $.NullClass}static[Symbol.hasInstance](t){return t.typeName===$.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},xt=class extends Me{get typeName(){return $.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===$.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Zo=class extends Me{get typeName(){return $.TextClass}static[Symbol.hasInstance](t){return t.typeName===$.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=re(r.byteLength);return Y(n,r)}encodeType(){return fe(Z.Text)}decodeValue(t,r){this.checkType(r);let n=pe(t),o=rr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},kn=class extends Me{get typeName(){return $.IntClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){return fe(t)}encodeType(){return fe(Z.Int)}decodeValue(t,r){return this.checkType(r),Ft(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ln=class extends Me{get typeName(){return $.NatClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){return re(t)}encodeType(){return fe(Z.Nat)}decodeValue(t,r){return this.checkType(r),pe(t)}get name(){return"nat"}valueToString(t){return t.toString()}},qn=class extends Me{get typeName(){return $.FloatClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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?Z.Float32:Z.Float64;return fe(t)}decodeValue(t,r){this.checkType(r);let n=rr(t,this._bits/8),o=wc(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Bt=class extends Me{get typeName(){return $.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Go(this._bits-1)*BigInt(-1),n=Go(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let s=BigInt(t);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return gi(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Oc(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},yt=class extends Me{get typeName(){return $.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Go(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: ${de(t)}`)}encodeValue(t){return Nc(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-5-t)}decodeValue(t,r){this.checkType(r);let n=xi(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Zr=class e extends gt{get typeName(){return $.VecClass}static[Symbol.hasInstance](t){return t.typeName===$.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof yt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof yt?this._type._bits:this._type instanceof Bt?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(s){throw new Error(`Invalid ${this.display()} argument:
37
37
 
38
- index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=re(t.length);if(this._blobOptimization)return Y(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 s=0;s<t.length;s++)t instanceof Int16Array?o.setInt16(s*2,t[s],!0):o.setUint16(s*2,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let s=0;s<t.length;s++)t instanceof Int32Array?o.setInt32(s*4,t[s],!0):o.setUint32(s*4,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let s=0;s<t.length;s++)t instanceof BigInt64Array?o.setBigInt64(s*8,t[s],!0):o.setBigUint64(s*8,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else return Y(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new st(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=fe(Z.Vector),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(pe(t));if(this._type instanceof yt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=t.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Pt){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.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 i=t.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.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 i=t.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(t,n._type));return s}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("; ")+"}"}},rr=class e extends gt{get typeName(){return $.OptClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}
38
+ index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=re(t.length);if(this._blobOptimization)return Y(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 s=0;s<t.length;s++)t instanceof Int16Array?o.setInt16(s*2,t[s],!0):o.setUint16(s*2,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let s=0;s<t.length;s++)t instanceof Int32Array?o.setInt32(s*4,t[s],!0):o.setUint32(s*4,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let s=0;s<t.length;s++)t instanceof BigInt64Array?o.setBigInt64(s*8,t[s],!0):o.setBigUint64(s*8,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else return Y(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new st(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=fe(Z.Vector),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(pe(t));if(this._type instanceof yt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=t.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Bt){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.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 i=t.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.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 i=t.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(t,n._type));return s}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("; ")+"}"}},nr=class e extends gt{get typeName(){return $.OptClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}
39
39
 
40
- -> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Y(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=fe(Z.Opt),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){if(r instanceof xr)return[];if(r instanceof xt)return[];let n=r;if(r instanceof We){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(er(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 xr||this._type instanceof e||this._type instanceof xt)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])}`}},br=class e extends gt{get typeName(){return $.RecordClass}static[Symbol.hasInstance](t){return t.typeName===$.RecordClass||t.typeName===$.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Ce(r[0])-Ce(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:
40
+ -> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Y(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=fe(Z.Opt),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){if(r instanceof br)return[];if(r instanceof xt)return[];let n=r;if(r instanceof We){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(tr(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 br||this._type instanceof e||this._type instanceof xt)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])}`}},wr=class e extends gt{get typeName(){return $.RecordClass}static[Symbol.hasInstance](t){return t.typeName===$.RecordClass||t.typeName===$.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Ce(r[0])-Ce(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: ${de(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Dn(this._fields,r,([,o],s)=>o.encodeValue(s));return Y(...n)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Record),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(s)),i.encodeType(t)));t.add(this,Y(r,n,Y(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},s=0,i=0;for(;i<n._fields.length;){let[a,c]=n._fields[i];if(s>=this._fields.length){c.decodeValue(t,c),i++;continue}let[u,p]=this._fields[s],d=Ce(this._fields[s][0]),l=Ce(a);if(d===l)o[u]=p.decodeValue(t,c),s++,i++;else if(l>d)if(p instanceof rr||p instanceof xt)o[u]=[],s++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),i++}for(let[a,c]of this._fields.slice(s))if(c instanceof rr||c instanceof xt)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[Ce(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 {${Dn(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}},Xo=class e extends br{get typeName(){return $.TupleClass}static[Symbol.hasInstance](t){return t.typeName===$.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:
42
+ field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Dn(this._fields,r,([,o],s)=>o.encodeValue(s));return Y(...n)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Record),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(s)),i.encodeType(t)));t.add(this,Y(r,n,Y(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},s=0,i=0;for(;i<n._fields.length;){let[a,c]=n._fields[i];if(s>=this._fields.length){c.decodeValue(t,c),i++;continue}let[u,p]=this._fields[s],d=Ce(this._fields[s][0]),l=Ce(a);if(d===l)o[u]=p.decodeValue(t,c),s++,i++;else if(l>d)if(p instanceof nr||p instanceof xt)o[u]=[],s++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),i++}for(let[a,c]of this._fields.slice(s))if(c instanceof nr||c instanceof xt)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[Ce(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 {${Dn(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}},Xo=class e extends wr{get typeName(){return $.TupleClass}static[Symbol.hasInstance](t){return t.typeName===$.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
44
  index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=Dn(this._components,t,(n,o)=>n.encodeValue(o));return Y(...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[s,i]of n._components.entries())s>=this._components.length?i.decodeValue(t,i):o.push(this._components[s].decodeValue(t,i));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Dn(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Xr=class e extends gt{get typeName(){return $.VariantClass}static[Symbol.hasInstance](t){return t.typeName===$.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Ce(r[0])-Ce(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: ${de(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let s=re(r),i=o.encodeValue(t[n]);return Y(s,i)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,s])=>{s.buildTypeTable(t)});let r=fe(Z.Variant),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(s)),i.encodeType(t)));t.add(this,Y(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(pe(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if(Ce(s)===Ce(a)){let u=c.decodeValue(t,i);return{[a]:u}}throw new Error("Cannot find field hash "+s)}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[Ce(r)]=n;return t}},We=class e extends gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return $.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 Oi(e){if(er(e)!==1)throw new Error("Cannot decode principal");let r=Number(pe(e));return L.fromUint8Array(new Uint8Array(tr(e,r)))}var Qo=class extends Me{get typeName(){return $.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===$.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return fe(Z.Principal)}decodeValue(t,r){return this.checkType(r),Oi(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},wr=class extends gt{get typeName(){return $.FuncClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=re(n.byteLength),s=Y(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=re(i.byteLength);return Y(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=fe(Z.Func),n=re(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),s=re(this.retTypes.length),i=Y(...this.retTypes.map(u=>u.encodeType(t))),a=re(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,s,i,a,c))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!Ei(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(er(t)!==1)throw new Error("Cannot decode function reference");let s=Oi(t),i=Number(pe(t)),a=tr(t,i),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,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")}},Qr=class extends gt{get typeName(){return $.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Service),n=re(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=re(a.length);return Y(c,a,i.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!Ei(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Oi(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 de(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Rc?t.substring(0,Rc-3)+"...":t}function zd(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new wi;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(zo),o=r.encode(),s=re(t.length),i=Y(...e.map(c=>c.encodeType(r))),a=Y(...Dn(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
46
+ variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let s=re(r),i=o.encodeValue(t[n]);return Y(s,i)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,s])=>{s.buildTypeTable(t)});let r=fe(Z.Variant),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(s)),i.encodeType(t)));t.add(this,Y(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(pe(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if(Ce(s)===Ce(a)){let u=c.decodeValue(t,i);return{[a]:u}}throw new Error("Cannot find field hash "+s)}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[Ce(r)]=n;return t}},We=class e extends gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return $.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 Oi(e){if(tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(pe(e));return L.fromUint8Array(new Uint8Array(rr(e,r)))}var Qo=class extends Me{get typeName(){return $.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===$.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return fe(Z.Principal)}decodeValue(t,r){return this.checkType(r),Oi(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Tr=class extends gt{get typeName(){return $.FuncClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=re(n.byteLength),s=Y(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=re(i.byteLength);return Y(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=fe(Z.Func),n=re(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),s=re(this.retTypes.length),i=Y(...this.retTypes.map(u=>u.encodeType(t))),a=re(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,s,i,a,c))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!Ei(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(tr(t)!==1)throw new Error("Cannot decode function reference");let s=Oi(t),i=Number(pe(t)),a=rr(t,i),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,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")}},Qr=class extends gt{get typeName(){return $.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Service),n=re(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=re(a.length);return Y(c,a,i.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!Ei(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Oi(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 de(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Ec?t.substring(0,Ec-3)+"...":t}function Hd(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new wi;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(zo),o=r.encode(),s=re(t.length),i=Y(...e.map(c=>c.encodeType(r))),a=Y(...Dn(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
47
47
 
48
- `)}return c.encodeValue(u)}));return Y(n,o,s,i,a)}function Wd(e,t){let r=new st(t);if(t.byteLength<zo.length)throw new Error("Message length smaller than magic number");let n=tr(r,zo.length),o=new TextDecoder().decode(n);if(o!==zo)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(l){let f=[],h=Number(pe(l));for(let m=0;m<h;m++){let x=Number(St(l));switch(x){case Z.Opt:case Z.Vector:{let y=Number(St(l));f.push([x,y]);break}case Z.Record:case Z.Variant:{let y=[],T=Number(pe(l)),O;for(;T--;){let R=Number(pe(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(St(l));y.push([R,E])}f.push([x,y]);break}case Z.Func:{let y=[],T=Number(pe(l));for(;T--;)y.push(Number(St(l)));let O=[],R=Number(pe(l));for(;R--;)O.push(Number(St(l)));let E=[],v=Number(pe(l));for(;v--;)switch(Number(pe(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 Z.Service:{let y=Number(pe(l)),T=[];for(;y--;){let O=Number(pe(l)),R=new TextDecoder().decode(tr(l,O)),E=St(l);T.push([R,E])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(pe(l));for(let m=0;m<g;m++)_.push(Number(St(l)));return[f,_]}let[i,a]=s(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=i.map(l=>Jc());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Sc;case-2:return Ac;case-3:return Bc;case-4:return Pc;case-5:return qc;case-6:return Mc;case-7:return jc;case-8:return Kc;case-9:return Dc;case-10:return Uc;case-11:return kc;case-12:return Lc;case-13:return Cc;case-14:return Vc;case-15:return Fc;case-16:return Ic;case-17:return vc;case-24:return $c;default:throw new Error("Illegal op_code: "+l)}if(l>=i.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Z.Vector:{let f=u(l[1]);return Gc(f)}case Z.Opt:{let f=u(l[1]);return zc(f)}case Z.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=Wc(f),_=h.tryAsTuple();return Array.isArray(_)?Hc(..._):h}case Z.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return Yc(f)}case Z.Func:{let[f,h,_]=l[1];return Zc(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Z.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof We&&(m=m.getType()),!(m instanceof wr))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Xc(f)}default:throw new Error("Illegal op_code: "+l[0])}}i.forEach((l,f)=>{if(l[0]===Z.Func){let h=p(l);c[f].fill(h)}}),i.forEach((l,f)=>{if(l[0]!==Z.Func){let h=p(l);c[f].fill(h)}}),Ni();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{Ni()}}var vc=new Un,Ic=new xt,Yd=new Yo,Ac=new Jo,Sc=new xr,Fc=new Zo,Pc=new kn,Bc=new Ln,Cc=new qn(32),Vc=new qn(64),Dc=new Pt(8),Uc=new Pt(16),kc=new Pt(32),Lc=new Pt(64),qc=new yt(8),Mc=new yt(16),jc=new yt(32),Kc=new yt(64),$c=new Qo;function Hc(...e){return new Xo(e)}function Gc(e){return new Zr(e)}function zc(e){return new rr(e)}function Wc(e){return new br(e)}function Yc(e){return new Xr(e)}function Jc(){return new We}function Zc(e,t,r=[]){return new wr(e,t,r)}function Xc(e){return new Qr(e)}var es=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,s]of n)t+=`${r} ${s?":<":"!<:"} ${o}
49
- `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let s=new Map;s.set(r,n),this.rels.set(t,s)}else o.set(r,n)}},Wo=new es;function Ni(){Wo=new es}function Jd(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 bi(e){return e instanceof rr||e instanceof xr||e instanceof xt}function Ei(e,t){let r=Wo.copy(),n=Ft(r,e,t);return n?Wo.add(e,t):Wo.addNegative(e,t),n}function Ft(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 xt||t instanceof Un||t instanceof Ln&&r instanceof kn)return!0;if(t instanceof Zr&&r instanceof Zr)return Ft(e,t._type,r._type);if(r instanceof rr)return!0;if(t instanceof br&&r instanceof br){let o=t.fieldsAsObject;for(let[s,i]of r._fields){let a=o[Ce(s)];if(a){if(!Ft(e,a,i))return!1}else if(!bi(i))return!1}return!0}if(t instanceof wr&&r instanceof wr){if(!Jd(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let s=t.argTypes[o];if(o<r.argTypes.length){if(!Ft(e,r.argTypes[o],s))return!1}else if(!bi(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<t.retTypes.length){if(!Ft(e,t.retTypes[o],s))return!1}else if(!bi(s))return!1}return!0}if(t instanceof Xr&&r instanceof Xr){let o=r.alternativesAsObject;for(let[s,i]of t._fields){let a=o[Ce(s)];if(!a||!Ft(e,i,a))return!1}return!0}if(t instanceof Qr&&r instanceof Qr){let o=t.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!Ft(e,a,i))return!1}return!0}return t instanceof We?Ft(e,t.getType(),r):r instanceof We?Ft(e,t,r.getType()):!1}function en(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?en(e.buffer):new Uint8Array(e)}function Nr(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 Ri(e){if(typeof e=="string")return Qc(e);if(typeof e=="number")return ve(re(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return ve(en(e));if(Array.isArray(e)){let t=e.map(Ri);return ve(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ri(e.toHash());if(typeof e=="object")return Mn(e);if(typeof e=="bigint")return ve(re(e))}throw W.fromCode(new Lo(e))}var Qc=e=>{let t=new TextEncoder().encode(e);return ve(t)};function Bt(e){return Mn(e)}function Mn(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=Qc(i),u=Ri(a);return[c,u]}).sort(([i],[a])=>_i(i,a)),o=K(...n.map(i=>K(...i)));return ve(o)}var jn=new TextEncoder().encode(`
50
- ic-request`),vi=new TextEncoder().encode("\vic-response"),Ii=new TextEncoder().encode("ic-request-auth-delegation");var bt=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=Bt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(jn,o))}}}},Ye=class{getPrincipal(){return L.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Ct=class extends Error{constructor(t){super(t),this.name="DecodingError"}},tl=55799,rl=Symbol("CBOR_STOP_CODE"),ct=(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))(ct||{}),_e=(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))(_e||{}),Zd=23,Xd=255,Qd=65535,ep=4294967295,tp=BigInt("0xffffffffffffffff"),at=(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))(at||{}),tn=!1;function rp(e){return e==null}function nl(e,t){let r=new Uint8Array(t);return r.set(e),r}var np=new TextDecoder;function op(e){return(e&224)>>5}function sp(e){return e&31}var Hn=new Uint8Array,Kn,lt=0;function ol(e,t){Hn=e,lt=0;let r=Or(t);return t?.(r)??r}function Or(e){let[t,r]=ts();switch(t){case _e.UnsignedInteger:return rn(r);case _e.NegativeInteger:return lp(r);case _e.ByteString:return sl(r);case _e.TextString:return Si(r);case _e.Array:return ip(r,e);case _e.Map:return cp(r,e);case _e.Tag:return up(r,e);case _e.Simple:return ap(r)}throw new Ct(`Unsupported major type: ${t}`)}function ts(){let e=Hn.at(lt);if(rp(e))throw new Ct("Provided CBOR data is empty");let t=op(e),r=sp(e);return lt++,[t,r]}function ip(e,t){let r=rn(e);if(r===1/0){let o=[],s=Or(t);for(;s!==rl;)o.push(t?.(s)??s),s=Or(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=Or(t);n[o]=t?.(s)??s}return n}function ap(e){switch(e){case ct.False:return!1;case ct.True:return!0;case ct.Null:return null;case ct.Undefined:return;case ct.Break:return rl}throw new Ct(`Unrecognized simple type: ${e.toString(2)}`)}function cp(e,t){let r=rn(e),n={};if(r===1/0){let[o,s]=ts();for(;o!==_e.Simple&&s!==ct.Break;){let i=Si(s),a=Or(t);n[i]=t?.(a,i)??a,[o,s]=ts()}return n}for(let o=0;o<r;o++){let[s,i]=ts();if(s!==_e.TextString)throw new Ct("Map keys must be text strings");let a=Si(i),c=Or(t);n[a]=t?.(c,a)??c}return n}function rn(e){if(e<=at.Value)return e;switch(Kn=new DataView(Hn.buffer,Hn.byteOffset+lt),e){case at.OneByte:return lt++,Kn.getUint8(0);case at.TwoBytes:return lt+=2,Kn.getUint16(0,tn);case at.FourBytes:return lt+=4,Kn.getUint32(0,tn);case at.EightBytes:return lt+=8,Kn.getBigUint64(0,tn);case at.Indefinite:return 1/0;default:throw new Ct(`Unsupported integer info: ${e.toString(2)}`)}}function lp(e){let t=rn(e);return typeof t=="number"?-1-t:-1n-t}function sl(e){let t=rn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Ct("Byte length is too large");let r=Number(t);return lt+=r,Hn.slice(lt-r,lt)}function Si(e){let t=sl(e);return np.decode(t)}function up(e,t){let r=rn(e);if(r===tl)return Or(t);throw new Ct(`Unsupported tag: ${r}.`)}var Gn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},dp=2*1024,pp=100,fp=new TextEncoder;function $n(e){return e<<5}var He=new Uint8Array(dp),it=new DataView(He.buffer),me=0,Ai=[];function il(e,t){me=0;let r=t?.(e)??e;return wp(tl,r,t),He.slice(0,me)}function Fi(e,t){if(me>He.length-pp&&(He=nl(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){_p(e);return}if(typeof e=="number"||typeof e=="bigint"){bp(e);return}if(typeof e=="string"){ll(e);return}if(e instanceof Uint8Array){el(e);return}if(e instanceof ArrayBuffer){el(new Uint8Array(e));return}if(Array.isArray(e)){hp(e,t);return}if(typeof e=="object"){mp(e,t);return}throw new Gn(`Unsupported type: ${typeof e}`)}function hp(e,t){nn(_e.Array,e.length),e.forEach((r,n)=>{Fi(t?.(r,n.toString())??r,t)})}function mp(e,t){Ai=Object.entries(e),nn(_e.Map,Ai.length),Ai.forEach(([r,n])=>{ll(r),Fi(t?.(n,r)??n,t)})}function nn(e,t){if(t<=Zd){it.setUint8(me++,$n(e)|Number(t));return}if(t<=Xd){it.setUint8(me++,$n(e)|at.OneByte),it.setUint8(me,Number(t)),me+=1;return}if(t<=Qd){it.setUint8(me++,$n(e)|at.TwoBytes),it.setUint16(me,Number(t),tn),me+=2;return}if(t<=ep){it.setUint8(me++,$n(e)|at.FourBytes),it.setUint32(me,Number(t),tn),me+=4;return}if(t<=tp){it.setUint8(me++,$n(e)|at.EightBytes),it.setBigUint64(me,BigInt(t),tn),me+=8;return}throw new Gn(`Value too large to encode: ${t}`)}function _p(e){nn(_e.Simple,yp(e))}function yp(e){if(e===!1)return ct.False;if(e===!0)return ct.True;if(e===null)return ct.Null;if(e===void 0)return ct.Undefined;throw new Gn(`Unrecognized simple value: ${e.toString()}`)}function al(e,t){nn(e,t.length),me>He.length-t.length&&(He=nl(He,He.length+t.length),it=new DataView(He.buffer)),He.set(t,me),me+=t.length}function cl(e,t){nn(e,t)}function gp(e){cl(_e.UnsignedInteger,e)}function xp(e){cl(_e.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function bp(e){e>=0?gp(e):xp(e)}function ll(e){al(_e.TextString,fp.encode(e))}function el(e){al(_e.ByteString,e)}function wp(e,t,r){nn(_e.Tag,e),Fi(t,r)}function Np(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function zn(e){try{return il(e,t=>L.isPrincipal(t)?t.toUint8Array():on.isExpiry(t)?t.toBigInt():Np(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Co(t,e))}}function je(e){try{return ol(e)}catch(t){throw W.fromCode(new Bo(t,e))}}var rs={encode:zn,decode:je};var Wn=()=>{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 Vt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Vt||(Vt={}));var ns;(function(e){e.Call="call"})(ns||(ns={}));var Er;(function(e){e.Query="query",e.ReadState="read_state"})(Er||(Er={}));function Yn(){let e=new ArrayBuffer(16),t=new DataView(e),r=Wn(),n=Wn(),o=Wn(),s=Wn();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,s),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var os="__expiry__",Bi=BigInt(1e3),Op=BigInt(1e6),ul=BigInt(60),Ep=BigInt(90)*Bi;function dl(e){return e/Bi}function Rp(e){return dl(e)/ul}var on=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),s;return n<Ep?s=dl(o):s=Rp(o)*ul,new e(s*Bi*Op)}toBigInt(){return this.__expiry__}toHash(){return re(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[os]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[os])try{let n=BigInt(r[os]);return new e(n)}catch(n){throw new W(new Cn(`Not a valid BigInt: ${n}`))}throw new W(new Cn(`The input does not contain the key ${os}`))}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 Ci(e=Yn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Vt.Call&&(t.body.nonce=e())}}function ss(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Di=BigInt(0),is=BigInt(1);function Rr(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function nr(e,t,r=""){let n=ft(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function pl(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Di:BigInt("0x"+e)}function Ke(e){return pl(M(e))}function Dt(e){return ue(e),pl(M(Uint8Array.from(e).reverse()))}function ye(e,t){return be(e.toString(16).padStart(t*2,"0"))}function Ui(e,t){return ye(e,t).reverse()}function ae(e,t,r){let n;if(typeof t=="string")try{n=be(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(ft(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 fl(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 ki(e){return Uint8Array.from(e)}var Vi=e=>typeof e=="bigint"&&Di<=e;function Li(e,t,r){return Vi(e)&&Vi(t)&&Vi(r)&&t<=e&&e<r}function as(e,t,r,n){if(!Li(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Ut(e){let t;for(t=0;e>Di;e>>=is,t+=1);return t}function hl(e,t){return e>>BigInt(t)&is}var ut=e=>(is<<BigInt(e))-is;function ml(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function kt(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var sn=()=>{throw new Error("not implemented")};function or(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var Ve=BigInt(0),Te=BigInt(1),vr=BigInt(2),yl=BigInt(3),gl=BigInt(4),xl=BigInt(5),vp=BigInt(7),bl=BigInt(8),Ip=BigInt(9),wl=BigInt(16);function se(e,t){let r=e%t;return r>=Ve?r:t+r}function dt(e,t,r){let n=e;for(;t-- >Ve;)n*=n,n%=r;return n}function _l(e,t){if(e===Ve)throw new Error("invert: expected non-zero number");if(t<=Ve)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Ve,s=Te,i=Te,a=Ve;for(;r!==Ve;){let u=n/r,p=n%r,d=o-i*u,l=s-a*u;n=r,r=p,o=i,s=a,i=d,a=l}if(n!==Te)throw new Error("invert: does not exist");return se(o,t)}function qi(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Tl(e,t){let r=(e.ORDER+Te)/gl,n=e.pow(t,r);return qi(e,n,t),n}function Ap(e,t){let r=(e.ORDER-xl)/bl,n=e.mul(t,vr),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,vr),o),a=e.mul(s,e.sub(i,e.ONE));return qi(e,a,t),a}function Sp(e){let t=De(e),r=Nl(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+vp)/wl;return(a,c)=>{let u=a.pow(c,i),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,s),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 qi(a,g,c),g}}function Nl(e){if(e<yl)throw new Error("sqrt is not defined for small field");let t=e-Te,r=0;for(;t%vr===Ve;)t/=vr,r++;let n=vr,o=De(e);for(;Jn(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Tl;let s=o.pow(n,t),i=(t+Te)/vr;return function(c,u){if(c.is0(u))return u;if(Jn(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,s),l=c.pow(u,t),f=c.pow(u,i);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=Te<<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 Fp(e){return e%gl===yl?Tl:e%bl===xl?Ap:e%wl===Ip?Sp(e):Nl(e)}var Lt=(e,t)=>(se(e,t)&Te)===Te,Pp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Pp.reduce((n,o)=>(n[o]="function",n),t);return kt(e,r),e}function Zn(e,t,r){if(r<Ve)throw new Error("invalid exponent, negatives unsupported");if(r===Ve)return e.ONE;if(r===Te)return t;let n=e.ONE,o=t;for(;r>Ve;)r&Te&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Te;return n}function Je(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Jn(e,t){let r=(e.ORDER-Te)/vr,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Mi(e,t){t!==void 0&&li(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function De(e,t,r=!1,n={}){if(e<=Ve)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!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&&(s=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(i=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:u}=Mi(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:ut(c),ZERO:Ve,ONE:Te,allowedLengths:a,create:l=>se(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Ve<=l&&l<e},is0:l=>l===Ve,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Te)===Te,neg:l=>se(-l,e),eql:(l,f)=>l===f,sqr:l=>se(l*l,e),add:(l,f)=>se(l+f,e),sub:(l,f)=>se(l-f,e),mul:(l,f)=>se(l*f,e),pow:(l,f)=>Zn(d,l,f),div:(l,f)=>se(l*_l(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>_l(l,e),sqrt:s||(l=>(p||(p=Fp(e)),p(d,l))),toBytes:l=>r?Ui(l,u):ye(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?Dt(l):Ke(l);if(i&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>Je(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Ol(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 ls(e){let t=Ol(e);return t+Math.ceil(t/2)}function ji(e,t,r=!1){let n=e.length,o=Ol(t),s=ls(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Dt(e):Ke(e),a=se(i,t-Te)+Te;return r?Ui(a,o):ye(a,o)}var an=BigInt(0),Ir=BigInt(1);function Xn(e,t){let r=t.negate();return e?r:t}function Ze(e,t){let r=Je(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Il(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ki(e,t){Il(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=ut(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function El(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=Ir);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 Cp(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 Vp(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 $i=new WeakMap,Al=new WeakMap;function Hi(e){return Al.get(e)||1}function Rl(e){if(e!==an)throw new Error("invalid wNAF")}var cn=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>an;)r&Ir&&(n=n.add(o)),o=o.double(),r>>=Ir;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ki(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Ki(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=El(n,a,i);n=c,p?s=s.add(Xn(l,r[f])):o=o.add(Xn(d,r[u]))}return Rl(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Ki(t,this.bits);for(let i=0;i<s.windows&&n!==an;i++){let{nextN:a,offset:c,isZero:u,isNeg:p}=El(n,i,s);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Rl(n),o}getPrecomputes(t,r,n){let o=$i.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),$i.set(r,o))),o}cached(t,r,n){let o=Hi(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Hi(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){Il(r,this.bits),Al.set(t,r),$i.delete(t)}hasCache(t){return Hi(t)!==1}};function Sl(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>an||n>an;)r&Ir&&(s=s.add(o)),n&Ir&&(i=i.add(o)),o=o.double(),r>>=Ir,n>>=Ir;return{p1:s,p2:i}}function ln(e,t,r,n){Cp(r,e),Vp(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=Ut(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=ut(c),p=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/c)*c,l=i;for(let f=d;f>=0;f-=c){p.fill(i);for(let _=0;_<s;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=i;for(let _=p.length-1,g=i;_>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 vl(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return cs(t),t}else return De(e,{isLE:r})}function us(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>an))throw new Error(`CURVE.${c} must be positive bigint`)}let o=vl(t.p,r.Fp,n),s=vl(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:s}}var Dp=Ke;function sr(e,t){if(Qn(e),Qn(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 Up(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 Qn(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Fl(e){if(!ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?Q(e):e}function kp(e,t,r,n){ue(e),Qn(r),t=Fl(t),t.length>255&&(t=n(K(Q("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,sr(t.length,1)),c=sr(0,s),u=sr(r,2),p=new Array(i),d=n(K(c,e,u,sr(0,1),a));p[0]=n(K(d,sr(1,1),a));for(let f=1;f<=i;f++){let h=[Up(d,p[f-1]),sr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Lp(e,t,r,n,o){if(ue(e),Qn(r),t=Fl(t),t.length>255){let s=Math.ceil(2*n/8);t=o.create({dkLen:s}).update(Q("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(sr(r,2)).update(t).update(sr(t.length,1)).digest()}function Gi(e,t,r){kt(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!ml(r.hash))throw new Error("expected valid hash");ue(e),Qn(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*s*p,l;if(a==="xmd")l=kp(e,c,d,i);else if(a==="xof")l=Lp(e,c,d,o,i);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(s);for(let g=0;g<s;g++){let m=p*(g+h*s),x=l.subarray(m,m+p);_[g]=se(Dp(x),n)}f[h]=_}return f}function zi(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=Je(e,[i,c],!0);return n=e.mul(s,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var qp=Q("HashToScalar-");function Wi(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=Gi(s,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),u=Gi(s,1,c),p=n(u[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:qp},i);return Gi(s,1,c)[0][0]}}}var Pl=(e,t)=>(e+(e>=0?t:-t)/qt)/t;function Mp(e,t,r){let[[n,o],[s,i]]=t,a=Pl(i*e,r),c=Pl(-o*e,r),u=e-a*n-c*s,p=-a*o-c*i,d=u<Ar,l=p<Ar;d&&(u=-u),l&&(p=-p);let f=ut(Math.ceil(Ut(r)/2))+Ue;if(u<Ar||u>=f||p<Ar||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Ar=BigInt(0),Ue=BigInt(1),qt=BigInt(2),un=BigInt(3),Yi=BigInt(4);function eo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=ae("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 jp(e,t={}){let r=us("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;kt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Hp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,b,N){let{x:P,y:V}=b.toAffine(),q=n.toBytes(P);if(Rr(N,"isCompressed"),N){p();let S=!n.isOdd(V);return K(Kp(S),q)}else return K(Uint8Array.of(4),q,n.toBytes(V))}function l(A){nr(A,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,P=A.length,V=A[0],q=A.subarray(1);if(P===b&&(V===2||V===3)){let S=n.fromBytes(q);if(!n.isValid(S))throw new Error("bad point: is not on curve, wrong x");let F=_(S),C;try{C=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(C);return(V&1)===1!==D&&(C=n.neg(C)),{x:S,y:C}}else if(P===N&&V===4){let S=n.BYTES,F=n.fromBytes(q.subarray(0,S)),C=n.fromBytes(q.subarray(S,S*2));if(!g(F,C))throw new Error("bad point: is not on curve");return{x:F,y:C}}else throw new Error(`bad point: got length ${P}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(A){let b=n.sqr(A),N=n.mul(b,A);return n.add(n.add(N,n.mul(A,s.a)),s.b)}function g(A,b){let N=n.sqr(b),P=_(A);return n.eql(N,P)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,un),Yi),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(A,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${A}`);return b}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Mp(A,c.basises,o.ORDER)}let R=or((A,b)=>{let{X:N,Y:P,Z:V}=A;if(n.eql(V,n.ONE))return{x:N,y:P};let q=A.is0();b==null&&(b=q?n.ONE:n.inv(V));let S=n.mul(N,b),F=n.mul(P,b),C=n.mul(V,b);if(q)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:S,y:F}}),E=or(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=A.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(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(A,b,N,P,V){return N=new w(n.mul(N.X,A),N.Y,N.Z),b=Xn(P,b),N=Xn(V,N),b.add(N)}class w{constructor(b,N,P){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",P),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:P}=b||{};if(!b||!n.isValid(N)||!n.isValid(P))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(P)?w.ZERO:new w(N,P,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(nr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(ae("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return B.createCache(this,b),N||this.multiply(un),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:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.eql(n.mul(N,F),n.mul(q,V)),D=n.eql(n.mul(P,F),n.mul(S,V));return C&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=s,P=n.mul(N,un),{X:V,Y:q,Z:S}=this,F=n.ZERO,C=n.ZERO,D=n.ZERO,k=n.mul(V,V),ee=n.mul(q,q),ne=n.mul(S,S),z=n.mul(V,q);return z=n.add(z,z),D=n.mul(V,S),D=n.add(D,D),F=n.mul(b,D),C=n.mul(P,ne),C=n.add(F,C),F=n.sub(ee,C),C=n.add(ee,C),C=n.mul(F,C),F=n.mul(z,F),D=n.mul(P,D),ne=n.mul(b,ne),z=n.sub(k,ne),z=n.mul(b,z),z=n.add(z,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,ne),k=n.mul(k,z),C=n.add(C,k),ne=n.mul(q,S),ne=n.add(ne,ne),k=n.mul(ne,z),F=n.sub(F,k),D=n.mul(ne,ee),D=n.add(D,D),D=n.add(D,D),new w(F,C,D)}add(b){T(b);let{X:N,Y:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.ZERO,D=n.ZERO,k=n.ZERO,ee=s.a,ne=n.mul(s.b,un),z=n.mul(N,q),Se=n.mul(P,S),Fe=n.mul(V,F),pt=n.add(N,P),oe=n.add(q,S);pt=n.mul(pt,oe),oe=n.add(z,Se),pt=n.sub(pt,oe),oe=n.add(N,V);let xe=n.add(q,F);return oe=n.mul(oe,xe),xe=n.add(z,Fe),oe=n.sub(oe,xe),xe=n.add(P,V),C=n.add(S,F),xe=n.mul(xe,C),C=n.add(Se,Fe),xe=n.sub(xe,C),k=n.mul(ee,oe),C=n.mul(ne,Fe),k=n.add(C,k),C=n.sub(Se,k),k=n.add(Se,k),D=n.mul(C,k),Se=n.add(z,z),Se=n.add(Se,z),Fe=n.mul(ee,Fe),oe=n.mul(ne,oe),Se=n.add(Se,Fe),Fe=n.sub(z,Fe),Fe=n.mul(ee,Fe),oe=n.add(oe,Fe),z=n.mul(Se,oe),D=n.add(D,z),z=n.mul(xe,oe),C=n.mul(pt,C),C=n.sub(C,z),z=n.mul(pt,Se),k=n.mul(xe,k),k=n.add(k,z),new w(C,D,k)}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 P,V,q=S=>B.cached(this,S,F=>Ze(w,F));if(N){let{k1neg:S,k1:F,k2neg:C,k2:D}=O(b),{p:k,f:ee}=q(F),{p:ne,f:z}=q(D);V=ee.add(z),P=v(N.beta,k,ne,S,C)}else{let{p:S,f:F}=q(b);P=S,V=F}return Ze(w,[P,V])[0]}multiplyUnsafe(b){let{endo:N}=t,P=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Ar||P.is0())return w.ZERO;if(b===Ue)return P;if(B.hasCache(this))return this.multiply(b);if(N){let{k1neg:V,k1:q,k2neg:S,k2:F}=O(b),{p1:C,p2:D}=Sl(w,P,q,F);return v(N.beta,C,D,V,S)}else return B.unsafe(P,b)}multiplyAndAddUnsafe(b,N,P){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(P));return V.is0()?void 0:V}toAffine(b){return R(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return i===Ue?!0:b?b(w,this):B.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return i===Ue?this:b?b(w,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(b=!0){return Rr(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return M(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 Ze(w,b)}static msm(b,N){return ln(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(eo(o,b))}}w.BASE=new w(s.Gx,s.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,B=new cn(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Kp(e){return Uint8Array.of(e?2:3)}function $p(e,t){let r=e.ORDER,n=Ar;for(let h=r-Ue;h%qt===Ar;h/=qt)n+=Ue;let o=n,s=qt<<o-Ue-Ue,i=s*qt,a=(r-Ue)/i,c=(a-Ue)/qt,u=i-Ue,p=s,d=e.pow(t,a),l=e.pow(t,(a+Ue)/qt),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>Ue;R--){let E=R-qt;E=qt<<E-Ue;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%Yi===un){let h=(e.ORDER-un)/Yi,_=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 Ji(e,t){cs(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 s=$p(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,u,p,d,l,f,h;a=e.sqr(i),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}=s(c,l);h=e.mul(a,i),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(i)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=Je(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Hp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zi(e){let{CURVE:t,curveOpts:r}=Gp(e),n=jp(t,r);return Wp(e,n)}function Gp(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(i=>Math.ceil(i/2)))):void 0,o=De(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),s={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:s}}function zp(e,t,r){function n(o){let s=e.sqr(o),i=e.mul(s,o);return e.add(e.add(i,e.mul(o,t)),r)}return n}function Wp(e,t){let{Fp:r,Fn:n}=t;function o(i){return Li(i,Ue,n.ORDER)}let s=zp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>eo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var Yp=BigInt(0),ds=BigInt(1),Bl=BigInt(2),dn=BigInt(3);function Jp(e){let t=[];for(;e>ds;e>>=ds)(e&ds)===Yp?t.unshift(0):(e&dn)===dn?(t.unshift(-1),e+=ds):t.unshift(1);return t}function Xi(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Zp(e,t,r,n){let{Fp2:o,Fp12:s}=e,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(i==="multiplicative")p=(y,T,O,R,E,v)=>s.mul014(R,y,o.mul(T,E),o.mul(O,v));else if(i==="divisive")p=(y,T,O,R,E,v)=>s.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,Bl));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,dn)),I=o.mul(w,dn),B=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),A=o.sub(w,E),b=o.mul(o.sqr(T),dn),N=o.neg(B);return y.push([A,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),dn)),R=o.mul(E,B),{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)),B=o.sub(o.mul(w,E),o.mul(I,v)),A=o.neg(w),b=I;y.push([B,A,b]);let N=o.sqr(I),P=o.mul(N,I),V=o.mul(N,T),q=o.add(o.sub(P,o.mul(V,Bl)),o.mul(o.sqr(w),R));return T=o.mul(I,q),O=o.sub(o.mul(o.sub(V,q),w),o.mul(P,O)),R=o.mul(R,P),{Rx:T,Ry:O,Rz:R}}let h=Jp(a),_=or(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),I=E,B=v,A=o.ONE,b=[];for(let N of h){let P=[];({Rx:I,Ry:B,Rz:A}=l(P,I,B,A)),N&&({Rx:I,Ry:B,Rz:A}=f(P,I,B,A,E,N===-1?w:v)),b.push(P)}if(u){let N=b[b.length-1];u(I,B,A,E,v,f.bind(null,N))}return b});function g(y,T=!1){let O=s.ONE;if(y.length){let R=y[0][0].length;for(let E=0;E<R;E++){O=s.sqr(O);for(let[v,w,I]of y)for(let[B,A,b]of v[E])O=p(B,A,b,O,w,I)}}return c&&(O=s.conjugate(O)),T?s.finalExponentiate(O):O}function m(y,T=!0){let O=[];Ze(t,y.map(({g1:R})=>R)),Ze(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:s,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Cl(e,t,r,n,o){let{Fp12:s,pairingBatch:i}=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=eo(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=eo(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=i([p(_,m),p(g,x)]);return s.eql(y,s.ONE)},verifyBatch(d,l,f){if(Xi(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)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(d){Xi(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){Xi(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){ue(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Vl(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:s}=e.fields,i=Zi(e.G1),a=Object.assign(i,Wi(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Zi(e.G2),u=Object.assign(c,Wi(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Zp(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Cl(p,a,u,e.G2.Signature,!1),g=Cl(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||$r,x=()=>{let S=ls(r.ORDER);return ji(m(S),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function R(S,F){return S instanceof a.Point?S:g.hash(ae("point",S),F?.DST)}function E(S,F){return S instanceof u.Point?S:_.hash(ae("point",S),F?.DST)}function v(S){return _.getPublicKey(S).toBytes(!0)}function w(S){return g.getPublicKey(S).toBytes(!0)}function I(S,F,C){let D=E(S,C),k=_.sign(D,F);return S instanceof u.Point?k:O.toBytes(k)}function B(S,F,C){let D=R(S,C),k=g.sign(D,F);return S instanceof a.Point?k:T.toBytes(k)}function A(S,F,C,D){let k=E(F,D);return _.verify(S,k,C)}function b(S,F,C,D){let k=R(F,D);return g.verify(S,k,C)}function N(S){let F=_.aggregatePublicKeys(S);return S[0]instanceof a.Point?F:F.toBytes(!0)}function P(S){let F=_.aggregateSignatures(S);return S[0]instanceof u.Point?F:O.toBytes(F)}function V(S){let F=g.aggregateSignatures(S);return S[0]instanceof a.Point?F:T.toBytes(F)}function q(S,F,C,D){let k=F.map(ee=>E(ee,D));return _.verifyBatch(S,k,C)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:q,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:s},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:B,verify:A,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:P,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Dl=BigInt(0),Mt=BigInt(1),ke=BigInt(2),Ul=BigInt(3);function ra(e,t,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=Mt;l<n;l++){let h=(p*f-p)/i%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Ll(e,t,r){let n=t.pow(r,(e.ORDER-Mt)/Ul),o=t.pow(r,(e.ORDER-Mt)/ke);function s(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let i=t.pow(r,(e.ORDER**ke-Mt)/Ul),a=t.pow(r,(e.ORDER**ke-Mt)/ke);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,i),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(s),d=u(c);return{psi:s,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var kl=(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]}},Qi=class{constructor(t,r={}){this.MASK=Mt;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Ut(o),this.BYTES=Math.ceil(Ut(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,ke),this.NONRESIDUE=kl(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ra(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return kl(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,s){return typeof o=="bigint"&&Dl<=o&&o<s}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 Zn(this,t,r)}invertBatch(t){return Je(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}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:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),s=n.sub(t,r),i=n.add(t,t);return{c0:n.mul(o,s),c1:n.mul(i,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:s}=t;if(r.is0(s))return Jn(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 i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Jn(r,a)===-1&&(a=r.sub(a,i));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(s,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%ke,s=r===Dl,i=n%ke;return BigInt(o||s&&i)==Mt}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},s){return{c0:this.Fp.cmov(t,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),s)}}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])}}},ea=class{constructor(t){this.MASK=Mt,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=ra(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:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,u=s.mul(t,i),p=s.mul(r,a),d=s.mul(n,c);return{c0:s.add(u,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,d)))),c1:s.add(s.sub(s.mul(s.add(t,r),s.add(i,a)),s.add(u,p)),s.mulByNonresidue(d)),c2:s.sub(s.add(p,s.mul(s.add(t,n),s.add(i,c))),s.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(t),i=o.mul(o.mul(t,r),ke),a=o.mul(o.mul(r,n),ke),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(t,r),n))),a),s),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:s,c2:i}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(t){return sn()}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 Zn(this,t,r)}invertBatch(t){return Je(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),i=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,i),o.mul(r,a))),o.mul(t,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),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:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,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:s}=this;return{c0:s.frobeniusMap(t,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.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:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(t,o),c2:s.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(t,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(t,r)),a),c),c2:i.add(i.sub(i.mul(i.add(t,n),o),a),c)}}},ta=class{constructor(t,r){this.MASK=Mt;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=ra(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:s}=this;return s.eql(t,n)&&s.eql(r,o)}sqrt(t){sn()}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:s}=o;return this.mul(t,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(t,r){return Zn(this,t,r)}invertBatch(t){return Je(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(t,n),c1:s.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(t,n),c1:s.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:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(s,i)),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},s){let{Fp6:i}=this;return{c0:i.cmov(t,n,s),c1:i.cmov(r,o,s)}}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:s,c1:i,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(s,c),c1:o.mul(i,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,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(t,n,o),u=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(i.sub(i.mul01(i.add(r,t),n,a.add(o,s)),c),u)}}mul034({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=i.mul01(r,o,s),p=i.mul01(i.add(t,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(p,i.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(s,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(i,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,s),ke),d),c1:o.add(o.mul(o.sub(f,i),ke),f),c2:o.add(o.mul(o.sub(_,a),ke),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),ke),m),c1:o.add(o.mul(o.add(l,u),ke),l),c2:o.add(o.mul(o.add(h,p),ke),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),hl(r,o)&&(n=this.mul(n,t));return n}};function ql(e){let t=De(e.ORDER),r=new Qi(t,e),n=new ea(r),o=new ta(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ie=BigInt(0),ps=BigInt(1),Xe=BigInt(2),fs=BigInt(3),to=BigInt(4),ir=BigInt("0xd201000000010000"),Xp=Ut(ir),Sr={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ie,b:to,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Qp=De(Sr.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:ef,Fp12:J}=ql({ORDER:Sr.p,X_LEN:Xp,FP2_NONRESIDUE:[ps,ps],Fp2mulByB:({c0:e,c1:t})=>{let r=U.mul(e,to),n=U.mul(t,to);return{c0:U.sub(r,n),c1:U.add(r,n)}},Fp12finalExponentiate:e=>{let t=ir,r=J.div(J.frobeniusMap(e,6),e),n=J.mul(J.frobeniusMap(r,2),r),o=J.conjugate(J._cyclotomicExp(n,t)),s=J.mul(J.conjugate(J._cyclotomicSquare(n)),o),i=J.conjugate(J._cyclotomicExp(s,t)),a=J.conjugate(J._cyclotomicExp(i,t)),c=J.mul(J.conjugate(J._cyclotomicExp(a,t)),J._cyclotomicSquare(o)),u=J.conjugate(J._cyclotomicExp(c,t)),p=J.frobeniusMap(J.mul(o,a),2),d=J.frobeniusMap(J.mul(i,n),3),l=J.frobeniusMap(J.mul(c,J.conjugate(n)),1),f=J.mul(J.mul(u,J.conjugate(s)),n);return J.mul(J.mul(J.mul(p,d),l),f)}}),{G2psi:Ml,G2psi2:tf}=Ll(U,G,G.div(G.ONE,G.NONRESIDUE)),na=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:U.ORDER,m:2,k:128,expand:"xmd",hash:ve}),ia={p:G.ORDER,n:Sr.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:G.ZERO,b:G.fromBigTuple([to,to]),Gx:G.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:G.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},hs=ro(U.toBytes(Ie),{infinity:!0,compressed:!0});function ms(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 ro(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 rf(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return hs.slice();let c=!!(a*Xe/o);return ro(ye(i,n),{compressed:!0,sort:c})}else return s?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(ye(i,n),ye(a,n))}function oa(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return hs.slice();let s=!!(o*Xe/r);return ro(ye(n,t),{compressed:!0,sort:s})}function nf(e){let{compressed:t,infinity:r,sort:n,value:o}=ms(e),{BYTES:s,ORDER:i}=U;if(o.length===48&&t){let a=Ke(o),c=U.create(a&ut(U.BITS));if(r){if(c!==Ie)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ie,y:Ie}}let u=U.add(U.pow(c,fs),U.create(Sr.b)),p=U.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*Xe/i!==BigInt(n)&&(p=U.neg(p)),{x:U.create(c),y:U.create(p)}}else if(o.length===96&&!t){let a=Ke(o.subarray(0,s)),c=Ke(o.subarray(s));if(r){if(a!==Ie||c!==Ie)throw new Error("G1: non-empty point at infinity");return no.G1.Point.ZERO.toAffine()}return{x:U.create(a),y:U.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function jl(e){let{infinity:t,sort:r,value:n}=ms(ae("signatureHex",e,48)),o=U.ORDER,s=no.G1.Point,i=Ke(n);if(t)return s.ZERO;let a=U.create(i&ut(U.BITS)),c=U.add(U.pow(a,fs),U.create(Sr.b)),u=U.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*Xe/o!==p&&(u=U.neg(u));let d=s.fromAffine({x:a,y:u});return d.assertValidity(),d}function of(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return K(hs,ye(Ie,n));let c=!!(a.c1===Ie?a.c0*Xe/o:a.c1*Xe/o);return K(ro(ye(i.c1,n),{compressed:!0,sort:c}),ye(i.c0,n))}else{if(s)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=G.reim(i),{re:p,im:d}=G.reim(a);return K(ye(u,n),ye(c,n),ye(d,n),ye(p,n))}}function sa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return K(hs,ye(Ie,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ie?a*Xe:i*Xe)/U.ORDER&ps),p=o;return K(ro(ye(s,t),{sort:u,compressed:!0}),ye(p,t))}function sf(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=ms(e);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ke(c.slice(u,p));if(i.length===96&&n){if(o){if(i.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0,t),u=a(i,t,2*t),p=G.create({c0:U.create(u),c1:U.create(c)}),d=G.add(G.pow(p,fs),ia.b),l=G.sqrt(d),f=l.c1===Ie?l.c0*Xe/r:l.c1*Xe/r?ps:Ie;return l=s&&f>0?l:G.neg(l),{x:p,y:l}}else if(i.length===192&&!n){if(o){if(i.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0*t,1*t),u=a(i,1*t,2*t),p=a(i,2*t,3*t),d=a(i,3*t,4*t);return{x:G.fromBigTuple([u,c]),y:G.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Kl(e){let{ORDER:t}=U,{infinity:r,sort:n,value:o}=ms(ae("signatureHex",e)),s=no.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ke(o.slice(0,i)),c=Ke(o.slice(i));if(r)return s.ZERO;let u=U.create(a&ut(U.BITS)),p=U.create(c),d=G.create({c0:p,c1:u}),l=G.add(G.pow(d,fs),ia.b),f=G.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=G.reim(f),g=BigInt(n),m=_>Ie&&_*Xe/t!==g,x=_===Ie&&h*Xe/t!==g;(m||x)&&(f=G.neg(f));let y=s.fromAffine({x:d,y:f});return y.assertValidity(),y}var no=Vl({fields:{Fp:U,Fp2:G,Fp6:ef,Fp12:J,Fr:Qp},G1:{...Sr,Fp:U,htfDefaults:{...na,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(U.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(ir).negate().multiplyUnsafe(ir).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(ir).add(t),mapToCurve:df,fromBytes:nf,toBytes:rf,ShortSignature:{fromBytes(e){return ue(e),jl(e)},fromHex(e){return jl(e)},toBytes(e){return oa(e)},toRawBytes(e){return oa(e)},toHex(e){return M(oa(e))}}},G2:{...ia,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...na},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:pf,isTorsionFree:(e,t)=>t.multiplyUnsafe(ir).negate().equals(Ml(e,t)),clearCofactor:(e,t)=>{let r=ir,n=t.multiplyUnsafe(r).negate(),o=Ml(e,t),s=t.double();return s=tf(e,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(t)},fromBytes:sf,toBytes:of,Signature:{fromBytes(e){return ue(e),Kl(e)},fromHex(e){return Kl(e)},toBytes(e){return sa(e)},toRawBytes(e){return sa(e)},toHex(e){return M(sa(e))}}},params:{ateLoopSize:ir,r:Sr.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:na,hash:ve}),af=zi(G,[[["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=>G.fromBigTuple(t.map(BigInt))))),cf=zi(U,[["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)))),lf=Ji(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),uf=Ji(G,{A:G.create({c0:U.create(Ie),c1:U.create(BigInt(240))}),B:G.create({c0:U.create(BigInt(1012)),c1:U.create(BigInt(1012))}),Z:G.create({c0:U.create(BigInt(-2)),c1:U.create(BigInt(-1))})});function df(e){let{x:t,y:r}=lf(U.create(e[0]));return cf(t,r)}function pf(e){let{x:t,y:r}=uf(G.fromBigTuple(e));return af(t,r)}function $l(e,t,r){let n=typeof e=="string"?e:M(e),o=typeof t=="string"?t:M(t),s=typeof r=="string"?r:M(r);return no.verifyShortSignature(o,s,n)}var hf=BigInt(1e6),aa=e=>pe(new st(e)),pn=e=>{let r=aa(e)/hf;return new Date(Number(r))};var Hl=60*1e3,mf=60,_f=24,yf=_f*mf,gf=5,xf=5,bf=30*yf,Re;(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"})(Re||(Re={}));function wf(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var ar=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.canisterId,t.blsVerify??$l,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,s=gf,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return Pr(t,this.cert.tree)}lookup_subtree(t){return gs(t,this.cert.tree)}async verify(){let t=await _s(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Nf(r),s=K(so("ic-state-root"),t),i=Ae(this.lookup_path(["time"]));if(!i)throw te.fromCode(new Jt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Hl,u=new Date,p=u.getTime()+a,d=p-c,l=p+xf*Hl,f=pn(i),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Pe.fromCode(new _r(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?he.fromCode(new Be("System time has been synced with the IC network, but certificate is still too far in the future.")):Pe.fromCode(new _r(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Pe.fromCode(new Jt("Invalid signature"))}catch(a){throw Pe.fromCode(new Jt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:bf,agent:this.#t});if(r.cert.delegation)throw te.fromCode(new Ao);await r.verify();let n=t.subnet_id,o=L.fromUint8Array(n);if(!ca({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Pe.fromCode(new Hr(this._canisterId,o));let i=Ae(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Pe.fromCode(new So(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},oo=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Tf=96;function Nf(e){let t=oo.byteLength+Tf;if(e.byteLength!==t)throw te.fromCode(new zr(t,e.byteLength));let r=e.slice(0,oo.byteLength);if(!Nr(r,oo))throw te.fromCode(new Fo(oo,r));return e.slice(oo.byteLength)}function Ae(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function _s(e){switch(e[0]){case Re.Empty:return ve(so("ic-hashtree-empty"));case Re.Pruned:return e[1];case Re.Leaf:return ve(K(so("ic-hashtree-leaf"),e[1]));case Re.Labeled:return ve(K(so("ic-hashtree-labeled"),e[1],await _s(e[2])));case Re.Fork:return ve(K(so("ic-hashtree-fork"),await _s(e[1]),await _s(e[2])));default:throw Qt}}function so(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Gl(e){return typeof e[0]=="string"?Q(e[0]):e[0]}var $e;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})($e||($e={}));var Fr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Fr||(Fr={}));var ie;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ie||(ie={}));function Pr(e,t){if(e.length===0)switch(t[0]){case Re.Empty:return{status:$e.Absent};case Re.Leaf:{if(!t[1])throw he.fromCode(new Xt("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:$e.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw Qt}case Re.Pruned:return{status:$e.Unknown};case Re.Labeled:case Re.Fork:return{status:$e.Error};default:throw Qt}let r=Gl(e),n=io(r,t);switch(n.status){case ie.Found:return Pr(e.slice(1),n.value);case ie.Absent:case ie.Greater:case ie.Less:return{status:$e.Absent};case ie.Unknown:return{status:$e.Unknown};default:throw Qt}}function gs(e,t){if(e.length===0)return{status:Fr.Found,value:t};let r=Gl(e),n=io(r,t);switch(n.status){case ie.Found:return gs(e.slice(1),n.value);case ie.Unknown:return{status:Fr.Unknown};case ie.Absent:case ie.Greater:case ie.Less:return{status:Fr.Absent};default:throw Qt}}function ys(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return ys(e[1]).concat(ys(e[2]));default:return[e]}}function io(e,t){switch(t[0]){case Re.Labeled:return wf(e,t[1])?{status:ie.Greater}:Nr(e,t[1])?{status:ie.Found,value:t[2]}:{status:ie.Less};case Re.Fork:{let r=io(e,t[1]);switch(r.status){case ie.Greater:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Absent}:n}case ie.Unknown:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Unknown}:n}default:return r}}case Re.Pruned:return{status:ie.Unknown};default:return{status:ie.Absent}}}function ca(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Pr(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==$e.Found)throw te.fromCode(new At(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw te.fromCode(new Gr(`Could not find canister ranges for subnet ${r.toText()}`));return je(o.value).map(c=>[L.fromUint8Array(c[0]),L.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var la=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=L.from(e.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,u)=>{let p=Ef(c,o);return(async()=>{try{if(t.rootKey===null)throw we.fromCode(new mt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await ar.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=Of(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ae(m.lookup_path(p))}},{path:_,data:g}=h(f,s[u]);if(!g)console.warn(`Expected to find result for path ${_}, but instead found nothing.`),typeof _=="string"?i.set(_,null):i.set(_.key,null);else switch(_){case"time":{i.set(_,pn(g));break}case"controllers":{i.set(_,Rf(g));break}case"module_hash":{i.set(_,M(g));break}case"subnet":{i.set(_,g);break}case"candid":{i.set(_,new TextDecoder().decode(g));break}default:if(typeof _!="string"&&"key"in _&&"path"in _)switch(_.decodeStrategy){case"raw":i.set(_.key,g);break;case"leb128":{i.set(_.key,aa(g));break}case"cbor":{i.set(_.key,je(g));break}case"hex":{i.set(_.key,M(g));break}case"utf-8":i.set(_.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof nt&&(d.hasCode(Jt)||d.hasCode(_r)))throw d;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),i},Of=(e,t,r)=>{if(!t._isPrincipal)throw W.fromCode(new Be("Invalid canisterId"));let n=je(e),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=L.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=L.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=L.selfAuthenticating(L.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!ca({canisterId:t,subnetId:i,tree:o}))throw Pe.fromCode(new Hr(t,i));let c=gs(["subnet",s.subnet_id,"node"],o);if(c.status!==Fr.Found)throw te.fromCode(new At("Node not found",c.status));if(c.value instanceof Uint8Array)throw he.fromCode(new Xt("Invalid node tree"));let u=ys(c.value),p=new Map;return u.forEach(d=>{let l=L.from(d[1]).toText(),f=Pr(["public_key"],d[2]);if(f.status!==$e.Found)throw te.fromCode(new At("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw te.fromCode(new zr(44,h.byteLength));p.set(l,h)}),{subnetId:L.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},Ef=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[Q("time")];case"controllers":return[Q("canister"),r,Q("controllers")];case"module_hash":return[Q("canister"),r,Q("module_hash")];case"subnet":return[Q("subnet")];case"candid":return[Q("canister"),r,Q("metadata"),Q("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?Q(n):n;return[Q("canister"),r,Q("metadata"),o]}else return e.path}throw he.fromCode(new Be(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Rf=e=>je(e).map(r=>L.fromUint8Array(r));var cr=BigInt(0),Ne=BigInt(1),ua=BigInt(2),vf=BigInt(8);function If(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function Af(e,t={}){let r=us("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;kt(t,{},{uvRatio:"function"});let a=ua<<BigInt(o.BYTES*8)-Ne,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:cr}}});if(!If(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ne:cr;return as("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=or((g,m)=>{let{X:x,Y:y,Z:T}=g,O=g.is0();m==null&&(m=O?vf:n.inv(T));let R=c(x*m),E=c(y*m),v=n.mul(T,m);if(O)return{x:cr,y:Ne};if(v!==Ne)throw new Error("invZ was invalid");return{x:R,y:E}}),f=or(g=>{let{a:m,d:x}=s;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),B=c(E*m),A=c(w*c(B+v)),b=c(I+c(x*c(E*v)));if(A!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),P=c(O*R);if(N!==P)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 s}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,Ne,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:O}=s;m=ki(nr(m,y,"point")),Rr(x,"zip215");let R=ki(m),E=m[y-1];R[y-1]=E&-129;let v=Dt(R),w=x?a:n.ORDER;as("point.y",v,cr,w);let I=c(v*v),B=c(I-Ne),A=c(O*I-T),{isValid:b,value:N}=u(B,A);if(!b)throw new Error("bad point: invalid y coordinate");let P=(N&Ne)===Ne,V=(E&128)!==0;if(!x&&N===cr&&V)throw new Error("bad point: x=0 and x_0=1");return V!==P&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(ae("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(ua),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),B=c(R*T);return v===w&&I===B}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=s,{X:x,Y:y,Z:T}=this,O=c(x*x),R=c(y*y),E=c(ua*c(T*T)),v=c(m*O),w=x+y,I=c(c(w*w)-O-R),B=v+R,A=B-E,b=v-R,N=c(I*A),P=c(B*b),V=c(I*b),q=c(A*B);return new h(N,P,q,V)}add(m){d(m);let{a:x,d:y}=s,{X:T,Y:O,Z:R,T:E}=this,{X:v,Y:w,Z:I,T:B}=m,A=c(T*v),b=c(O*w),N=c(E*y*B),P=c(R*I),V=c((T+O)*(v+w)-A-b),q=P-N,S=P+N,F=c(b-x*A),C=c(V*q),D=c(S*F),k=c(V*F),ee=c(q*S);return new h(C,D,ee,k)}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=>Ze(h,T));return Ze(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===cr?h.ZERO:this.is0()||m===Ne?this:_.unsafe(this,m,y=>Ze(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return _.unsafe(this,s.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return i===Ne?this:this.multiplyUnsafe(i)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ne?128:0,y}toHex(){return M(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 Ze(h,m)}static msm(m,x){return ln(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,Ne,c(s.Gx*s.Gy)),h.ZERO=new h(cr,Ne,Ne,cr),h.Fp=n,h.Fn=o;let _=new cn(h,o.BITS);return h.BASE.precompute(8),h}var xs=class{constructor(t){this.ep=t}static fromBytes(t){sn()}static fromHex(t){sn()}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 M(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 Sf(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');kt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||$r,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,B)=>{if(Rr(B,"phflag"),I.length||B)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return i.create(Dt(w))}function d(w){let I=y.secretKey;w=ae("private key",w,I);let B=ae("hashed private key",t(w),2*I),A=c(B.slice(0,I)),b=B.slice(I,2*I),N=p(A);return{head:A,prefix:b,scalar:N}}function l(w){let{head:I,prefix:B,scalar:A}=d(w),b=o.multiply(A),N=b.toBytes();return{head:I,prefix:B,scalar:A,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let B=K(...I);return p(t(u(B,ae("context",w),!!n)))}function _(w,I,B={}){w=ae("message",w),n&&(w=n(w));let{prefix:A,scalar:b,pointBytes:N}=l(I),P=h(B.context,A,w),V=o.multiply(P).toBytes(),q=h(B.context,V,N,w),S=i.create(P+q*b);if(!i.isValid(S))throw new Error("sign failed: invalid s");let F=K(V,i.toBytes(S));return nr(F,y.signature,"result")}let g={zip215:!0};function m(w,I,B,A=g){let{context:b,zip215:N}=A,P=y.signature;w=ae("signature",w,P),I=ae("message",I),B=ae("publicKey",B,y.publicKey),N!==void 0&&Rr(N,"zip215"),n&&(I=n(I));let V=P/2,q=w.subarray(0,V),S=Dt(w.subarray(V,P)),F,C,D;try{F=e.fromBytes(B,N),C=e.fromBytes(q,N),D=o.multiplyUnsafe(S)}catch{return!1}if(!N&&F.isSmallOrder())return!1;let k=h(b,C.toBytes(),F.toBytes(),I);return C.add(F.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let x=s.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return nr(w,y.seed,"seed")}function O(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function R(w){return ft(w)&&w.length===i.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),B=y.publicKey,A=B===32;if(!A&&B!==57)throw new Error("only defined for 25519 and 448");let b=A?s.div(Ne+I,Ne-I):s.div(I-Ne,I+Ne);return s.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;nr(w,I);let B=t(w.subarray(0,I));return c(B).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 Ff(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=De(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function Pf(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function zl(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ff(e),s=Af(t,r),i=Sf(s,n,o);return Pf(e,i)}var Bf=BigInt(0),jt=BigInt(1),Wl=BigInt(2),Yy=BigInt(3),Cf=BigInt(5),Vf=BigInt(8),fn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ao={p:fn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Vf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Df(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=fn,a=e*e%s*e%s,c=dt(a,Wl,s)*a%s,u=dt(c,jt,s)*e%s,p=dt(u,Cf,s)*u%s,d=dt(p,t,s)*p%s,l=dt(d,r,s)*d%s,f=dt(l,n,s)*l%s,h=dt(f,o,s)*f%s,_=dt(h,o,s)*f%s,g=dt(_,t,s)*p%s;return{pow_p_5_8:dt(g,Wl,s)*e%s,b2:a}}function Uf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var da=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ha(e,t){let r=fn,n=se(t*t*t,r),o=se(n*n*t,r),s=Df(e*o).pow_p_5_8,i=se(e*n*s,r),a=se(t*i*i,r),c=i,u=se(i*da,r),p=a===e,d=a===se(-e,r),l=a===se(-e*da,r);return p&&(i=c),(d||l)&&(i=u),Lt(i,r)&&(i=se(-i,r)),{isValid:p||d,value:i}}var lr=De(ao.p,{isLE:!0}),kf=De(ao.n,{isLE:!0}),Lf={...ao,Fp:lr,hash:xc,adjustScalarBytes:Uf,uvRatio:ha},Le=zl(Lf);var pa=da,qf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jf=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Kf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Yl=e=>ha(jt,e),$f=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),fa=e=>Le.Point.Fp.create(Dt(e)&$f);function Jl(e){let{d:t}=ao,r=fn,n=m=>lr.create(m),o=n(pa*e*e),s=n((o+jt)*jf),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=ha(s,a),p=n(u*e);Lt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-jt)*Kf-a),l=u*u,f=n((u+u)*a),h=n(d*qf),_=n(jt-l),g=n(jt+l);return new Le.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Hf(e){ue(e,64);let t=fa(e.subarray(0,32)),r=Jl(t),n=fa(e.subarray(32,64)),o=Jl(n);return new Kt(r.add(o))}var Kt=class e extends xs{constructor(t){super(t)}static fromAffine(t){return new e(Le.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Hf(ae("ristrettoHash",t,64))}static fromBytes(t){ue(t,32);let{a:r,d:n}=ao,o=fn,s=T=>lr.create(T),i=fa(t);if(!fl(lr.toBytes(i),t)||Lt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(jt+r*a),u=s(jt-r*a),p=s(c*c),d=s(u*u),l=s(r*n*p-d),{isValid:f,value:h}=Yl(s(l*d)),_=s(h*u),g=s(h*_*l),m=s((i+i)*_);Lt(m,o)&&(m=s(-m));let x=s(c*g),y=s(m*x);if(!f||Lt(y,o)||x===Bf)throw new Error("invalid ristretto255 encoding 2");return new e(new Le.Point(m,x,jt,y))}static fromHex(t){return e.fromBytes(ae("ristrettoHex",t,32))}static msm(t,r){return ln(e,Le.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=fn,i=g=>lr.create(g),a=i(i(n+r)*i(n-r)),c=i(t*r),u=i(c*c),{value:p}=Yl(i(a*u)),d=i(p*a),l=i(p*c),f=i(d*l*o),h;if(Lt(o*f,s)){let g=i(r*pa),m=i(t*pa);t=g,r=m,h=i(d*Mf)}else h=l;Lt(t*f,s)&&(r=i(-r));let _=i((n-r)*h);return Lt(_,s)&&(_=i(-_)),lr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>lr.create(u),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(e.ZERO)}};Kt.BASE=new Kt(Le.Point.BASE);Kt.ZERO=new Kt(Le.Point.ZERO);Kt.Fp=lr;Kt.Fn=kf;var Zl,Xl,bs=class{static{Zl=Symbol.iterator,Xl=Symbol.toStringTag}#e;#t;constructor(t={}){this[Zl]=this.entries.bind(this),this[Xl]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,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 Ql=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw W.fromCode(new An("Length too long (> 4 bytes)"))},eu=(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 W.fromCode(new An("Length too long (> 4 bytes)"))},ma=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw W.fromCode(new ot("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw W.fromCode(new ot("Length too long (> 4 bytes)"))},Gf=(e,t)=>{let r=ma(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 W.fromCode(new ot("Length too long (> 4 bytes)"))},co=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Br=Uint8Array.from([48,5,6,3,43,101,112]),e0=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),t0=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 Cr(e,t){let r=2+Ql(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+Ql(n)+n);return s[o++]=48,o+=eu(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=eu(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var Vr=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw W.fromCode(new ot(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=ma(o,r),!Nr(o.slice(r,r+t.byteLength),t))throw W.fromCode(new ot("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=Gf(o,r)-1;r+=ma(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Po(s,i.length));return i};var ws=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 Cr(t,Br)}static derDecode(t){let r=Vr(t,Br);if(r.length!==this.RAW_KEY_LENGTH)throw W.fromCode(new ot("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 W.fromCode(new ot("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 _a=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))}},Ts=class extends _a{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 Ns=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a=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:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#u=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}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.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var wt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(wt||(wt={}));var xa=60*1e3,zf=1e6,Wf=0,Yf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Jf="ic0.app",Zf=".ic0.app",Xf="icp0.io",Qf=".icp0.io",eh="icp-api.io",th=".icp-api.io",ya=200,rh=202,nh=404;function oh(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw we.fromCode(new Yr("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 we.fromCode(new Yr("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 we.fromCode(new Yr("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function sh(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,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?t=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Dr=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a;#x;#s;#d;#p;#l;get#N(){return this.#l*xa}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Wf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new Ts,this.#f=[],this.#h=[],this.#m=new bs({expirationTime:5*xa}),this.#_=!0,this.#w=(o,s)=>{if(this.#_===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=L.fromUint8Array(d).toText(),f;if(i===Ht.Replied){let{reply:x}=o;f=Mn({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===Ht.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Mn({status:i,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw he.fromCode(new Be(`Unknown status: ${i}`));let h=K(vi,f),_=s.nodeKeys.get(l);if(!_)throw te.fromCode(new Ko);let g=ws.fromDer(_).rawKey;if(Le.verify(u.signature,h,g))return o;throw Pe.fromCode(new $o(l))}return o},this.config=t,this.#o=t.fetch||oh()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=be(Yf);let r=sh(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Ns({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Zf)?this.host.hostname=Jf:this.host.hostname.endsWith(Qf)?this.host.hostname=Xf:this.host.hostname.endsWith(th)&&(this.host.hostname=eh),t.credentials){let{name:o,password:s}=t.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(t.identity||new Ye),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw W.fromCode(new gr("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw W.fromCode(new gr("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Ci(Yn)),t.useQueryNonces&&this.addTransform("query",Ci(Yn)),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.#g(),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 W.fromCode(new qo)}}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.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(s=>(s.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw we.fromCode(new Zt);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw we.fromCode(new Zt);let i=L.from(t),a=r.effectiveCanisterId?L.from(r.effectiveCanisterId):i;await this.#g(a);let c=s.getPrincipal(),u=ga(this.#l,this.#r),p={request_type:ns.Call,canister_id:i,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:Vt.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 s.transformRequest(d);let h=zn(d.body),_=this.#p(),g=Bt(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...O}=await this.#y({requestFn:y,backoff:_,tries:0}),R=T.byteLength>0?je(T):null;return{requestId:g,response:{...O,body:R},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Fn))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(gr)&&!this.#c)return await this.syncTime(i),this.call(i,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=he.fromCode(new Be(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=t,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw he.fromCode(new yr(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===ya)u={...je(en(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:ss(f.headers)},requestId:s};else throw te.fromCode(new Sn(f.status,f.statusText,ss(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
48
+ `)}return c.encodeValue(u)}));return Y(n,o,s,i,a)}function Gd(e,t){let r=new st(t);if(t.byteLength<zo.length)throw new Error("Message length smaller than magic number");let n=rr(r,zo.length),o=new TextDecoder().decode(n);if(o!==zo)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(l){let f=[],h=Number(pe(l));for(let m=0;m<h;m++){let x=Number(Ft(l));switch(x){case Z.Opt:case Z.Vector:{let y=Number(Ft(l));f.push([x,y]);break}case Z.Record:case Z.Variant:{let y=[],T=Number(pe(l)),O;for(;T--;){let R=Number(pe(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(Ft(l));y.push([R,E])}f.push([x,y]);break}case Z.Func:{let y=[],T=Number(pe(l));for(;T--;)y.push(Number(Ft(l)));let O=[],R=Number(pe(l));for(;R--;)O.push(Number(Ft(l)));let E=[],v=Number(pe(l));for(;v--;)switch(Number(pe(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 Z.Service:{let y=Number(pe(l)),T=[];for(;y--;){let O=Number(pe(l)),R=new TextDecoder().decode(rr(l,O)),E=Ft(l);T.push([R,E])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(pe(l));for(let m=0;m<g;m++)_.push(Number(Ft(l)));return[f,_]}let[i,a]=s(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=i.map(l=>Yc());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Ac;case-2:return Ic;case-3:return Pc;case-4:return Fc;case-5:return Lc;case-6:return qc;case-7:return Mc;case-8:return jc;case-9:return Vc;case-10:return Dc;case-11:return Uc;case-12:return kc;case-13:return Bc;case-14:return Cc;case-15:return Sc;case-16:return vc;case-17:return Rc;case-24:return Kc;default:throw new Error("Illegal op_code: "+l)}if(l>=i.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Z.Vector:{let f=u(l[1]);return Hc(f)}case Z.Opt:{let f=u(l[1]);return Gc(f)}case Z.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=zc(f),_=h.tryAsTuple();return Array.isArray(_)?$c(..._):h}case Z.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return Wc(f)}case Z.Func:{let[f,h,_]=l[1];return Jc(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Z.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof We&&(m=m.getType()),!(m instanceof Tr))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Zc(f)}default:throw new Error("Illegal op_code: "+l[0])}}i.forEach((l,f)=>{if(l[0]===Z.Func){let h=p(l);c[f].fill(h)}}),i.forEach((l,f)=>{if(l[0]!==Z.Func){let h=p(l);c[f].fill(h)}}),Ni();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{Ni()}}var Rc=new Un,vc=new xt,zd=new Yo,Ic=new Jo,Ac=new br,Sc=new Zo,Fc=new kn,Pc=new Ln,Bc=new qn(32),Cc=new qn(64),Vc=new Bt(8),Dc=new Bt(16),Uc=new Bt(32),kc=new Bt(64),Lc=new yt(8),qc=new yt(16),Mc=new yt(32),jc=new yt(64),Kc=new Qo;function $c(...e){return new Xo(e)}function Hc(e){return new Zr(e)}function Gc(e){return new nr(e)}function zc(e){return new wr(e)}function Wc(e){return new Xr(e)}function Yc(){return new We}function Jc(e,t,r=[]){return new Tr(e,t,r)}function Zc(e){return new Qr(e)}var es=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,s]of n)t+=`${r} ${s?":<":"!<:"} ${o}
49
+ `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let s=new Map;s.set(r,n),this.rels.set(t,s)}else o.set(r,n)}},Wo=new es;function Ni(){Wo=new es}function Wd(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 bi(e){return e instanceof nr||e instanceof br||e instanceof xt}function Ei(e,t){let r=Wo.copy(),n=Pt(r,e,t);return n?Wo.add(e,t):Wo.addNegative(e,t),n}function Pt(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 xt||t instanceof Un||t instanceof Ln&&r instanceof kn)return!0;if(t instanceof Zr&&r instanceof Zr)return Pt(e,t._type,r._type);if(r instanceof nr)return!0;if(t instanceof wr&&r instanceof wr){let o=t.fieldsAsObject;for(let[s,i]of r._fields){let a=o[Ce(s)];if(a){if(!Pt(e,a,i))return!1}else if(!bi(i))return!1}return!0}if(t instanceof Tr&&r instanceof Tr){if(!Wd(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let s=t.argTypes[o];if(o<r.argTypes.length){if(!Pt(e,r.argTypes[o],s))return!1}else if(!bi(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<t.retTypes.length){if(!Pt(e,t.retTypes[o],s))return!1}else if(!bi(s))return!1}return!0}if(t instanceof Xr&&r instanceof Xr){let o=r.alternativesAsObject;for(let[s,i]of t._fields){let a=o[Ce(s)];if(!a||!Pt(e,i,a))return!1}return!0}if(t instanceof Qr&&r instanceof Qr){let o=t.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!Pt(e,a,i))return!1}return!0}return t instanceof We?Pt(e,t.getType(),r):r instanceof We?Pt(e,t,r.getType()):!1}function en(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?en(e.buffer):new Uint8Array(e)}function Or(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 Ri(e){if(typeof e=="string")return Xc(e);if(typeof e=="number")return ve(re(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return ve(en(e));if(Array.isArray(e)){let t=e.map(Ri);return ve(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ri(e.toHash());if(typeof e=="object")return Mn(e);if(typeof e=="bigint")return ve(re(e))}throw W.fromCode(new Lo(e))}var Xc=e=>{let t=new TextEncoder().encode(e);return ve(t)};function Ct(e){return Mn(e)}function Mn(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=Xc(i),u=Ri(a);return[c,u]}).sort(([i],[a])=>_i(i,a)),o=K(...n.map(i=>K(...i)));return ve(o)}var jn=new TextEncoder().encode(`
50
+ ic-request`),vi=new TextEncoder().encode("\vic-response"),Ii=new TextEncoder().encode("ic-request-auth-delegation");var bt=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=Ct(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(jn,o))}}}},Ye=class{getPrincipal(){return L.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Vt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},el=55799,tl=Symbol("CBOR_STOP_CODE"),ct=(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))(ct||{}),_e=(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))(_e||{}),Yd=23,Jd=255,Zd=65535,Xd=4294967295,Qd=BigInt("0xffffffffffffffff"),at=(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))(at||{}),tn=!1;function ep(e){return e==null}function rl(e,t){let r=new Uint8Array(t);return r.set(e),r}var tp=new TextDecoder;function rp(e){return(e&224)>>5}function np(e){return e&31}var Hn=new Uint8Array,Kn,lt=0;function nl(e,t){Hn=e,lt=0;let r=Er(t);return t?.(r)??r}function Er(e){let[t,r]=ts();switch(t){case _e.UnsignedInteger:return rn(r);case _e.NegativeInteger:return ap(r);case _e.ByteString:return ol(r);case _e.TextString:return Si(r);case _e.Array:return op(r,e);case _e.Map:return ip(r,e);case _e.Tag:return cp(r,e);case _e.Simple:return sp(r)}throw new Vt(`Unsupported major type: ${t}`)}function ts(){let e=Hn.at(lt);if(ep(e))throw new Vt("Provided CBOR data is empty");let t=rp(e),r=np(e);return lt++,[t,r]}function op(e,t){let r=rn(e);if(r===1/0){let o=[],s=Er(t);for(;s!==tl;)o.push(t?.(s)??s),s=Er(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=Er(t);n[o]=t?.(s)??s}return n}function sp(e){switch(e){case ct.False:return!1;case ct.True:return!0;case ct.Null:return null;case ct.Undefined:return;case ct.Break:return tl}throw new Vt(`Unrecognized simple type: ${e.toString(2)}`)}function ip(e,t){let r=rn(e),n={};if(r===1/0){let[o,s]=ts();for(;o!==_e.Simple&&s!==ct.Break;){let i=Si(s),a=Er(t);n[i]=t?.(a,i)??a,[o,s]=ts()}return n}for(let o=0;o<r;o++){let[s,i]=ts();if(s!==_e.TextString)throw new Vt("Map keys must be text strings");let a=Si(i),c=Er(t);n[a]=t?.(c,a)??c}return n}function rn(e){if(e<=at.Value)return e;switch(Kn=new DataView(Hn.buffer,Hn.byteOffset+lt),e){case at.OneByte:return lt++,Kn.getUint8(0);case at.TwoBytes:return lt+=2,Kn.getUint16(0,tn);case at.FourBytes:return lt+=4,Kn.getUint32(0,tn);case at.EightBytes:return lt+=8,Kn.getBigUint64(0,tn);case at.Indefinite:return 1/0;default:throw new Vt(`Unsupported integer info: ${e.toString(2)}`)}}function ap(e){let t=rn(e);return typeof t=="number"?-1-t:-1n-t}function ol(e){let t=rn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Vt("Byte length is too large");let r=Number(t);return lt+=r,Hn.slice(lt-r,lt)}function Si(e){let t=ol(e);return tp.decode(t)}function cp(e,t){let r=rn(e);if(r===el)return Er(t);throw new Vt(`Unsupported tag: ${r}.`)}var Gn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},lp=2*1024,up=100,dp=new TextEncoder;function $n(e){return e<<5}var He=new Uint8Array(lp),it=new DataView(He.buffer),me=0,Ai=[];function sl(e,t){me=0;let r=t?.(e)??e;return xp(el,r,t),He.slice(0,me)}function Fi(e,t){if(me>He.length-up&&(He=rl(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){hp(e);return}if(typeof e=="number"||typeof e=="bigint"){gp(e);return}if(typeof e=="string"){cl(e);return}if(e instanceof Uint8Array){Qc(e);return}if(e instanceof ArrayBuffer){Qc(new Uint8Array(e));return}if(Array.isArray(e)){pp(e,t);return}if(typeof e=="object"){fp(e,t);return}throw new Gn(`Unsupported type: ${typeof e}`)}function pp(e,t){nn(_e.Array,e.length),e.forEach((r,n)=>{Fi(t?.(r,n.toString())??r,t)})}function fp(e,t){Ai=Object.entries(e),nn(_e.Map,Ai.length),Ai.forEach(([r,n])=>{cl(r),Fi(t?.(n,r)??n,t)})}function nn(e,t){if(t<=Yd){it.setUint8(me++,$n(e)|Number(t));return}if(t<=Jd){it.setUint8(me++,$n(e)|at.OneByte),it.setUint8(me,Number(t)),me+=1;return}if(t<=Zd){it.setUint8(me++,$n(e)|at.TwoBytes),it.setUint16(me,Number(t),tn),me+=2;return}if(t<=Xd){it.setUint8(me++,$n(e)|at.FourBytes),it.setUint32(me,Number(t),tn),me+=4;return}if(t<=Qd){it.setUint8(me++,$n(e)|at.EightBytes),it.setBigUint64(me,BigInt(t),tn),me+=8;return}throw new Gn(`Value too large to encode: ${t}`)}function hp(e){nn(_e.Simple,mp(e))}function mp(e){if(e===!1)return ct.False;if(e===!0)return ct.True;if(e===null)return ct.Null;if(e===void 0)return ct.Undefined;throw new Gn(`Unrecognized simple value: ${e.toString()}`)}function il(e,t){nn(e,t.length),me>He.length-t.length&&(He=rl(He,He.length+t.length),it=new DataView(He.buffer)),He.set(t,me),me+=t.length}function al(e,t){nn(e,t)}function _p(e){al(_e.UnsignedInteger,e)}function yp(e){al(_e.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function gp(e){e>=0?_p(e):yp(e)}function cl(e){il(_e.TextString,dp.encode(e))}function Qc(e){il(_e.ByteString,e)}function xp(e,t,r){nn(_e.Tag,e),Fi(t,r)}function wp(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function zn(e){try{return sl(e,t=>L.isPrincipal(t)?t.toUint8Array():on.isExpiry(t)?t.toBigInt():wp(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Co(t,e))}}function je(e){try{return nl(e)}catch(t){throw W.fromCode(new Bo(t,e))}}var rs={encode:zn,decode:je};var Wn=()=>{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 Dt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Dt||(Dt={}));var ns;(function(e){e.Call="call"})(ns||(ns={}));var Rr;(function(e){e.Query="query",e.ReadState="read_state"})(Rr||(Rr={}));function Yn(){let e=new ArrayBuffer(16),t=new DataView(e),r=Wn(),n=Wn(),o=Wn(),s=Wn();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,s),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var os="__expiry__",Bi=BigInt(1e3),Tp=BigInt(1e6),ll=BigInt(60),Np=BigInt(90)*Bi;function ul(e){return e/Bi}function Op(e){return ul(e)/ll}var on=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),s;return n<Np?s=ul(o):s=Op(o)*ll,new e(s*Bi*Tp)}toBigInt(){return this.__expiry__}toHash(){return re(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[os]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[os])try{let n=BigInt(r[os]);return new e(n)}catch(n){throw new W(new Cn(`Not a valid BigInt: ${n}`))}throw new W(new Cn(`The input does not contain the key ${os}`))}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 Ci(e=Yn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Dt.Call&&(t.body.nonce=e())}}function ss(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Di=BigInt(0),is=BigInt(1);function vr(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function or(e,t,r=""){let n=ft(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function dl(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Di:BigInt("0x"+e)}function Ke(e){return dl(M(e))}function Ut(e){return ue(e),dl(M(Uint8Array.from(e).reverse()))}function ye(e,t){return be(e.toString(16).padStart(t*2,"0"))}function Ui(e,t){return ye(e,t).reverse()}function ae(e,t,r){let n;if(typeof t=="string")try{n=be(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(ft(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 pl(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 ki(e){return Uint8Array.from(e)}var Vi=e=>typeof e=="bigint"&&Di<=e;function Li(e,t,r){return Vi(e)&&Vi(t)&&Vi(r)&&t<=e&&e<r}function as(e,t,r,n){if(!Li(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function kt(e){let t;for(t=0;e>Di;e>>=is,t+=1);return t}function fl(e,t){return e>>BigInt(t)&is}var ut=e=>(is<<BigInt(e))-is;function hl(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Lt(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var sn=()=>{throw new Error("not implemented")};function sr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var Ve=BigInt(0),Te=BigInt(1),Ir=BigInt(2),_l=BigInt(3),yl=BigInt(4),gl=BigInt(5),Ep=BigInt(7),xl=BigInt(8),Rp=BigInt(9),bl=BigInt(16);function se(e,t){let r=e%t;return r>=Ve?r:t+r}function dt(e,t,r){let n=e;for(;t-- >Ve;)n*=n,n%=r;return n}function ml(e,t){if(e===Ve)throw new Error("invert: expected non-zero number");if(t<=Ve)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Ve,s=Te,i=Te,a=Ve;for(;r!==Ve;){let u=n/r,p=n%r,d=o-i*u,l=s-a*u;n=r,r=p,o=i,s=a,i=d,a=l}if(n!==Te)throw new Error("invert: does not exist");return se(o,t)}function qi(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function wl(e,t){let r=(e.ORDER+Te)/yl,n=e.pow(t,r);return qi(e,n,t),n}function vp(e,t){let r=(e.ORDER-gl)/xl,n=e.mul(t,Ir),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Ir),o),a=e.mul(s,e.sub(i,e.ONE));return qi(e,a,t),a}function Ip(e){let t=De(e),r=Tl(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Ep)/bl;return(a,c)=>{let u=a.pow(c,i),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,s),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 qi(a,g,c),g}}function Tl(e){if(e<_l)throw new Error("sqrt is not defined for small field");let t=e-Te,r=0;for(;t%Ir===Ve;)t/=Ir,r++;let n=Ir,o=De(e);for(;Jn(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return wl;let s=o.pow(n,t),i=(t+Te)/Ir;return function(c,u){if(c.is0(u))return u;if(Jn(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,s),l=c.pow(u,t),f=c.pow(u,i);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=Te<<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 Ap(e){return e%yl===_l?wl:e%xl===gl?vp:e%bl===Rp?Ip(e):Tl(e)}var qt=(e,t)=>(se(e,t)&Te)===Te,Sp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Sp.reduce((n,o)=>(n[o]="function",n),t);return Lt(e,r),e}function Zn(e,t,r){if(r<Ve)throw new Error("invalid exponent, negatives unsupported");if(r===Ve)return e.ONE;if(r===Te)return t;let n=e.ONE,o=t;for(;r>Ve;)r&Te&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Te;return n}function Je(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Jn(e,t){let r=(e.ORDER-Te)/Ir,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Mi(e,t){t!==void 0&&li(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function De(e,t,r=!1,n={}){if(e<=Ve)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!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&&(s=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(i=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:u}=Mi(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:ut(c),ZERO:Ve,ONE:Te,allowedLengths:a,create:l=>se(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Ve<=l&&l<e},is0:l=>l===Ve,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Te)===Te,neg:l=>se(-l,e),eql:(l,f)=>l===f,sqr:l=>se(l*l,e),add:(l,f)=>se(l+f,e),sub:(l,f)=>se(l-f,e),mul:(l,f)=>se(l*f,e),pow:(l,f)=>Zn(d,l,f),div:(l,f)=>se(l*ml(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>ml(l,e),sqrt:s||(l=>(p||(p=Ap(e)),p(d,l))),toBytes:l=>r?Ui(l,u):ye(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?Ut(l):Ke(l);if(i&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>Je(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Nl(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 ls(e){let t=Nl(e);return t+Math.ceil(t/2)}function ji(e,t,r=!1){let n=e.length,o=Nl(t),s=ls(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Ut(e):Ke(e),a=se(i,t-Te)+Te;return r?Ui(a,o):ye(a,o)}var an=BigInt(0),Ar=BigInt(1);function Xn(e,t){let r=t.negate();return e?r:t}function Ze(e,t){let r=Je(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function vl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ki(e,t){vl(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=ut(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Ol(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=Ar);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 Pp(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 Bp(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 $i=new WeakMap,Il=new WeakMap;function Hi(e){return Il.get(e)||1}function El(e){if(e!==an)throw new Error("invalid wNAF")}var cn=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>an;)r&Ar&&(n=n.add(o)),o=o.double(),r>>=Ar;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ki(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Ki(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Ol(n,a,i);n=c,p?s=s.add(Xn(l,r[f])):o=o.add(Xn(d,r[u]))}return El(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Ki(t,this.bits);for(let i=0;i<s.windows&&n!==an;i++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Ol(n,i,s);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return El(n),o}getPrecomputes(t,r,n){let o=$i.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),$i.set(r,o))),o}cached(t,r,n){let o=Hi(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Hi(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){vl(r,this.bits),Il.set(t,r),$i.delete(t)}hasCache(t){return Hi(t)!==1}};function Al(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>an||n>an;)r&Ar&&(s=s.add(o)),n&Ar&&(i=i.add(o)),o=o.double(),r>>=Ar,n>>=Ar;return{p1:s,p2:i}}function ln(e,t,r,n){Pp(r,e),Bp(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=kt(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=ut(c),p=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/c)*c,l=i;for(let f=d;f>=0;f-=c){p.fill(i);for(let _=0;_<s;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=i;for(let _=p.length-1,g=i;_>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 Rl(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return cs(t),t}else return De(e,{isLE:r})}function us(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>an))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Rl(t.p,r.Fp,n),s=Rl(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:s}}var Cp=Ke;function ir(e,t){if(Qn(e),Qn(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 Vp(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 Qn(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Sl(e){if(!ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?Q(e):e}function Dp(e,t,r,n){ue(e),Qn(r),t=Sl(t),t.length>255&&(t=n(K(Q("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,ir(t.length,1)),c=ir(0,s),u=ir(r,2),p=new Array(i),d=n(K(c,e,u,ir(0,1),a));p[0]=n(K(d,ir(1,1),a));for(let f=1;f<=i;f++){let h=[Vp(d,p[f-1]),ir(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Up(e,t,r,n,o){if(ue(e),Qn(r),t=Sl(t),t.length>255){let s=Math.ceil(2*n/8);t=o.create({dkLen:s}).update(Q("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(ir(r,2)).update(t).update(ir(t.length,1)).digest()}function Gi(e,t,r){Lt(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!hl(r.hash))throw new Error("expected valid hash");ue(e),Qn(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*s*p,l;if(a==="xmd")l=Dp(e,c,d,i);else if(a==="xof")l=Up(e,c,d,o,i);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(s);for(let g=0;g<s;g++){let m=p*(g+h*s),x=l.subarray(m,m+p);_[g]=se(Cp(x),n)}f[h]=_}return f}function zi(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=Je(e,[i,c],!0);return n=e.mul(s,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var kp=Q("HashToScalar-");function Wi(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=Gi(s,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),u=Gi(s,1,c),p=n(u[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:kp},i);return Gi(s,1,c)[0][0]}}}var Fl=(e,t)=>(e+(e>=0?t:-t)/Mt)/t;function Lp(e,t,r){let[[n,o],[s,i]]=t,a=Fl(i*e,r),c=Fl(-o*e,r),u=e-a*n-c*s,p=-a*o-c*i,d=u<Sr,l=p<Sr;d&&(u=-u),l&&(p=-p);let f=ut(Math.ceil(kt(r)/2))+Ue;if(u<Sr||u>=f||p<Sr||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Sr=BigInt(0),Ue=BigInt(1),Mt=BigInt(2),un=BigInt(3),Yi=BigInt(4);function eo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=ae("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 qp(e,t={}){let r=us("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Lt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Kp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,b,N){let{x:P,y:V}=b.toAffine(),q=n.toBytes(P);if(vr(N,"isCompressed"),N){p();let S=!n.isOdd(V);return K(Mp(S),q)}else return K(Uint8Array.of(4),q,n.toBytes(V))}function l(A){or(A,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,P=A.length,V=A[0],q=A.subarray(1);if(P===b&&(V===2||V===3)){let S=n.fromBytes(q);if(!n.isValid(S))throw new Error("bad point: is not on curve, wrong x");let F=_(S),C;try{C=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(C);return(V&1)===1!==D&&(C=n.neg(C)),{x:S,y:C}}else if(P===N&&V===4){let S=n.BYTES,F=n.fromBytes(q.subarray(0,S)),C=n.fromBytes(q.subarray(S,S*2));if(!g(F,C))throw new Error("bad point: is not on curve");return{x:F,y:C}}else throw new Error(`bad point: got length ${P}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(A){let b=n.sqr(A),N=n.mul(b,A);return n.add(n.add(N,n.mul(A,s.a)),s.b)}function g(A,b){let N=n.sqr(b),P=_(A);return n.eql(N,P)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,un),Yi),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(A,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${A}`);return b}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Lp(A,c.basises,o.ORDER)}let R=sr((A,b)=>{let{X:N,Y:P,Z:V}=A;if(n.eql(V,n.ONE))return{x:N,y:P};let q=A.is0();b==null&&(b=q?n.ONE:n.inv(V));let S=n.mul(N,b),F=n.mul(P,b),C=n.mul(V,b);if(q)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:S,y:F}}),E=sr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=A.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(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(A,b,N,P,V){return N=new w(n.mul(N.X,A),N.Y,N.Z),b=Xn(P,b),N=Xn(V,N),b.add(N)}class w{constructor(b,N,P){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",P),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:P}=b||{};if(!b||!n.isValid(N)||!n.isValid(P))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(P)?w.ZERO:new w(N,P,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(or(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(ae("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return B.createCache(this,b),N||this.multiply(un),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:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.eql(n.mul(N,F),n.mul(q,V)),D=n.eql(n.mul(P,F),n.mul(S,V));return C&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=s,P=n.mul(N,un),{X:V,Y:q,Z:S}=this,F=n.ZERO,C=n.ZERO,D=n.ZERO,k=n.mul(V,V),ee=n.mul(q,q),ne=n.mul(S,S),z=n.mul(V,q);return z=n.add(z,z),D=n.mul(V,S),D=n.add(D,D),F=n.mul(b,D),C=n.mul(P,ne),C=n.add(F,C),F=n.sub(ee,C),C=n.add(ee,C),C=n.mul(F,C),F=n.mul(z,F),D=n.mul(P,D),ne=n.mul(b,ne),z=n.sub(k,ne),z=n.mul(b,z),z=n.add(z,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,ne),k=n.mul(k,z),C=n.add(C,k),ne=n.mul(q,S),ne=n.add(ne,ne),k=n.mul(ne,z),F=n.sub(F,k),D=n.mul(ne,ee),D=n.add(D,D),D=n.add(D,D),new w(F,C,D)}add(b){T(b);let{X:N,Y:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.ZERO,D=n.ZERO,k=n.ZERO,ee=s.a,ne=n.mul(s.b,un),z=n.mul(N,q),Se=n.mul(P,S),Fe=n.mul(V,F),pt=n.add(N,P),oe=n.add(q,S);pt=n.mul(pt,oe),oe=n.add(z,Se),pt=n.sub(pt,oe),oe=n.add(N,V);let xe=n.add(q,F);return oe=n.mul(oe,xe),xe=n.add(z,Fe),oe=n.sub(oe,xe),xe=n.add(P,V),C=n.add(S,F),xe=n.mul(xe,C),C=n.add(Se,Fe),xe=n.sub(xe,C),k=n.mul(ee,oe),C=n.mul(ne,Fe),k=n.add(C,k),C=n.sub(Se,k),k=n.add(Se,k),D=n.mul(C,k),Se=n.add(z,z),Se=n.add(Se,z),Fe=n.mul(ee,Fe),oe=n.mul(ne,oe),Se=n.add(Se,Fe),Fe=n.sub(z,Fe),Fe=n.mul(ee,Fe),oe=n.add(oe,Fe),z=n.mul(Se,oe),D=n.add(D,z),z=n.mul(xe,oe),C=n.mul(pt,C),C=n.sub(C,z),z=n.mul(pt,Se),k=n.mul(xe,k),k=n.add(k,z),new w(C,D,k)}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 P,V,q=S=>B.cached(this,S,F=>Ze(w,F));if(N){let{k1neg:S,k1:F,k2neg:C,k2:D}=O(b),{p:k,f:ee}=q(F),{p:ne,f:z}=q(D);V=ee.add(z),P=v(N.beta,k,ne,S,C)}else{let{p:S,f:F}=q(b);P=S,V=F}return Ze(w,[P,V])[0]}multiplyUnsafe(b){let{endo:N}=t,P=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Sr||P.is0())return w.ZERO;if(b===Ue)return P;if(B.hasCache(this))return this.multiply(b);if(N){let{k1neg:V,k1:q,k2neg:S,k2:F}=O(b),{p1:C,p2:D}=Al(w,P,q,F);return v(N.beta,C,D,V,S)}else return B.unsafe(P,b)}multiplyAndAddUnsafe(b,N,P){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(P));return V.is0()?void 0:V}toAffine(b){return R(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return i===Ue?!0:b?b(w,this):B.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return i===Ue?this:b?b(w,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(b=!0){return vr(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return M(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 Ze(w,b)}static msm(b,N){return ln(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(eo(o,b))}}w.BASE=new w(s.Gx,s.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,B=new cn(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Mp(e){return Uint8Array.of(e?2:3)}function jp(e,t){let r=e.ORDER,n=Sr;for(let h=r-Ue;h%Mt===Sr;h/=Mt)n+=Ue;let o=n,s=Mt<<o-Ue-Ue,i=s*Mt,a=(r-Ue)/i,c=(a-Ue)/Mt,u=i-Ue,p=s,d=e.pow(t,a),l=e.pow(t,(a+Ue)/Mt),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>Ue;R--){let E=R-Mt;E=Mt<<E-Ue;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%Yi===un){let h=(e.ORDER-un)/Yi,_=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 Ji(e,t){cs(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 s=jp(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,u,p,d,l,f,h;a=e.sqr(i),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}=s(c,l);h=e.mul(a,i),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(i)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=Je(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Kp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zi(e){let{CURVE:t,curveOpts:r}=$p(e),n=qp(t,r);return Gp(e,n)}function $p(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(i=>Math.ceil(i/2)))):void 0,o=De(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),s={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:s}}function Hp(e,t,r){function n(o){let s=e.sqr(o),i=e.mul(s,o);return e.add(e.add(i,e.mul(o,t)),r)}return n}function Gp(e,t){let{Fp:r,Fn:n}=t;function o(i){return Li(i,Ue,n.ORDER)}let s=Hp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>eo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var zp=BigInt(0),ds=BigInt(1),Pl=BigInt(2),dn=BigInt(3);function Wp(e){let t=[];for(;e>ds;e>>=ds)(e&ds)===zp?t.unshift(0):(e&dn)===dn?(t.unshift(-1),e+=ds):t.unshift(1);return t}function Xi(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Yp(e,t,r,n){let{Fp2:o,Fp12:s}=e,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(i==="multiplicative")p=(y,T,O,R,E,v)=>s.mul014(R,y,o.mul(T,E),o.mul(O,v));else if(i==="divisive")p=(y,T,O,R,E,v)=>s.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,Pl));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,dn)),I=o.mul(w,dn),B=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),A=o.sub(w,E),b=o.mul(o.sqr(T),dn),N=o.neg(B);return y.push([A,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),dn)),R=o.mul(E,B),{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)),B=o.sub(o.mul(w,E),o.mul(I,v)),A=o.neg(w),b=I;y.push([B,A,b]);let N=o.sqr(I),P=o.mul(N,I),V=o.mul(N,T),q=o.add(o.sub(P,o.mul(V,Pl)),o.mul(o.sqr(w),R));return T=o.mul(I,q),O=o.sub(o.mul(o.sub(V,q),w),o.mul(P,O)),R=o.mul(R,P),{Rx:T,Ry:O,Rz:R}}let h=Wp(a),_=sr(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),I=E,B=v,A=o.ONE,b=[];for(let N of h){let P=[];({Rx:I,Ry:B,Rz:A}=l(P,I,B,A)),N&&({Rx:I,Ry:B,Rz:A}=f(P,I,B,A,E,N===-1?w:v)),b.push(P)}if(u){let N=b[b.length-1];u(I,B,A,E,v,f.bind(null,N))}return b});function g(y,T=!1){let O=s.ONE;if(y.length){let R=y[0][0].length;for(let E=0;E<R;E++){O=s.sqr(O);for(let[v,w,I]of y)for(let[B,A,b]of v[E])O=p(B,A,b,O,w,I)}}return c&&(O=s.conjugate(O)),T?s.finalExponentiate(O):O}function m(y,T=!0){let O=[];Ze(t,y.map(({g1:R})=>R)),Ze(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:s,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Bl(e,t,r,n,o){let{Fp12:s,pairingBatch:i}=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=eo(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=eo(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=i([p(_,m),p(g,x)]);return s.eql(y,s.ONE)},verifyBatch(d,l,f){if(Xi(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)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(d){Xi(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){Xi(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){ue(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Cl(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:s}=e.fields,i=Zi(e.G1),a=Object.assign(i,Wi(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Zi(e.G2),u=Object.assign(c,Wi(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Yp(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Bl(p,a,u,e.G2.Signature,!1),g=Bl(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||$r,x=()=>{let S=ls(r.ORDER);return ji(m(S),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function R(S,F){return S instanceof a.Point?S:g.hash(ae("point",S),F?.DST)}function E(S,F){return S instanceof u.Point?S:_.hash(ae("point",S),F?.DST)}function v(S){return _.getPublicKey(S).toBytes(!0)}function w(S){return g.getPublicKey(S).toBytes(!0)}function I(S,F,C){let D=E(S,C),k=_.sign(D,F);return S instanceof u.Point?k:O.toBytes(k)}function B(S,F,C){let D=R(S,C),k=g.sign(D,F);return S instanceof a.Point?k:T.toBytes(k)}function A(S,F,C,D){let k=E(F,D);return _.verify(S,k,C)}function b(S,F,C,D){let k=R(F,D);return g.verify(S,k,C)}function N(S){let F=_.aggregatePublicKeys(S);return S[0]instanceof a.Point?F:F.toBytes(!0)}function P(S){let F=_.aggregateSignatures(S);return S[0]instanceof u.Point?F:O.toBytes(F)}function V(S){let F=g.aggregateSignatures(S);return S[0]instanceof a.Point?F:T.toBytes(F)}function q(S,F,C,D){let k=F.map(ee=>E(ee,D));return _.verifyBatch(S,k,C)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:q,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:s},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:B,verify:A,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:P,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Vl=BigInt(0),jt=BigInt(1),ke=BigInt(2),Dl=BigInt(3);function ra(e,t,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=jt;l<n;l++){let h=(p*f-p)/i%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function kl(e,t,r){let n=t.pow(r,(e.ORDER-jt)/Dl),o=t.pow(r,(e.ORDER-jt)/ke);function s(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let i=t.pow(r,(e.ORDER**ke-jt)/Dl),a=t.pow(r,(e.ORDER**ke-jt)/ke);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,i),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(s),d=u(c);return{psi:s,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var Ul=(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]}},Qi=class{constructor(t,r={}){this.MASK=jt;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=kt(o),this.BYTES=Math.ceil(kt(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,ke),this.NONRESIDUE=Ul(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ra(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ul(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,s){return typeof o=="bigint"&&Vl<=o&&o<s}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 Zn(this,t,r)}invertBatch(t){return Je(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}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:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),s=n.sub(t,r),i=n.add(t,t);return{c0:n.mul(o,s),c1:n.mul(i,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:s}=t;if(r.is0(s))return Jn(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 i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Jn(r,a)===-1&&(a=r.sub(a,i));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(s,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%ke,s=r===Vl,i=n%ke;return BigInt(o||s&&i)==jt}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},s){return{c0:this.Fp.cmov(t,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),s)}}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])}}},ea=class{constructor(t){this.MASK=jt,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=ra(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:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,u=s.mul(t,i),p=s.mul(r,a),d=s.mul(n,c);return{c0:s.add(u,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,d)))),c1:s.add(s.sub(s.mul(s.add(t,r),s.add(i,a)),s.add(u,p)),s.mulByNonresidue(d)),c2:s.sub(s.add(p,s.mul(s.add(t,n),s.add(i,c))),s.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(t),i=o.mul(o.mul(t,r),ke),a=o.mul(o.mul(r,n),ke),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(t,r),n))),a),s),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:s,c2:i}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(t){return sn()}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 Zn(this,t,r)}invertBatch(t){return Je(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),i=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,i),o.mul(r,a))),o.mul(t,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),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:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,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:s}=this;return{c0:s.frobeniusMap(t,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.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:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(t,o),c2:s.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(t,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(t,r)),a),c),c2:i.add(i.sub(i.mul(i.add(t,n),o),a),c)}}},ta=class{constructor(t,r){this.MASK=jt;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=ra(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:s}=this;return s.eql(t,n)&&s.eql(r,o)}sqrt(t){sn()}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:s}=o;return this.mul(t,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(t,r){return Zn(this,t,r)}invertBatch(t){return Je(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(t,n),c1:s.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(t,n),c1:s.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:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(s,i)),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},s){let{Fp6:i}=this;return{c0:i.cmov(t,n,s),c1:i.cmov(r,o,s)}}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:s,c1:i,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(s,c),c1:o.mul(i,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,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(t,n,o),u=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(i.sub(i.mul01(i.add(r,t),n,a.add(o,s)),c),u)}}mul034({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=i.mul01(r,o,s),p=i.mul01(i.add(t,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(p,i.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(s,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(i,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,s),ke),d),c1:o.add(o.mul(o.sub(f,i),ke),f),c2:o.add(o.mul(o.sub(_,a),ke),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),ke),m),c1:o.add(o.mul(o.add(l,u),ke),l),c2:o.add(o.mul(o.add(h,p),ke),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),fl(r,o)&&(n=this.mul(n,t));return n}};function Ll(e){let t=De(e.ORDER),r=new Qi(t,e),n=new ea(r),o=new ta(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ie=BigInt(0),ps=BigInt(1),Xe=BigInt(2),fs=BigInt(3),to=BigInt(4),ar=BigInt("0xd201000000010000"),Jp=kt(ar),Fr={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ie,b:to,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Zp=De(Fr.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:Xp,Fp12:J}=Ll({ORDER:Fr.p,X_LEN:Jp,FP2_NONRESIDUE:[ps,ps],Fp2mulByB:({c0:e,c1:t})=>{let r=U.mul(e,to),n=U.mul(t,to);return{c0:U.sub(r,n),c1:U.add(r,n)}},Fp12finalExponentiate:e=>{let t=ar,r=J.div(J.frobeniusMap(e,6),e),n=J.mul(J.frobeniusMap(r,2),r),o=J.conjugate(J._cyclotomicExp(n,t)),s=J.mul(J.conjugate(J._cyclotomicSquare(n)),o),i=J.conjugate(J._cyclotomicExp(s,t)),a=J.conjugate(J._cyclotomicExp(i,t)),c=J.mul(J.conjugate(J._cyclotomicExp(a,t)),J._cyclotomicSquare(o)),u=J.conjugate(J._cyclotomicExp(c,t)),p=J.frobeniusMap(J.mul(o,a),2),d=J.frobeniusMap(J.mul(i,n),3),l=J.frobeniusMap(J.mul(c,J.conjugate(n)),1),f=J.mul(J.mul(u,J.conjugate(s)),n);return J.mul(J.mul(J.mul(p,d),l),f)}}),{G2psi:ql,G2psi2:Qp}=kl(U,G,G.div(G.ONE,G.NONRESIDUE)),na=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:U.ORDER,m:2,k:128,expand:"xmd",hash:ve}),ia={p:G.ORDER,n:Fr.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:G.ZERO,b:G.fromBigTuple([to,to]),Gx:G.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:G.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},hs=ro(U.toBytes(Ie),{infinity:!0,compressed:!0});function ms(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 ro(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 ef(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return hs.slice();let c=!!(a*Xe/o);return ro(ye(i,n),{compressed:!0,sort:c})}else return s?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(ye(i,n),ye(a,n))}function oa(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return hs.slice();let s=!!(o*Xe/r);return ro(ye(n,t),{compressed:!0,sort:s})}function tf(e){let{compressed:t,infinity:r,sort:n,value:o}=ms(e),{BYTES:s,ORDER:i}=U;if(o.length===48&&t){let a=Ke(o),c=U.create(a&ut(U.BITS));if(r){if(c!==Ie)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ie,y:Ie}}let u=U.add(U.pow(c,fs),U.create(Fr.b)),p=U.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*Xe/i!==BigInt(n)&&(p=U.neg(p)),{x:U.create(c),y:U.create(p)}}else if(o.length===96&&!t){let a=Ke(o.subarray(0,s)),c=Ke(o.subarray(s));if(r){if(a!==Ie||c!==Ie)throw new Error("G1: non-empty point at infinity");return no.G1.Point.ZERO.toAffine()}return{x:U.create(a),y:U.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Ml(e){let{infinity:t,sort:r,value:n}=ms(ae("signatureHex",e,48)),o=U.ORDER,s=no.G1.Point,i=Ke(n);if(t)return s.ZERO;let a=U.create(i&ut(U.BITS)),c=U.add(U.pow(a,fs),U.create(Fr.b)),u=U.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*Xe/o!==p&&(u=U.neg(u));let d=s.fromAffine({x:a,y:u});return d.assertValidity(),d}function rf(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return K(hs,ye(Ie,n));let c=!!(a.c1===Ie?a.c0*Xe/o:a.c1*Xe/o);return K(ro(ye(i.c1,n),{compressed:!0,sort:c}),ye(i.c0,n))}else{if(s)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=G.reim(i),{re:p,im:d}=G.reim(a);return K(ye(u,n),ye(c,n),ye(d,n),ye(p,n))}}function sa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return K(hs,ye(Ie,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ie?a*Xe:i*Xe)/U.ORDER&ps),p=o;return K(ro(ye(s,t),{sort:u,compressed:!0}),ye(p,t))}function nf(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=ms(e);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ke(c.slice(u,p));if(i.length===96&&n){if(o){if(i.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0,t),u=a(i,t,2*t),p=G.create({c0:U.create(u),c1:U.create(c)}),d=G.add(G.pow(p,fs),ia.b),l=G.sqrt(d),f=l.c1===Ie?l.c0*Xe/r:l.c1*Xe/r?ps:Ie;return l=s&&f>0?l:G.neg(l),{x:p,y:l}}else if(i.length===192&&!n){if(o){if(i.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0*t,1*t),u=a(i,1*t,2*t),p=a(i,2*t,3*t),d=a(i,3*t,4*t);return{x:G.fromBigTuple([u,c]),y:G.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function jl(e){let{ORDER:t}=U,{infinity:r,sort:n,value:o}=ms(ae("signatureHex",e)),s=no.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ke(o.slice(0,i)),c=Ke(o.slice(i));if(r)return s.ZERO;let u=U.create(a&ut(U.BITS)),p=U.create(c),d=G.create({c0:p,c1:u}),l=G.add(G.pow(d,fs),ia.b),f=G.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=G.reim(f),g=BigInt(n),m=_>Ie&&_*Xe/t!==g,x=_===Ie&&h*Xe/t!==g;(m||x)&&(f=G.neg(f));let y=s.fromAffine({x:d,y:f});return y.assertValidity(),y}var no=Cl({fields:{Fp:U,Fp2:G,Fp6:Xp,Fp12:J,Fr:Zp},G1:{...Fr,Fp:U,htfDefaults:{...na,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(U.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(ar).negate().multiplyUnsafe(ar).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(ar).add(t),mapToCurve:lf,fromBytes:tf,toBytes:ef,ShortSignature:{fromBytes(e){return ue(e),Ml(e)},fromHex(e){return Ml(e)},toBytes(e){return oa(e)},toRawBytes(e){return oa(e)},toHex(e){return M(oa(e))}}},G2:{...ia,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...na},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:uf,isTorsionFree:(e,t)=>t.multiplyUnsafe(ar).negate().equals(ql(e,t)),clearCofactor:(e,t)=>{let r=ar,n=t.multiplyUnsafe(r).negate(),o=ql(e,t),s=t.double();return s=Qp(e,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(t)},fromBytes:nf,toBytes:rf,Signature:{fromBytes(e){return ue(e),jl(e)},fromHex(e){return jl(e)},toBytes(e){return sa(e)},toRawBytes(e){return sa(e)},toHex(e){return M(sa(e))}}},params:{ateLoopSize:ar,r:Fr.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:na,hash:ve}),of=zi(G,[[["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=>G.fromBigTuple(t.map(BigInt))))),sf=zi(U,[["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)))),af=Ji(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),cf=Ji(G,{A:G.create({c0:U.create(Ie),c1:U.create(BigInt(240))}),B:G.create({c0:U.create(BigInt(1012)),c1:U.create(BigInt(1012))}),Z:G.create({c0:U.create(BigInt(-2)),c1:U.create(BigInt(-1))})});function lf(e){let{x:t,y:r}=af(U.create(e[0]));return sf(t,r)}function uf(e){let{x:t,y:r}=cf(G.fromBigTuple(e));return of(t,r)}function Kl(e,t,r){let n=typeof e=="string"?e:M(e),o=typeof t=="string"?t:M(t),s=typeof r=="string"?r:M(r);return no.verifyShortSignature(o,s,n)}var pf=BigInt(1e6),aa=e=>pe(new st(e)),pn=e=>{let r=aa(e)/pf;return new Date(Number(r))};var $l=60*1e3,ff=60,hf=24,mf=hf*ff,_f=5,yf=5,gf=30*mf,Re;(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"})(Re||(Re={}));function xf(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var cr=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.canisterId,t.blsVerify??Kl,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,s=_f,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return Br(t,this.cert.tree)}lookup_subtree(t){return gs(t,this.cert.tree)}async verify(){let t=await _s(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=wf(r),s=K(so("ic-state-root"),t),i=Ae(this.lookup_path(["time"]));if(!i)throw te.fromCode(new Zt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*$l,u=new Date,p=u.getTime()+a,d=p-c,l=p+yf*$l,f=pn(i),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Pe.fromCode(new yr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?he.fromCode(new Be("System time has been synced with the IC network, but certificate is still too far in the future.")):Pe.fromCode(new yr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Pe.fromCode(new Zt("Invalid signature"))}catch(a){throw Pe.fromCode(new Zt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:gf,agent:this.#t});if(r.cert.delegation)throw te.fromCode(new Ao);await r.verify();let n=t.subnet_id,o=L.fromUint8Array(n);if(!ca({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Pe.fromCode(new Hr(this._canisterId,o));let i=Ae(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Pe.fromCode(new So(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},oo=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),bf=96;function wf(e){let t=oo.byteLength+bf;if(e.byteLength!==t)throw te.fromCode(new zr(t,e.byteLength));let r=e.slice(0,oo.byteLength);if(!Or(r,oo))throw te.fromCode(new Fo(oo,r));return e.slice(oo.byteLength)}function Ae(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function _s(e){switch(e[0]){case Re.Empty:return ve(so("ic-hashtree-empty"));case Re.Pruned:return e[1];case Re.Leaf:return ve(K(so("ic-hashtree-leaf"),e[1]));case Re.Labeled:return ve(K(so("ic-hashtree-labeled"),e[1],await _s(e[2])));case Re.Fork:return ve(K(so("ic-hashtree-fork"),await _s(e[1]),await _s(e[2])));default:throw er}}function so(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Hl(e){return typeof e[0]=="string"?Q(e[0]):e[0]}var $e;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})($e||($e={}));var Pr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Pr||(Pr={}));var ie;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ie||(ie={}));function Br(e,t){if(e.length===0)switch(t[0]){case Re.Empty:return{status:$e.Absent};case Re.Leaf:{if(!t[1])throw he.fromCode(new Qt("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:$e.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw er}case Re.Pruned:return{status:$e.Unknown};case Re.Labeled:case Re.Fork:return{status:$e.Error};default:throw er}let r=Hl(e),n=io(r,t);switch(n.status){case ie.Found:return Br(e.slice(1),n.value);case ie.Absent:case ie.Greater:case ie.Less:return{status:$e.Absent};case ie.Unknown:return{status:$e.Unknown};default:throw er}}function gs(e,t){if(e.length===0)return{status:Pr.Found,value:t};let r=Hl(e),n=io(r,t);switch(n.status){case ie.Found:return gs(e.slice(1),n.value);case ie.Unknown:return{status:Pr.Unknown};case ie.Absent:case ie.Greater:case ie.Less:return{status:Pr.Absent};default:throw er}}function ys(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return ys(e[1]).concat(ys(e[2]));default:return[e]}}function io(e,t){switch(t[0]){case Re.Labeled:return xf(e,t[1])?{status:ie.Greater}:Or(e,t[1])?{status:ie.Found,value:t[2]}:{status:ie.Less};case Re.Fork:{let r=io(e,t[1]);switch(r.status){case ie.Greater:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Absent}:n}case ie.Unknown:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Unknown}:n}default:return r}}case Re.Pruned:return{status:ie.Unknown};default:return{status:ie.Absent}}}function ca(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Br(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==$e.Found)throw te.fromCode(new St(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw te.fromCode(new Gr(`Could not find canister ranges for subnet ${r.toText()}`));return je(o.value).map(c=>[L.fromUint8Array(c[0]),L.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var la=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=L.from(e.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,u)=>{let p=Nf(c,o);return(async()=>{try{if(t.rootKey===null)throw we.fromCode(new mt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await cr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=Tf(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ae(m.lookup_path(p))}},{path:_,data:g}=h(f,s[u]);if(!g)console.warn(`Expected to find result for path ${_}, but instead found nothing.`),typeof _=="string"?i.set(_,null):i.set(_.key,null);else switch(_){case"time":{i.set(_,pn(g));break}case"controllers":{i.set(_,Of(g));break}case"module_hash":{i.set(_,M(g));break}case"subnet":{i.set(_,g);break}case"candid":{i.set(_,new TextDecoder().decode(g));break}default:if(typeof _!="string"&&"key"in _&&"path"in _)switch(_.decodeStrategy){case"raw":i.set(_.key,g);break;case"leb128":{i.set(_.key,aa(g));break}case"cbor":{i.set(_.key,je(g));break}case"hex":{i.set(_.key,M(g));break}case"utf-8":i.set(_.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof nt&&(d.hasCode(Zt)||d.hasCode(yr)))throw d;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),i},Tf=(e,t,r)=>{if(!t._isPrincipal)throw W.fromCode(new Be("Invalid canisterId"));let n=je(e),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=L.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=L.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=L.selfAuthenticating(L.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!ca({canisterId:t,subnetId:i,tree:o}))throw Pe.fromCode(new Hr(t,i));let c=gs(["subnet",s.subnet_id,"node"],o);if(c.status!==Pr.Found)throw te.fromCode(new St("Node not found",c.status));if(c.value instanceof Uint8Array)throw he.fromCode(new Qt("Invalid node tree"));let u=ys(c.value),p=new Map;return u.forEach(d=>{let l=L.from(d[1]).toText(),f=Br(["public_key"],d[2]);if(f.status!==$e.Found)throw te.fromCode(new St("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw te.fromCode(new zr(44,h.byteLength));p.set(l,h)}),{subnetId:L.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},Nf=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[Q("time")];case"controllers":return[Q("canister"),r,Q("controllers")];case"module_hash":return[Q("canister"),r,Q("module_hash")];case"subnet":return[Q("subnet")];case"candid":return[Q("canister"),r,Q("metadata"),Q("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?Q(n):n;return[Q("canister"),r,Q("metadata"),o]}else return e.path}throw he.fromCode(new Be(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Of=e=>je(e).map(r=>L.fromUint8Array(r));var lr=BigInt(0),Ne=BigInt(1),ua=BigInt(2),Ef=BigInt(8);function Rf(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function vf(e,t={}){let r=us("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Lt(t,{},{uvRatio:"function"});let a=ua<<BigInt(o.BYTES*8)-Ne,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:lr}}});if(!Rf(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ne:lr;return as("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=sr((g,m)=>{let{X:x,Y:y,Z:T}=g,O=g.is0();m==null&&(m=O?Ef:n.inv(T));let R=c(x*m),E=c(y*m),v=n.mul(T,m);if(O)return{x:lr,y:Ne};if(v!==Ne)throw new Error("invZ was invalid");return{x:R,y:E}}),f=sr(g=>{let{a:m,d:x}=s;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),B=c(E*m),A=c(w*c(B+v)),b=c(I+c(x*c(E*v)));if(A!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),P=c(O*R);if(N!==P)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 s}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,Ne,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:O}=s;m=ki(or(m,y,"point")),vr(x,"zip215");let R=ki(m),E=m[y-1];R[y-1]=E&-129;let v=Ut(R),w=x?a:n.ORDER;as("point.y",v,lr,w);let I=c(v*v),B=c(I-Ne),A=c(O*I-T),{isValid:b,value:N}=u(B,A);if(!b)throw new Error("bad point: invalid y coordinate");let P=(N&Ne)===Ne,V=(E&128)!==0;if(!x&&N===lr&&V)throw new Error("bad point: x=0 and x_0=1");return V!==P&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(ae("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(ua),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),B=c(R*T);return v===w&&I===B}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=s,{X:x,Y:y,Z:T}=this,O=c(x*x),R=c(y*y),E=c(ua*c(T*T)),v=c(m*O),w=x+y,I=c(c(w*w)-O-R),B=v+R,A=B-E,b=v-R,N=c(I*A),P=c(B*b),V=c(I*b),q=c(A*B);return new h(N,P,q,V)}add(m){d(m);let{a:x,d:y}=s,{X:T,Y:O,Z:R,T:E}=this,{X:v,Y:w,Z:I,T:B}=m,A=c(T*v),b=c(O*w),N=c(E*y*B),P=c(R*I),V=c((T+O)*(v+w)-A-b),q=P-N,S=P+N,F=c(b-x*A),C=c(V*q),D=c(S*F),k=c(V*F),ee=c(q*S);return new h(C,D,ee,k)}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=>Ze(h,T));return Ze(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===lr?h.ZERO:this.is0()||m===Ne?this:_.unsafe(this,m,y=>Ze(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return _.unsafe(this,s.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return i===Ne?this:this.multiplyUnsafe(i)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ne?128:0,y}toHex(){return M(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 Ze(h,m)}static msm(m,x){return ln(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,Ne,c(s.Gx*s.Gy)),h.ZERO=new h(lr,Ne,Ne,lr),h.Fp=n,h.Fn=o;let _=new cn(h,o.BITS);return h.BASE.precompute(8),h}var xs=class{constructor(t){this.ep=t}static fromBytes(t){sn()}static fromHex(t){sn()}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 M(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 If(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Lt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||$r,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,B)=>{if(vr(B,"phflag"),I.length||B)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return i.create(Ut(w))}function d(w){let I=y.secretKey;w=ae("private key",w,I);let B=ae("hashed private key",t(w),2*I),A=c(B.slice(0,I)),b=B.slice(I,2*I),N=p(A);return{head:A,prefix:b,scalar:N}}function l(w){let{head:I,prefix:B,scalar:A}=d(w),b=o.multiply(A),N=b.toBytes();return{head:I,prefix:B,scalar:A,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let B=K(...I);return p(t(u(B,ae("context",w),!!n)))}function _(w,I,B={}){w=ae("message",w),n&&(w=n(w));let{prefix:A,scalar:b,pointBytes:N}=l(I),P=h(B.context,A,w),V=o.multiply(P).toBytes(),q=h(B.context,V,N,w),S=i.create(P+q*b);if(!i.isValid(S))throw new Error("sign failed: invalid s");let F=K(V,i.toBytes(S));return or(F,y.signature,"result")}let g={zip215:!0};function m(w,I,B,A=g){let{context:b,zip215:N}=A,P=y.signature;w=ae("signature",w,P),I=ae("message",I),B=ae("publicKey",B,y.publicKey),N!==void 0&&vr(N,"zip215"),n&&(I=n(I));let V=P/2,q=w.subarray(0,V),S=Ut(w.subarray(V,P)),F,C,D;try{F=e.fromBytes(B,N),C=e.fromBytes(q,N),D=o.multiplyUnsafe(S)}catch{return!1}if(!N&&F.isSmallOrder())return!1;let k=h(b,C.toBytes(),F.toBytes(),I);return C.add(F.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let x=s.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return or(w,y.seed,"seed")}function O(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function R(w){return ft(w)&&w.length===i.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),B=y.publicKey,A=B===32;if(!A&&B!==57)throw new Error("only defined for 25519 and 448");let b=A?s.div(Ne+I,Ne-I):s.div(I-Ne,I+Ne);return s.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;or(w,I);let B=t(w.subarray(0,I));return c(B).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 Af(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=De(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function Sf(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Gl(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Af(e),s=vf(t,r),i=If(s,n,o);return Sf(e,i)}var Ff=BigInt(0),Kt=BigInt(1),zl=BigInt(2),Hy=BigInt(3),Pf=BigInt(5),Bf=BigInt(8),fn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ao={p:fn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Bf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Cf(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=fn,a=e*e%s*e%s,c=dt(a,zl,s)*a%s,u=dt(c,Kt,s)*e%s,p=dt(u,Pf,s)*u%s,d=dt(p,t,s)*p%s,l=dt(d,r,s)*d%s,f=dt(l,n,s)*l%s,h=dt(f,o,s)*f%s,_=dt(h,o,s)*f%s,g=dt(_,t,s)*p%s;return{pow_p_5_8:dt(g,zl,s)*e%s,b2:a}}function Vf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var da=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ha(e,t){let r=fn,n=se(t*t*t,r),o=se(n*n*t,r),s=Cf(e*o).pow_p_5_8,i=se(e*n*s,r),a=se(t*i*i,r),c=i,u=se(i*da,r),p=a===e,d=a===se(-e,r),l=a===se(-e*da,r);return p&&(i=c),(d||l)&&(i=u),qt(i,r)&&(i=se(-i,r)),{isValid:p||d,value:i}}var ur=De(ao.p,{isLE:!0}),Df=De(ao.n,{isLE:!0}),Uf={...ao,Fp:ur,hash:gc,adjustScalarBytes:Vf,uvRatio:ha},Le=Gl(Uf);var pa=da,kf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Lf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),qf=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Mf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wl=e=>ha(Kt,e),jf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),fa=e=>Le.Point.Fp.create(Ut(e)&jf);function Yl(e){let{d:t}=ao,r=fn,n=m=>ur.create(m),o=n(pa*e*e),s=n((o+Kt)*qf),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=ha(s,a),p=n(u*e);qt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-Kt)*Mf-a),l=u*u,f=n((u+u)*a),h=n(d*kf),_=n(Kt-l),g=n(Kt+l);return new Le.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Kf(e){ue(e,64);let t=fa(e.subarray(0,32)),r=Yl(t),n=fa(e.subarray(32,64)),o=Yl(n);return new $t(r.add(o))}var $t=class e extends xs{constructor(t){super(t)}static fromAffine(t){return new e(Le.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Kf(ae("ristrettoHash",t,64))}static fromBytes(t){ue(t,32);let{a:r,d:n}=ao,o=fn,s=T=>ur.create(T),i=fa(t);if(!pl(ur.toBytes(i),t)||qt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(Kt+r*a),u=s(Kt-r*a),p=s(c*c),d=s(u*u),l=s(r*n*p-d),{isValid:f,value:h}=Wl(s(l*d)),_=s(h*u),g=s(h*_*l),m=s((i+i)*_);qt(m,o)&&(m=s(-m));let x=s(c*g),y=s(m*x);if(!f||qt(y,o)||x===Ff)throw new Error("invalid ristretto255 encoding 2");return new e(new Le.Point(m,x,Kt,y))}static fromHex(t){return e.fromBytes(ae("ristrettoHex",t,32))}static msm(t,r){return ln(e,Le.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=fn,i=g=>ur.create(g),a=i(i(n+r)*i(n-r)),c=i(t*r),u=i(c*c),{value:p}=Wl(i(a*u)),d=i(p*a),l=i(p*c),f=i(d*l*o),h;if(qt(o*f,s)){let g=i(r*pa),m=i(t*pa);t=g,r=m,h=i(d*Lf)}else h=l;qt(t*f,s)&&(r=i(-r));let _=i((n-r)*h);return qt(_,s)&&(_=i(-_)),ur.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>ur.create(u),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(e.ZERO)}};$t.BASE=new $t(Le.Point.BASE);$t.ZERO=new $t(Le.Point.ZERO);$t.Fp=ur;$t.Fn=Df;var Jl,Zl,bs=class{static{Jl=Symbol.iterator,Zl=Symbol.toStringTag}#e;#t;constructor(t={}){this[Jl]=this.entries.bind(this),this[Zl]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,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 Xl=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw W.fromCode(new An("Length too long (> 4 bytes)"))},Ql=(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 W.fromCode(new An("Length too long (> 4 bytes)"))},ma=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw W.fromCode(new ot("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw W.fromCode(new ot("Length too long (> 4 bytes)"))},$f=(e,t)=>{let r=ma(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 W.fromCode(new ot("Length too long (> 4 bytes)"))},co=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Cr=Uint8Array.from([48,5,6,3,43,101,112]),Jy=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Zy=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 Vr(e,t){let r=2+Xl(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+Xl(n)+n);return s[o++]=48,o+=Ql(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=Ql(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var Dr=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw W.fromCode(new ot(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=ma(o,r),!Or(o.slice(r,r+t.byteLength),t))throw W.fromCode(new ot("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=$f(o,r)-1;r+=ma(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Po(s,i.length));return i};var ws=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 Vr(t,Cr)}static derDecode(t){let r=Dr(t,Cr);if(r.length!==this.RAW_KEY_LENGTH)throw W.fromCode(new ot("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 W.fromCode(new ot("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 _a=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))}},Ts=class extends _a{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 Ns=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a=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:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#u=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}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.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var wt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(wt||(wt={}));var xa=60*1e3,Hf=1e6,Gf=0,zf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Wf="ic0.app",Yf=".ic0.app",Jf="icp0.io",Zf=".icp0.io",Xf="icp-api.io",Qf=".icp-api.io",ya=200,eh=202,th=404;function rh(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw we.fromCode(new Yr("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 we.fromCode(new Yr("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 we.fromCode(new Yr("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function nh(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,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?t=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Ur=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a;#x;#s;#d;#p;#l;get#N(){return this.#l*xa}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Gf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new Ts,this.#f=[],this.#h=[],this.#m=new bs({expirationTime:5*xa}),this.#_=!0,this.#w=(o,s)=>{if(this.#_===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=L.fromUint8Array(d).toText(),f;if(i===Gt.Replied){let{reply:x}=o;f=Mn({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===Gt.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Mn({status:i,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw he.fromCode(new Be(`Unknown status: ${i}`));let h=K(vi,f),_=s.nodeKeys.get(l);if(!_)throw te.fromCode(new Ko);let g=ws.fromDer(_).rawKey;if(Le.verify(u.signature,h,g))return o;throw Pe.fromCode(new $o(l))}return o},this.config=t,this.#o=t.fetch||rh()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=be(zf);let r=nh(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Ns({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Yf)?this.host.hostname=Wf:this.host.hostname.endsWith(Zf)?this.host.hostname=Jf:this.host.hostname.endsWith(Qf)&&(this.host.hostname=Xf),t.credentials){let{name:o,password:s}=t.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(t.identity||new Ye),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw W.fromCode(new xr("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw W.fromCode(new xr("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Ci(Yn)),t.useQueryNonces&&this.addTransform("query",Ci(Yn)),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.#g(),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 W.fromCode(new qo)}}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.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(s=>(s.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw we.fromCode(new Xt);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw we.fromCode(new Xt);let i=L.from(t),a=r.effectiveCanisterId?L.from(r.effectiveCanisterId):i;await this.#g(a);let c=s.getPrincipal(),u=ga(this.#l,this.#r),p={request_type:ns.Call,canister_id:i,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:Dt.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 s.transformRequest(d);let h=zn(d.body),_=this.#p(),g=Ct(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...O}=await this.#y({requestFn:y,backoff:_,tries:0}),R=T.byteLength>0?je(T):null;return{requestId:g,response:{...O,body:R},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Fn))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(xr)&&!this.#c)return await this.syncTime(i),this.call(i,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=he.fromCode(new Be(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=t,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw he.fromCode(new gr(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===ya)u={...je(en(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:ss(f.headers)},requestId:s};else throw te.fromCode(new Sn(f.status,f.statusText,ss(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
51
51
  ${f}
52
- Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof nt?f:In.fromCode(new Pn(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw te.fromCode(new Mo("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(zf));if(Date.now()+this.#r-d>this.#N){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:s,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw Pe.fromCode(new Vo(this.#l,s,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,s=o===0?0:n.next();if(s===null)throw te.fromCode(new yr(`Retry strategy exhausted after ${o} attempts.`));s>0&&await new Promise(p=>setTimeout(p,s));let i,a=new Uint8Array;try{i=await r(),i.status===ya&&(a=en(await i.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
52
+ Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof nt?f:In.fromCode(new Pn(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw te.fromCode(new Mo("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(Hf));if(Date.now()+this.#r-d>this.#N){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:s,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw Pe.fromCode(new Vo(this.#l,s,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,s=o===0?0:n.next();if(s===null)throw te.fromCode(new gr(`Retry strategy exhausted after ${o} attempts.`));s>0&&await new Promise(p=>setTimeout(p,s));let i,a=new Uint8Array;try{i=await r(),i.status===ya&&(a=en(await i.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
53
53
  ${p}
54
- Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw In.fromCode(new Pn(p))}let c=ss(i.headers);if(i.status===ya||i.status===rh)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===nh&&i.url.includes("api/v3"))throw te.fromCode(new Fn);if(u.startsWith("Invalid request expiry: "))throw W.fromCode(new gr(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw te.fromCode(new Sn(i.status,i.statusText,c,u))}async query(t,r,n){let o=this.#p(),s=r.effectiveCanisterId?L.from(r.effectiveCanisterId):L.from(t);await this.#g(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${t.toString()}`);let i,a=await(n??this.#n);if(!a)throw we.fromCode(new Zt);let c=L.from(t),u=a.getPrincipal(),p=ga(this.#l,this.#r),d={request_type:Er.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Bt(d);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Vt.Query,body:d}),i=await a.transformRequest(i);let f=zn(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#m.get(s.toString());if(m)return m;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Pe.fromCode(new jo);return x};try{if(!this.#_)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#w(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let y=await g();return this.#w(m,y)}}catch(m){let x;throw m instanceof nt?(m.code.requestContext={requestId:l,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=m):x=he.fromCode(new Be(m)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw we.fromCode(new Zt);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Vt.ReadState,body:{request_type:Er.ReadState,paths:t.paths,sender:o,ingress_expiry:ga(this.#l,this.#r)}});return n.transformRequest(s)}async readState(t,r,n,o){await this.#T();let s=L.from(t);function i(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Nr(l,h))return f}}let a,c;if(o)a=o,c=Bt(a);else{c=i(r);let p=await this.#n;if(!p)throw we.fromCode(new Zt);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:zn(a.body)}),backoff:u,tries:0}),d=je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof nt?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=he.fromCode(new Be(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw te.fromCode(new Xt("Could not decode time from response"));let o=Pr(["time"],r);if(o.status!==$e.Found)throw te.fromCode(new At("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 te.fromCode(new Gr("Time was not in its expected format."));let s=pn(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#i=this.#i??(async()=>{await this.#T();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 Ye,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 c=(await la({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof nt?n:he.fromCode(new Be(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return je(n)}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#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw we.fromCode(new mt(this.#t))}async#O(t){this.#u&&!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.#g(r);let o=(await la({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Vt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#f)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function ga(e,t){let r=e*xa;return on.fromDeltaInMilliseconds(r,t)}var ih=300*1e3;function tu(){return dh(ch(ah(),1e3),uh(1e3,1.2),lh(ih))}function ah(){let e=!0;return async()=>e?(e=!1,!0):!1}function ch(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function lh(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw te.fromCode(new yr(`Request timed out after ${e} msec`,n,o))}}function uh(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function dh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var nu={preSignReadStateRequest:!1};function ou(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ba(e,t){return e!==null&&typeof e=="object"&&ou(e,t)}function fh(e,t){return ou(e,t)&&typeof e[t]=="function"}function ru(e){return ba(e,"body")&&ba(e.body,"content")&&e.body.content.request_type===Er.ReadState&&ba(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&fh(e.body.content.ingress_expiry,"toHash")}async function wa(e,t,r,n={}){let o=[Q("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await hh({paths:[o],agent:e,pollingOptions:n}),s=await e.readState(t,{paths:[o]},void 0,i)):s=await e.readState(t,{paths:[o]}),e.rootKey==null)throw we.fromCode(new mt);let c=await ar.create({certificate:s.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ae(c.lookup_path([...o,Q("status")])),p;switch(typeof u>"u"?p=wt.Unknown:p=new TextDecoder().decode(u),p){case wt.Replied:return{reply:Ae(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:{let d=n.strategy??tu();return await d(t,r,p),wa(e,t,r,{...n,strategy:d,request:i})}case wt.Rejected:{let d=new Uint8Array(Ae(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ae(c.lookup_path([...o,"reject_message"]))),f=Ae(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Yt.fromCode(new Wr(r,d,l,h))}case wt.Done:throw he.fromCode(new ko(r))}throw Qt}async function hh(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&ru(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!ru(o))throw W.fromCode(new Ho(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Os=class e{static agentOf(t){return t[Qe].config.agent}static interfaceOf(t){return t[Qe].service}static canisterIdOf(t){return L.from(t[Qe].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Tr});class o extends e{constructor(i){if(!i.canisterId)throw W.fromCode(new Bn(i.canisterId));let a=typeof i.canisterId=="string"?L.fromText(i.canisterId):i.canisterId;super({config:{...su,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ta),r?.certificate&&u.annotations.push(iu),this[c]=_h(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Bn(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[Qe]=Object.freeze(t)}};function hn(e,t){let r=Tr.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var su={pollingOptions:nu},Ta="http-details",iu="certificate";function _h(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...e[Qe].config.queryTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||new Dr,u=L.from(i.canisterId||e[Qe].config.canisterId),p=Tr.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:i.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Ht.Rejected:{let f=new Do(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Yt.fromCode(f)}case Ht.Replied:return r.annotations.includes(Ta)?{httpDetails:l,result:hn(r.retTypes,d.reply.arg)}:hn(r.retTypes,d.reply.arg)}}:o=async(i,...a)=>{i={...i,...e[Qe].config.callTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||Dr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...su,...e[Qe].config,...i},l=L.from(u),f=p!==void 0?L.from(p):l,h=Tr.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,y;if(ec(g.body)){if(c.rootKey==null)throw we.fromCode(new mt);let E=g.body.certificate;y=await ar.create({certificate:E,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let v=[Q("request_status"),_];switch(new TextDecoder().decode(Ae(y.lookup_path([...v,"status"])))){case"replied":x=Ae(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(Ae(y.lookup_path([...v,"reject_code"])))[0],B=new TextDecoder().decode(Ae(y.lookup_path([...v,"reject_message"]))),A=Ae(y.lookup_path([...v,"error_code"])),b=A?new TextDecoder().decode(A):void 0,N=new Wr(_,I,B,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Yt.fromCode(N)}}}else if(Qa(g.body)){let{reject_code:E,reject_message:v,error_code:w}=g.body,I=new Uo(_,E,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Yt.fromCode(I)}if(g.status===202){let E={...d,blsVerify:n},v=await wa(c,f,_,E);y=v.certificate,x=v.reply}let T=r.annotations.includes(Ta),O=r.annotations.includes(iu),R={...g,requestDetails:m};if(x!==void 0)return T&&O?{httpDetails:R,certificate:y,result:hn(r.retTypes,x)}:O?{certificate:y,result:hn(r.retTypes,x)}:T?{httpDetails:R,result:hn(r.retTypes,x)}:hn(r.retTypes,x);{let E=new Be(`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},he.fromCode(E)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var yh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(yh||{}),ug=BigInt(1e8);var j=e=>e==null,X=e=>!j(e),gh=e=>X(e)&&e!=="",cu=e=>!gh(e);var xh=class extends Error{},uo=(e,t)=>{if(e==null)throw new xh(t)};var Ur=e=>new Uint8Array(e),Es=e=>Array.from(e);var lu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var au="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<au.length;e++)lo[au[e]]=e;lo[0]=lo.o;lo[1]=lo.i;var Rs=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var dg=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 Na="__bigint__",Oa="__principal__",Ea="__uint8array__",uu=(e,t)=>typeof t=="bigint"?{[Na]:`${t}`}:X(t)&&L.isPrincipal(t)?{[Oa]:L.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Ea]:Array.from(t)}:t,du=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Na in t?BigInt(r(Na)):X(t)&&typeof t=="object"&&Oa in t?L.fromText(r(Oa)):X(t)&&typeof t=="object"&&Ea in t?Uint8Array.from(r(Ea)):t};var ce=e=>X(e)?[e]:[],Oe=e=>e?.[0];var bh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=wh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},wh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Es(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 Th(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>t.setUint8(s,o));let n=t.getUint16(0);return e.slice(55+n)}function Nh(e){return Cr(e,co)}var Oh=class{constructor(e){this._cose=e,this.#e=Nh(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},_u=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Oh(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Rs(this.#e)}},Eh=class extends _u{#e;#t;constructor({authData:e,...t}){super(t);let r=bh({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}},Rh=class extends _u{},vh=class extends Error{},Ih=class extends Error{},Ah=class extends Error{},Sh=class extends Error{},Fh=class extends Error{},Ph=class extends Error{},Bh=class extends Error{},pu=class extends Error{};var Ch={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Vh=6e4,yu=()=>window.crypto.getRandomValues(new Uint8Array(16)),Dh=()=>yu(),Uh=()=>yu(),kh=()=>{let{location:{href:e}}=window,t=URL.parse(e);if(j(t))throw new vh;let{hostname:r}=t;return r},gu=({appId:e})=>e?.id??kh(),Lh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:gu({appId:e})}}),o=()=>({user:{id:Uh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Dh(),...n(),...o(),pubKeyCredParams:Object.values(Ch).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},qh=(e={})=>({rpId:gu(e),allowCredentials:[],userVerification:"required"}),Ra=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}},ur=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(ur||{}),xu=({timeout:e})=>AbortSignal.timeout(e??Vh),Mh=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...qh(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:xu({timeout:n})}),fu=e=>{if(e.status!=="initialized")throw new Ih},hu=e=>{if(j(e))throw new Ah},mu=({type:e})=>{if(e!=="public-key")throw new Sh},va=class po extends bt{#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=po.#r({credential:new Eh(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:Lh(t),signal:xu({timeout:r})});hu(o),mu(o);let{response:{attestationObject:s},rawId:i}=o;if(j(s))throw new Fh;let{authData:a}=rs.decode(Ur(s)),c=Th(a);return new po({...n,rawId:Ur(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new po(t)}getPublicKey(){fu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){fu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ra({fn:async()=>{let n=await Mh({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return hu(n),mu(n),n},step:0,onProgress:this.#e});return await Ra({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!lu({a:this.#t.credential.getCredentialId(),b:Ur(n)}))throw new Ph;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:Ur(n)});this.#t=po.#r({credential:new Rh({rawId:Ur(n),cose:s})})},step:1,onProgress:this.#e}),await Ra({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if(j(s))throw new pu;if(j(i))throw new pu;let a=rs.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:Ur(i)});if(j(a))throw new Bh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},jh=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var mn=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 et=class e extends mn{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 Ia=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var _n="http://127.0.0.1:5987",bu="rdmx6-jaaaa-aaaaa-aaadq-cai";var wu=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?_n:t:"https://icp-api.io",o=X(t);return await Dr.create({identity:e,shouldFetchRootKey:o,host:n})};var yn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(j(this.#e)||j(this.#e[n])){let o=await wu({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var gn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${t};`;if(j(this.#e)||j(this.#e[s])){let i=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await yn.getInstance().getAgent(n);return Os.createActor(t,{agent:o,canisterId:r})}};var Tu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Kh=()=>{window.addEventListener("beforeunload",Tu,{capture:!0})},$h=()=>{window.removeEventListener("beforeunload",Tu,{capture:!0})},Aa=async({fn:e})=>{try{return Kh(),await e()}finally{$h()}};var Ge=class e extends mn{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 Nu=BigInt(144e11),Ou=!1,Eu={width:576,height:576},Ru={width:424,height:576},vu={width:505,height:705},fo="internetcomputer.org",Iu="ic0.app",Au="id.ai";var Su=async e=>{let t=new Blob([JSON.stringify(e,uu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},vs=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(),du)},Is=()=>typeof window<"u";var As=({width:e,height:t})=>{if(!Is()||j(window)||j(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,s=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=${s}`};function Fu(e){return e!==null&&typeof e=="object"}var ho=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Fu(t)){let r=t;if(Fu(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(_t(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(_t(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=Cr(t,Br);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Vr(t,Br);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}},xn=class e extends bt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Le.utils.randomPrivateKey()),wc(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=Le.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ho.fromDer(be(r)),be(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(ho.fromRaw(t),r)}static fromSecretKey(t){let r=Le.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ho.from(t),this.#t=r}toJSON(){return[M(this.#e.toDer()),M(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Le.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,s,i]=[t,r,n].map(a=>(typeof a=="string"&&(a=be(a)),_t(a)));return Le.verify(o,s,i)}};var Sa=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Pu(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 Sa("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 kr=class e extends bt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=Pu(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=_t(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(t,r){let n=Pu(r),o=_t(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=_t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ss=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 Fa(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return be(e)}var bn=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:M(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Hh(e,t,r,n){let o=new bn(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Ii,...new Uint8Array(Bt({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var Lr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await Hh(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],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(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:u,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new bn(Fa(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return L.fromHex(d)})),signature:Fa(a)}});return new this(o,Fa(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:M(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:M(n)}}),publicKey:M(this.publicKey)}}},qr=class extends bt{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 Bt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...jn,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},mo=class e extends Ss{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Pa(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 s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Bu=["mousedown","mousemove","keydown","touchstart","wheel"],_o=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),Bu.forEach(i=>{document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,i.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Bu.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 Va=(e,t)=>t.some(r=>e instanceof r),Cu,Vu;function Gh(){return Cu||(Cu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function zh(){return Vu||(Vu=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Da=new WeakMap,Ba=new WeakMap,Fs=new WeakMap;function Wh(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(Mr(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return Fs.set(t,e),t}function Yh(e){if(Da.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});Da.set(e,t)}var Ua={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Da.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Mr(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 Lu(e){Ua=e(Ua)}function Jh(e){return zh().includes(e)?function(...t){return e.apply(ka(this),t),Mr(this.request)}:function(...t){return Mr(e.apply(ka(this),t))}}function Zh(e){return typeof e=="function"?Jh(e):(e instanceof IDBTransaction&&Yh(e),Va(e,Gh())?new Proxy(e,Ua):e)}function Mr(e){if(e instanceof IDBRequest)return Wh(e);if(Ba.has(e))return Ba.get(e);let t=Zh(e);return t!==e&&(Ba.set(e,t),Fs.set(t,e)),t}var ka=e=>Fs.get(e);function qu(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),a=Mr(i);return n&&i.addEventListener("upgradeneeded",c=>{n(Mr(i.result),c.oldVersion,c.newVersion,Mr(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Xh=["get","getKey","getAll","getAllKeys","count"],Qh=["put","add","delete","clear"],Ca=new Map;function Du(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Ca.get(t))return Ca.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Qh.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Xh.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Ca.set(t,s),s}Lu(e=>({...e,get:(t,r,n)=>Du(t,r)||e.get(t,r,n),has:(t,r)=>!!Du(t,r)||e.has(t,r)}));var em=["continue","continuePrimaryKey","advance"],Uu={},La=new WeakMap,Mu=new WeakMap,tm={get(e,t){if(!em.includes(t))return e[t];let r=Uu[t];return r||(r=Uu[t]=function(...n){La.set(this,Mu.get(this)[t](...n))}),r}};async function*rm(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,tm);for(Mu.set(r,t),Fs.set(r,ka(t));t;)yield r,t=await(La.get(r)||t.continue()),La.delete(r)}function ku(e,t){return t===Symbol.asyncIterator&&Va(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Va(e,[IDBIndex,IDBObjectStore])}Lu(e=>({...e,get(t,r,n){return ku(t,r)?rm:e.get(t,r,n)},has(t,r){return ku(t,r)||e.has(t,r)}}));var ju="auth-client-db",Ku="ic-keyval",nm=async(e=ju,t=Ku,r)=>(localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(qe)),await qu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function om(e,t,r){return await e.get(t,r)}async function sm(e,t,r,n){return await e.put(t,n,r)}async function im(e,t,r){return await e.delete(t,r)}var Ps=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=ju,storeName:n=Ku,version:o=$u}=t??{},s=await nm(r,n,o);return new e(s,n)}async set(t,r){return await sm(this._db,this._storeName,t,r)}async get(t){return await om(this._db,this._storeName,t)??null}async remove(t){return await im(this._db,this._storeName,t)}};var qe="identity",ze="delegation",Hu="iv",$u=1,yo=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}},$t=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}Ps.create(this.#e).then(r=>{this.initializedDb=r,t(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 am=BigInt(1e9),cm=BigInt(3600),lm=am*cm,um="https://identity.internetcomputer.org",dm="#authorize",pm=BigInt(8)*lm,qa="ECDSA",Ma="Ed25519",fm=500,Bs="UserInterrupt",go=class e{constructor(t,r,n,o,s,i,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new $t,n=t.keyType??qa,o=null;if(t.identity)o=t.identity;else{let c=await r.get(qe);if(!c)try{let u=new yo,p=await u.get(ze),d=await u.get(qe);p&&d&&n===qa&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(qe,d),c=p,await u.remove(ze),await u.remove(qe))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Ma&&typeof c=="string"?o=xn.fromJSON(c):o=await kr.fromKeyPair(c):typeof c=="string"&&(o=xn.fromJSON(c))}catch{}}let s=new Ye,i=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?s=t.identity:c&&(i=Lr.fromJSON(c),Pa(i)?"toDer"in o?s=mo.fromDelegation(o,i):s=qr.fromDelegation(o,i):(await ja(r),o=null))}catch(c){console.error(c),await ja(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=_o.create(t.idleOptions)),o||(n===Ma?(o=xn.generate(),await r.set(qe,JSON.stringify(o.toJSON()))):(t.storage&&n===qa&&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 '${Ma}' as the key type, as it can serialize to a string`),o=await kr.generate(),await r.set(qe,o.getKeyPair()))),new e(s,o,i,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 bn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lr.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=mo.fromDelegation(s,this._chain):this._identity=qr.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=_o.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,JSON.stringify(this._chain.toJSON())),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Pa(this._chain)}async login(t){let r=hm(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??pm,o=new URL(r?.identityProvider?.toString()||um);o.hash=dm,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 s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Bs,r?.onError):setTimeout(s,fm))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={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(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.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 ja(this._storage),this._identity=new Ye,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function ja(e){await e.remove(qe),await e.remove(ze),await e.remove(Hu)}function hm(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}var Tt=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 Gu=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Gu||{});var Cs=class extends Error{},jr=class extends Error{},Vs=class extends Error{},Ds=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=class extends Error{},qs=class extends Error{};var wn=class{async signIn({options:t,authClient:r,initAuth:n}){await Tt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Tt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(j(r)){o(new jr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===Bs){o(new Vs(s));return}o(new Cs(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Nu,allowPinAuthentication:t?.allowPin??Ou,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ms=class extends wn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let s=Ge.getInstance().get()?.container;if(j(s)||s===!1){let p=[fo,Iu].includes(this.#e??fo);return cu(this.#e)?`https://identity.${fo}`:p?`https://identity.${this.#e??fo}`:`https://${this.#e}`}let i=Ge.getInstance().get(),a=X(i)&&X(i?.internetIdentityId)?i.internetIdentityId:bu,{host:c,protocol:u}=new URL(s===!0?_n:s);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})(),o=URL.parse(n)?.hostname?.includes(Au)===!0;return{...t!==!1&&{windowOpenerFeatures:As(o?Ru:Eu)},identityProvider:n}}};var js=class extends wn{#e;#t;constructor({appName:t,logoUrl:r}){super(),this.#e=t,this.#t=r}get id(){return"nfid"}signInOptions({windowed:t}){return{...t!==!1&&{windowOpenerFeatures:As(vu)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Nt={certified:!1};var le=e=>X(e)?e:Ks()??new Ye;var zu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=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}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=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)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,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:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=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)}),z=e.Record({memory:C,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}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],["query"])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=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}),xe=e.Record({batch_id:e.Nat}),Hs=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,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=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,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[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,c],[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,c],[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([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),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,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],["query"]),get_auth_config:e.Func([],[e.Opt(R)],["query"]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(F)],["query"]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],["query"]),get_storage_config:e.Func([],[A],["query"]),http_request:e.Func([ne],[Fe],["query"]),http_request_streaming_callback:e.Func([z],[pt],["query"]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],["query"]),list_docs:e.Func([e.Text,c],[zs],["query"]),list_proposals:e.Func([Js],[Xs],["query"]),list_rules:e.Func([f,ei],[ti],["query"]),memory_size:e.Func([],[ri],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})},Wu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=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}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=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)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,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:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=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)}),z=e.Record({memory:C,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}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],[])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=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}),xe=e.Record({batch_id:e.Nat}),Hs=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,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=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,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[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,c],[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,c],[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([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),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,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],[]),get_auth_config:e.Func([],[e.Opt(R)],[]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(F)],[]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],[]),get_storage_config:e.Func([],[A],[]),http_request:e.Func([ne],[Fe],[]),http_request_streaming_callback:e.Func([z],[pt],[]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],[]),list_docs:e.Func([e.Text,c],[zs],[]),list_proposals:e.Func([Js],[Xs],[]),list_rules:e.Func([f,ei],[ti],[]),memory_size:e.Func([],[ri],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})};var Yu=({satelliteId:e,container:t})=>{let{satelliteId:r}=Ka({satelliteId:e}),{container:n}=$a({container:t});if(X(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?_n:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Ka=({satelliteId:e})=>X(e)?{satelliteId:e}:Ge.getInstance().get()??{satelliteId:void 0},$a=({container:e})=>X(e)?{container:e}:Ge.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Zu({idlFactory:t?Wu:zu,actorKey:`stock#${t?"update":"query"}`,...e}),Ju=({idlFactory:e,...t})=>Zu({idlFactory:e,actorKey:"extended#query",...t}),Zu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Ka({satelliteId:e});uo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=$a({container:t});return await gn.getInstance().getActor({satelliteId:n,container:o,...r})};var Xu=e=>{if(j(e))return ce();switch(e.matcher){case"equal":return ce({Equal:e.timestamp});case"greaterThan":return ce({GreaterThan:e.timestamp});case"lessThan":return ce({LessThan:e.timestamp});case"between":return ce({Between:[e.timestamps.start,e.timestamps.end]});default:throw new qs("Invalid list matcher for timestamp",e)}},dr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:j(e)?[]:[{key:ce(e.key),description:ce(e.description),created_at:Xu(e.createdAt),updated_at:Xu(e.updatedAt)}],paginate:ce(j(t)?void 0:{start_after:ce(t.startAfter),limit:ce(j(t.limit)?void 0:BigInt(t.limit))}),order:ce(j(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ce(j(n)?void 0:typeof n=="string"?L.fromText(n):n)});var Qu=async({data:e})=>{try{return await vs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Ha=async e=>{let{data:t,version:r,description:n}=e;return{description:ce(n),data:await Su(t),version:ce(r)}},Ga=e=>{let{version:t}=e;return{version:ce(t)}},xo=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:s,...i}=e;return{key:t,description:Oe(o),owner:r.toText(),data:await vs(s),version:Oe(n),...i}};var ed=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=Oe(await n(e,t));if(!j(o))return xo({doc:o,key:t})},td=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=Oe(a);s.push(X(c)?await xo({key:i,doc:c}):void 0)}return s},rd=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,s=await Ha(t),i=await n(e,o,s);return await xo({key:o,doc:i})},nd=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:i,doc:a}of e){let{key:c}=a;n.push([i,c,await Ha(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await xo({key:i,doc:a}));return s},od=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Ga(t))},sd=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:s})=>[o,s.key,Ga(s)]);await r(n)},id=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,dr(t))},ad=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(e,dr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:Oe(h),owner:f.toText(),data:await Qu({data:l}),version:Oe(_),...g})}return{items:u,items_length:i,items_page:Oe(s),matches_length:a,matches_pages:Oe(c)}},cd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,dr(t))};var $s=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await ed({...r,satellite:{...e,identity:n},options:t??Nt})},$b=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await td({...r,satellite:{...e,identity:n},options:t??Nt})},ld=async({satellite:e,...t})=>{let r=le(e?.identity);return await rd({...t,satellite:{...e,identity:r},options:{certified:!0}})},ud=async({satellite:e,...t})=>{let r=le(e?.identity);return await nd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Hb=async({satellite:e,...t})=>{let r=le(e?.identity);return await od({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gb=async({satellite:e,...t})=>{let r=le(e?.identity);return await sd({...t,satellite:{...e,identity:r},options:{certified:!0}})},zb=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await id({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},Wb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await ad({...n,filter:r??{},satellite:{...e,identity:o},options:t??Nt})},Yb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await cd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Nt})};var dd=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await ud({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:Es(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var pd=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(pd||{}),fd=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(fd||{});var bo=class{get id(){return"webauthn"}async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=Ge.getInstance().get()??{satelliteId:void 0};if(j(s))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let i=({step:_,state:g})=>{switch(_){case ur.RequestingUserCredential:t?.({step:1,state:g});break;case ur.FinalizingCredential:t?.({step:2,state:g});break;case ur.Signing:t?.({step:3,state:g});break}},c=await Tt({fn:async()=>await va.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Tt({fn:async()=>await dd({delegationIdentity:u,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:t});await Tt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Tt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ge.getInstance().get()??{satelliteId:void 0};if(j(o))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:d})=>{let l=await $s({collection:"#user-webauthn",key:Rs(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if(j(l))throw new Us("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Vr(h,co)},i=({step:d,state:l})=>{switch(d){case ur.RequestingUserCredential:t?.({step:0,state:l});break;case ur.FinalizingCredential:t?.({step:1,state:l});break;case ur.Signing:t?.({step:2,state:l});break}},a=await va.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Tt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Tt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await kr.generate({extractable:!1}),o=r??144e5,s=await Lr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qr.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new $t;await Promise.all([n.set(qe,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var wo=()=>go.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),hd=async()=>(await new $t().remove(qe),await wo());var za=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var md="juno.datastore.error.user.cannot_update";var _d=async({provider:e})=>{let{user:t,userId:r}=await Wa();if(X(t))return t;try{return await _m({userId:r,provider:e})}catch(n){if(za({error:n,type:md})){let o=await yd({userId:r});if(X(o))return o}throw n}},Wa=async()=>{let e=Ks();if(j(e))throw new Ls("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await yd({userId:t});return{userId:t,user:r}},yd=({userId:e})=>$s({collection:"#user",key:e}),_m=({userId:e,...t})=>ld({collection:"#user",doc:{key:e,data:t}});var tt,Ya=async()=>{await Ja({fn:async()=>{let{user:t}=await Wa();et.getInstance().set(t??null)}})},ym=async({user:e})=>{await Ja({fn:async()=>{et.getInstance().set(e)}})},gd=async({provider:e})=>{await Ja({fn:async()=>{let r=await _d({provider:e});et.getInstance().set(r)}})},Ja=async({fn:e})=>{if(tt=await wo(),!await tt.isAuthenticated()){tt=await hd();return}await e()},gm=async e=>{let t=async()=>await bm(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},xm=async e=>{let t=async()=>await wm(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},bm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signIn({options:t,loadAuth:Ya});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new js({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:gd});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new Ms({domain:r}).signIn({options:n,authClient:tt,initAuth:gd});return}throw new Ds("An unknown or unsupported provider was provided for sign-in.")},wm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:ym});return}throw new ks("An unknown or unsupported provider was provided for sign-up.")},Za=async e=>{await Tm(),tt=await wo(),e?.windowReload!==!1&&window.location.reload()},Tm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),gn.getInstance().reset(),yn.getInstance().reset()},Ks=()=>tt?.getIdentity(),Nm=async()=>(tt??await wo()).getIdentity(),Om=async()=>{let e=et.getInstance().get();return j(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var xd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ia({message:"junoSignOutAuthTimer"}),await Za()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ia({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if(j(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var bd=()=>{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()},wd=()=>{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()};var Hw=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await Ju({idlFactory:e,...t,identity:r})};var Td=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(Em(r));o?.onInitiatedBatch();let{chunkIds:u}=await Im({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await vm({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Em=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:s})=>({collection:t,full_path:n,name:e,token:ce(r),encoding_type:ce(o),description:ce(s)}),Rm=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([s,i])=>s.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:s})=>s),headers:[...r,...o??[]]}},vm=async({commitFn:e,...t})=>{let r=Rm(t);await e(r)},Im=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Is()?new Blob([await e.arrayBuffer()]):e,s=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:s}),s++}let i=[];for await(let a of Am({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*Am({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=>Sm(o)))}}var Sm=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ce(n)});var Nd=async({asset:e,...t})=>{let r=await ge(t);await Td({actor:r,asset:e})},Od=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(e,dr(t));return{items:o.map(([u,p])=>p),items_length:s,items_page:Oe(i),matches_length:a,matches_pages:Oe(c)}},Ed=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,dr(t))},Rd=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),vd=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},Id=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,dr(t))},Ad=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return Oe(await n(e,t))},Sd=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>Oe(i))};var Fd=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var cT=e=>Pd(e),lT=e=>Pd({filename:e.data.name,...e}),Pd=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let u=le(i?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...i,identity:u};return await Nd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Bd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},uT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:s,...i}=await Od({collection:e,filter:t??{},satellite:o,options:n??Nt}),a=s.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=Oe(u);return{fullPath:c,description:Oe(l),name:p,downloadUrl:Bd({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:Fd(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...i}},dT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await Ed({collection:e,satellite:o,filter:t??{},options:n??Nt})},pT=({collection:e,fullPath:t,satellite:r})=>Rd({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),fT=({assets:e,satellite:t})=>vd({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),hT=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Id({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},mT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Ad({...r,satellite:{...e,identity:n},options:t??Nt})},_T=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Sd({...r,satellite:{...e,identity:n},options:t??Nt})},Bd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${Yu(n)}${e}${X(t)?`?token=${t}`:""}`};var Fm=e=>{let t=e?.satelliteId??bd();uo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??wd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},ET=e=>Pm(e),Pm=async e=>{let t=Fm(e);Ge.getInstance().set(t),await Ya();let r=t.workers?.auth!==void 0?xd(t.workers.auth):void 0;return[...r?[r]:[]]},Bm=e=>et.getInstance().subscribe(e),RT=Bm;export{Gu as AuthClientSignInProgressStep,Ls as InitError,Ms as InternetIdentityProvider,qs as ListError,js as NFIDProvider,Cs as SignInError,jr as SignInInitError,Ds as SignInProviderNotSupportedError,Vs as SignInUserInterruptError,ks as SignUpProviderNotSupportedError,pd as WebAuthnSignInProgressStep,Us as WebAuthnSignInRetrievePublicKeyError,fd as WebAuthnSignUpProgressStep,RT as authSubscribe,dT as countAssets,Yb as countDocs,pT as deleteAsset,Hb as deleteDoc,hT as deleteFilteredAssets,zb as deleteFilteredDocs,fT as deleteManyAssets,Gb as deleteManyDocs,Bd as downloadUrl,mT as getAsset,$s as getDoc,Om as getIdentityOnce,_T as getManyAssets,$b as getManyDocs,Hw as getSatelliteExtendedActor,ET as initJuno,Pm as initSatellite,jh as isWebAuthnAvailable,uT as listAssets,Wb as listDocs,Bm as onAuthStateChange,ld as setDoc,ud as setManyDocs,gm as signIn,Za as signOut,xm as signUp,Nm as unsafeIdentity,cT as uploadBlob,lT as uploadFile};
54
+ Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw In.fromCode(new Pn(p))}let c=ss(i.headers);if(i.status===ya||i.status===eh)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===th&&i.url.includes("api/v3"))throw te.fromCode(new Fn);if(u.startsWith("Invalid request expiry: "))throw W.fromCode(new xr(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw te.fromCode(new Sn(i.status,i.statusText,c,u))}async query(t,r,n){let o=this.#p(),s=r.effectiveCanisterId?L.from(r.effectiveCanisterId):L.from(t);await this.#g(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${t.toString()}`);let i,a=await(n??this.#n);if(!a)throw we.fromCode(new Xt);let c=L.from(t),u=a.getPrincipal(),p=ga(this.#l,this.#r),d={request_type:Rr.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Ct(d);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.Query,body:d}),i=await a.transformRequest(i);let f=zn(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#m.get(s.toString());if(m)return m;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Pe.fromCode(new jo);return x};try{if(!this.#_)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#w(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let y=await g();return this.#w(m,y)}}catch(m){let x;throw m instanceof nt?(m.code.requestContext={requestId:l,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=m):x=he.fromCode(new Be(m)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw we.fromCode(new Xt);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.ReadState,body:{request_type:Rr.ReadState,paths:t.paths,sender:o,ingress_expiry:ga(this.#l,this.#r)}});return n.transformRequest(s)}async readState(t,r,n,o){await this.#T();let s=L.from(t);function i(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Or(l,h))return f}}let a,c;if(o)a=o,c=Ct(a);else{c=i(r);let p=await this.#n;if(!p)throw we.fromCode(new Xt);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:zn(a.body)}),backoff:u,tries:0}),d=je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof nt?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=he.fromCode(new Be(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw te.fromCode(new Qt("Could not decode time from response"));let o=Br(["time"],r);if(o.status!==$e.Found)throw te.fromCode(new St("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 te.fromCode(new Gr("Time was not in its expected format."));let s=pn(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#i=this.#i??(async()=>{await this.#T();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 Ye,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 c=(await la({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof nt?n:he.fromCode(new Be(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return je(n)}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#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw we.fromCode(new mt(this.#t))}async#O(t){this.#u&&!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.#g(r);let o=(await la({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Dt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#f)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function ga(e,t){let r=e*xa;return on.fromDeltaInMilliseconds(r,t)}var oh=300*1e3;function eu(){return lh(ih(sh(),1e3),ch(1e3,1.2),ah(oh))}function sh(){let e=!0;return async()=>e?(e=!1,!0):!1}function ih(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function ah(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw te.fromCode(new gr(`Request timed out after ${e} msec`,n,o))}}function ch(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function lh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var ru={preSignReadStateRequest:!1};function nu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ba(e,t){return e!==null&&typeof e=="object"&&nu(e,t)}function dh(e,t){return nu(e,t)&&typeof e[t]=="function"}function tu(e){return ba(e,"body")&&ba(e.body,"content")&&e.body.content.request_type===Rr.ReadState&&ba(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&dh(e.body.content.ingress_expiry,"toHash")}async function wa(e,t,r,n={}){let o=[Q("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await ph({paths:[o],agent:e,pollingOptions:n}),s=await e.readState(t,{paths:[o]},void 0,i)):s=await e.readState(t,{paths:[o]}),e.rootKey==null)throw we.fromCode(new mt);let c=await cr.create({certificate:s.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ae(c.lookup_path([...o,Q("status")])),p;switch(typeof u>"u"?p=wt.Unknown:p=new TextDecoder().decode(u),p){case wt.Replied:return{reply:Ae(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:{let d=n.strategy??eu();return await d(t,r,p),wa(e,t,r,{...n,strategy:d,request:i})}case wt.Rejected:{let d=new Uint8Array(Ae(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ae(c.lookup_path([...o,"reject_message"]))),f=Ae(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Jt.fromCode(new Wr(r,d,l,h))}case wt.Done:throw he.fromCode(new ko(r))}throw er}async function ph(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&tu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!tu(o))throw W.fromCode(new Ho(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Os=class e{static agentOf(t){return t[Qe].config.agent}static interfaceOf(t){return t[Qe].service}static canisterIdOf(t){return L.from(t[Qe].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Nr});class o extends e{constructor(i){if(!i.canisterId)throw W.fromCode(new Bn(i.canisterId));let a=typeof i.canisterId=="string"?L.fromText(i.canisterId):i.canisterId;super({config:{...ou,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ta),r?.certificate&&u.annotations.push(su),this[c]=hh(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Bn(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[Qe]=Object.freeze(t)}};function hn(e,t){let r=Nr.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var ou={pollingOptions:ru},Ta="http-details",su="certificate";function hh(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...e[Qe].config.queryTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||new Ur,u=L.from(i.canisterId||e[Qe].config.canisterId),p=Nr.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:i.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Gt.Rejected:{let f=new Do(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Jt.fromCode(f)}case Gt.Replied:return r.annotations.includes(Ta)?{httpDetails:l,result:hn(r.retTypes,d.reply.arg)}:hn(r.retTypes,d.reply.arg)}}:o=async(i,...a)=>{i={...i,...e[Qe].config.callTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||Ur.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...ou,...e[Qe].config,...i},l=L.from(u),f=p!==void 0?L.from(p):l,h=Nr.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,y;if(Qa(g.body)){if(c.rootKey==null)throw we.fromCode(new mt);let E=g.body.certificate;y=await cr.create({certificate:E,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let v=[Q("request_status"),_];switch(new TextDecoder().decode(Ae(y.lookup_path([...v,"status"])))){case"replied":x=Ae(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(Ae(y.lookup_path([...v,"reject_code"])))[0],B=new TextDecoder().decode(Ae(y.lookup_path([...v,"reject_message"]))),A=Ae(y.lookup_path([...v,"error_code"])),b=A?new TextDecoder().decode(A):void 0,N=new Wr(_,I,B,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(N)}}}else if(Xa(g.body)){let{reject_code:E,reject_message:v,error_code:w}=g.body,I=new Uo(_,E,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(I)}if(g.status===202){let E={...d,blsVerify:n},v=await wa(c,f,_,E);y=v.certificate,x=v.reply}let T=r.annotations.includes(Ta),O=r.annotations.includes(su),R={...g,requestDetails:m};if(x!==void 0)return T&&O?{httpDetails:R,certificate:y,result:hn(r.retTypes,x)}:O?{certificate:y,result:hn(r.retTypes,x)}:T?{httpDetails:R,result:hn(r.retTypes,x)}:hn(r.retTypes,x);{let E=new Be(`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},he.fromCode(E)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var mh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(mh||{}),ig=BigInt(1e8);var j=e=>e==null,X=e=>!j(e),_h=e=>X(e)&&e!=="",au=e=>!_h(e);var yh=class extends Error{},uo=(e,t)=>{if(e==null)throw new yh(t)};var kr=e=>new Uint8Array(e),Es=e=>Array.from(e);var cu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var iu="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<iu.length;e++)lo[iu[e]]=e;lo[0]=lo.o;lo[1]=lo.i;var Rs=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var ag=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 Na="__bigint__",Oa="__principal__",Ea="__uint8array__",lu=(e,t)=>typeof t=="bigint"?{[Na]:`${t}`}:X(t)&&L.isPrincipal(t)?{[Oa]:L.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Ea]:Array.from(t)}:t,uu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Na in t?BigInt(r(Na)):X(t)&&typeof t=="object"&&Oa in t?L.fromText(r(Oa)):X(t)&&typeof t=="object"&&Ea in t?Uint8Array.from(r(Ea)):t};var ce=e=>X(e)?[e]:[],Oe=e=>e?.[0];var gh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=xh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},xh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Es(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 bh(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>t.setUint8(s,o));let n=t.getUint16(0);return e.slice(55+n)}function wh(e){return Vr(e,co)}var Th=class{constructor(e){this._cose=e,this.#e=wh(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},mu=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Th(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Rs(this.#e)}},Nh=class extends mu{#e;#t;constructor({authData:e,...t}){super(t);let r=gh({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}},Oh=class extends mu{},Eh=class extends Error{},Rh=class extends Error{},vh=class extends Error{},Ih=class extends Error{},Ah=class extends Error{},Sh=class extends Error{},Fh=class extends Error{},du=class extends Error{};var Ph={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Bh=6e4,_u=()=>window.crypto.getRandomValues(new Uint8Array(16)),Ch=()=>_u(),Vh=()=>_u(),Dh=()=>{let{location:{href:e}}=window,t=URL.parse(e);if(j(t))throw new Eh;let{hostname:r}=t;return r},yu=({appId:e})=>e?.id??Dh(),Uh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:yu({appId:e})}}),o=()=>({user:{id:Vh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Ch(),...n(),...o(),pubKeyCredParams:Object.values(Ph).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},kh=(e={})=>({rpId:yu(e),allowCredentials:[],userVerification:"required"}),Ra=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}},dr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(dr||{}),gu=({timeout:e})=>AbortSignal.timeout(e??Bh),Lh=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...kh(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:gu({timeout:n})}),pu=e=>{if(e.status!=="initialized")throw new Rh},fu=e=>{if(j(e))throw new vh},hu=({type:e})=>{if(e!=="public-key")throw new Ih},va=class po extends bt{#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=po.#r({credential:new Nh(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:Uh(t),signal:gu({timeout:r})});fu(o),hu(o);let{response:{attestationObject:s},rawId:i}=o;if(j(s))throw new Ah;let{authData:a}=rs.decode(kr(s)),c=bh(a);return new po({...n,rawId:kr(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new po(t)}getPublicKey(){pu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){pu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ra({fn:async()=>{let n=await Lh({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return fu(n),hu(n),n},step:0,onProgress:this.#e});return await Ra({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!cu({a:this.#t.credential.getCredentialId(),b:kr(n)}))throw new Sh;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:kr(n)});this.#t=po.#r({credential:new Oh({rawId:kr(n),cose:s})})},step:1,onProgress:this.#e}),await Ra({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if(j(s))throw new du;if(j(i))throw new du;let a=rs.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:kr(i)});if(j(a))throw new Fh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},qh=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var mn=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 et=class e extends mn{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 Ia=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var _n="http://127.0.0.1:5987",xu="rdmx6-jaaaa-aaaaa-aaadq-cai";var bu=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?_n:t:"https://icp-api.io",o=X(t);return await Ur.create({identity:e,shouldFetchRootKey:o,host:n})};var yn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(j(this.#e)||j(this.#e[n])){let o=await bu({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var gn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${t};`;if(j(this.#e)||j(this.#e[s])){let i=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await yn.getInstance().getAgent(n);return Os.createActor(t,{agent:o,canisterId:r})}};var wu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Mh=()=>{window.addEventListener("beforeunload",wu,{capture:!0})},jh=()=>{window.removeEventListener("beforeunload",wu,{capture:!0})},Aa=async({fn:e})=>{try{return Mh(),await e()}finally{jh()}};var Ge=class e extends mn{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 Tu=BigInt(144e11),Nu=!1,Ou={width:576,height:576},Eu={width:424,height:576},Ru={width:505,height:705},fo="internetcomputer.org",vu="ic0.app",Iu="id.ai";var Au=async e=>{let t=new Blob([JSON.stringify(e,lu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},vs=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(),uu)},Is=()=>typeof window<"u";var As=({width:e,height:t})=>{if(!Is()||j(window)||j(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,s=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=${s}`};function Su(e){return e!==null&&typeof e=="object"}var ho=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Su(t)){let r=t;if(Su(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(_t(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(_t(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=Vr(t,Cr);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Dr(t,Cr);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}},xn=class e extends bt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Le.utils.randomPrivateKey()),bc(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=Le.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ho.fromDer(be(r)),be(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(ho.fromRaw(t),r)}static fromSecretKey(t){let r=Le.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ho.from(t),this.#t=r}toJSON(){return[M(this.#e.toDer()),M(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Le.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,s,i]=[t,r,n].map(a=>(typeof a=="string"&&(a=be(a)),_t(a)));return Le.verify(o,s,i)}};var Sa=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Fu(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 Sa("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 Lr=class e extends bt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=Fu(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=_t(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(t,r){let n=Fu(r),o=_t(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=_t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ss=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 Fa(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return be(e)}var bn=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:M(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Kh(e,t,r,n){let o=new bn(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Ii,...new Uint8Array(Ct({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var qr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await Kh(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],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(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:u,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new bn(Fa(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return L.fromHex(d)})),signature:Fa(a)}});return new this(o,Fa(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:M(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:M(n)}}),publicKey:M(this.publicKey)}}},Mr=class extends bt{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 Ct(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...jn,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},mo=class e extends Ss{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Pa(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 s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Pu=["mousedown","mousemove","keydown","touchstart","wheel"],_o=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new this(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),Pu.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...u)=>{let p=this,d=function(){c=void 0,i.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Pu.forEach(function(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 $h=(e,t)=>t.some(r=>e instanceof r),Bu,Cu;function Hh(){return Bu||(Bu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Gh(){return Cu||(Cu=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Vu=new WeakMap,Ca=new WeakMap,Du=new WeakMap,Ba=new WeakMap,Da=new WeakMap;function zh(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(Tt(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return t.then(r=>{r instanceof IDBCursor&&Vu.set(r,e)}).catch(()=>{}),Da.set(t,e),t}function Wh(e){if(Ca.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});Ca.set(e,t)}var Va={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Ca.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Du.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Tt(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 Uu(e){Va=e(Va)}function Yh(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Fs(this),t,...r);return Du.set(n,t.sort?t.sort():[t]),Tt(n)}:Gh().includes(e)?function(...t){return e.apply(Fs(this),t),Tt(Vu.get(this))}:function(...t){return Tt(e.apply(Fs(this),t))}}function Jh(e){return typeof e=="function"?Yh(e):(e instanceof IDBTransaction&&Wh(e),$h(e,Hh())?new Proxy(e,Va):e)}function Tt(e){if(e instanceof IDBRequest)return zh(e);if(Ba.has(e))return Ba.get(e);let t=Jh(e);return t!==e&&(Ba.set(e,t),Da.set(t,e)),t}var Fs=e=>Da.get(e);function Lu(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),a=Tt(i);return n&&i.addEventListener("upgradeneeded",c=>{n(Tt(i.result),c.oldVersion,c.newVersion,Tt(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Zh=["get","getKey","getAll","getAllKeys","count"],Xh=["put","add","delete","clear"],Ua=new Map;function ku(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Ua.get(t))return Ua.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Xh.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Zh.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Ua.set(t,s),s}Uu(e=>({...e,get:(t,r,n)=>ku(t,r)||e.get(t,r,n),has:(t,r)=>!!ku(t,r)||e.has(t,r)}));var qu="auth-client-db",Mu="ic-keyval",Qh=async(e=qu,t=Mu,r)=>(Ps&&localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(qe)),await Lu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function em(e,t,r){return await e.get(t,r)}async function tm(e,t,r,n){return await e.put(t,n,r)}async function rm(e,t,r){return await e.delete(t,r)}var yo=class e{_db;_storeName;static async create(t){let{dbName:r=qu,storeName:n=Mu,version:o=ju}=t??{},s=await Qh(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await tm(this._db,this._storeName,t,r)}async get(t){return await em(this._db,this._storeName,t)??null}async remove(t){return await rm(this._db,this._storeName,t)}};var qe="identity",ze="delegation",Ku="iv",ju=1,Ps=typeof window<"u",go=class{prefix;_localStorage;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=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Ht=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}yo.create(this.#e).then(r=>{this.initializedDb=r,t(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 nm=BigInt(1e9),om=BigInt(3600),sm=nm*om,im="https://identity.internetcomputer.org",am="#authorize",cm=BigInt(8)*sm,ka="ECDSA",La="Ed25519",lm=500,Ma="UserInterrupt",Bs=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(t={}){let r=t.storage??new Ht,n=t.keyType??ka,o=null;if(t.identity)o=t.identity;else{let c=await r.get(qe);if(!c&&Ps)try{let u=new go,p=await u.get(ze),d=await u.get(qe);p&&d&&n===ka&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(qe,d),c=p,await u.remove(ze),await u.remove(qe))}catch(u){console.error("error while attempting to recover localstorage: "+u)}if(c)try{typeof c=="object"?n===La&&typeof c=="string"?o=xn.fromJSON(c):o=await Lr.fromKeyPair(c):typeof c=="string"&&(o=xn.fromJSON(c))}catch{}}let s=new Ye,i=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?s=t.identity:c&&(i=qr.fromJSON(c),Pa(i)?"toDer"in o?s=mo.fromDelegation(o,i):s=Mr.fromDelegation(o,i):(await qa(r),o=null))}catch(c){console.error(c),await qa(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=_o.create(t.idleOptions)),o||(n===La?(o=xn.generate(),await r.set(qe,JSON.stringify(o.toJSON()))):(t.storage&&n===ka&&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 '${La}' as the key type, as it can serialize to a string`),o=await Lr.generate(),await r.set(qe,o.getKeyPair()))),new this(s,o,i,r,a,t)}constructor(t,r,n,o,s,i,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_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 bn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=qr.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=mo.fromDelegation(s,this._chain):this._identity=Mr.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=_o.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,JSON.stringify(this._chain.toJSON())),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Pa(this._chain)}async login(t){let r=um(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??cm,o=new URL(r?.identityProvider?.toString()||im);o.hash=am,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 s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ma,r?.onError):setTimeout(s,lm))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={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(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default: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 qa(this._storage),this._identity=new Ye,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function qa(e){await e.remove(qe),await e.remove(ze),await e.remove(Ku)}function um(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}var Nt=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 $u=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))($u||{});var Cs=class extends Error{},jr=class extends Error{},Vs=class extends Error{},Ds=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=class extends Error{},qs=class extends Error{};var wn=class{async signIn({options:t,authClient:r,initAuth:n}){await Nt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Nt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(j(r)){o(new jr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===Ma){o(new Vs(s));return}o(new Cs(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Tu,allowPinAuthentication:t?.allowPin??Nu,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ms=class extends wn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let s=Ge.getInstance().get()?.container;if(j(s)||s===!1){let p=[fo,vu].includes(this.#e??fo);return au(this.#e)?`https://identity.${fo}`:p?`https://identity.${this.#e??fo}`:`https://${this.#e}`}let i=Ge.getInstance().get(),a=X(i)&&X(i?.internetIdentityId)?i.internetIdentityId:xu,{host:c,protocol:u}=new URL(s===!0?_n:s);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})(),o=URL.parse(n)?.hostname?.includes(Iu)===!0;return{...t!==!1&&{windowOpenerFeatures:As(o?Eu:Ou)},identityProvider:n}}};var js=class extends wn{#e;#t;constructor({appName:t,logoUrl:r}){super(),this.#e=t,this.#t=r}get id(){return"nfid"}signInOptions({windowed:t}){return{...t!==!1&&{windowOpenerFeatures:As(Ru)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Ot={certified:!1};var le=e=>X(e)?e:Ks()??new Ye;var Hu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=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}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=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)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,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:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=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)}),z=e.Record({memory:C,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}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],["query"])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=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}),xe=e.Record({batch_id:e.Nat}),Hs=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,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=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,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[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,c],[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,c],[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([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),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,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],["query"]),get_auth_config:e.Func([],[e.Opt(R)],["query"]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(F)],["query"]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],["query"]),get_storage_config:e.Func([],[A],["query"]),http_request:e.Func([ne],[Fe],["query"]),http_request_streaming_callback:e.Func([z],[pt],["query"]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],["query"]),list_docs:e.Func([e.Text,c],[zs],["query"]),list_proposals:e.Func([Js],[Xs],["query"]),list_rules:e.Func([f,ei],[ti],["query"]),memory_size:e.Func([],[ri],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})},Gu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=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}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=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)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,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:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=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)}),z=e.Record({memory:C,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}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],[])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=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}),xe=e.Record({batch_id:e.Nat}),Hs=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,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=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,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),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(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[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,c],[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,c],[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([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),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,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],[]),get_auth_config:e.Func([],[e.Opt(R)],[]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(F)],[]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],[]),get_storage_config:e.Func([],[A],[]),http_request:e.Func([ne],[Fe],[]),http_request_streaming_callback:e.Func([z],[pt],[]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],[]),list_docs:e.Func([e.Text,c],[zs],[]),list_proposals:e.Func([Js],[Xs],[]),list_rules:e.Func([f,ei],[ti],[]),memory_size:e.Func([],[ri],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})};var zu=({satelliteId:e,container:t})=>{let{satelliteId:r}=ja({satelliteId:e}),{container:n}=Ka({container:t});if(X(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?_n:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ja=({satelliteId:e})=>X(e)?{satelliteId:e}:Ge.getInstance().get()??{satelliteId:void 0},Ka=({container:e})=>X(e)?{container:e}:Ge.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Yu({idlFactory:t?Gu:Hu,actorKey:`stock#${t?"update":"query"}`,...e}),Wu=({idlFactory:e,...t})=>Yu({idlFactory:e,actorKey:"extended#query",...t}),Yu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=ja({satelliteId:e});uo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Ka({container:t});return await gn.getInstance().getActor({satelliteId:n,container:o,...r})};var Ju=e=>{if(j(e))return ce();switch(e.matcher){case"equal":return ce({Equal:e.timestamp});case"greaterThan":return ce({GreaterThan:e.timestamp});case"lessThan":return ce({LessThan:e.timestamp});case"between":return ce({Between:[e.timestamps.start,e.timestamps.end]});default:throw new qs("Invalid list matcher for timestamp",e)}},pr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:j(e)?[]:[{key:ce(e.key),description:ce(e.description),created_at:Ju(e.createdAt),updated_at:Ju(e.updatedAt)}],paginate:ce(j(t)?void 0:{start_after:ce(t.startAfter),limit:ce(j(t.limit)?void 0:BigInt(t.limit))}),order:ce(j(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ce(j(n)?void 0:typeof n=="string"?L.fromText(n):n)});var Zu=async({data:e})=>{try{return await vs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var $a=async e=>{let{data:t,version:r,description:n}=e;return{description:ce(n),data:await Au(t),version:ce(r)}},Ha=e=>{let{version:t}=e;return{version:ce(t)}},xo=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:s,...i}=e;return{key:t,description:Oe(o),owner:r.toText(),data:await vs(s),version:Oe(n),...i}};var Xu=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=Oe(await n(e,t));if(!j(o))return xo({doc:o,key:t})},Qu=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=Oe(a);s.push(X(c)?await xo({key:i,doc:c}):void 0)}return s},ed=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,s=await $a(t),i=await n(e,o,s);return await xo({key:o,doc:i})},td=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:i,doc:a}of e){let{key:c}=a;n.push([i,c,await $a(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await xo({key:i,doc:a}));return s},rd=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Ha(t))},nd=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:s})=>[o,s.key,Ha(s)]);await r(n)},od=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pr(t))},sd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(e,pr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:Oe(h),owner:f.toText(),data:await Zu({data:l}),version:Oe(_),...g})}return{items:u,items_length:i,items_page:Oe(s),matches_length:a,matches_pages:Oe(c)}},id=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pr(t))};var $s=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Xu({...r,satellite:{...e,identity:n},options:t??Ot})},Hb=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Qu({...r,satellite:{...e,identity:n},options:t??Ot})},ad=async({satellite:e,...t})=>{let r=le(e?.identity);return await ed({...t,satellite:{...e,identity:r},options:{certified:!0}})},cd=async({satellite:e,...t})=>{let r=le(e?.identity);return await td({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gb=async({satellite:e,...t})=>{let r=le(e?.identity);return await rd({...t,satellite:{...e,identity:r},options:{certified:!0}})},zb=async({satellite:e,...t})=>{let r=le(e?.identity);return await nd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Wb=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await od({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},Yb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await sd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})},Jb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await id({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})};var ld=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await cd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:Es(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var ud=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(ud||{}),dd=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(dd||{});var bo=class{get id(){return"webauthn"}async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=Ge.getInstance().get()??{satelliteId:void 0};if(j(s))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let i=({step:_,state:g})=>{switch(_){case dr.RequestingUserCredential:t?.({step:1,state:g});break;case dr.FinalizingCredential:t?.({step:2,state:g});break;case dr.Signing:t?.({step:3,state:g});break}},c=await Nt({fn:async()=>await va.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Nt({fn:async()=>await ld({delegationIdentity:u,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:t});await Nt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Nt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ge.getInstance().get()??{satelliteId:void 0};if(j(o))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:d})=>{let l=await $s({collection:"#user-webauthn",key:Rs(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if(j(l))throw new Us("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Dr(h,co)},i=({step:d,state:l})=>{switch(d){case dr.RequestingUserCredential:t?.({step:0,state:l});break;case dr.FinalizingCredential:t?.({step:1,state:l});break;case dr.Signing:t?.({step:2,state:l});break}},a=await va.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Nt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Nt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Lr.generate({extractable:!1}),o=r??144e5,s=await qr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Mr.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Ht;await Promise.all([n.set(qe,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var wo=()=>Bs.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),pd=async()=>(await new Ht().remove(qe),await wo());var Ga=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var fd="juno.datastore.error.user.cannot_update";var hd=async({provider:e})=>{let{user:t,userId:r}=await za();if(X(t))return t;try{return await pm({userId:r,provider:e})}catch(n){if(Ga({error:n,type:fd})){let o=await md({userId:r});if(X(o))return o}throw n}},za=async()=>{let e=Ks();if(j(e))throw new Ls("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await md({userId:t});return{userId:t,user:r}},md=({userId:e})=>$s({collection:"#user",key:e}),pm=({userId:e,...t})=>ad({collection:"#user",doc:{key:e,data:t}});var tt,Wa=async()=>{await Ya({fn:async()=>{let{user:t}=await za();et.getInstance().set(t??null)}})},fm=async({user:e})=>{await Ya({fn:async()=>{et.getInstance().set(e)}})},_d=async({provider:e})=>{await Ya({fn:async()=>{let r=await hd({provider:e});et.getInstance().set(r)}})},Ya=async({fn:e})=>{if(tt=await wo(),!await tt.isAuthenticated()){tt=await pd();return}await e()},hm=async e=>{let t=async()=>await _m(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},mm=async e=>{let t=async()=>await ym(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},_m=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signIn({options:t,loadAuth:Wa});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new js({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:_d});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new Ms({domain:r}).signIn({options:n,authClient:tt,initAuth:_d});return}throw new Ds("An unknown or unsupported provider was provided for sign-in.")},ym=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:fm});return}throw new ks("An unknown or unsupported provider was provided for sign-up.")},Ja=async e=>{await gm(),tt=await wo(),e?.windowReload!==!1&&window.location.reload()},gm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),gn.getInstance().reset(),yn.getInstance().reset()},Ks=()=>tt?.getIdentity(),xm=async()=>(tt??await wo()).getIdentity(),bm=async()=>{let e=et.getInstance().get();return j(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var yd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ia({message:"junoSignOutAuthTimer"}),await Ja()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ia({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if(j(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var gd=()=>{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()},xd=()=>{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()};var Gw=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await Wu({idlFactory:e,...t,identity:r})};var bd=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(wm(r));o?.onInitiatedBatch();let{chunkIds:u}=await Om({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Nm({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var wm=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:s})=>({collection:t,full_path:n,name:e,token:ce(r),encoding_type:ce(o),description:ce(s)}),Tm=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([s,i])=>s.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:s})=>s),headers:[...r,...o??[]]}},Nm=async({commitFn:e,...t})=>{let r=Tm(t);await e(r)},Om=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Is()?new Blob([await e.arrayBuffer()]):e,s=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:s}),s++}let i=[];for await(let a of Em({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*Em({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=>Rm(o)))}}var Rm=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ce(n)});var wd=async({asset:e,...t})=>{let r=await ge(t);await bd({actor:r,asset:e})},Td=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(e,pr(t));return{items:o.map(([u,p])=>p),items_length:s,items_page:Oe(i),matches_length:a,matches_pages:Oe(c)}},Nd=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pr(t))},Od=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Ed=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},Rd=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pr(t))},vd=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return Oe(await n(e,t))},Id=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>Oe(i))};var Ad=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var lT=e=>Sd(e),uT=e=>Sd({filename:e.data.name,...e}),Sd=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let u=le(i?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...i,identity:u};return await wd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Fd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},dT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:s,...i}=await Td({collection:e,filter:t??{},satellite:o,options:n??Ot}),a=s.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=Oe(u);return{fullPath:c,description:Oe(l),name:p,downloadUrl:Fd({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:Ad(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...i}},pT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await Nd({collection:e,satellite:o,filter:t??{},options:n??Ot})},fT=({collection:e,fullPath:t,satellite:r})=>Od({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),hT=({assets:e,satellite:t})=>Ed({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),mT=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Rd({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},_T=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await vd({...r,satellite:{...e,identity:n},options:t??Ot})},yT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Id({...r,satellite:{...e,identity:n},options:t??Ot})},Fd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${zu(n)}${e}${X(t)?`?token=${t}`:""}`};var vm=e=>{let t=e?.satelliteId??gd();uo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??xd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},RT=e=>Im(e),Im=async e=>{let t=vm(e);Ge.getInstance().set(t),await Wa();let r=t.workers?.auth!==void 0?yd(t.workers.auth):void 0;return[...r?[r]:[]]},Am=e=>et.getInstance().subscribe(e),vT=Am;export{$u as AuthClientSignInProgressStep,Ls as InitError,Ms as InternetIdentityProvider,qs as ListError,js as NFIDProvider,Cs as SignInError,jr as SignInInitError,Ds as SignInProviderNotSupportedError,Vs as SignInUserInterruptError,ks as SignUpProviderNotSupportedError,ud as WebAuthnSignInProgressStep,Us as WebAuthnSignInRetrievePublicKeyError,dd as WebAuthnSignUpProgressStep,vT as authSubscribe,pT as countAssets,Jb as countDocs,fT as deleteAsset,Gb as deleteDoc,mT as deleteFilteredAssets,Wb as deleteFilteredDocs,hT as deleteManyAssets,zb as deleteManyDocs,Fd as downloadUrl,_T as getAsset,$s as getDoc,bm as getIdentityOnce,yT as getManyAssets,Hb as getManyDocs,Gw as getSatelliteExtendedActor,RT as initJuno,Im as initSatellite,qh as isWebAuthnAvailable,dT as listAssets,Yb as listDocs,Am as onAuthStateChange,ad as setDoc,cd as setManyDocs,hm as signIn,Ja as signOut,mm as signUp,xm as unsafeIdentity,lT as uploadBlob,uT as uploadFile};
55
55
  /*! Bundled license information:
56
56
 
57
57
  @noble/hashes/esm/utils.js: