@junobuild/core-standalone 3.4.1 → 4.0.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.
- package/dist/browser/index.js +19 -19
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +19 -19
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/auth/providers/github.providers.d.ts +14 -0
- package/dist/types/auth/services/redirect.services.d.ts +2 -1
- package/dist/types/auth/types/auth.d.ts +19 -0
- package/dist/types/auth/types/github.d.ts +56 -0
- package/dist/types/auth/types/google.d.ts +0 -1
- package/dist/types/auth/utils/url.utils.d.ts +3 -0
- package/dist/types/core/utils/window.env.utils.d.ts +2 -0
- package/dist/types/index.d.ts +4 -1
- package/package.json +2 -2
package/dist/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var sf=Object.defineProperty;var af=(e,t)=>{for(var r in t)sf(e,r,{get:t[r],enumerable:!0})};var ol;(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"})(ol||(ol={}));var Er;(function(e){e.Replied="replied",e.Rejected="rejected"})(Er||(Er={}));function il(e){return e!=null&&"reject_code"in e}function sl(e){return e!=null&&"certificate"in e}var mi="abcdefghijklmnopqrstuvwxyz234567",qn=Object.create(null);for(let e=0;e<mi.length;e++)qn[mi[e]]=e;qn[0]=qn.o;qn[1]=qn.i;function al(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=mi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?mi[r>>3]:"")}function cl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=qn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var cf=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 ll(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=cf[o]^t>>>8}return(t^-1)>>>0}var gn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function At(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ra(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!At(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 na(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 dl(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function xn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function yi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function yt(e,t){return e<<32-t|e>>>t}var pl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",lf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),pl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=lf[e[r]];return t}var Qt={_0:48,_9:57,A:65,F:70,a:97,f:102};function ul(e){if(e>=Qt._0&&e<=Qt._9)return e-Qt._0;if(e>=Qt.A&&e<=Qt.F)return e-(Qt.A-10);if(e>=Qt.a&&e<=Qt.f)return e-(Qt.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(pl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=ul(e.charCodeAt(i)),a=ul(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function oa(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var _i=class{};function gi(e){let t=n=>e().update(oa(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Mn(e=32){if(gn&&typeof gn.getRandomValues=="function")return gn.getRandomValues(new Uint8Array(e));if(gn&&typeof gn.randomBytes=="function")return Uint8Array.from(gn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function uf(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function fl(e,t,r){return e&t^~e&r}function hl(e,t,r){return e&t^e&r^t&r}var xo=class extends _i{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=yi(this.buffer)}update(t){na(this),t=oa(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=yi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){na(this),dl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,xn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;uf(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=yi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},er=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var xi=BigInt(4294967295),ml=BigInt(32);function df(e,t=!1){return t?{h:Number(e&xi),l:Number(e>>ml&xi)}:{h:Number(e>>ml&xi)|0,l:Number(e&xi)|0}}function _l(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=df(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ia=(e,t,r)=>e>>>r,sa=(e,t,r)=>e<<32-r|t>>>r,bn=(e,t,r)=>e>>>r|t<<32-r,wn=(e,t,r)=>e<<32-r|t>>>r,bo=(e,t,r)=>e<<64-r|t>>>r-32,wo=(e,t,r)=>e>>>r-32|t<<64-r;function St(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var yl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),gl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,xl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),bl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,wl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Tl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var ff=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rr=new Uint32Array(64),bi=class extends xo{constructor(t=32){super(64,t,8,!1),this.A=er[0]|0,this.B=er[1]|0,this.C=er[2]|0,this.D=er[3]|0,this.E=er[4]|0,this.F=er[5]|0,this.G=er[6]|0,this.H=er[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Rr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Rr[d-15],f=Rr[d-2],h=yt(l,7)^yt(l,18)^l>>>3,_=yt(f,17)^yt(f,19)^f>>>10;Rr[d]=_+Rr[d-7]+h+Rr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=yt(a,6)^yt(a,11)^yt(a,25),f=p+l+fl(a,c,u)+ff[d]+Rr[d]|0,_=(yt(n,2)^yt(n,13)^yt(n,22))+hl(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){xn(Rr)}destroy(){this.set(0,0,0,0,0,0,0,0),xn(this.buffer)}},aa=class extends bi{constructor(){super(28),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}},Nl=_l(["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))),hf=Nl[0],mf=Nl[1],Ir=new Uint32Array(80),vr=new Uint32Array(80),ca=class extends xo{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Ir[y]=t.getUint32(r),vr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Ir[y-15]|0,E=vr[y-15]|0,O=bn(T,E,1)^bn(T,E,8)^ia(T,E,7),R=wn(T,E,1)^wn(T,E,8)^sa(T,E,7),v=Ir[y-2]|0,w=vr[y-2]|0,I=bn(v,w,19)^bo(v,w,61)^ia(v,w,6),F=wn(v,w,19)^wo(v,w,61)^sa(v,w,6),S=xl(R,F,vr[y-7],vr[y-16]),b=bl(S,O,I,Ir[y-7],Ir[y-16]);Ir[y]=b|0,vr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=bn(d,l,14)^bn(d,l,18)^bo(d,l,41),E=wn(d,l,14)^wn(d,l,18)^wo(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=wl(x,E,R,mf[y],vr[y]),w=Tl(v,m,T,O,hf[y],Ir[y]),I=v|0,F=bn(n,o,28)^bo(n,o,34)^bo(n,o,39),S=wn(n,o,28)^wo(n,o,34)^wo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=St(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=yl(I,S,N);n=gl(C,w,F,b),o=C|0}({h:n,l:o}=St(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=St(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=St(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=St(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=St(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=St(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=St(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=St(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){xn(Ir,vr)}destroy(){xn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=gi(()=>new bi),Ol=gi(()=>new aa),El=gi(()=>new ca);var wi="__principal__",_f=2,Rl=4,yf="aaaaa-aa",U=class e{static anonymous(){return new this(new Uint8Array([Rl]))}static managementCanister(){return this.fromText(yf)}static selfAuthenticating(t){let r=Ol(t);return new this(new Uint8Array([...r,_f]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(wi)){let s=JSON.parse(t);wi in s&&(r=s[wi])}let n=r.toLowerCase().replace(/-/g,""),o=cl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Rl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,ll(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=al(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[wi]: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 rr;(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"})(rr||(rr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
1
|
+
var pf=Object.defineProperty;var ff=(e,t)=>{for(var r in t)pf(e,r,{get:t[r],enumerable:!0})};var fl;(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"})(fl||(fl={}));var Ir;(function(e){e.Replied="replied",e.Rejected="rejected"})(Ir||(Ir={}));function hl(e){return e!=null&&"reject_code"in e}function ml(e){return e!=null&&"certificate"in e}var yi="abcdefghijklmnopqrstuvwxyz234567",jn=Object.create(null);for(let e=0;e<yi.length;e++)jn[yi[e]]=e;jn[0]=jn.o;jn[1]=jn.i;function _l(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=yi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?yi[r>>3]:"")}function yl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=jn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var hf=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function gl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=hf[o]^t>>>8}return(t^-1)>>>0}var bn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function St(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function da(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!St(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function pa(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function bl(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function wn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function xi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function gt(e,t){return e<<32-t|e>>>t}var wl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),wl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=mf[e[r]];return t}var er={_0:48,_9:57,A:65,F:70,a:97,f:102};function xl(e){if(e>=er._0&&e<=er._9)return e-er._0;if(e>=er.A&&e<=er.F)return e-(er.A-10);if(e>=er.a&&e<=er.f)return e-(er.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(wl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=xl(e.charCodeAt(i)),a=xl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function fa(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var gi=class{};function bi(e){let t=n=>e().update(fa(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Kn(e=32){if(bn&&typeof bn.getRandomValues=="function")return bn.getRandomValues(new Uint8Array(e));if(bn&&typeof bn.randomBytes=="function")return Uint8Array.from(bn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function _f(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Tl(e,t,r){return e&t^~e&r}function Nl(e,t,r){return e&t^e&r^t&r}var wo=class extends gi{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=xi(this.buffer)}update(t){pa(this),t=fa(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=xi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){pa(this),bl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,wn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;_f(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=xi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},tr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var wi=BigInt(4294967295),Ol=BigInt(32);function yf(e,t=!1){return t?{h:Number(e&wi),l:Number(e>>Ol&wi)}:{h:Number(e>>Ol&wi)|0,l:Number(e&wi)|0}}function El(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=yf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ha=(e,t,r)=>e>>>r,ma=(e,t,r)=>e<<32-r|t>>>r,Tn=(e,t,r)=>e>>>r|t<<32-r,Nn=(e,t,r)=>e<<32-r|t>>>r,To=(e,t,r)=>e<<64-r|t>>>r-32,No=(e,t,r)=>e>>>r-32|t<<64-r;function Ct(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Rl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Il=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,vl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Al=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Sl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Cl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var xf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),vr=new Uint32Array(64),Ti=class extends wo{constructor(t=32){super(64,t,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)vr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=vr[d-15],f=vr[d-2],h=gt(l,7)^gt(l,18)^l>>>3,_=gt(f,17)^gt(f,19)^f>>>10;vr[d]=_+vr[d-7]+h+vr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=gt(a,6)^gt(a,11)^gt(a,25),f=p+l+Tl(a,c,u)+xf[d]+vr[d]|0,_=(gt(n,2)^gt(n,13)^gt(n,22))+Nl(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){wn(vr)}destroy(){this.set(0,0,0,0,0,0,0,0),wn(this.buffer)}},_a=class extends Ti{constructor(){super(28),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}},Fl=El(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),bf=Fl[0],wf=Fl[1],Ar=new Uint32Array(80),Sr=new Uint32Array(80),ya=class extends wo{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Ar[y]=t.getUint32(r),Sr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Ar[y-15]|0,E=Sr[y-15]|0,O=Tn(T,E,1)^Tn(T,E,8)^ha(T,E,7),R=Nn(T,E,1)^Nn(T,E,8)^ma(T,E,7),v=Ar[y-2]|0,w=Sr[y-2]|0,I=Tn(v,w,19)^To(v,w,61)^ha(v,w,6),F=Nn(v,w,19)^No(v,w,61)^ma(v,w,6),S=vl(R,F,Sr[y-7],Sr[y-16]),b=Al(S,O,I,Ar[y-7],Ar[y-16]);Ar[y]=b|0,Sr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=Tn(d,l,14)^Tn(d,l,18)^To(d,l,41),E=Nn(d,l,14)^Nn(d,l,18)^No(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=Sl(x,E,R,wf[y],Sr[y]),w=Cl(v,m,T,O,bf[y],Ar[y]),I=v|0,F=Tn(n,o,28)^To(n,o,34)^To(n,o,39),S=Nn(n,o,28)^No(n,o,34)^No(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Ct(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=Rl(I,S,N);n=Il(C,w,F,b),o=C|0}({h:n,l:o}=Ct(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Ct(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Ct(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Ct(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Ct(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Ct(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=Ct(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=Ct(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){wn(Ar,Sr)}destroy(){wn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=bi(()=>new Ti),Pl=bi(()=>new _a),Vl=bi(()=>new ya);var Ni="__principal__",Tf=2,Bl=4,Nf="aaaaa-aa",k=class e{static anonymous(){return new this(new Uint8Array([Bl]))}static managementCanister(){return this.fromText(Nf)}static selfAuthenticating(t){let r=Pl(t);return new this(new Uint8Array([...r,Tf]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Ni)){let s=JSON.parse(t);Ni in s&&(r=s[Ni])}let n=r.toLowerCase().replace(/-/g,""),o=yl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Bl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,gl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=_l(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ni]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var nr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(nr||(nr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
2
2
|
Request context:
|
|
3
3
|
Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
|
|
4
4
|
Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
|
|
@@ -7,51 +7,51 @@ Request context:
|
|
|
7
7
|
Call context:
|
|
8
8
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
9
9
|
Method name: ${this.callContext.methodName}
|
|
10
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},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}`}},
|
|
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}`}},or=class extends nt{static fromCode(t){return new this(t)}},Le=class e extends or{constructor(t){super(t,nr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends or{constructor(t){super(t,nr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Cr=class e extends or{constructor(t){super(t,nr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Oo=class e extends or{constructor(t){super(t,nr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},ye=class e extends or{constructor(t){super(t,nr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var Y=class e extends or{constructor(t){super(t,nr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ce=class e extends or{constructor(t){super(t,nr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},xt=class e extends G{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+=`: ${Co(this.error)}`),`Certificate verification error: "${t}"`}},ir=class e extends G{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Oi=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},On=class e extends G{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()}`}},Ei=class e extends G{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},bt=class e extends G{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}`}},Ri=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Ii=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Hn=class e extends G{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`}},vi=class e extends G{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},Ai=class e extends G{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}`}},wt=class e extends G{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Eo=class e extends G{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Si=class e extends G{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Co(this.error)}, input: ${j(this.input)}`}},Ci=class e extends G{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Co(this.error)}, input: ${this.value}`}};var En=class e extends G{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
|
|
11
11
|
`;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
|
|
12
12
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
13
|
-
`),t}},
|
|
13
|
+
`),t}},Fi=class e extends G{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
14
14
|
Request ID: ${j(this.requestId)}
|
|
15
|
-
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}}
|
|
15
|
+
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},$n=class e extends G{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
16
16
|
Request ID: ${j(this.requestId)}
|
|
17
17
|
Reject code: ${this.rejectCode}
|
|
18
18
|
Reject text: ${this.rejectMessage}
|
|
19
19
|
Error code: ${this.rejectErrorCode}
|
|
20
|
-
`}},
|
|
20
|
+
`}},Pi=class e extends G{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
21
21
|
Request ID: ${j(this.requestId)}
|
|
22
22
|
Reject code: ${this.rejectCode}
|
|
23
23
|
Reject text: ${this.rejectMessage}
|
|
24
24
|
Error code: ${this.rejectErrorCode}
|
|
25
|
-
`}},
|
|
25
|
+
`}},Vi=class e extends G{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
26
26
|
Request ID: ${j(this.requestId)}
|
|
27
27
|
Reject code: ${this.rejectCode}
|
|
28
28
|
Reject text: ${this.rejectMessage}
|
|
29
29
|
Error code: ${this.rejectErrorCode}
|
|
30
|
-
`}},
|
|
30
|
+
`}},Bi=class e extends G{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
31
31
|
Request ID: ${j(this.requestId)}
|
|
32
|
-
`}},at=class e extends G{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.`}},
|
|
32
|
+
`}},at=class e extends G{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.`}},Di=class e extends G{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}`}},Gn=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Fr=class e extends G{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."}},Ft=class e extends G{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.`}},Ui=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},ki=class e extends G{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},Li=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},qi=class e extends G{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Mi=class e extends G{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Re=class e extends G{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Co(this.error)}`}},Pr=class e extends G{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Ro=class e extends G{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}},Eo=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Ro=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Ao(this.error)}`}},Io=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},qi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},vo=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Ao(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ct=new Error("unreachable");var In={};af(In,{Bool:()=>Bl,BoolClass:()=>$i,ConstructType:()=>Vt,Empty:()=>Pl,EmptyClass:()=>Co,FixedIntClass:()=>ar,FixedNatClass:()=>Pt,Float32:()=>ql,Float64:()=>Ml,FloatClass:()=>Vo,Func:()=>nu,FuncClass:()=>Rn,Int:()=>kl,Int16:()=>Kl,Int32:()=>Hl,Int64:()=>$l,Int8:()=>jl,IntClass:()=>Fo,Nat:()=>Ll,Nat16:()=>Jl,Nat32:()=>Wl,Nat64:()=>zl,Nat8:()=>Gl,NatClass:()=>Po,Null:()=>Dl,NullClass:()=>On,Opt:()=>Ql,OptClass:()=>Vr,PrimitiveType:()=>ze,Principal:()=>Yl,PrincipalClass:()=>Wi,Rec:()=>ru,RecClass:()=>lt,Record:()=>eu,RecordClass:()=>En,Reserved:()=>Vl,ReservedClass:()=>Bt,Service:()=>ou,ServiceClass:()=>zn,Text:()=>Ul,TextClass:()=>Gi,Tuple:()=>Zl,TupleClass:()=>Ji,Type:()=>Gn,Unknown:()=>Tf,UnknownClass:()=>Hi,Variant:()=>tu,VariantClass:()=>Wn,Vec:()=>Xl,VecClass:()=>Jn,Visitor:()=>ha,decode:()=>wf,encode:()=>bf,resetSubtypeCache:()=>ma,subtype:()=>ya});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var wt=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=Ft(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 Ft(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?Ft(e.buffer):new Uint8Array(e)}function $n(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 Il(e,t){return $n(e,t)===0}function vl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function gf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function qe(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return gf(e)}function la(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Mi(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Al(){throw new Error("unexpected end of buffer")}function Pr(e,t){return e.byteLength<t&&Al(),e.read(t)}function Fr(e){let t=e.readUint8();return t===void 0&&Al(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:la(e))+1,r=new wt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Fr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:la(e))+1,n=new wt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function ir(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(Pr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Sl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return ua(e,t)}function ua(e,t){e=BigInt(e);let r=new wt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function da(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Fr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Fr(e));r=r+n*i}return r}function Cl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=da(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var ji="DIDL",xf=new TextEncoder().encode(ji),Fl=400;function So(e,t,r){return e.map((n,o)=>r(n,t[o]))}var fa=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},ha=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var Gn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},ze=class extends Gn{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){}},Vt=class extends Gn{checkType(t){if(t instanceof lt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Co=class extends ze{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Hi=class extends Gn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof lt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},$i=class extends ze{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Fr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},On=class extends ze{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Bt=class extends ze{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Gi=class extends ze{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=Pr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Fo=class extends ze{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),ir(t)}get name(){return"int"}valueToString(t){return t.toString()}},Po=class extends ze{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ie(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Vo=class extends ze{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=Pr(t,this._bits/8),o=vl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},ar=class extends ze{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Mi(this._bits-1)*BigInt(-1),n=Mi(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ua(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Cl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Pt=class extends ze{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Mi(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return Sl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=da(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Jn=class e extends Vt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Pt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Pt?this._type._bits:this._type instanceof ar?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
36
|
+
`),t}},Io=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},vo=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Co(this.error)}`}},Ao=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},ji=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},So=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Co(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ct=new Error("unreachable");var An={};ff(An,{Bool:()=>Hl,BoolClass:()=>Ji,ConstructType:()=>Bt,Empty:()=>jl,EmptyClass:()=>Po,FixedIntClass:()=>cr,FixedNatClass:()=>Vt,Float32:()=>Wl,Float64:()=>Yl,FloatClass:()=>Do,Func:()=>pu,FuncClass:()=>vn,Int:()=>Jl,Int16:()=>Xl,Int32:()=>Ql,Int64:()=>eu,Int8:()=>Zl,IntClass:()=>Vo,Nat:()=>zl,Nat16:()=>ru,Nat32:()=>nu,Nat64:()=>ou,Nat8:()=>tu,NatClass:()=>Bo,Null:()=>$l,NullClass:()=>Rn,Opt:()=>cu,OptClass:()=>Dr,PrimitiveType:()=>We,Principal:()=>iu,PrincipalClass:()=>Yi,Rec:()=>du,RecClass:()=>lt,Record:()=>lu,RecordClass:()=>In,Reserved:()=>Kl,ReservedClass:()=>Dt,Service:()=>fu,ServiceClass:()=>Zn,Text:()=>Gl,TextClass:()=>zi,Tuple:()=>su,TupleClass:()=>Wi,Type:()=>zn,Unknown:()=>vf,UnknownClass:()=>Gi,Variant:()=>uu,VariantClass:()=>Yn,Vec:()=>au,VecClass:()=>Wn,Visitor:()=>Na,decode:()=>If,encode:()=>Rf,resetSubtypeCache:()=>Oa,subtype:()=>Ra});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var Tt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Pt(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Pt(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Pt(e.buffer):new Uint8Array(e)}function Jn(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function Dl(e,t){return Jn(e,t)===0}function Ul(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Of(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function qe(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Of(e)}function ga(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ki(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function kl(){throw new Error("unexpected end of buffer")}function Br(e,t){return e.byteLength<t&&kl(),e.read(t)}function Vr(e){let t=e.readUint8();return t===void 0&&kl(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:ga(e))+1,r=new Tt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Vr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ga(e))+1,n=new Tt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function sr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(Br(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Ll(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return xa(e,t)}function xa(e,t){e=BigInt(e);let r=new Tt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function ba(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Vr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Vr(e));r=r+n*i}return r}function ql(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=ba(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var Hi="DIDL",Ef=new TextEncoder().encode(Hi),Ml=400;function Fo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ta=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},Na=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var zn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},We=class extends zn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Bt=class extends zn{checkType(t){if(t instanceof lt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Po=class extends We{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Gi=class extends zn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof lt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Ji=class extends We{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Vr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Rn=class extends We{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Dt=class extends We{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},zi=class extends We{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=Br(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Vo=class extends We{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),sr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Bo=class extends We{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ie(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Do=class extends We{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=Br(t,this._bits/8),o=Ul(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},cr=class extends We{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Ki(this._bits-1)*BigInt(-1),n=Ki(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xa(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=ql(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Vt=class extends We{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Ki(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return Ll(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=ba(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Wn=class e extends Bt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Vt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Vt?this._type._bits:this._type instanceof cr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
37
37
|
|
|
38
|
-
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=ie(t.length);if(this._blobOptimization)return Z(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else return Z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new
|
|
38
|
+
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=ie(t.length);if(this._blobOptimization)return Z(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else return Z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new Tt(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Vector),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(ge(t));if(this._type instanceof Vt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof cr){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},Dr=class e extends Bt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}
|
|
39
39
|
|
|
40
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof
|
|
40
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof Rn)return[];if(r instanceof Dt)return[];let n=r;if(r instanceof lt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(Vr(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 Rn||this._type instanceof e||this._type instanceof Dt)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])}`}},In=class e extends Bt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(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: ${_e(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=
|
|
42
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Fo(this._fields,r,([,o],i)=>o.encodeValue(i));return Z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Record),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,Z(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=qe(this._fields[i][0]),l=qe(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Dr||p instanceof Dt)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Dr||c instanceof Dt)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[qe(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 {${Fo(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},Wi=class e extends In{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
43
43
|
|
|
44
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=
|
|
44
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=Fo(this._components,t,(n,o)=>n.encodeValue(o));return Z(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Fo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Yn=class e extends Bt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(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: ${_e(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=ie(r),s=o.encodeValue(t[n]);return Z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=xe(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(ge(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(qe(i)===qe(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}},lt=class e extends
|
|
46
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=ie(r),s=o.encodeValue(t[n]);return Z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=xe(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(ge(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(qe(i)===qe(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}},lt=class e extends Bt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(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 Ea(e){if(Vr(e)!==1)throw new Error("Cannot decode principal");let r=Number(ge(e));return k.fromUint8Array(new Uint8Array(Br(e,r)))}var Yi=class extends We{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.byteLength);return Z(new Uint8Array([1]),n,r)}encodeType(){return xe(Q.Principal)}decodeValue(t,r){return this.checkType(r),Ea(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},vn=class extends Bt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=ie(n.byteLength),i=Z(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=ie(s.byteLength);return Z(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=xe(Q.Func),n=ie(this.argTypes.length),o=Z(...this.argTypes.map(u=>u.encodeType(t))),i=ie(this.retTypes.length),s=Z(...this.retTypes.map(u=>u.encodeType(t))),a=ie(this.annotations.length),c=Z(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Z(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!Ra(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Vr(t)!==1)throw new Error("Cannot decode function reference");let i=Ea(t),s=Number(ge(t)),a=Br(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},Zn=class extends Bt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.length);return Z(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Service),n=ie(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=ie(a.length);return Z(c,a,s.encodeType(t))});t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!Ra(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Ea(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 _e(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Ml?t.substring(0,Ml-3)+"...":t}function Rf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Ta;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=ie(t.length),i=Z(...e.map(a=>a.encodeType(r))),s=Z(...Fo(e,t,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(u.message+`
|
|
47
47
|
|
|
48
|
-
`)}return a.encodeValue(c)}));return Z(
|
|
49
|
-
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}}
|
|
50
|
-
ic-request`),ba=new TextEncoder().encode("\vic-response"),wa=new TextEncoder().encode("ic-request-auth-delegation");var Dt=class{getPrincipal(){return this._principal||(this._principal=U.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=cr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Do,o))}}}},ot=class{getPrincipal(){return U.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var lr=class extends Error{constructor(t){super(t),this.name="DecodingError"}},au=55799,cu=Symbol("CBOR_STOP_CODE"),Ot=(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))(Ot||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Of=23,Ef=255,Rf=65535,If=4294967295,vf=BigInt("0xffffffffffffffff"),Nt=(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))(Nt||{}),Zn=!1;function Af(e){return e==null}function lu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Sf=new TextDecoder;function Cf(e){return(e&224)>>5}function Ff(e){return e&31}var Lo=new Uint8Array,Uo,Et=0;function uu(e,t){Lo=e,Et=0;let r=An(t);return t?.(r)??r}function An(e){let[t,r]=Yi();switch(t){case Ne.UnsignedInteger:return Xn(r);case Ne.NegativeInteger:return Df(r);case Ne.ByteString:return du(r);case Ne.TextString:return Na(r);case Ne.Array:return Pf(r,e);case Ne.Map:return Bf(r,e);case Ne.Tag:return Uf(r,e);case Ne.Simple:return Vf(r)}throw new lr(`Unsupported major type: ${t}`)}function Yi(){let e=Lo.at(Et);if(Af(e))throw new lr("Provided CBOR data is empty");let t=Cf(e),r=Ff(e);return Et++,[t,r]}function Pf(e,t){let r=Xn(e);if(r===1/0){let o=[],i=An(t);for(;i!==cu;)o.push(t?.(i)??i),i=An(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=An(t);n[o]=t?.(i)??i}return n}function Vf(e){switch(e){case Ot.False:return!1;case Ot.True:return!0;case Ot.Null:return null;case Ot.Undefined:return;case Ot.Break:return cu}throw new lr(`Unrecognized simple type: ${e.toString(2)}`)}function Bf(e,t){let r=Xn(e),n={};if(r===1/0){let[o,i]=Yi();for(;o!==Ne.Simple&&i!==Ot.Break;){let s=Na(i),a=An(t);n[s]=t?.(a,s)??a,[o,i]=Yi()}return n}for(let o=0;o<r;o++){let[i,s]=Yi();if(i!==Ne.TextString)throw new lr("Map keys must be text strings");let a=Na(s),c=An(t);n[a]=t?.(c,a)??c}return n}function Xn(e){if(e<=Nt.Value)return e;switch(Uo=new DataView(Lo.buffer,Lo.byteOffset+Et),e){case Nt.OneByte:return Et++,Uo.getUint8(0);case Nt.TwoBytes:return Et+=2,Uo.getUint16(0,Zn);case Nt.FourBytes:return Et+=4,Uo.getUint32(0,Zn);case Nt.EightBytes:return Et+=8,Uo.getBigUint64(0,Zn);case Nt.Indefinite:return 1/0;default:throw new lr(`Unsupported integer info: ${e.toString(2)}`)}}function Df(e){let t=Xn(e);return typeof t=="number"?-1-t:-1n-t}function du(e){let t=Xn(e);if(t>Number.MAX_SAFE_INTEGER)throw new lr("Byte length is too large");let r=Number(t);return Et+=r,Lo.slice(Et-r,Et)}function Na(e){let t=du(e);return Sf.decode(t)}function Uf(e,t){let r=Xn(e);if(r===au)return An(t);throw new lr(`Unsupported tag: ${r}.`)}var qo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},kf=2*1024,Lf=100,qf=new TextEncoder;function ko(e){return e<<5}var it=new Uint8Array(kf),Tt=new DataView(it.buffer),Te=0,Ta=[];function pu(e,t){Te=0;let r=t?.(e)??e;return Wf(au,r,t),it.slice(0,Te)}function Oa(e,t){if(Te>it.length-Lf&&(it=lu(it,it.length*2),Tt=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){Kf(e);return}if(typeof e=="number"||typeof e=="bigint"){Jf(e);return}if(typeof e=="string"){mu(e);return}if(e instanceof Uint8Array){su(e);return}if(e instanceof ArrayBuffer){su(new Uint8Array(e));return}if(Array.isArray(e)){Mf(e,t);return}if(typeof e=="object"){jf(e,t);return}throw new qo(`Unsupported type: ${typeof e}`)}function Mf(e,t){Qn(Ne.Array,e.length),e.forEach((r,n)=>{Oa(t?.(r,n.toString())??r,t)})}function jf(e,t){Ta=Object.entries(e),Qn(Ne.Map,Ta.length),Ta.forEach(([r,n])=>{mu(r),Oa(t?.(n,r)??n,t)})}function Qn(e,t){if(t<=Of){Tt.setUint8(Te++,ko(e)|Number(t));return}if(t<=Ef){Tt.setUint8(Te++,ko(e)|Nt.OneByte),Tt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Rf){Tt.setUint8(Te++,ko(e)|Nt.TwoBytes),Tt.setUint16(Te,Number(t),Zn),Te+=2;return}if(t<=If){Tt.setUint8(Te++,ko(e)|Nt.FourBytes),Tt.setUint32(Te,Number(t),Zn),Te+=4;return}if(t<=vf){Tt.setUint8(Te++,ko(e)|Nt.EightBytes),Tt.setBigUint64(Te,BigInt(t),Zn),Te+=8;return}throw new qo(`Value too large to encode: ${t}`)}function Kf(e){Qn(Ne.Simple,Hf(e))}function Hf(e){if(e===!1)return Ot.False;if(e===!0)return Ot.True;if(e===null)return Ot.Null;if(e===void 0)return Ot.Undefined;throw new qo(`Unrecognized simple value: ${e.toString()}`)}function fu(e,t){Qn(e,t.length),Te>it.length-t.length&&(it=lu(it,it.length+t.length),Tt=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function hu(e,t){Qn(e,t)}function $f(e){hu(Ne.UnsignedInteger,e)}function Gf(e){hu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Jf(e){e>=0?$f(e):Gf(e)}function mu(e){fu(Ne.TextString,qf.encode(e))}function su(e){fu(Ne.ByteString,e)}function Wf(e,t,r){Qn(Ne.Tag,e),Oa(t,r)}function Yf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Mo(e){try{return pu(e,t=>U.isPrincipal(t)?t.toUint8Array():eo.isExpiry(t)?t.toBigInt():Yf(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Ai(t,e))}}function Me(e){try{return uu(e)}catch(t){throw Y.fromCode(new vi(t,e))}}var Zi={encode:Mo,decode:Me};var jo=()=>{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 ur;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(ur||(ur={}));var Qi;(function(e){e.Call="call"})(Qi||(Qi={}));var Sn;(function(e){e.Query="query",e.ReadState="read_state"})(Sn||(Sn={}));function Ko(){let e=new ArrayBuffer(16),t=new DataView(e),r=jo(),n=jo(),o=jo(),i=jo();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var es="__expiry__",Ea=BigInt(1e3),Zf=BigInt(1e6),Xf=BigInt(60),Ra=Xf*Ea,Qf=BigInt(1)*Ra;function eh(e){return e/Ea*Ea}function th(e){return e/Ra*Ra}var eo=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=th(o),s;return i>=n+Qf?s=i:s=eh(o),new e(s*Zf)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[es]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[es])try{let n=BigInt(r[es]);return new e(n)}catch(n){throw new Y(new vo(`Not a valid BigInt: ${n}`))}throw new Y(new vo(`The input does not contain the key ${es}`))}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 Ia(e=Ko){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===ur.Call&&(t.body.nonce=e())}}function va(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Sa=BigInt(0),ts=BigInt(1);function Cn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Br(e,t,r=""){let n=At(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function _u(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Sa:BigInt("0x"+e)}function Ye(e){return _u(j(e))}function dr(e){return me(e),_u(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function Ca(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(At(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 yu(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 Fa(e){return Uint8Array.from(e)}var Aa=e=>typeof e=="bigint"&&Sa<=e;function Pa(e,t,r){return Aa(e)&&Aa(t)&&Aa(r)&&t<=e&&e<r}function rs(e,t,r,n){if(!Pa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function pr(e){let t;for(t=0;e>Sa;e>>=ts,t+=1);return t}function gu(e,t){return e>>BigInt(t)&ts}var Rt=e=>(ts<<BigInt(e))-ts;function xu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function fr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var to=()=>{throw new Error("not implemented")};function Dr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var je=BigInt(0),Ie=BigInt(1),Fn=BigInt(2),wu=BigInt(3),Tu=BigInt(4),Nu=BigInt(5),rh=BigInt(7),Ou=BigInt(8),nh=BigInt(9),Eu=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function It(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function bu(e,t){if(e===je)throw new Error("invert: expected non-zero number");if(t<=je)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,o=je,i=Ie,s=Ie,a=je;for(;r!==je;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return le(o,t)}function Va(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ru(e,t){let r=(e.ORDER+Ie)/Tu,n=e.pow(t,r);return Va(e,n,t),n}function oh(e,t){let r=(e.ORDER-Nu)/Ou,n=e.mul(t,Fn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Fn),o),a=e.mul(i,e.sub(s,e.ONE));return Va(e,a,t),a}function ih(e){let t=Ke(e),r=Iu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+rh)/Eu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return Va(a,g,c),g}}function Iu(e){if(e<wu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Fn===je;)t/=Fn,r++;let n=Fn,o=Ke(e);for(;Ho(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Ru;let i=o.pow(n,t),s=(t+Ie)/Fn;return function(c,u){if(c.is0(u))return u;if(Ho(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function sh(e){return e%Tu===wu?Ru:e%Ou===Nu?oh:e%Eu===nh?ih(e):Iu(e)}var hr=(e,t)=>(le(e,t)&Ie)===Ie,ah=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ns(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=ah.reduce((n,o)=>(n[o]="function",n),t);return fr(e,r),e}function $o(e,t,r){if(r<je)throw new Error("invalid exponent, negatives unsupported");if(r===je)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>je;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function ut(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Ho(e,t){let r=(e.ORDER-Ie)/Fn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Ba(e,t){t!==void 0&&ra(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ke(e,t,r=!1,n={}){if(e<=je)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Ba(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:Rt(c),ZERO:je,ONE:Ie,allowedLengths:a,create:l=>le(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return je<=l&&l<e},is0:l=>l===je,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>le(-l,e),eql:(l,f)=>l===f,sqr:l=>le(l*l,e),add:(l,f)=>le(l+f,e),sub:(l,f)=>le(l-f,e),mul:(l,f)=>le(l*f,e),pow:(l,f)=>$o(d,l,f),div:(l,f)=>le(l*bu(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>bu(l,e),sqrt:i||(l=>(p||(p=sh(e)),p(d,l))),toBytes:l=>r?Ca(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?dr(l):Ye(l);if(s&&(h=le(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>ut(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function vu(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 os(e){let t=vu(e);return t+Math.ceil(t/2)}function Da(e,t,r=!1){let n=e.length,o=vu(t),i=os(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?dr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?Ca(a,o):Oe(a,o)}var ro=BigInt(0),Pn=BigInt(1);function Go(e,t){let r=t.negate();return e?r:t}function dt(e,t){let r=ut(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Fu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ua(e,t){Fu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Rt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Au(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Pn);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 lh(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 uh(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 ka=new WeakMap,Pu=new WeakMap;function La(e){return Pu.get(e)||1}function Su(e){if(e!==ro)throw new Error("invalid wNAF")}var no=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>ro;)r&Pn&&(n=n.add(o)),o=o.double(),r>>=Pn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ua(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=Ua(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Au(n,a,s);n=c,p?i=i.add(Go(l,r[f])):o=o.add(Go(d,r[u]))}return Su(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ua(t,this.bits);for(let s=0;s<i.windows&&n!==ro;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Au(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Su(n),o}getPrecomputes(t,r,n){let o=ka.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),ka.set(r,o))),o}cached(t,r,n){let o=La(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=La(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Fu(r,this.bits),Pu.set(t,r),ka.delete(t)}hasCache(t){return La(t)!==1}};function Vu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>ro||n>ro;)r&Pn&&(i=i.add(o)),n&Pn&&(s=s.add(o)),o=o.double(),r>>=Pn,n>>=Pn;return{p1:i,p2:s}}function oo(e,t,r,n){lh(r,e),uh(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=pr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Rt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Cu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ns(t),t}else return Ke(e,{isLE:r})}function is(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>ro))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Cu(t.p,r.Fp,n),i=Cu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var dh=Ye;function Ur(e,t){if(Jo(e),Jo(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 ph(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 Jo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Bu(e){if(!At(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function fh(e,t,r,n){me(e),Jo(r),t=Bu(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,Ur(t.length,1)),c=Ur(0,i),u=Ur(r,2),p=new Array(s),d=n(K(c,e,u,Ur(0,1),a));p[0]=n(K(d,Ur(1,1),a));for(let f=1;f<=s;f++){let h=[ph(d,p[f-1]),Ur(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function hh(e,t,r,n,o){if(me(e),Jo(r),t=Bu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Ur(r,2)).update(t).update(Ur(t.length,1)).digest()}function qa(e,t,r){fr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!xu(r.hash))throw new Error("expected valid hash");me(e),Jo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=fh(e,c,d,s);else if(a==="xof")l=hh(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=le(dh(x),n)}f[h]=_}return f}function Ma(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=ut(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var mh=$("HashToScalar-");function ja(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=qa(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=qa(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:mh},s);return qa(i,1,c)[0][0]}}}var Du=(e,t)=>(e+(e>=0?t:-t)/mr)/t;function _h(e,t,r){let[[n,o],[i,s]]=t,a=Du(s*e,r),c=Du(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Vn,l=p<Vn;d&&(u=-u),l&&(p=-p);let f=Rt(Math.ceil(pr(r)/2))+He;if(u<Vn||u>=f||p<Vn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Vn=BigInt(0),He=BigInt(1),mr=BigInt(2),io=BigInt(3),Ka=BigInt(4);function Wo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function yh(e,t={}){let r=is("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;fr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=bh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),L=n.toBytes(C);if(Cn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(gh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Br(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],L=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let P=_(A),V;try{V=n.sqrt(P)}catch(te){let ee=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(V);return(B&1)===1!==D&&(V=n.neg(V)),{x:A,y:V}}else if(C===N&&B===4){let A=n.BYTES,P=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(P,V))throw new Error("bad point: is not on curve");return{x:P,y:V}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,io),Ka),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return _h(S,c.basises,o.ORDER)}let O=Dr((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),P=n.mul(C,b),V=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(V,n.ONE))throw new Error("invZ was invalid");return{x:A,y:P}}),R=Dr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=Go(C,b),N=Go(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Br(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(io),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.eql(n.mul(N,P),n.mul(L,B)),D=n.eql(n.mul(C,P),n.mul(A,B));return V&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,io),{X:B,Y:L,Z:A}=this,P=n.ZERO,V=n.ZERO,D=n.ZERO,q=n.mul(B,B),te=n.mul(L,L),ee=n.mul(A,A),J=n.mul(B,L);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),P=n.mul(b,D),V=n.mul(C,ee),V=n.add(P,V),P=n.sub(te,V),V=n.add(te,V),V=n.mul(P,V),P=n.mul(J,P),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(q,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(q,q),q=n.add(D,q),q=n.add(q,ee),q=n.mul(q,J),V=n.add(V,q),ee=n.mul(L,A),ee=n.add(ee,ee),q=n.mul(ee,J),P=n.sub(P,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(P,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,io),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,P),Fe=n.add(N,C),oe=n.add(L,A);Fe=n.mul(Fe,oe),oe=n.add(J,ae),Fe=n.sub(Fe,oe),oe=n.add(N,B);let re=n.add(L,P);return oe=n.mul(oe,re),re=n.add(J,he),oe=n.sub(oe,re),re=n.add(C,B),V=n.add(A,P),re=n.mul(re,V),V=n.add(ae,he),re=n.sub(re,V),q=n.mul(te,oe),V=n.mul(ee,he),q=n.add(V,q),V=n.sub(ae,q),q=n.add(ae,q),D=n.mul(V,q),ae=n.add(J,J),ae=n.add(ae,J),he=n.mul(te,he),oe=n.mul(ee,oe),ae=n.add(ae,he),he=n.sub(J,he),he=n.mul(te,he),oe=n.add(oe,he),J=n.mul(ae,oe),D=n.add(D,J),J=n.mul(re,oe),V=n.mul(Fe,V),V=n.sub(V,J),J=n.mul(Fe,ae),q=n.mul(re,q),q=n.add(q,J),new w(V,D,q)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,L=A=>F.cached(this,A,P=>dt(w,P));if(N){let{k1neg:A,k1:P,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(P),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:P}=L(b);C=A,B=P}return dt(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Vn||C.is0())return w.ZERO;if(b===He)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:P}=E(b),{p1:V,p2:D}=Vu(w,C,L,P);return v(N.beta,V,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===He?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===He?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Cn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return dt(w,b)}static msm(b,N){return oo(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Wo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new no(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function gh(e){return Uint8Array.of(e?2:3)}function xh(e,t){let r=e.ORDER,n=Vn;for(let h=r-He;h%mr===Vn;h/=mr)n+=He;let o=n,i=mr<<o-He-He,s=i*mr,a=(r-He)/s,c=(a-He)/mr,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/mr),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>He;O--){let R=O-mr;R=mr<<R-He;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Ka===io){let h=(e.ORDER-io)/Ka,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function Ha(e,t){ns(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=xh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=ut(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function bh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function $a(e){let{CURVE:t,curveOpts:r}=wh(e),n=yh(t,r);return Nh(e,n)}function wh(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Th(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Nh(e,t){let{Fp:r,Fn:n}=t;function o(s){return Pa(s,He,n.ORDER)}let i=Th(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Wo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Oh=BigInt(0),ss=BigInt(1),Uu=BigInt(2),so=BigInt(3);function Eh(e){let t=[];for(;e>ss;e>>=ss)(e&ss)===Oh?t.unshift(0):(e&so)===so?(t.unshift(-1),e+=ss):t.unshift(1);return t}function Ga(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Rh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Uu));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,so)),I=o.mul(w,so),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),so),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),so)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),L=o.add(o.sub(C,o.mul(B,Uu)),o.mul(o.sqr(w),O));return T=o.mul(I,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=Eh(a),_=Dr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];dt(t,y.map(({g1:O})=>O)),dt(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function ku(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=Wo(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=Wo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Ga(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Ga(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){Ga(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Lu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=$a(e.G1),a=Object.assign(s,ja(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=$a(e.G2),u=Object.assign(c,ja(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Rh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=ku(p,a,u,e.G2.Signature,!1),g=ku(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Mn,x=()=>{let A=os(r.ORDER);return Da(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,P){return A instanceof a.Point?A:g.hash(pe("point",A),P?.DST)}function R(A,P){return A instanceof u.Point?A:_.hash(pe("point",A),P?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,P,V){let D=R(A,V),q=_.sign(D,P);return A instanceof u.Point?q:E.toBytes(q)}function F(A,P,V){let D=O(A,V),q=g.sign(D,P);return A instanceof a.Point?q:T.toBytes(q)}function S(A,P,V,D){let q=R(P,D);return _.verify(A,q,V)}function b(A,P,V,D){let q=O(P,D);return g.verify(A,q,V)}function N(A){let P=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?P:P.toBytes(!0)}function C(A){let P=_.aggregateSignatures(A);return A[0]instanceof u.Point?P:E.toBytes(P)}function B(A){let P=g.aggregateSignatures(A);return A[0]instanceof a.Point?P:T.toBytes(P)}function L(A,P,V,D){let q=P.map(te=>R(te,D));return _.verifyBatch(A,q,V)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var qu=BigInt(0),_r=BigInt(1),$e=BigInt(2),Mu=BigInt(3);function Ya(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=_r;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Ku(e,t,r){let n=t.pow(r,(e.ORDER-_r)/Mu),o=t.pow(r,(e.ORDER-_r)/$e);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**$e-_r)/Mu),a=t.pow(r,(e.ORDER**$e-_r)/$e);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var ju=(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]}},Ja=class{constructor(t,r={}){this.MASK=_r;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=pr(o),this.BYTES=Math.ceil(pr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,$e),this.NONRESIDUE=ju(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Ya(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return ju(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&qu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return $o(this,t,r)}invertBatch(t){return ut(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Ho(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Ho(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%$e,i=r===qu,s=n%$e;return BigInt(o||i&&s)==_r}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Wa=class{constructor(t){this.MASK=_r,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=Ya(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),$e),a=o.mul(o.mul(r,n),$e),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return to()}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 $o(this,t,r)}invertBatch(t){return ut(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},za=class{constructor(t,r){this.MASK=_r;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=Ya(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){to()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return $o(this,t,r)}invertBatch(t){return ut(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),$e),d),c1:o.add(o.mul(o.sub(f,s),$e),f),c2:o.add(o.mul(o.sub(_,a),$e),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$e),m),c1:o.add(o.mul(o.add(l,u),$e),l),c2:o.add(o.mul(o.add(h,p),$e),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),gu(r,o)&&(n=this.mul(n,t));return n}};function Hu(e){let t=Ke(e.ORDER),r=new Ja(t,e),n=new Wa(r),o=new za(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),as=BigInt(1),pt=BigInt(2),cs=BigInt(3),zo=BigInt(4),kr=BigInt("0xd201000000010000"),Ih=pr(kr),Bn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:zo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},vh=Ke(Bn.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:W,Fp6:Ah,Fp12:X}=Hu({ORDER:Bn.p,X_LEN:Ih,FP2_NONRESIDUE:[as,as],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,zo),n=M.mul(t,zo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=kr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:$u,G2psi2:Sh}=Ku(M,W,W.div(W.ONE,W.NONRESIDUE)),Za=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),ec={p:W.ORDER,n:Bn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([zo,zo]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ls=Yo(M.toBytes(Ve),{infinity:!0,compressed:!0});function us(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 Yo(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 Ch(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ls.slice();let c=!!(a*pt/o);return Yo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function Xa(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return ls.slice();let i=!!(o*pt/r);return Yo(Oe(n,t),{compressed:!0,sort:i})}function Fh(e){let{compressed:t,infinity:r,sort:n,value:o}=us(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&Rt(M.BITS));if(r){if(c!==Ve)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ve,y:Ve}}let u=M.add(M.pow(c,cs),M.create(Bn.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*pt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=Ye(o.subarray(0,i)),c=Ye(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Zo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Gu(e){let{infinity:t,sort:r,value:n}=us(pe("signatureHex",e,48)),o=M.ORDER,i=Zo.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&Rt(M.BITS)),c=M.add(M.pow(a,cs),M.create(Bn.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*pt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Ph(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(ls,Oe(Ve,n));let c=!!(a.c1===Ve?a.c0*pt/o:a.c1*pt/o);return K(Yo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function Qa(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(ls,Oe(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Ve?a*pt:s*pt)/M.ORDER&as),p=o;return K(Yo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function Vh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=us(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ye(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:M.create(u),c1:M.create(c)}),d=W.add(W.pow(p,cs),ec.b),l=W.sqrt(d),f=l.c1===Ve?l.c0*pt/r:l.c1*pt/r?as:Ve;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Ju(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=us(pe("signatureHex",e)),i=Zo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ye(o.slice(0,s)),c=Ye(o.slice(s));if(r)return i.ZERO;let u=M.create(a&Rt(M.BITS)),p=M.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,cs),ec.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Ve&&_*pt/t!==g,x=_===Ve&&h*pt/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Zo=Lu({fields:{Fp:M,Fp2:W,Fp6:Ah,Fp12:X,Fr:vh},G1:{...Bn,Fp:M,htfDefaults:{...Za,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(kr).negate().multiplyUnsafe(kr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(kr).add(t),mapToCurve:Lh,fromBytes:Fh,toBytes:Ch,ShortSignature:{fromBytes(e){return me(e),Gu(e)},fromHex(e){return Gu(e)},toBytes(e){return Xa(e)},toRawBytes(e){return Xa(e)},toHex(e){return j(Xa(e))}}},G2:{...ec,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Za},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:qh,isTorsionFree:(e,t)=>t.multiplyUnsafe(kr).negate().equals($u(e,t)),clearCofactor:(e,t)=>{let r=kr,n=t.multiplyUnsafe(r).negate(),o=$u(e,t),i=t.double();return i=Sh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:Vh,toBytes:Ph,Signature:{fromBytes(e){return me(e),Ju(e)},fromHex(e){return Ju(e)},toBytes(e){return Qa(e)},toRawBytes(e){return Qa(e)},toHex(e){return j(Qa(e))}}},params:{ateLoopSize:kr,r:Bn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Za,hash:Pe}),Bh=Ma(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),Dh=Ma(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),Uh=Ha(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),kh=Ha(W,{A:W.create({c0:M.create(Ve),c1:M.create(BigInt(240))}),B:W.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:W.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function Lh(e){let{x:t,y:r}=Uh(M.create(e[0]));return Dh(t,r)}function qh(e){let{x:t,y:r}=kh(W.fromBigTuple(e));return Bh(t,r)}function Wu(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Zo.verifyShortSignature(o,i,n)}var jh=BigInt(1e6),tc=e=>ge(new wt(e)),Lr=e=>{let r=tc(e)/jh;return new Date(Number(r))};var zu=60*1e3,Kh=60,Hh=24,$h=Hh*Kh,Gh=5,Jh=5,Wh=30*$h,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function zh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var st=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??Wu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Gh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Me(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return yr(t,this.cert.tree)}lookup_subtree(t){return ei(t,this.cert.tree)}async verify(){let t=await ps(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Zh(r),i=K(xa,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new gt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*zu,u=new Date,p=u.getTime()+a,d=p-c,l=p+Jh*zu,f=Lr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Le.fromCode(new or(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ce.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Le.fromCode(new or(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new gt("Invalid signature"))}catch(a){throw Le.fromCode(new gt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:Wh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Ti);await r.verify();let n;if(Zu(this._principal)){let i=this._principal.canisterId;if(n=U.fromUint8Array(t.subnet_id),!rc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new Tn(i,n))}else if(Yu(this._principal))n=this._principal.subnetId;else throw ct;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Yu(this._principal)?Le.fromCode(new Ni(n)):Le.fromCode(new Ei(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(Zu(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Yu(e){return"subnetId"in e}function Zu(e){return"canisterId"in e}var Xo=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Yh=96;function Zh(e){let t=Xo.byteLength+Yh;if(e.byteLength!==t)throw ne.fromCode(new jn(t,e.byteLength));let r=e.slice(0,Xo.byteLength);if(!vn(r,Xo))throw ne.fromCode(new Ri(Xo,r));return e.slice(Xo.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function ps(e){switch(e[0]){case fe.Empty:return Pe(ds("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Pe(K(ds("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Pe(K(ds("ic-hashtree-labeled"),e[1],await ps(e[2])));case fe.Fork:return Pe(K(ds("ic-hashtree-fork"),await ps(e[1]),await ps(e[2])));default:throw ct}}function ds(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Xu(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var qr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(qr||(qr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function yr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Cr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ct}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw ct}let r=Xu(e),n=Qo(r,t);switch(n.status){case ue.Found:return yr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:Be.Absent};case ue.Unknown:return{status:Be.Unknown};default:throw ct}}function ei(e,t){if(e.length===0)return{status:qr.Found,value:t};let r=Xu(e),n=Qo(r,t);switch(n.status){case ue.Found:return ei(e.slice(1),n.value);case ue.Unknown:return{status:qr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:qr.Absent};default:throw ct}}function hs(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return hs(e[1]).concat(hs(e[2]));default:return[e]}}function Qo(e,t){switch(t[0]){case fe.Labeled:return zh(e,t[1])?{status:ue.Greater}:vn(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=Qo(e,t[1]);switch(r.status){case ue.Greater:{let n=Qo(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=Qo(e,t[2]);return n.status===ue.Less?{status:ue.Unknown}:n}default:return r}}case fe.Pruned:return{status:ue.Unknown};default:return{status:ue.Absent}}}function fs(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return fs(e,t[1]).concat(fs(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return fs(o,n)}default:throw ct}}function rc(e){let t=Xh(e),r=nc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function Xh(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ei(["canister_ranges",t.toUint8Array()],r);if(o.status!==qr.Found)return Qh(t,r);let i=o.value,s=em(i);if(s.length===0)throw ne.fromCode(new Tn(n,t));s.sort($n);let a=tm(s,n),c=s[a];return rm(c,i)}function Qh(e,t){let r=yr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function nc(e){return Me(e).map(n=>[U.fromUint8Array(n[0]),U.fromUint8Array(n[1])])}function em(e){let t=[];for(let r of fs([],e)){let n=r[0];if(!n)throw ne.fromCode(new gt("Path is invalid"));t.push(n)}return t}function tm(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);$n(e[i],r)<=0?o=i:n=i+1}return n}function rm(e,t){let r=yr([e],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function oc(e,t){return e.delegation?U.fromUint8Array(e.delegation.subnet_id):U.selfAuthenticating(t)}var Qu=U.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function ms(e,t){switch(t){case"raw":return e;case"leb128":return tc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function ed(e){return Me(e).map(r=>U.fromUint8Array(r))}function td(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function Mr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function ao(e,t){let r=ei(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==qr.Found)throw ne.fromCode(new xt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Cr("Invalid node tree"));let n=hs(r.value),o=new Map;return n.forEach(i=>{let s=U.from(i[1]).toText(),a=yr(["public_key"],i[2]);if(a.status!==Be.Found)throw ne.fromCode(new xt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new jn(44,c.byteLength));o.set(s,c)}),o}var rd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=om(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=nm(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Lr(g));break}case"controllers":{s.set(_,ed(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:Mr(_)&&s.set(_.key,ms(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(or)))throw d;Mr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},nm=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Me(e),{delegation:o}=n,i;o&&o.subnet_id?i=U.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=U.selfAuthenticating(new Uint8Array(r)):i=Qu;let s=ao(n,i);return{subnetId:i.toText(),nodeKeys:s}},om=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(Mr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?td(e.path,r):e.path}throw ce.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function nd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=im(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=ao(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Lr(g));break}case"canisterRanges":{s.set(_,nc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Mr(_)&&s.set(_.key,ms(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(or)))throw d;Mr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function im(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(Mr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ce.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var jr=BigInt(0),Ae=BigInt(1),ic=BigInt(2),sm=BigInt(8);function am(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function cm(e,t={}){let r=is("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;fr(t,{},{uvRatio:"function"});let a=ic<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:jr}}});if(!am(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:jr;return rs("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Dr((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?sm:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:jr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Dr(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Fa(Br(m,y,"point")),Cn(x,"zip215");let O=Fa(m),R=m[y-1];O[y-1]=R&-129;let v=dr(O),w=x?a:n.ORDER;rs("point.y",v,jr,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===jr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(ic),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(ic*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),L=c(S*F);return new h(N,C,L,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,P=c(b-x*S),V=c(B*L),D=c(A*P),q=c(B*P),te=c(L*A);return new h(V,D,te,q)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>dt(h,T));return dt(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===jr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>dt(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return dt(h,m)}static msm(m,x){return oo(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(jr,Ae,Ae,jr),h.Fp=n,h.Fn=o;let _=new no(h,o.BITS);return h.BASE.precompute(8),h}var _s=class{constructor(t){this.ep=t}static fromBytes(t){to()}static fromHex(t){to()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function lm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');fr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Mn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(Cn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(dr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),L=h(F.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let P=K(B,s.toBytes(A));return Br(P,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&Cn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=dr(w.subarray(B,C)),P,V,D;try{P=e.fromBytes(F,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&P.isSmallOrder())return!1;let q=h(b,V.toBytes(),P.toBytes(),I);return V.add(P.multiplyUnsafe(q)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Br(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return At(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Br(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function um(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function dm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function od(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=um(e),i=cm(t,r),s=lm(i,n,o);return dm(e,s)}var pm=BigInt(0),gr=BigInt(1),id=BigInt(2),cx=BigInt(3),fm=BigInt(5),hm=BigInt(8),co=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ti={p:co,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:hm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function mm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=co,a=e*e%i*e%i,c=It(a,id,i)*a%i,u=It(c,gr,i)*e%i,p=It(u,fm,i)*u%i,d=It(p,t,i)*p%i,l=It(d,r,i)*d%i,f=It(l,n,i)*l%i,h=It(f,o,i)*f%i,_=It(h,o,i)*f%i,g=It(_,t,i)*p%i;return{pow_p_5_8:It(g,id,i)*e%i,b2:a}}function _m(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var sc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function lc(e,t){let r=co,n=le(t*t*t,r),o=le(n*n*t,r),i=mm(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*sc,r),p=a===e,d=a===le(-e,r),l=a===le(-e*sc,r);return p&&(s=c),(d||l)&&(s=u),hr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var Kr=Ke(ti.p,{isLE:!0}),ym=Ke(ti.n,{isLE:!0}),gm={...ti,Fp:Kr,hash:El,adjustScalarBytes:_m,uvRatio:lc},Ge=od(gm);var ac=sc,xm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),bm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),wm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Tm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),sd=e=>lc(gr,e),Nm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),cc=e=>Ge.Point.Fp.create(dr(e)&Nm);function ad(e){let{d:t}=ti,r=co,n=m=>Kr.create(m),o=n(ac*e*e),i=n((o+gr)*wm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=lc(i,a),p=n(u*e);hr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-gr)*Tm-a),l=u*u,f=n((u+u)*a),h=n(d*xm),_=n(gr-l),g=n(gr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Om(e){me(e,64);let t=cc(e.subarray(0,32)),r=ad(t),n=cc(e.subarray(32,64)),o=ad(n);return new xr(r.add(o))}var xr=class e extends _s{constructor(t){super(t)}static fromAffine(t){return new e(Ge.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Om(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ti,o=co,i=T=>Kr.create(T),s=cc(t);if(!yu(Kr.toBytes(s),t)||hr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(gr+r*a),u=i(gr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=sd(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);hr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||hr(y,o)||x===pm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,gr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return oo(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=co,s=g=>Kr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=sd(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(hr(o*f,i)){let g=s(r*ac),m=s(t*ac);t=g,r=m,h=s(d*bm)}else h=l;hr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return hr(_,i)&&(_=s(-_)),Kr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Kr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};xr.BASE=new xr(Ge.Point.BASE);xr.ZERO=new xr(Ge.Point.ZERO);xr.Fp=Kr;xr.Fn=ym;var cd,ld,ys=class{static{cd=Symbol.iterator,ld=Symbol.toStringTag}#e;#t;constructor(t={}){this[cd]=this.entries.bind(this),this[ld]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var ud=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new No("Length too long (> 4 bytes)"))},dd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new No("Length too long (> 4 bytes)"))},uc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new bt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},Em=(e,t)=>{let r=uc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},ri=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Dn=Uint8Array.from([48,5,6,3,43,101,112]),fx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),hx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Un(e,t){let r=2+ud(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+ud(n)+n);return i[o++]=48,o+=dd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=dd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var kn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new bt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=uc(o,r),!vn(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new bt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Em(o,r)-1;r+=uc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Ii(i,s.length));return s};var gs=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 Un(t,Dn)}static derDecode(t){let r=kn(t,Dn);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new bt("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 dc=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))}},xs=class extends dc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var bs=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ut;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ut||(Ut={}));var hc=60*1e3,Rm=1e6,Im=0,vm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Am="ic0.app",Sm=".ic0.app",Cm="icp0.io",Fm=".icp0.io",Pm="icp-api.io",Vm=".icp-api.io",pc=200,Bm=202,Dm=404;function Um(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Hn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new Hn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new Hn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function km(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var br=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*hc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Im,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new xs,this.#h=[],this.#m=[],this.#_=new ys({expirationTime:5*hc}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=U.fromUint8Array(d).toText(),f;if(s===Er.Replied){let{reply:x}=o;f=Bo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Er.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Bo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ce.fromCode(new Re(`Unknown status: ${s}`));let h=K(ba,f),_=i.get(l);if(!_)throw ne.fromCode(new ki);let g=gs.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new Li(l))}return o},this.config=t,this.#o=t.fetch||Um()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(vm);let r=km(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new bs({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Sm)?this.host.hostname=Am:this.host.hostname.endsWith(Fm)?this.host.hostname=Cm:this.host.hostname.endsWith(Vm)&&(this.host.hostname=Pm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new ot),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ct("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ct("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Ia(Ko)),t.useQueryNonces&&this.addTransform("query",Ia(Ko)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Bi)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Sr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Sr);let s=U.from(t),a=r.effectiveCanisterId?U.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=fc(this.#l,this.#r),p={request_type:Qi.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ur.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Mo(d.body),_=this.#f(),g=cr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?Me(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Eo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ce.fromCode(new Nn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
48
|
+
`)}return a.encodeValue(c)}));return Z(Ef,n,o,i,s)}function If(e,t){let r=new Tt(t);if(t.byteLength<Hi.length)throw new Error("Message length smaller than magic number");let n=Br(r,Hi.length),o=new TextDecoder().decode(n);if(o!==Hi)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(ge(l));for(let m=0;m<h;m++){let x=Number(sr(l));switch(x){case Q.Opt:case Q.Vector:{let y=Number(sr(l));f.push([x,y]);break}case Q.Record:case Q.Variant:{let y=[],T=Number(ge(l)),E;for(;T--;){let O=Number(ge(l));if(O>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof E=="number"&&E>=O)throw new Error("field id collision or not sorted");E=O;let R=Number(sr(l));y.push([O,R])}f.push([x,y]);break}case Q.Func:{let y=[],T=Number(ge(l));for(;T--;)y.push(Number(sr(l)));let E=[],O=Number(ge(l));for(;O--;)E.push(Number(sr(l)));let R=[],v=Number(ge(l));for(;v--;)switch(Number(ge(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,E,R]]);break}case Q.Service:{let y=Number(ge(l)),T=[];for(;y--;){let E=Number(ge(l)),O=new TextDecoder().decode(Br(l,E)),R=sr(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(ge(l));for(let m=0;m<g;m++)_.push(Number(sr(l)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>du());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return $l;case-2:return Hl;case-3:return zl;case-4:return Jl;case-5:return tu;case-6:return ru;case-7:return nu;case-8:return ou;case-9:return Zl;case-10:return Xl;case-11:return Ql;case-12:return eu;case-13:return Wl;case-14:return Yl;case-15:return Gl;case-16:return Kl;case-17:return jl;case-24:return iu;default:throw new Error("Illegal op_code: "+l)}if(l>=s.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Q.Vector:{let f=u(l[1]);return au(f)}case Q.Opt:{let f=u(l[1]);return cu(f)}case Q.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=lu(f),_=h.tryAsTuple();return Array.isArray(_)?su(..._):h}case Q.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return uu(f)}case Q.Func:{let[f,h,_]=l[1];return pu(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Q.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof lt&&(m=m.getType()),!(m instanceof vn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return fu(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===Q.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==Q.Func){let h=p(l);c[f].fill(h)}}),Oa();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{Oa()}}var jl=new Po,Kl=new Dt,vf=new Gi,Hl=new Ji,$l=new Rn,Gl=new zi,Jl=new Vo,zl=new Bo,Wl=new Do(32),Yl=new Do(64),Zl=new cr(8),Xl=new cr(16),Ql=new cr(32),eu=new cr(64),tu=new Vt(8),ru=new Vt(16),nu=new Vt(32),ou=new Vt(64),iu=new Yi;function su(...e){return new Wi(e)}function au(e){return new Wn(e)}function cu(e){return new Dr(e)}function lu(e){return new In(e)}function uu(e){return new Yn(e)}function du(){return new lt}function pu(e,t,r=[]){return new vn(e,t,r)}function fu(e){return new Zn(e)}var Zi=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
|
|
49
|
+
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},$i=new Zi;function Oa(){$i=new Zi}function Af(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 wa(e){return e instanceof Dr||e instanceof Rn||e instanceof Dt}function Ra(e,t){let r=$i.copy(),n=ar(r,e,t);return n?$i.add(e,t):$i.addNegative(e,t),n}function ar(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 Dt||t instanceof Po||t instanceof Bo&&r instanceof Vo)return!0;if(t instanceof Wn&&r instanceof Wn)return ar(e,t._type,r._type);if(r instanceof Dr)return!0;if(t instanceof In&&r instanceof In){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[qe(i)];if(a){if(!ar(e,a,s))return!1}else if(!wa(s))return!1}return!0}if(t instanceof vn&&r instanceof vn){if(!Af(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!ar(e,r.argTypes[o],i))return!1}else if(!wa(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!ar(e,t.retTypes[o],i))return!1}else if(!wa(i))return!1}return!0}if(t instanceof Yn&&r instanceof Yn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[qe(i)];if(!a||!ar(e,s,a))return!1}return!0}if(t instanceof Zn&&r instanceof Zn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!ar(e,a,s))return!1}return!0}return t instanceof lt?ar(e,t.getType(),r):r instanceof lt?ar(e,t,r.getType()):!1}function Xn(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?Xn(e.buffer):new Uint8Array(e)}function Sn(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 Ia(e){if(typeof e=="string")return hu(e);if(typeof e=="number")return Pe(ie(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Pe(Xn(e));if(Array.isArray(e)){let t=e.map(Ia);return Pe(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Pe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ia(e.toHash());if(typeof e=="object")return Uo(e);if(typeof e=="bigint")return Pe(ie(e))}throw Y.fromCode(new Di(e))}var hu=e=>{let t=new TextEncoder().encode(e);return Pe(t)};function lr(e){return Uo(e)}function Uo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=hu(s),u=Ia(a);return[c,u]}).sort(([s],[a])=>Jn(s,a)),o=K(...n.map(s=>K(...s)));return Pe(o)}var va=new TextEncoder().encode("\ric-state-root"),ko=new TextEncoder().encode(`
|
|
50
|
+
ic-request`),Aa=new TextEncoder().encode("\vic-response"),Sa=new TextEncoder().encode("ic-request-auth-delegation");var Ut=class{getPrincipal(){return this._principal||(this._principal=k.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=lr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(ko,o))}}}},ot=class{getPrincipal(){return k.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var ur=class extends Error{constructor(t){super(t),this.name="DecodingError"}},_u=55799,yu=Symbol("CBOR_STOP_CODE"),Et=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Et||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Sf=23,Cf=255,Ff=65535,Pf=4294967295,Vf=BigInt("0xffffffffffffffff"),Ot=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Ot||{}),Qn=!1;function Bf(e){return e==null}function gu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Df=new TextDecoder;function Uf(e){return(e&224)>>5}function kf(e){return e&31}var Mo=new Uint8Array,Lo,Rt=0;function xu(e,t){Mo=e,Rt=0;let r=Cn(t);return t?.(r)??r}function Cn(e){let[t,r]=Xi();switch(t){case Ne.UnsignedInteger:return eo(r);case Ne.NegativeInteger:return jf(r);case Ne.ByteString:return bu(r);case Ne.TextString:return Fa(r);case Ne.Array:return Lf(r,e);case Ne.Map:return Mf(r,e);case Ne.Tag:return Kf(r,e);case Ne.Simple:return qf(r)}throw new ur(`Unsupported major type: ${t}`)}function Xi(){let e=Mo.at(Rt);if(Bf(e))throw new ur("Provided CBOR data is empty");let t=Uf(e),r=kf(e);return Rt++,[t,r]}function Lf(e,t){let r=eo(e);if(r===1/0){let o=[],i=Cn(t);for(;i!==yu;)o.push(t?.(i)??i),i=Cn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Cn(t);n[o]=t?.(i)??i}return n}function qf(e){switch(e){case Et.False:return!1;case Et.True:return!0;case Et.Null:return null;case Et.Undefined:return;case Et.Break:return yu}throw new ur(`Unrecognized simple type: ${e.toString(2)}`)}function Mf(e,t){let r=eo(e),n={};if(r===1/0){let[o,i]=Xi();for(;o!==Ne.Simple&&i!==Et.Break;){let s=Fa(i),a=Cn(t);n[s]=t?.(a,s)??a,[o,i]=Xi()}return n}for(let o=0;o<r;o++){let[i,s]=Xi();if(i!==Ne.TextString)throw new ur("Map keys must be text strings");let a=Fa(s),c=Cn(t);n[a]=t?.(c,a)??c}return n}function eo(e){if(e<=Ot.Value)return e;switch(Lo=new DataView(Mo.buffer,Mo.byteOffset+Rt),e){case Ot.OneByte:return Rt++,Lo.getUint8(0);case Ot.TwoBytes:return Rt+=2,Lo.getUint16(0,Qn);case Ot.FourBytes:return Rt+=4,Lo.getUint32(0,Qn);case Ot.EightBytes:return Rt+=8,Lo.getBigUint64(0,Qn);case Ot.Indefinite:return 1/0;default:throw new ur(`Unsupported integer info: ${e.toString(2)}`)}}function jf(e){let t=eo(e);return typeof t=="number"?-1-t:-1n-t}function bu(e){let t=eo(e);if(t>Number.MAX_SAFE_INTEGER)throw new ur("Byte length is too large");let r=Number(t);return Rt+=r,Mo.slice(Rt-r,Rt)}function Fa(e){let t=bu(e);return Df.decode(t)}function Kf(e,t){let r=eo(e);if(r===_u)return Cn(t);throw new ur(`Unsupported tag: ${r}.`)}var jo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Hf=2*1024,$f=100,Gf=new TextEncoder;function qo(e){return e<<5}var it=new Uint8Array(Hf),Nt=new DataView(it.buffer),Te=0,Ca=[];function wu(e,t){Te=0;let r=t?.(e)??e;return eh(_u,r,t),it.slice(0,Te)}function Pa(e,t){if(Te>it.length-$f&&(it=gu(it,it.length*2),Nt=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){Wf(e);return}if(typeof e=="number"||typeof e=="bigint"){Qf(e);return}if(typeof e=="string"){Ou(e);return}if(e instanceof Uint8Array){mu(e);return}if(e instanceof ArrayBuffer){mu(new Uint8Array(e));return}if(Array.isArray(e)){Jf(e,t);return}if(typeof e=="object"){zf(e,t);return}throw new jo(`Unsupported type: ${typeof e}`)}function Jf(e,t){to(Ne.Array,e.length),e.forEach((r,n)=>{Pa(t?.(r,n.toString())??r,t)})}function zf(e,t){Ca=Object.entries(e),to(Ne.Map,Ca.length),Ca.forEach(([r,n])=>{Ou(r),Pa(t?.(n,r)??n,t)})}function to(e,t){if(t<=Sf){Nt.setUint8(Te++,qo(e)|Number(t));return}if(t<=Cf){Nt.setUint8(Te++,qo(e)|Ot.OneByte),Nt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Ff){Nt.setUint8(Te++,qo(e)|Ot.TwoBytes),Nt.setUint16(Te,Number(t),Qn),Te+=2;return}if(t<=Pf){Nt.setUint8(Te++,qo(e)|Ot.FourBytes),Nt.setUint32(Te,Number(t),Qn),Te+=4;return}if(t<=Vf){Nt.setUint8(Te++,qo(e)|Ot.EightBytes),Nt.setBigUint64(Te,BigInt(t),Qn),Te+=8;return}throw new jo(`Value too large to encode: ${t}`)}function Wf(e){to(Ne.Simple,Yf(e))}function Yf(e){if(e===!1)return Et.False;if(e===!0)return Et.True;if(e===null)return Et.Null;if(e===void 0)return Et.Undefined;throw new jo(`Unrecognized simple value: ${e.toString()}`)}function Tu(e,t){to(e,t.length),Te>it.length-t.length&&(it=gu(it,it.length+t.length),Nt=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function Nu(e,t){to(e,t)}function Zf(e){Nu(Ne.UnsignedInteger,e)}function Xf(e){Nu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Qf(e){e>=0?Zf(e):Xf(e)}function Ou(e){Tu(Ne.TextString,Gf.encode(e))}function mu(e){Tu(Ne.ByteString,e)}function eh(e,t,r){to(Ne.Tag,e),Pa(t,r)}function rh(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Ko(e){try{return wu(e,t=>k.isPrincipal(t)?t.toUint8Array():ro.isExpiry(t)?t.toBigInt():rh(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Ci(t,e))}}function Me(e){try{return xu(e)}catch(t){throw Y.fromCode(new Si(t,e))}}var Qi={encode:Ko,decode:Me};var Ho=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var dr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(dr||(dr={}));var ts;(function(e){e.Call="call"})(ts||(ts={}));var Fn;(function(e){e.Query="query",e.ReadState="read_state"})(Fn||(Fn={}));function $o(){let e=new ArrayBuffer(16),t=new DataView(e),r=Ho(),n=Ho(),o=Ho(),i=Ho();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var rs="__expiry__",Va=BigInt(1e3),nh=BigInt(1e6),oh=BigInt(60),Ba=oh*Va,ih=BigInt(1)*Ba;function sh(e){return e/Va*Va}function ah(e){return e/Ba*Ba}var ro=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=ah(o),s;return i>=n+ih?s=i:s=sh(o),new e(s*nh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[rs]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[rs])try{let n=BigInt(r[rs]);return new e(n)}catch(n){throw new Y(new So(`Not a valid BigInt: ${n}`))}throw new Y(new So(`The input does not contain the key ${rs}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function Da(e=$o){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===dr.Call&&(t.body.nonce=e())}}function Ua(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var La=BigInt(0),ns=BigInt(1);function Pn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Ur(e,t,r=""){let n=St(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Eu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?La:BigInt("0x"+e)}function Ye(e){return Eu(j(e))}function pr(e){return me(e),Eu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function qa(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(St(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function Ru(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ma(e){return Uint8Array.from(e)}var ka=e=>typeof e=="bigint"&&La<=e;function ja(e,t,r){return ka(e)&&ka(t)&&ka(r)&&t<=e&&e<r}function os(e,t,r,n){if(!ja(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function fr(e){let t;for(t=0;e>La;e>>=ns,t+=1);return t}function Iu(e,t){return e>>BigInt(t)&ns}var It=e=>(ns<<BigInt(e))-ns;function vu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function hr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var no=()=>{throw new Error("not implemented")};function kr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var je=BigInt(0),Ie=BigInt(1),Vn=BigInt(2),Su=BigInt(3),Cu=BigInt(4),Fu=BigInt(5),ch=BigInt(7),Pu=BigInt(8),lh=BigInt(9),Vu=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function vt(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function Au(e,t){if(e===je)throw new Error("invert: expected non-zero number");if(t<=je)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,o=je,i=Ie,s=Ie,a=je;for(;r!==je;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return le(o,t)}function Ka(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Bu(e,t){let r=(e.ORDER+Ie)/Cu,n=e.pow(t,r);return Ka(e,n,t),n}function uh(e,t){let r=(e.ORDER-Fu)/Pu,n=e.mul(t,Vn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Vn),o),a=e.mul(i,e.sub(s,e.ONE));return Ka(e,a,t),a}function dh(e){let t=Ke(e),r=Du(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+ch)/Vu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return Ka(a,g,c),g}}function Du(e){if(e<Su)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Vn===je;)t/=Vn,r++;let n=Vn,o=Ke(e);for(;Go(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Bu;let i=o.pow(n,t),s=(t+Ie)/Vn;return function(c,u){if(c.is0(u))return u;if(Go(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function ph(e){return e%Cu===Su?Bu:e%Pu===Fu?uh:e%Vu===lh?dh(e):Du(e)}var mr=(e,t)=>(le(e,t)&Ie)===Ie,fh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function is(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=fh.reduce((n,o)=>(n[o]="function",n),t);return hr(e,r),e}function Jo(e,t,r){if(r<je)throw new Error("invalid exponent, negatives unsupported");if(r===je)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>je;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function ut(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Go(e,t){let r=(e.ORDER-Ie)/Vn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Ha(e,t){t!==void 0&&da(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ke(e,t,r=!1,n={}){if(e<=je)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Ha(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:It(c),ZERO:je,ONE:Ie,allowedLengths:a,create:l=>le(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return je<=l&&l<e},is0:l=>l===je,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>le(-l,e),eql:(l,f)=>l===f,sqr:l=>le(l*l,e),add:(l,f)=>le(l+f,e),sub:(l,f)=>le(l-f,e),mul:(l,f)=>le(l*f,e),pow:(l,f)=>Jo(d,l,f),div:(l,f)=>le(l*Au(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>Au(l,e),sqrt:i||(l=>(p||(p=ph(e)),p(d,l))),toBytes:l=>r?qa(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?pr(l):Ye(l);if(s&&(h=le(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>ut(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Uu(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 ss(e){let t=Uu(e);return t+Math.ceil(t/2)}function $a(e,t,r=!1){let n=e.length,o=Uu(t),i=ss(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?pr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?qa(a,o):Oe(a,o)}var oo=BigInt(0),Bn=BigInt(1);function zo(e,t){let r=t.negate();return e?r:t}function dt(e,t){let r=ut(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Mu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ga(e,t){Mu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=It(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function ku(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Bn);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function mh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function _h(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Ja=new WeakMap,ju=new WeakMap;function za(e){return ju.get(e)||1}function Lu(e){if(e!==oo)throw new Error("invalid wNAF")}var io=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>oo;)r&Bn&&(n=n.add(o)),o=o.double(),r>>=Bn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ga(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=Ga(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=ku(n,a,s);n=c,p?i=i.add(zo(l,r[f])):o=o.add(zo(d,r[u]))}return Lu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ga(t,this.bits);for(let s=0;s<i.windows&&n!==oo;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=ku(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Lu(n),o}getPrecomputes(t,r,n){let o=Ja.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ja.set(r,o))),o}cached(t,r,n){let o=za(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=za(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Mu(r,this.bits),ju.set(t,r),Ja.delete(t)}hasCache(t){return za(t)!==1}};function Ku(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>oo||n>oo;)r&Bn&&(i=i.add(o)),n&Bn&&(s=s.add(o)),o=o.double(),r>>=Bn,n>>=Bn;return{p1:i,p2:s}}function so(e,t,r,n){mh(r,e),_h(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=fr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=It(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function qu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return is(t),t}else return Ke(e,{isLE:r})}function as(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>oo))throw new Error(`CURVE.${c} must be positive bigint`)}let o=qu(t.p,r.Fp,n),i=qu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var yh=Ye;function Lr(e,t){if(Wo(e),Wo(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function gh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function Wo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Hu(e){if(!St(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function xh(e,t,r,n){me(e),Wo(r),t=Hu(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,Lr(t.length,1)),c=Lr(0,i),u=Lr(r,2),p=new Array(s),d=n(K(c,e,u,Lr(0,1),a));p[0]=n(K(d,Lr(1,1),a));for(let f=1;f<=s;f++){let h=[gh(d,p[f-1]),Lr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function bh(e,t,r,n,o){if(me(e),Wo(r),t=Hu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Lr(r,2)).update(t).update(Lr(t.length,1)).digest()}function Wa(e,t,r){hr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!vu(r.hash))throw new Error("expected valid hash");me(e),Wo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=xh(e,c,d,s);else if(a==="xof")l=bh(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=le(yh(x),n)}f[h]=_}return f}function Ya(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=ut(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var wh=$("HashToScalar-");function Za(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=Wa(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=Wa(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:wh},s);return Wa(i,1,c)[0][0]}}}var $u=(e,t)=>(e+(e>=0?t:-t)/_r)/t;function Th(e,t,r){let[[n,o],[i,s]]=t,a=$u(s*e,r),c=$u(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Dn,l=p<Dn;d&&(u=-u),l&&(p=-p);let f=It(Math.ceil(fr(r)/2))+He;if(u<Dn||u>=f||p<Dn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Dn=BigInt(0),He=BigInt(1),_r=BigInt(2),ao=BigInt(3),Xa=BigInt(4);function Yo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Nh(e,t={}){let r=as("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;hr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Rh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),L=n.toBytes(C);if(Pn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(Oh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Ur(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],L=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let P=_(A),V;try{V=n.sqrt(P)}catch(te){let ee=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(V);return(B&1)===1!==D&&(V=n.neg(V)),{x:A,y:V}}else if(C===N&&B===4){let A=n.BYTES,P=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(P,V))throw new Error("bad point: is not on curve");return{x:P,y:V}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,ao),Xa),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Th(S,c.basises,o.ORDER)}let O=kr((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),P=n.mul(C,b),V=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(V,n.ONE))throw new Error("invZ was invalid");return{x:A,y:P}}),R=kr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=zo(C,b),N=zo(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Ur(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(ao),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.eql(n.mul(N,P),n.mul(L,B)),D=n.eql(n.mul(C,P),n.mul(A,B));return V&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,ao),{X:B,Y:L,Z:A}=this,P=n.ZERO,V=n.ZERO,D=n.ZERO,q=n.mul(B,B),te=n.mul(L,L),ee=n.mul(A,A),J=n.mul(B,L);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),P=n.mul(b,D),V=n.mul(C,ee),V=n.add(P,V),P=n.sub(te,V),V=n.add(te,V),V=n.mul(P,V),P=n.mul(J,P),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(q,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(q,q),q=n.add(D,q),q=n.add(q,ee),q=n.mul(q,J),V=n.add(V,q),ee=n.mul(L,A),ee=n.add(ee,ee),q=n.mul(ee,J),P=n.sub(P,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(P,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,ao),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,P),Fe=n.add(N,C),oe=n.add(L,A);Fe=n.mul(Fe,oe),oe=n.add(J,ae),Fe=n.sub(Fe,oe),oe=n.add(N,B);let re=n.add(L,P);return oe=n.mul(oe,re),re=n.add(J,he),oe=n.sub(oe,re),re=n.add(C,B),V=n.add(A,P),re=n.mul(re,V),V=n.add(ae,he),re=n.sub(re,V),q=n.mul(te,oe),V=n.mul(ee,he),q=n.add(V,q),V=n.sub(ae,q),q=n.add(ae,q),D=n.mul(V,q),ae=n.add(J,J),ae=n.add(ae,J),he=n.mul(te,he),oe=n.mul(ee,oe),ae=n.add(ae,he),he=n.sub(J,he),he=n.mul(te,he),oe=n.add(oe,he),J=n.mul(ae,oe),D=n.add(D,J),J=n.mul(re,oe),V=n.mul(Fe,V),V=n.sub(V,J),J=n.mul(Fe,ae),q=n.mul(re,q),q=n.add(q,J),new w(V,D,q)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,L=A=>F.cached(this,A,P=>dt(w,P));if(N){let{k1neg:A,k1:P,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(P),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:P}=L(b);C=A,B=P}return dt(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Dn||C.is0())return w.ZERO;if(b===He)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:P}=E(b),{p1:V,p2:D}=Ku(w,C,L,P);return v(N.beta,V,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===He?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===He?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Pn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return dt(w,b)}static msm(b,N){return so(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Yo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new io(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Oh(e){return Uint8Array.of(e?2:3)}function Eh(e,t){let r=e.ORDER,n=Dn;for(let h=r-He;h%_r===Dn;h/=_r)n+=He;let o=n,i=_r<<o-He-He,s=i*_r,a=(r-He)/s,c=(a-He)/_r,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/_r),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>He;O--){let R=O-_r;R=_r<<R-He;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Xa===ao){let h=(e.ORDER-ao)/Xa,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function Qa(e,t){is(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Eh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=ut(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Rh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function ec(e){let{CURVE:t,curveOpts:r}=Ih(e),n=Nh(t,r);return Ah(e,n)}function Ih(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function vh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Ah(e,t){let{Fp:r,Fn:n}=t;function o(s){return ja(s,He,n.ORDER)}let i=vh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Yo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Sh=BigInt(0),cs=BigInt(1),Gu=BigInt(2),co=BigInt(3);function Ch(e){let t=[];for(;e>cs;e>>=cs)(e&cs)===Sh?t.unshift(0):(e&co)===co?(t.unshift(-1),e+=cs):t.unshift(1);return t}function tc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Fh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Gu));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,co)),I=o.mul(w,co),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),co),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),co)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),L=o.add(o.sub(C,o.mul(B,Gu)),o.mul(o.sqr(w),O));return T=o.mul(I,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=Ch(a),_=kr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];dt(t,y.map(({g1:O})=>O)),dt(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Ju(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=Yo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=Yo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(tc(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){tc(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){tc(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function zu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=ec(e.G1),a=Object.assign(s,Za(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=ec(e.G2),u=Object.assign(c,Za(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Fh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Ju(p,a,u,e.G2.Signature,!1),g=Ju(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Kn,x=()=>{let A=ss(r.ORDER);return $a(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,P){return A instanceof a.Point?A:g.hash(pe("point",A),P?.DST)}function R(A,P){return A instanceof u.Point?A:_.hash(pe("point",A),P?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,P,V){let D=R(A,V),q=_.sign(D,P);return A instanceof u.Point?q:E.toBytes(q)}function F(A,P,V){let D=O(A,V),q=g.sign(D,P);return A instanceof a.Point?q:T.toBytes(q)}function S(A,P,V,D){let q=R(P,D);return _.verify(A,q,V)}function b(A,P,V,D){let q=O(P,D);return g.verify(A,q,V)}function N(A){let P=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?P:P.toBytes(!0)}function C(A){let P=_.aggregateSignatures(A);return A[0]instanceof u.Point?P:E.toBytes(P)}function B(A){let P=g.aggregateSignatures(A);return A[0]instanceof a.Point?P:T.toBytes(P)}function L(A,P,V,D){let q=P.map(te=>R(te,D));return _.verifyBatch(A,q,V)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Wu=BigInt(0),yr=BigInt(1),$e=BigInt(2),Yu=BigInt(3);function ic(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=yr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Xu(e,t,r){let n=t.pow(r,(e.ORDER-yr)/Yu),o=t.pow(r,(e.ORDER-yr)/$e);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**$e-yr)/Yu),a=t.pow(r,(e.ORDER**$e-yr)/$e);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Zu=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},rc=class{constructor(t,r={}){this.MASK=yr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=fr(o),this.BYTES=Math.ceil(fr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,$e),this.NONRESIDUE=Zu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ic(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Zu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Wu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Go(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Go(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%$e,i=r===Wu,s=n%$e;return BigInt(o||i&&s)==yr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},nc=class{constructor(t){this.MASK=yr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=ic(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),$e),a=o.mul(o.mul(r,n),$e),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return no()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},oc=class{constructor(t,r){this.MASK=yr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=ic(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){no()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),$e),d),c1:o.add(o.mul(o.sub(f,s),$e),f),c2:o.add(o.mul(o.sub(_,a),$e),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$e),m),c1:o.add(o.mul(o.add(l,u),$e),l),c2:o.add(o.mul(o.add(h,p),$e),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Iu(r,o)&&(n=this.mul(n,t));return n}};function Qu(e){let t=Ke(e.ORDER),r=new rc(t,e),n=new nc(r),o=new oc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),ls=BigInt(1),pt=BigInt(2),us=BigInt(3),Zo=BigInt(4),qr=BigInt("0xd201000000010000"),Ph=fr(qr),Un={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:Zo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Vh=Ke(Un.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:W,Fp6:Bh,Fp12:X}=Qu({ORDER:Un.p,X_LEN:Ph,FP2_NONRESIDUE:[ls,ls],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Zo),n=M.mul(t,Zo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=qr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:ed,G2psi2:Dh}=Xu(M,W,W.div(W.ONE,W.NONRESIDUE)),sc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),lc={p:W.ORDER,n:Un.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([Zo,Zo]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ds=Xo(M.toBytes(Ve),{infinity:!0,compressed:!0});function ps(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function Xo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Uh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ds.slice();let c=!!(a*pt/o);return Xo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function ac(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return ds.slice();let i=!!(o*pt/r);return Xo(Oe(n,t),{compressed:!0,sort:i})}function kh(e){let{compressed:t,infinity:r,sort:n,value:o}=ps(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&It(M.BITS));if(r){if(c!==Ve)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ve,y:Ve}}let u=M.add(M.pow(c,us),M.create(Un.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*pt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=Ye(o.subarray(0,i)),c=Ye(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Qo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function td(e){let{infinity:t,sort:r,value:n}=ps(pe("signatureHex",e,48)),o=M.ORDER,i=Qo.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&It(M.BITS)),c=M.add(M.pow(a,us),M.create(Un.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*pt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Lh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(ds,Oe(Ve,n));let c=!!(a.c1===Ve?a.c0*pt/o:a.c1*pt/o);return K(Xo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function cc(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(ds,Oe(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Ve?a*pt:s*pt)/M.ORDER&ls),p=o;return K(Xo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function qh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=ps(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ye(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:M.create(u),c1:M.create(c)}),d=W.add(W.pow(p,us),lc.b),l=W.sqrt(d),f=l.c1===Ve?l.c0*pt/r:l.c1*pt/r?ls:Ve;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function rd(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=ps(pe("signatureHex",e)),i=Qo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ye(o.slice(0,s)),c=Ye(o.slice(s));if(r)return i.ZERO;let u=M.create(a&It(M.BITS)),p=M.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,us),lc.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Ve&&_*pt/t!==g,x=_===Ve&&h*pt/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Qo=zu({fields:{Fp:M,Fp2:W,Fp6:Bh,Fp12:X,Fr:Vh},G1:{...Un,Fp:M,htfDefaults:{...sc,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(qr).negate().multiplyUnsafe(qr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(qr).add(t),mapToCurve:$h,fromBytes:kh,toBytes:Uh,ShortSignature:{fromBytes(e){return me(e),td(e)},fromHex(e){return td(e)},toBytes(e){return ac(e)},toRawBytes(e){return ac(e)},toHex(e){return j(ac(e))}}},G2:{...lc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...sc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Gh,isTorsionFree:(e,t)=>t.multiplyUnsafe(qr).negate().equals(ed(e,t)),clearCofactor:(e,t)=>{let r=qr,n=t.multiplyUnsafe(r).negate(),o=ed(e,t),i=t.double();return i=Dh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:qh,toBytes:Lh,Signature:{fromBytes(e){return me(e),rd(e)},fromHex(e){return rd(e)},toBytes(e){return cc(e)},toRawBytes(e){return cc(e)},toHex(e){return j(cc(e))}}},params:{ateLoopSize:qr,r:Un.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:sc,hash:Pe}),Mh=Ya(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),jh=Ya(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),Kh=Qa(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),Hh=Qa(W,{A:W.create({c0:M.create(Ve),c1:M.create(BigInt(240))}),B:W.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:W.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function $h(e){let{x:t,y:r}=Kh(M.create(e[0]));return jh(t,r)}function Gh(e){let{x:t,y:r}=Hh(W.fromBigTuple(e));return Mh(t,r)}function nd(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Qo.verifyShortSignature(o,i,n)}var zh=BigInt(1e6),uc=e=>ge(new Tt(e)),Mr=e=>{let r=uc(e)/zh;return new Date(Number(r))};var od=60*1e3,Wh=60,Yh=24,Zh=Yh*Wh,Xh=5,Qh=5,em=30*Zh,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function tm(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var st=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??nd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Xh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Me(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return gr(t,this.cert.tree)}lookup_subtree(t){return ri(t,this.cert.tree)}async verify(){let t=await hs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=nm(r),i=K(va,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new xt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*od,u=new Date,p=u.getTime()+a,d=p-c,l=p+Qh*od,f=Mr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Le.fromCode(new ir(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ce.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Le.fromCode(new ir(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new xt("Invalid signature"))}catch(a){throw Le.fromCode(new xt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:em,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Oi);await r.verify();let n;if(sd(this._principal)){let i=this._principal.canisterId;if(n=k.fromUint8Array(t.subnet_id),!dc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new On(i,n))}else if(id(this._principal))n=this._principal.subnetId;else throw ct;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw id(this._principal)?Le.fromCode(new Ei(n)):Le.fromCode(new Ii(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(sd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function id(e){return"subnetId"in e}function sd(e){return"canisterId"in e}var ei=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),rm=96;function nm(e){let t=ei.byteLength+rm;if(e.byteLength!==t)throw ne.fromCode(new Hn(t,e.byteLength));let r=e.slice(0,ei.byteLength);if(!Sn(r,ei))throw ne.fromCode(new vi(ei,r));return e.slice(ei.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function hs(e){switch(e[0]){case fe.Empty:return Pe(fs("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Pe(K(fs("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Pe(K(fs("ic-hashtree-labeled"),e[1],await hs(e[2])));case fe.Fork:return Pe(K(fs("ic-hashtree-fork"),await hs(e[1]),await hs(e[2])));default:throw ct}}function fs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function ad(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var jr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(jr||(jr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function gr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Pr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ct}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw ct}let r=ad(e),n=ti(r,t);switch(n.status){case ue.Found:return gr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:Be.Absent};case ue.Unknown:return{status:Be.Unknown};default:throw ct}}function ri(e,t){if(e.length===0)return{status:jr.Found,value:t};let r=ad(e),n=ti(r,t);switch(n.status){case ue.Found:return ri(e.slice(1),n.value);case ue.Unknown:return{status:jr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:jr.Absent};default:throw ct}}function _s(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return _s(e[1]).concat(_s(e[2]));default:return[e]}}function ti(e,t){switch(t[0]){case fe.Labeled:return tm(e,t[1])?{status:ue.Greater}:Sn(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=ti(e,t[1]);switch(r.status){case ue.Greater:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Unknown}:n}default:return r}}case fe.Pruned:return{status:ue.Unknown};default:return{status:ue.Absent}}}function ms(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return ms(e,t[1]).concat(ms(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return ms(o,n)}default:throw ct}}function dc(e){let t=om(e),r=pc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function om(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ri(["canister_ranges",t.toUint8Array()],r);if(o.status!==jr.Found)return im(t,r);let i=o.value,s=sm(i);if(s.length===0)throw ne.fromCode(new On(n,t));s.sort(Jn);let a=am(s,n),c=s[a];return cm(c,i)}function im(e,t){let r=gr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ne.fromCode(new bt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function pc(e){return Me(e).map(n=>[k.fromUint8Array(n[0]),k.fromUint8Array(n[1])])}function sm(e){let t=[];for(let r of ms([],e)){let n=r[0];if(!n)throw ne.fromCode(new xt("Path is invalid"));t.push(n)}return t}function am(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);Jn(e[i],r)<=0?o=i:n=i+1}return n}function cm(e,t){let r=gr([e],t);if(r.status!==Be.Found)throw ne.fromCode(new bt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function fc(e,t){return e.delegation?k.fromUint8Array(e.delegation.subnet_id):k.selfAuthenticating(t)}var cd=k.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function ys(e,t){switch(t){case"raw":return e;case"leb128":return uc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function ld(e){return Me(e).map(r=>k.fromUint8Array(r))}function ud(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function Kr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function lo(e,t){let r=ri(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==jr.Found)throw ne.fromCode(new bt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Pr("Invalid node tree"));let n=_s(r.value),o=new Map;return n.forEach(i=>{let s=k.from(i[1]).toText(),a=gr(["public_key"],i[2]);if(a.status!==Be.Found)throw ne.fromCode(new bt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new Hn(44,c.byteLength));o.set(s,c)}),o}var dd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=um(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=lm(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Mr(g));break}case"controllers":{s.set(_,ld(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:Kr(_)&&s.set(_.key,ys(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(xt)||d.hasCode(ir)))throw d;Kr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},lm=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Me(e),{delegation:o}=n,i;o&&o.subnet_id?i=k.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=k.selfAuthenticating(new Uint8Array(r)):i=cd;let s=lo(n,i);return{subnetId:i.toText(),nodeKeys:s}},um=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(Kr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?ud(e.path,r):e.path}throw ce.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function pd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=dm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=lo(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Mr(g));break}case"canisterRanges":{s.set(_,pc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Kr(_)&&s.set(_.key,ys(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(xt)||d.hasCode(ir)))throw d;Kr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function dm(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(Kr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ce.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Hr=BigInt(0),Ae=BigInt(1),hc=BigInt(2),pm=BigInt(8);function fm(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function hm(e,t={}){let r=as("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;hr(t,{},{uvRatio:"function"});let a=hc<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Hr}}});if(!fm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Hr;return os("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=kr((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?pm:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:Hr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=kr(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Ma(Ur(m,y,"point")),Pn(x,"zip215");let O=Ma(m),R=m[y-1];O[y-1]=R&-129;let v=pr(O),w=x?a:n.ORDER;os("point.y",v,Hr,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===Hr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(hc),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(hc*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),L=c(S*F);return new h(N,C,L,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,P=c(b-x*S),V=c(B*L),D=c(A*P),q=c(B*P),te=c(L*A);return new h(V,D,te,q)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>dt(h,T));return dt(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Hr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>dt(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return dt(h,m)}static msm(m,x){return so(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Hr,Ae,Ae,Hr),h.Fp=n,h.Fn=o;let _=new io(h,o.BITS);return h.BASE.precompute(8),h}var gs=class{constructor(t){this.ep=t}static fromBytes(t){no()}static fromHex(t){no()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function mm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');hr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Kn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(Pn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(pr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),L=h(F.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let P=K(B,s.toBytes(A));return Ur(P,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&Pn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=pr(w.subarray(B,C)),P,V,D;try{P=e.fromBytes(F,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&P.isSmallOrder())return!1;let q=h(b,V.toBytes(),P.toBytes(),I);return V.add(P.multiplyUnsafe(q)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Ur(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return St(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Ur(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function _m(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function ym(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function fd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=_m(e),i=hm(t,r),s=mm(i,n,o);return ym(e,s)}var gm=BigInt(0),xr=BigInt(1),hd=BigInt(2),bx=BigInt(3),xm=BigInt(5),bm=BigInt(8),uo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ni={p:uo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:bm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function wm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=uo,a=e*e%i*e%i,c=vt(a,hd,i)*a%i,u=vt(c,xr,i)*e%i,p=vt(u,xm,i)*u%i,d=vt(p,t,i)*p%i,l=vt(d,r,i)*d%i,f=vt(l,n,i)*l%i,h=vt(f,o,i)*f%i,_=vt(h,o,i)*f%i,g=vt(_,t,i)*p%i;return{pow_p_5_8:vt(g,hd,i)*e%i,b2:a}}function Tm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var mc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function gc(e,t){let r=uo,n=le(t*t*t,r),o=le(n*n*t,r),i=wm(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*mc,r),p=a===e,d=a===le(-e,r),l=a===le(-e*mc,r);return p&&(s=c),(d||l)&&(s=u),mr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var $r=Ke(ni.p,{isLE:!0}),Nm=Ke(ni.n,{isLE:!0}),Om={...ni,Fp:$r,hash:Vl,adjustScalarBytes:Tm,uvRatio:gc},Ge=fd(Om);var _c=mc,Em=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Rm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Im=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),vm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),md=e=>gc(xr,e),Am=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),yc=e=>Ge.Point.Fp.create(pr(e)&Am);function _d(e){let{d:t}=ni,r=uo,n=m=>$r.create(m),o=n(_c*e*e),i=n((o+xr)*Im),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=gc(i,a),p=n(u*e);mr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-xr)*vm-a),l=u*u,f=n((u+u)*a),h=n(d*Em),_=n(xr-l),g=n(xr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Sm(e){me(e,64);let t=yc(e.subarray(0,32)),r=_d(t),n=yc(e.subarray(32,64)),o=_d(n);return new br(r.add(o))}var br=class e extends gs{constructor(t){super(t)}static fromAffine(t){return new e(Ge.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Sm(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ni,o=uo,i=T=>$r.create(T),s=yc(t);if(!Ru($r.toBytes(s),t)||mr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(xr+r*a),u=i(xr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=md(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);mr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||mr(y,o)||x===gm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,xr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return so(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=uo,s=g=>$r.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=md(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(mr(o*f,i)){let g=s(r*_c),m=s(t*_c);t=g,r=m,h=s(d*Rm)}else h=l;mr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return mr(_,i)&&(_=s(-_)),$r.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>$r.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};br.BASE=new br(Ge.Point.BASE);br.ZERO=new br(Ge.Point.ZERO);br.Fp=$r;br.Fn=Nm;var yd,gd,xs=class{static{yd=Symbol.iterator,gd=Symbol.toStringTag}#e;#t;constructor(t={}){this[yd]=this.entries.bind(this),this[gd]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var xd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},bd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},xc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new wt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new wt("Length too long (> 4 bytes)"))},Cm=(e,t)=>{let r=xc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new wt("Length too long (> 4 bytes)"))},oi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),kn=Uint8Array.from([48,5,6,3,43,101,112]),Ex=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Rx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Ln(e,t){let r=2+xd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+xd(n)+n);return i[o++]=48,o+=bd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=bd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var qn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new wt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=xc(o,r),!Sn(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new wt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Cm(o,r)-1;r+=xc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Ai(i,s.length));return s};var bs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Ln(t,kn)}static derDecode(t){let r=qn(t,kn);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new wt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new wt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var bc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},ws=class extends bc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var Ts=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var kt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(kt||(kt={}));var Nc=60*1e3,Fm=1e6,Pm=0,Vm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Bm="ic0.app",Dm=".ic0.app",Um="icp0.io",km=".icp0.io",Lm="icp-api.io",qm=".icp-api.io",wc=200,Mm=202,jm=404;function Km(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new Gn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Hm(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var wr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*Nc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Pm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new ws,this.#h=[],this.#m=[],this.#_=new xs({expirationTime:5*Nc}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=k.fromUint8Array(d).toText(),f;if(s===Ir.Replied){let{reply:x}=o;f=Uo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Ir.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Uo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ce.fromCode(new Re(`Unknown status: ${s}`));let h=K(Aa,f),_=i.get(l);if(!_)throw ne.fromCode(new qi);let g=bs.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new Mi(l))}return o},this.config=t,this.#o=t.fetch||Km()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(Vm);let r=Hm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new Ts({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Dm)?this.host.hostname=Bm:this.host.hostname.endsWith(km)?this.host.hostname=Um:this.host.hostname.endsWith(qm)&&(this.host.hostname=Lm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new ot),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ft("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ft("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Da($o)),t.useQueryNonces&&this.addTransform("query",Da($o)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Ui)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Fr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Fr);let s=k.from(t),a=r.effectiveCanisterId?k.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=Tc(this.#l,this.#r),p={request_type:ts.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Ko(d.body),_=this.#f(),g=lr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?Me(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Io))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ft)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ce.fromCode(new En(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
51
51
|
${m}
|
|
52
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw
|
|
52
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw Oo.fromCode(new vo(m))}let d=Ua(p.headers);if(p.status!==wc){let m=await p.text();if(wd(m))throw Y.fromCode(new Ft(m,this.#l));if(a<this.#u)return await this.#b({...t,tries:a+1});throw ne.fromCode(new Ro(p.status,p.statusText,d,m))}let f={...Me(Xn(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#y)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw ne.fromCode(new ki("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(Fm));if(Date.now()+this.#r-_>this.#E){if(a<this.#u)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#b({...t,tries:a+1});throw Le.fromCode(new Fi(this.#l,i,a))}return f}async#g(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new En(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===wc&&(a=Xn(await s.clone().arrayBuffer()))}catch(p){if(o<this.#u)return this.log.warn(`Caught exception while attempting to make request:
|
|
53
53
|
${p}
|
|
54
|
-
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw To.fromCode(new Ro(p))}let c=va(s.headers);if(s.status===pc||s.status===Bm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===Dm&&s.url.includes("api/v4"))throw ne.fromCode(new Eo);if(pd(u))throw Y.fromCode(new Ct(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Oo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?U.from(r.effectiveCanisterId):U.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Sr);let c=U.from(t),u=a.getPrincipal(),p=fc(this.#l,this.#r),d={request_type:Sn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=cr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ur.Query,body:d}),s=await a.transformRequest(s);let f=Mo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Le.fromCode(new Ui);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Sr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ur.ReadState,body:{request_type:Sn.ReadState,paths:t.paths,sender:o,ingress_expiry:fc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=U.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(vn(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Sr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=U.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:Mo(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Ct)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ct;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??cr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ce.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Me(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new Cr("Could not decode time from response"));let o=yr(["time"],r);if(o.status!==Be.Found)throw ne.fromCode(new xt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Oi("Time was not in its expected format."));let i=Lr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??U.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await rd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await nd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Me(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new at(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=U.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await st.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=U.selfAuthenticating(n);if(!rc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new Tn(r,c))}let s=oc(i.cert,n),a=ao(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=U.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await st.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return oc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===ur.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function fc(e,t){let r=e*hc;return eo.fromDeltaInMilliseconds(r,t)}function pd(e){return e.includes("Invalid request expiry: ")}var Lm=300*1e3;function fd(){return Hm(Mm(qm(),1e3),Km(1e3,1.2),jm(Lm))}function qm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Mm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function jm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new Nn(`Request timed out after ${e} msec`,n,o))}}function Km(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Hm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var md={preSignReadStateRequest:!1};function _d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function mc(e,t){return e!==null&&typeof e=="object"&&_d(e,t)}function Gm(e,t){return _d(e,t)&&typeof e[t]=="function"}function hd(e){return mc(e,"body")&&mc(e.body,"content")&&e.body.content.request_type===Sn.ReadState&&mc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Gm(e.body.content.ingress_expiry,"toHash")}async function _c(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await Jm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new at);let c=await st.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=Ut.Unknown:p=new TextDecoder().decode(u),p){case Ut.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case Ut.Received:case Ut.Unknown:case Ut.Processing:{let d=n.strategy??fd();return await d(t,r,p),_c(e,t,r,{...n,strategy:d,request:s})}case Ut.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Ar.fromCode(new Kn(r,d,l,h))}case Ut.Done:throw ce.fromCode(new Pi(r))}throw ct}async function Jm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&hd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!hd(o))throw Y.fromCode(new qi(o));return o}var ft=Symbol.for("ic-agent-metadata"),uo=class e{static agentOf(t){return t[ft].config.agent}static interfaceOf(t){return t[ft].service}static canisterIdOf(t){return U.from(t[ft].config.canisterId)}static createActorClass(t,r){let n=t({IDL:In});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Io(s.canisterId));let a=typeof s.canisterId=="string"?U.fromText(s.canisterId):s.canisterId;super({config:{...yd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(yc),r?.certificate&&u.annotations.push(gd),this[c]=zm(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Io(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ft]=Object.freeze(t)}};function lo(e,t){let r=In.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var yd={pollingOptions:md},yc="http-details",gd="certificate";function zm(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ft].config.queryTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||new br,u=U.from(s.canisterId||e[ft].config.canisterId),p=In.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Er.Rejected:{let f=new Ci(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Ar.fromCode(f)}case Er.Replied:return r.annotations.includes(yc)?{httpDetails:l,result:lo(r.retTypes,d.reply.arg)}:lo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ft].config.callTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||br.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...yd,...e[ft].config,...s},l=U.from(u),f=p!==void 0?U.from(p):l,h=In.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(sl(g.body)){if(c.rootKey==null)throw ye.fromCode(new at);let R=g.body.certificate;y=await st.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new Kn(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Ar.fromCode(N)}}}else if(il(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Fi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Ar.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await _c(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(yc),E=r.annotations.includes(gd),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:lo(r.retTypes,x)}:E?{certificate:y,result:lo(r.retTypes,x)}:T?{httpDetails:O,result:lo(r.retTypes,x)}:lo(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ce.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var Ym=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(Ym||{}),Tb=BigInt(1e8);var k=e=>e==null,z=e=>!k(e),oi=e=>z(e)&&e!=="",po=e=>!oi(e);var Zm=class extends Error{},ii=(e,t)=>{if(e==null)throw new Zm(t)};var wr=e=>new Uint8Array(e),ws=e=>Array.from(e);var bd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var xd="abcdefghijklmnopqrstuvwxyz234567",ni=Object.create(null);for(let e=0;e<xd.length;e++)ni[xd[e]]=e;ni[0]=ni.o;ni[1]=ni.i;var Hr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),wd=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Nb=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 gc="__bigint__",xc="__principal__",bc="__uint8array__",Td=(e,t)=>typeof t=="bigint"?{[gc]:`${t}`}:z(t)&&U.isPrincipal(t)?{[xc]:U.from(t).toText()}:z(t)&&t instanceof Uint8Array?{[bc]:Array.from(t)}:t,Nd=(e,t)=>{let r=n=>t[n];return z(t)&&typeof t=="object"&&gc in t?BigInt(r(gc)):z(t)&&typeof t=="object"&&xc in t?U.fromText(r(xc)):z(t)&&typeof t=="object"&&bc in t?Uint8Array.from(r(bc)):t};var se=e=>z(e)?[e]:[],be=e=>e?.[0];var Xm=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=Qm({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},Qm=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?ws(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 e_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function t_(e){return Un(e,ri)}var r_=class{constructor(e){this._cose=e,this.#e=t_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},vd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new r_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Hr(this.#e)}},n_=class extends vd{#e;#t;constructor({authData:e,...t}){super(t);let r=Xm({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},o_=class extends vd{},i_=class extends Error{},s_=class extends Error{},a_=class extends Error{},c_=class extends Error{},l_=class extends Error{},u_=class extends Error{},d_=class extends Error{},Od=class extends Error{};var p_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},f_=6e4,Ad=()=>window.crypto.getRandomValues(new Uint8Array(16)),h_=()=>Ad(),m_=()=>Ad(),__=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new i_}},Sd=({appId:e})=>e?.id??__(),y_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Sd({appId:e})}}),o=()=>({user:{id:m_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:h_(),...n(),...o(),pubKeyCredParams:Object.values(p_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},g_=(e={})=>({rpId:Sd(e),allowCredentials:[],userVerification:"required"}),wc=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}},$r=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))($r||{}),Cd=({timeout:e})=>AbortSignal.timeout(e??f_),x_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...g_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Cd({timeout:n})}),Ed=e=>{if(e.status!=="initialized")throw new s_},Rd=e=>{if(k(e))throw new a_},Id=({type:e})=>{if(e!=="public-key")throw new c_},Tc=class si extends Dt{#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=si.#r({credential:new n_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:y_(t),signal:Cd({timeout:r})});Rd(o),Id(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new l_;let{authData:a}=Zi.decode(wr(i)),c=e_(a);return new si({...n,rawId:wr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new si(t)}getPublicKey(){Ed(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Ed(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await wc({fn:async()=>{let n=await x_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Rd(n),Id(n),n},step:0,onProgress:this.#e});return await wc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!bd({a:this.#t.credential.getCredentialId(),b:wr(n)}))throw new u_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:wr(n)});this.#t=si.#r({credential:new o_({rawId:wr(n),cose:i})})},step:1,onProgress:this.#e}),await wc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new Od;if(k(s))throw new Od;let a=Zi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:wr(s)});if(k(a))throw new d_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},b_=async()=>z(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var fo=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends fo{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 ai=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var ho="http://127.0.0.1:5987",Fd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Pd=async({identity:e,container:t})=>{let n=z(t)&&t!==!1?t===!0?ho:t:"https://icp-api.io",o=z(t);return await br.create({identity:e,shouldFetchRootKey:o,host:n})};var mo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await Pd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var _o=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(k(this.#e)||k(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await mo.getInstance().getAgent(n);return uo.createActor(t,{agent:o,canisterId:r})}};function Vd(e){return e!==null&&typeof e=="object"}var ci=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Vd(t)){let r=t;if(Vd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ft(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Ft(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=Un(t,Dn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=kn(t,Dn);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}},vt=class e extends Dt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),Il(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ge.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ci.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(ci.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ci.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ge.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Ft(a)));return Ge.verify(o,i,s)}};var Nc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Bd(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 Nc("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 kt=class e extends Dt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Bd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ft(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Bd(r),o=Ft(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=Ft(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ts=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 U.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 Ns(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Oc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var Gr=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:Ns(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function w_(e,t,r,n){let o=new Gr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...wa,...new Uint8Array(cr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Tr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await w_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Gr(Oc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return U.fromHex(d)})),signature:Oc(a)}});return new this(o,Oc(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:Ns(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Ns(n)}}),publicKey:Ns(this.publicKey)}}},Nr=class extends Dt{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 cr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Do,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},li=class e extends Ts{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Ec(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"?U.fromText(o):o)):r.push(typeof n=="string"?U.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var Dd=["mousedown","mousemove","keydown","touchstart","wheel"],ui=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),Dd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Dd.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 T_=(e,t)=>t.some(r=>e instanceof r),Ud,kd;function N_(){return Ud||(Ud=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function O_(){return kd||(kd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Ld=new WeakMap,Ic=new WeakMap,qd=new WeakMap,Rc=new WeakMap,Ac=new WeakMap;function E_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Lt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&Ld.set(r,e)}).catch(()=>{}),Ac.set(t,e),t}function R_(e){if(Ic.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});Ic.set(e,t)}var vc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Ic.get(e);if(t==="objectStoreNames")return e.objectStoreNames||qd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Lt(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 Md(e){vc=e(vc)}function I_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Os(this),t,...r);return qd.set(n,t.sort?t.sort():[t]),Lt(n)}:O_().includes(e)?function(...t){return e.apply(Os(this),t),Lt(Ld.get(this))}:function(...t){return Lt(e.apply(Os(this),t))}}function v_(e){return typeof e=="function"?I_(e):(e instanceof IDBTransaction&&R_(e),T_(e,N_())?new Proxy(e,vc):e)}function Lt(e){if(e instanceof IDBRequest)return E_(e);if(Rc.has(e))return Rc.get(e);let t=v_(e);return t!==e&&(Rc.set(e,t),Ac.set(t,e)),t}var Os=e=>Ac.get(e);function Kd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Lt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Lt(s.result),c.oldVersion,c.newVersion,Lt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var A_=["get","getKey","getAll","getAllKeys","count"],S_=["put","add","delete","clear"],Sc=new Map;function jd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Sc.get(t))return Sc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=S_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||A_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Sc.set(t,i),i}Md(e=>({...e,get:(t,r,n)=>jd(t,r)||e.get(t,r,n),has:(t,r)=>!!jd(t,r)||e.has(t,r)}));var Hd="auth-client-db",$d="ic-keyval",C_=async(e=Hd,t=$d,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(We)),await Kd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function F_(e,t,r){return await e.get(t,r)}async function P_(e,t,r,n){return await e.put(t,n,r)}async function V_(e,t,r){return await e.delete(t,r)}var Es=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Hd,storeName:n=$d,version:o=Gd}=t??{},i=await C_(r,n,o);return new e(i,n)}async set(t,r){return await P_(this._db,this._storeName,t,r)}async get(t){return await F_(this._db,this._storeName,t)??null}async remove(t){return await V_(this._db,this._storeName,t)}};var We="identity",Je="delegation",Jd="iv",Gd=1,di=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}},qt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Es.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var B_=BigInt(1e9),D_=BigInt(3600),U_=B_*D_,k_="https://identity.internetcomputer.org",L_="#authorize",q_=BigInt(8)*U_,Cc="ECDSA",Fc="Ed25519",M_=500,Rs="UserInterrupt",pi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new qt,n=t.keyType??Cc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let u=new di,p=await u.get(Je),d=await u.get(We);p&&d&&n===Cc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Je,p),await r.set(We,d),c=p,await u.remove(Je),await u.remove(We))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Fc&&typeof c=="string"?o=vt.fromJSON(c):o=await kt.fromKeyPair(c):typeof c=="string"&&(o=vt.fromJSON(c))}catch{}}let i=new ot,s=null;if(o)try{let c=await r.get(Je);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Tr.fromJSON(c),Ec(s)?"toDer"in o?i=li.fromDelegation(o,s):i=Nr.fromDelegation(o,s):(await Pc(r),o=null))}catch(c){console.error(c),await Pc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=ui.create(t.idleOptions)),o||(n===Fc?o=vt.generate():(t.storage&&n===Cc&&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 '${Fc}' as the key type, as it can serialize to a string`),o=await kt.generate()),await Wd(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Gr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Tr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=li.fromDelegation(i,this._chain):this._identity=Nr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=ui.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await Wd(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Ec(this._chain)}async login(t){let r=j_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??q_,o=new URL(r?.identityProvider?.toString()||k_);o.hash=L_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Rs,r?.onError):setTimeout(i,M_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await Pc(this._storage),this._identity=new ot,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function Pc(e){await e.remove(We),await e.remove(Je),await e.remove(Jd)}function j_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function K_(e){if(e instanceof kt)return e.getKeyPair();if(e instanceof vt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Wd(e,t){let r=K_(t);await e.set(We,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await pi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new qt().remove(We),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new qt;await Promise.all([n.set(We,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var Vc=async e=>{await H_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},H_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),_o.getInstance().reset(),mo.getInstance().reset()};var zd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ai({message:"junoSignOutAuthTimer"}),await Vc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ai({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var yo=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&z(o)&&o.msg==="authClientLoginSuccess"&&oi(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends fo{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 fi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await $_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||G_()},Yd=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},$_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},G_=()=>{try{yo.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Bc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Zd="juno.datastore.error.user.cannot_update";var Mt={certified:!1};var Is=()=>Ue.getInstance().getAuthClient()?.getIdentity(),J_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},W_=async()=>{let e=De.getInstance().get();if(k(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>z(e)?e:Is()??new ot;var Dc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Wr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),zr=e.Variant({OpenId:Wr}),Yr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Zr=e.Record({signature:e.Vec(e.Nat8),delegation:Yr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Zr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=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)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),en=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],["query"])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(en),status_code:e.Nat16}),tn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=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}),_t=e.Record({batch_id:e.Nat}),rn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),nn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),sn=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),an=e.Record({order:e.Opt(sn),paginate:e.Opt(zt)}),cn=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(cn,Qe)),items_length:e.Nat64}),ln=e.Record({include_system:e.Bool}),un=e.Record({matcher:e.Opt(ln)}),dn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),pn=e.Record({stable:e.Nat64,heap:e.Nat64}),fn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),hn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),mn=e.Record({controller:hn,controllers:e.Vec(e.Principal)}),_n=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),yn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([zr],[Ze],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([Jt],[Wt],["query"]),http_request_streaming_callback:e.Func([ht],[tn],["query"]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[rn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,nn))],["query"]),list_docs:e.Func([e.Text,O],[on],["query"]),list_proposals:e.Func([an],[Yt],["query"]),list_rules:e.Func([F,un],[dn],["query"]),memory_size:e.Func([],[pn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([fn],[ee],[]),set_controllers:e.Func([mn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([_n],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([yn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},Uc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Wr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),zr=e.Variant({OpenId:Wr}),Yr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Zr=e.Record({signature:e.Vec(e.Nat8),delegation:Yr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Zr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=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)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),en=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],[])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(en),status_code:e.Nat16}),tn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=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}),_t=e.Record({batch_id:e.Nat}),rn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),nn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),sn=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),an=e.Record({order:e.Opt(sn),paginate:e.Opt(zt)}),cn=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(cn,Qe)),items_length:e.Nat64}),ln=e.Record({include_system:e.Bool}),un=e.Record({matcher:e.Opt(ln)}),dn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),pn=e.Record({stable:e.Nat64,heap:e.Nat64}),fn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),hn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),mn=e.Record({controller:hn,controllers:e.Vec(e.Principal)}),_n=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),yn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([zr],[Ze],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],[]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([Jt],[Wt],[]),http_request_streaming_callback:e.Func([ht],[tn],[]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[rn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,nn))],[]),list_docs:e.Func([e.Text,O],[on],[]),list_proposals:e.Func([an],[Yt],[]),list_rules:e.Func([F,un],[dn],[]),memory_size:e.Func([],[pn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([fn],[ee],[]),set_controllers:e.Func([mn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([_n],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([yn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},z_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Yr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Zr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Yr,SegmentsDeployment:Zr}),Ze=e.Record({status:zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Xr=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)}),Qr=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:Qr,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],["query"])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),en=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),tn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(en),owner:e.Opt(e.Principal),matcher:e.Opt(tn),paginate:e.Opt(mt)}),rn=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}),nn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),on=e.Record({key:rn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,nn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),sn=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,on)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),an=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),cn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ln=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),un=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),dn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),pn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:dn}),fn=e.Record({desc:e.Bool}),hn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),mn=e.Record({order:e.Opt(fn),paginate:e.Opt(hn)}),_n=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(_n,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),yn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Gs=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Js=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),Ws=e.Record({controller:Js,controllers:e.Vec(e.Principal)}),zs=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),Ys=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),Zs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),Xs=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),Qs=e.Record({segment_id:e.Principal,segment_kind:ke}),ea=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ta=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[q],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([J],[oe],["query"]),get_fee:e.Func([re],[Wr],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rate_config:e.Func([re],[$t],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([Xr],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[Gt],["query"]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,_t],[sn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,an))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,cn))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ln))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(un,pn))],["query"]),list_proposals:e.Func([mn],[Zt],["query"]),list_segments:e.Func([yn],[e.Vec(e.Tuple(Xt,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Gs],[B],[]),set_controllers:e.Func([Ws],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,zs],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([Ys],[rt],[]),set_segment_metadata:e.Func([Zs],[rt],[]),set_storage_config:e.Func([Xs],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([Qs],[],[]),upload_proposal_asset_chunk:e.Func([ea],[ta],[])})},Y_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Yr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Zr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Yr,SegmentsDeployment:Zr}),Ze=e.Record({status:zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Xr=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)}),Qr=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:Qr,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],[])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),en=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),tn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(en),owner:e.Opt(e.Principal),matcher:e.Opt(tn),paginate:e.Opt(mt)}),rn=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}),nn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),on=e.Record({key:rn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,nn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),sn=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,on)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),an=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),cn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ln=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),un=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),dn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),pn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:dn}),fn=e.Record({desc:e.Bool}),hn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),mn=e.Record({order:e.Opt(fn),paginate:e.Opt(hn)}),_n=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(_n,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),yn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Gs=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Js=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),Ws=e.Record({controller:Js,controllers:e.Vec(e.Principal)}),zs=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),Ys=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),Zs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),Xs=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),Qs=e.Record({segment_id:e.Principal,segment_kind:ke}),ea=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ta=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[q],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([J],[oe],[]),get_fee:e.Func([re],[Wr],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rate_config:e.Func([re],[$t],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([Xr],[et],[]),http_request_streaming_callback:e.Func([Xe],[Gt],[]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,_t],[sn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,an))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,cn))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ln))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(un,pn))],[]),list_proposals:e.Func([mn],[Zt],[]),list_segments:e.Func([yn],[e.Vec(e.Tuple(Xt,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Gs],[B],[]),set_controllers:e.Func([Ws],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,zs],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([Ys],[rt],[]),set_segment_metadata:e.Func([Zs],[rt],[]),set_storage_config:e.Func([Xs],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([Qs],[],[]),upload_proposal_asset_chunk:e.Func([ea],[ta],[])})};var Z_=async({identity:e,host:t,localActor:r})=>await br.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),X_=async({agent:e,...t})=>e??await Q_(t),Q_=async({identity:e,container:t})=>{let r=z(t)&&t!==!1;return await Z_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Xd=({satelliteId:e,certified:t=!1,...r})=>ep({canisterId:e,...r,idlFactory:t?Uc:Dc});var Qd=({consoleId:e,certified:t=!1,...r})=>ep({canisterId:e,...r,idlFactory:t?Y_:z_}),ep=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return ey({canisterId:e,idlFactory:t,...r})},ey=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await X_(n);return uo.createActor(t,{agent:o,canisterId:e,...r??{}})};var tp=({satelliteId:e,container:t})=>{let{satelliteId:r}=kc({satelliteId:e}),{container:n}=Lc({container:t});if(z(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?ho:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},kc=({satelliteId:e})=>z(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Lc=({container:e})=>z(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>np({idlFactory:t?Uc:Dc,actorKey:`stock#${t?"update":"query"}`,...e}),rp=({idlFactory:e,...t})=>np({idlFactory:e,actorKey:"extended#query",...t}),np=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=kc({satelliteId:e});ii(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Lc({container:t});return await _o.getInstance().getActor({satelliteId:n,container:o,...r})};var vs=class extends Error{},Or=class extends Error{},As=class extends Error{},Ss=class extends Error{},Cs=class extends Error{},Fs=class extends Error{},Ps=class extends Error{},Vs=class extends Error{},Bs=class extends Error{};var op=e=>{if(k(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Bs("Invalid list matcher for timestamp",e)}},Jr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:se(e.key),description:se(e.description),created_at:op(e.createdAt),updated_at:op(e.updatedAt)}],paginate:se(k(t)?void 0:{start_after:se(t.startAfter),limit:se(k(t.limit)?void 0:BigInt(t.limit))}),order:se(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(k(n)?void 0:typeof n=="string"?U.fromText(n):n)});var ip=async e=>{let t=new Blob([JSON.stringify(e,Td)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Ds=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Nd)},Us=()=>typeof window<"u";var sp=async({data:e})=>{try{return await Ds(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var qc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await ip(t),version:se(r)}},Mc=e=>{let{version:t}=e;return{version:se(t)}},Ln=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await Ds(i),version:be(n),...s}};var ap=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!k(o))return Ln({doc:o,key:t})},cp=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(z(c)?await Ln({key:s,doc:c}):void 0)}return i},lp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await qc(t),s=await n(e,o,i);return await Ln({key:o,doc:s})},up=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await qc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Ln({key:s,doc:a}));return i},dp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Mc(t))},pp=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Mc(i)]);await r(n)},fp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,Jr(t))},hp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Jr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await sp({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},mp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,Jr(t))};var ks=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await ap({...r,satellite:{...e,identity:n},options:t??Mt})},aN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await cp({...r,satellite:{...e,identity:n},options:t??Mt})},_p=async({satellite:e,...t})=>{let r=de(e?.identity);return await lp({...t,satellite:{...e,identity:r},options:{certified:!0}})},yp=async({satellite:e,...t})=>{let r=de(e?.identity);return await up({...t,satellite:{...e,identity:r},options:{certified:!0}})},cN=async({satellite:e,...t})=>{let r=de(e?.identity);return await dp({...t,satellite:{...e,identity:r},options:{certified:!0}})},lN=async({satellite:e,...t})=>{let r=de(e?.identity);return await pp({...t,satellite:{...e,identity:r},options:{certified:!0}})},uN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await fp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},dN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await hp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})},pN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await mp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})};var gp=async({provider:e})=>{let{user:t,userId:r}=await Ls();if(z(t))return t;try{return await ty({userId:r,provider:e})}catch(n){if(Bc({error:n,type:Zd})){let o=await xp({userId:r});if(z(o))return o}throw n}},Ls=async()=>{let e=Is();if(k(e))throw new Vs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await xp({userId:t});return{userId:t,user:r}},xp=({userId:e})=>ks({collection:"#user",key:e}),ty=({userId:e,...t})=>_p({collection:"#user",doc:{key:e,data:t}});var qs=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await fi({fn:async()=>{let{user:r}=await Ls();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},bp=async()=>{await Yd({fn:async({authenticated:t})=>{let n=t?Ls:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},Ms=async({user:e})=>{await fi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var wp=()=>{try{let e=yo.getInstance(),t=async()=>{await bp(),ai({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Tp=()=>{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()},Np=()=>{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()},Op=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var Ep=BigInt(144e11),Rp=!1,Ip={width:576,height:576},vp={width:424,height:576};var hi="internetcomputer.org",Ap="ic0.app",Sp="id.ai";var Cp=({width:e,height:t})=>{if(!Us()||k(window)||k(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var jt=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 Fp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Fp||{});var js=class{async signIn({options:t,authClient:r,initAuth:n}){await jt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await jt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new Or("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Rs){o(new As(i));return}o(new vs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Ep,allowPinAuthentication:t?.allowPin??Rp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ks=class extends js{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(k(i)||i===!1){let p=[hi,Ap].includes(this.#e??hi);return po(this.#e)?`https://identity.${hi}`:p?`https://identity.${this.#e??hi}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=z(s)&&z(s?.internetIdentityId)?s.internetIdentityId:Fd,{host:c,protocol:u}=new URL(i===!0?ho:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Cp((()=>{try{let{hostname:i}=new URL(n);return i.includes(Sp)}catch{return!1}})()?vp:Ip)},identityProvider:n}}};var jc=class extends Error{},Kc=class extends Error{},Hc=class extends Error{},$c=class extends Error{},Gc=class extends Error{},Jc=class extends Error{},Wc=class extends Error{},zc=class extends Error{},Yc=class extends Error{},Zc=class extends Error{};var Pp=({auth:e,identity:t})=>"satellite"in e?Xd({...e.satellite,identity:t}):Qd({...e.console,identity:t}),ry=async({actorParams:e,args:t})=>{let{authenticate:r}=await Pp(e);return await r(t)},ny=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Pp(e);return await r(t)},oy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Tr.fromDelegations(n,Uint8Array.from(r));return{identity:Nr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Xc=async({jwt:e,context:t,auth:r})=>{let n=await kt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await iy({jwt:e,publicKey:o,context:t,auth:r});return{identity:oy({sessionKey:n,delegations:i}),data:s}},iy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await ry({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Gc("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await sy({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Gr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},sy=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await ny({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Yc("Getting delegation failed",{cause:c})}return c.Ok}throw new Zc};var Qc="juno:auth:openid",el={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var Vp=e=>Hr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),ay=()=>window.crypto.getRandomValues(new Uint8Array(32)),cy=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return Vp(wr(o))},ly=async({caller:e})=>{let t=ay();return{nonce:await cy({salt:t,caller:e}),salt:t}},Bp="__caller__",Dp="__salt__",Up="__state__",uy=({caller:e,state:t,salt:r})=>{let n={[Bp]:e.toJSON(),[Dp]:Hr(r),[Up]:t};return JSON.stringify(n)},dy=e=>{let{[Bp]:t,[Dp]:r,[Up]:n}=JSON.parse(e);return{caller:vt.fromParsedJson(t),salt:wd(r),state:n}},py=()=>Vp(window.crypto.getRandomValues(new Uint8Array(12))),kp=async()=>{let e=vt.generate(),{nonce:t,salt:r}=await ly({caller:e}),n=py(),o=uy({caller:e,salt:r,state:n});return sessionStorage.setItem(Qc,o),{nonce:t,state:n}},Lp=()=>{let e=sessionStorage.getItem(Qc);if(k(e))throw new Kc;return dy(e)};var tl=async e=>{let t=Lp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Xc({jwt:r,context:t,auth:n})}return await fy({...e,context:t})},fy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(po(r)||!r.startsWith("#"))throw new Jc("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(po(s)||o!==s)throw new Wc("The provided state is invalid",{cause:o});if(po(i))throw new zc;return await Xc({jwt:i,auth:e,context:t})};var qp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new jc("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),oi(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Mp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(k(i))throw new Hc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new $c("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function rl({google:e}){let t=await kp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=el;return await Mp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=el;qp({...r,...t,authUrl:n,authScopes:o})}var hy=async()=>{let{satelliteId:e}=Se.getInstance().get()??{satelliteId:void 0};if(k(e))throw new Or("Satellite ID not set. Have you initialized the Satellite?");let t=Se.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await tl({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Ue.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Ln({doc:i,key:o.getPrincipal().toText()});await Ms({user:s})};var jp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),my=()=>{window.addEventListener("beforeunload",jp,{capture:!0})},_y=()=>{window.removeEventListener("beforeunload",jp,{capture:!0})},Hs=async({fn:e})=>{try{return my(),await e()}finally{_y()}};var $s=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Op();if(k(r))throw new Cs;let{redirect:n}=t;await rl({google:{redirect:{...n??{},clientId:r}}})}};var Kp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await yp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...z(n)&&{aaguid:ws(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Hp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(Hp||{}),$p=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))($p||{});var go=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(k(i))throw new Or("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case $r.RequestingUserCredential:t?.({step:1,state:g});break;case $r.FinalizingCredential:t?.({step:2,state:g});break;case $r.Signing:t?.({step:3,state:g});break}},c=await jt({fn:async()=>await Tc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await jt({fn:async()=>await Kp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await jt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await jt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(k(o))throw new Or("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await ks({collection:"#user-webauthn",key:Hr(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(k(l))throw new Fs("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return kn(h,ri)},s=({step:d,state:l})=>{switch(d){case $r.RequestingUserCredential:t?.({step:0,state:l});break;case $r.FinalizingCredential:t?.({step:1,state:l});break;case $r.Signing:t?.({step:2,state:l});break}},a=await Tc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await jt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await jt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await kt.generate({extractable:!1}),o=r??144e5,i=await Tr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Nr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new qt;await Promise.all([n.set(We,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var gy=async({provider:e})=>{await fi({fn:async()=>{let r=await gp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},xy=async e=>{if("google"in e){let{google:{options:t}}=e;await nl({fn:()=>new $s().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await nl({fn:()=>new go().signIn({options:t,loadAuth:()=>qs({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await nl({fn:()=>new Ks({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:gy}),context:r});return}throw new Ss("An unknown or unsupported provider was provided for sign-in.")},nl=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Hs({fn:e})};var by=async e=>{let t=async()=>await wy(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Hs({fn:t})},wy=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new go().signUp({options:t,loadAuthWithUser:Ms});return}throw new Ps("An unknown or unsupported provider was provided for sign-up.")};var B6=e=>e?.data?.provider==="webauthn",D6=e=>e?.data?.provider==="google";var q6=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await rp({idlFactory:e,...t,identity:r})};var Gp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Ty(r));o?.onInitiatedBatch();let{chunkIds:u}=await Ey({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Oy({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Ty=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),Ny=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Oy=async({commitFn:e,...t})=>{let r=Ny(t);await e(r)},Ey=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Us()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of Ry({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Ry({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=>Iy(o)))}}var Iy=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Jp=async({asset:e,...t})=>{let r=await we(t);await Gp({actor:r,asset:e})},Wp=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Jr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},zp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,Jr(t))},Yp=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),Zp=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Xp=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,Jr(t))},Qp=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},ef=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},tf=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var rf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var n1=e=>nf(e),o1=e=>nf({filename:e.data.name,...e}),nf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Jp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:of({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...z(i)&&{token:i},name:p}},i1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await Wp({collection:e,filter:t??{},satellite:o,options:n??Mt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:of({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:rf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},s1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await zp({collection:e,satellite:o,filter:t??{},options:n??Mt})},a1=({collection:e,fullPath:t,satellite:r})=>Yp({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),c1=({collection:e,fullPath:t,token:r,satellite:n})=>Qp({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),l1=({assets:e,satellite:t})=>Zp({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),u1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await Xp({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},d1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await ef({...r,satellite:{...e,identity:n},options:t??Mt})},p1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await tf({...r,satellite:{...e,identity:n},options:t??Mt})},of=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${tp(n)}${e}${z(t)?`?token=${t}`:""}`};var vy=e=>{let t=e?.satelliteId??Tp();ii(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Np();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},T1=e=>Ay(e),Ay=async e=>{let t=vy(e);Se.getInstance().set(t),await qs();let r=t.workers?.auth!==void 0?zd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:wp();return[...z(r)?[r]:[],...z(n)?[n]:[]]},Sy=e=>De.getInstance().subscribe(e),N1=Sy;export{Fp as AuthClientSignInProgressStep,Vs as InitError,Ks as InternetIdentityProvider,Bs as ListError,vs as SignInError,Or as SignInInitError,Cs as SignInMissingClientIdError,Ss as SignInProviderNotSupportedError,As as SignInUserInterruptError,Ps as SignUpProviderNotSupportedError,Hp as WebAuthnSignInProgressStep,Fs as WebAuthnSignInRetrievePublicKeyError,$p as WebAuthnSignUpProgressStep,N1 as authSubscribe,s1 as countAssets,pN as countDocs,a1 as deleteAsset,cN as deleteDoc,u1 as deleteFilteredAssets,uN as deleteFilteredDocs,l1 as deleteManyAssets,lN as deleteManyDocs,of as downloadUrl,d1 as getAsset,ks as getDoc,W_ as getIdentityOnce,p1 as getManyAssets,aN as getManyDocs,q6 as getSatelliteExtendedActor,hy as handleRedirectCallback,T1 as initJuno,Ay as initSatellite,D6 as isGoogleUser,b_ as isWebAuthnAvailable,B6 as isWebAuthnUser,i1 as listAssets,dN as listDocs,Sy as onAuthStateChange,c1 as setAssetToken,_p as setDoc,yp as setManyDocs,xy as signIn,Vc as signOut,by as signUp,J_ as unsafeIdentity,n1 as uploadBlob,o1 as uploadFile};
|
|
54
|
+
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw Oo.fromCode(new vo(p))}let c=Ua(s.headers);if(s.status===wc||s.status===Mm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===jm&&s.url.includes("api/v4"))throw ne.fromCode(new Io);if(wd(u))throw Y.fromCode(new Ft(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Ro(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?k.from(r.effectiveCanisterId):k.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Fr);let c=k.from(t),u=a.getPrincipal(),p=Tc(this.#l,this.#r),d={request_type:Fn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=lr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Query,body:d}),s=await a.transformRequest(s);let f=Ko(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Le.fromCode(new Li);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ft)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Fr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.ReadState,body:{request_type:Fn.ReadState,paths:t.paths,sender:o,ingress_expiry:Tc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=k.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Sn(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Fr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=k.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:Ko(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Ft)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ct;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??lr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ce.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Me(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new Pr("Could not decode time from response"));let o=gr(["time"],r);if(o.status!==Be.Found)throw ne.fromCode(new bt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Ri("Time was not in its expected format."));let i=Mr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??k.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await dd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await pd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Me(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new at(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=k.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await st.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=k.selfAuthenticating(n);if(!dc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new On(r,c))}let s=fc(i.cert,n),a=lo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=k.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await st.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return fc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===dr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function Tc(e,t){let r=e*Nc;return ro.fromDeltaInMilliseconds(r,t)}function wd(e){return e.includes("Invalid request expiry: ")}var $m=300*1e3;function Td(){return Ym(Jm(Gm(),1e3),Wm(1e3,1.2),zm($m))}function Gm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Jm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function zm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new En(`Request timed out after ${e} msec`,n,o))}}function Wm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Ym(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Od={preSignReadStateRequest:!1};function Ed(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oc(e,t){return e!==null&&typeof e=="object"&&Ed(e,t)}function Xm(e,t){return Ed(e,t)&&typeof e[t]=="function"}function Nd(e){return Oc(e,"body")&&Oc(e.body,"content")&&e.body.content.request_type===Fn.ReadState&&Oc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Xm(e.body.content.ingress_expiry,"toHash")}async function Ec(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await Qm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new at);let c=await st.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=kt.Unknown:p=new TextDecoder().decode(u),p){case kt.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case kt.Received:case kt.Unknown:case kt.Processing:{let d=n.strategy??Td();return await d(t,r,p),Ec(e,t,r,{...n,strategy:d,request:s})}case kt.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Cr.fromCode(new $n(r,d,l,h))}case kt.Done:throw ce.fromCode(new Bi(r))}throw ct}async function Qm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Nd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Nd(o))throw Y.fromCode(new ji(o));return o}var ft=Symbol.for("ic-agent-metadata"),fo=class e{static agentOf(t){return t[ft].config.agent}static interfaceOf(t){return t[ft].service}static canisterIdOf(t){return k.from(t[ft].config.canisterId)}static createActorClass(t,r){let n=t({IDL:An});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Ao(s.canisterId));let a=typeof s.canisterId=="string"?k.fromText(s.canisterId):s.canisterId;super({config:{...Rd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Rc),r?.certificate&&u.annotations.push(Id),this[c]=t_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Ao(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ft]=Object.freeze(t)}};function po(e,t){let r=An.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Rd={pollingOptions:Od},Rc="http-details",Id="certificate";function t_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ft].config.queryTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||new wr,u=k.from(s.canisterId||e[ft].config.canisterId),p=An.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Ir.Rejected:{let f=new Pi(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Cr.fromCode(f)}case Ir.Replied:return r.annotations.includes(Rc)?{httpDetails:l,result:po(r.retTypes,d.reply.arg)}:po(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ft].config.callTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||wr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Rd,...e[ft].config,...s},l=k.from(u),f=p!==void 0?k.from(p):l,h=An.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(ml(g.body)){if(c.rootKey==null)throw ye.fromCode(new at);let R=g.body.certificate;y=await st.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new $n(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Cr.fromCode(N)}}}else if(hl(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Vi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Cr.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await Ec(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(Rc),E=r.annotations.includes(Id),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:po(r.retTypes,x)}:E?{certificate:y,result:po(r.retTypes,x)}:T?{httpDetails:O,result:po(r.retTypes,x)}:po(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ce.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var r_=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(r_||{}),Vb=BigInt(1e8);var U=e=>e==null,z=e=>!U(e),Tr=e=>z(e)&&e!=="",ht=e=>!Tr(e);var n_=class extends Error{},si=(e,t)=>{if(e==null)throw new n_(t)};var Nr=e=>new Uint8Array(e),Ns=e=>Array.from(e);var Ad=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var vd="abcdefghijklmnopqrstuvwxyz234567",ii=Object.create(null);for(let e=0;e<vd.length;e++)ii[vd[e]]=e;ii[0]=ii.o;ii[1]=ii.i;var Gr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Sd=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Bb=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Ic="__bigint__",vc="__principal__",Ac="__uint8array__",Cd=(e,t)=>typeof t=="bigint"?{[Ic]:`${t}`}:z(t)&&k.isPrincipal(t)?{[vc]:k.from(t).toText()}:z(t)&&t instanceof Uint8Array?{[Ac]:Array.from(t)}:t,Fd=(e,t)=>{let r=n=>t[n];return z(t)&&typeof t=="object"&&Ic in t?BigInt(r(Ic)):z(t)&&typeof t=="object"&&vc in t?k.fromText(r(vc)):z(t)&&typeof t=="object"&&Ac in t?Uint8Array.from(r(Ac)):t};var se=e=>z(e)?[e]:[],be=e=>e?.[0];var o_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=i_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},i_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ns(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function s_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function a_(e){return Ln(e,oi)}var c_=class{constructor(e){this._cose=e,this.#e=a_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Ud=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new c_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Gr(this.#e)}},l_=class extends Ud{#e;#t;constructor({authData:e,...t}){super(t);let r=o_({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},u_=class extends Ud{},d_=class extends Error{},p_=class extends Error{},f_=class extends Error{},h_=class extends Error{},m_=class extends Error{},__=class extends Error{},y_=class extends Error{},Pd=class extends Error{};var g_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},x_=6e4,kd=()=>window.crypto.getRandomValues(new Uint8Array(16)),b_=()=>kd(),w_=()=>kd(),T_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new d_}},Ld=({appId:e})=>e?.id??T_(),N_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Ld({appId:e})}}),o=()=>({user:{id:w_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:b_(),...n(),...o(),pubKeyCredParams:Object.values(g_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},O_=(e={})=>({rpId:Ld(e),allowCredentials:[],userVerification:"required"}),Sc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Jr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Jr||{}),qd=({timeout:e})=>AbortSignal.timeout(e??x_),E_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...O_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:qd({timeout:n})}),Vd=e=>{if(e.status!=="initialized")throw new p_},Bd=e=>{if(U(e))throw new f_},Dd=({type:e})=>{if(e!=="public-key")throw new h_},Cc=class ai extends Ut{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ai.#r({credential:new l_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:N_(t),signal:qd({timeout:r})});Bd(o),Dd(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new m_;let{authData:a}=Qi.decode(Nr(i)),c=s_(a);return new ai({...n,rawId:Nr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ai(t)}getPublicKey(){Vd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Vd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Sc({fn:async()=>{let n=await E_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Bd(n),Dd(n),n},step:0,onProgress:this.#e});return await Sc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Ad({a:this.#t.credential.getCredentialId(),b:Nr(n)}))throw new __;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Nr(n)});this.#t=ai.#r({credential:new u_({rawId:Nr(n),cose:i})})},step:1,onProgress:this.#e}),await Sc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new Pd;if(U(s))throw new Pd;let a=Qi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Nr(s)});if(U(a))throw new y_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},R_=async()=>z(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ho=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends ho{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var ci=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var mo="http://127.0.0.1:5987",Md="rdmx6-jaaaa-aaaaa-aaadq-cai";var jd=async({identity:e,container:t})=>{let n=z(t)&&t!==!1?t===!0?mo:t:"https://icp-api.io",o=z(t);return await wr.create({identity:e,shouldFetchRootKey:o,host:n})};var _o=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await jd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var yo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(U(this.#e)||U(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await _o.getInstance().getAgent(n);return fo.createActor(t,{agent:o,canisterId:r})}};function Kd(e){return e!==null&&typeof e=="object"}var li=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Kd(t)){let r=t;if(Kd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Pt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Pt(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Ln(t,kn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=qn(t,kn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},At=class e extends Ut{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),Dl(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ge.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(li.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(li.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=li.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ge.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Pt(a)));return Ge.verify(o,i,s)}};var Fc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Hd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Fc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var Lt=class e extends Ut{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Hd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Pt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Hd(r),o=Pt(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Pt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Os=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return k.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Es(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Pc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var zr=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:Es(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function I_(e,t,r,n){let o=new zr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Sa,...new Uint8Array(lr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Or=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await I_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new zr(Pc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return k.fromHex(d)})),signature:Pc(a)}});return new this(o,Pc(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Es(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Es(n)}}),publicKey:Es(this.publicKey)}}},Er=class extends Ut{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await lr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ko,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ui=class e extends Os{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Vc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?k.fromText(o):o)):r.push(typeof n=="string"?k.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var $d=["mousedown","mousemove","keydown","touchstart","wheel"],di=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),$d.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);$d.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var v_=(e,t)=>t.some(r=>e instanceof r),Gd,Jd;function A_(){return Gd||(Gd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function S_(){return Jd||(Jd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var zd=new WeakMap,Dc=new WeakMap,Wd=new WeakMap,Bc=new WeakMap,kc=new WeakMap;function C_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(qt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&zd.set(r,e)}).catch(()=>{}),kc.set(t,e),t}function F_(e){if(Dc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});Dc.set(e,t)}var Uc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Dc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Wd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return qt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Yd(e){Uc=e(Uc)}function P_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Rs(this),t,...r);return Wd.set(n,t.sort?t.sort():[t]),qt(n)}:S_().includes(e)?function(...t){return e.apply(Rs(this),t),qt(zd.get(this))}:function(...t){return qt(e.apply(Rs(this),t))}}function V_(e){return typeof e=="function"?P_(e):(e instanceof IDBTransaction&&F_(e),v_(e,A_())?new Proxy(e,Uc):e)}function qt(e){if(e instanceof IDBRequest)return C_(e);if(Bc.has(e))return Bc.get(e);let t=V_(e);return t!==e&&(Bc.set(e,t),kc.set(t,e)),t}var Rs=e=>kc.get(e);function Xd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=qt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(qt(s.result),c.oldVersion,c.newVersion,qt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var B_=["get","getKey","getAll","getAllKeys","count"],D_=["put","add","delete","clear"],Lc=new Map;function Zd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Lc.get(t))return Lc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=D_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||B_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Lc.set(t,i),i}Yd(e=>({...e,get:(t,r,n)=>Zd(t,r)||e.get(t,r,n),has:(t,r)=>!!Zd(t,r)||e.has(t,r)}));var Qd="auth-client-db",ep="ic-keyval",U_=async(e=Qd,t=ep,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(ze)),await Xd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function k_(e,t,r){return await e.get(t,r)}async function L_(e,t,r,n){return await e.put(t,n,r)}async function q_(e,t,r){return await e.delete(t,r)}var Is=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Qd,storeName:n=ep,version:o=tp}=t??{},i=await U_(r,n,o);return new e(i,n)}async set(t,r){return await L_(this._db,this._storeName,t,r)}async get(t){return await k_(this._db,this._storeName,t)??null}async remove(t){return await q_(this._db,this._storeName,t)}};var ze="identity",Je="delegation",rp="iv",tp=1,pi=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Mt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Is.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var M_=BigInt(1e9),j_=BigInt(3600),K_=M_*j_,H_="https://identity.internetcomputer.org",$_="#authorize",G_=BigInt(8)*K_,qc="ECDSA",Mc="Ed25519",J_=500,vs="UserInterrupt",fi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Mt,n=t.keyType??qc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(ze);if(!c)try{let u=new pi,p=await u.get(Je),d=await u.get(ze);p&&d&&n===qc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Je,p),await r.set(ze,d),c=p,await u.remove(Je),await u.remove(ze))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Mc&&typeof c=="string"?o=At.fromJSON(c):o=await Lt.fromKeyPair(c):typeof c=="string"&&(o=At.fromJSON(c))}catch{}}let i=new ot,s=null;if(o)try{let c=await r.get(Je);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Or.fromJSON(c),Vc(s)?"toDer"in o?i=ui.fromDelegation(o,s):i=Er.fromDelegation(o,s):(await jc(r),o=null))}catch(c){console.error(c),await jc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=di.create(t.idleOptions)),o||(n===Mc?o=At.generate():(t.storage&&n===qc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Mc}' as the key type, as it can serialize to a string`),o=await Lt.generate()),await np(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new zr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Or.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ui.fromDelegation(i,this._chain):this._identity=Er.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=di.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await np(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Vc(this._chain)}async login(t){let r=z_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??G_,o=new URL(r?.identityProvider?.toString()||H_);o.hash=$_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(vs,r?.onError):setTimeout(i,J_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await jc(this._storage),this._identity=new ot,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function jc(e){await e.remove(ze),await e.remove(Je),await e.remove(rp)}function z_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function W_(e){if(e instanceof Lt)return e.getKeyPair();if(e instanceof At)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function np(e,t){let r=W_(t);await e.set(ze,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await fi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Mt().remove(ze),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Mt;await Promise.all([n.set(ze,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var Kc=async e=>{await Y_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Y_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),yo.getInstance().reset(),_o.getInstance().reset()};var op=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ci({message:"junoSignOutAuthTimer"}),await Kc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ci({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var go=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&z(o)&&o.msg==="authClientLoginSuccess"&&Tr(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends ho{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var hi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await Z_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||X_()},ip=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},Z_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},X_=()=>{try{go.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Hc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var sp="juno.datastore.error.user.cannot_update";var jt={certified:!1};var As=()=>Ue.getInstance().getAuthClient()?.getIdentity(),Q_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},ey=async()=>{let e=De.getInstance().get();if(U(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>z(e)?e:As()??new ot;var $c=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ht=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Yr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Zr=e.Variant({OpenId:Yr}),Xr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Qr=e.Record({signature:e.Vec(e.Nat8),delegation:Xr}),$t=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Qr,Err:$t}),Gt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),en=e.Record({clear_existing_assets:e.Opt(e.Bool)}),tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:en,SegmentsDeployment:tn}),Qe=e.Record({status:Gt,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Jt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),zt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),rn=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],["query"])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(rn),status_code:e.Nat16}),nn=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),yt=e.Record({batch_id:e.Nat}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),sn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),cn=e.Record({desc:e.Bool}),Yt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ln=e.Record({order:e.Opt(cn),paginate:e.Opt(Yt)}),un=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(un,Qe)),items_length:e.Nat64}),dn=e.Record({include_system:e.Bool}),pn=e.Record({matcher:e.Opt(dn)}),fn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),hn=e.Record({stable:e.Nat64,heap:e.Nat64}),mn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),_n=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),yn=e.Record({controller:_n,controllers:e.Vec(e.Principal)}),gn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Xt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),xn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Qt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Ht],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([Zr],[Ze],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([zt],[Wt],["query"]),http_request_streaming_callback:e.Func([mt],[nn],["query"]),init_asset_upload:e.Func([_t],[yt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,yt))],[]),list_assets:e.Func([e.Text,O],[on],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,sn))],["query"]),list_docs:e.Func([e.Text,O],[an],["query"]),list_proposals:e.Func([ln],[Zt],["query"]),list_rules:e.Func([F,pn],[fn],["query"]),memory_size:e.Func([],[hn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([mn],[ee],[]),set_controllers:e.Func([yn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([gn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Xt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Xt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([xn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qt],[rt],[]),upload_proposal_asset_chunk:e.Func([Qt],[rt],[])})},Gc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ht=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),Yr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Zr=e.Variant({OpenId:Yr}),Xr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Qr=e.Record({signature:e.Vec(e.Nat8),delegation:Xr}),$t=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Qr,Err:$t}),Gt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),en=e.Record({clear_existing_assets:e.Opt(e.Bool)}),tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:en,SegmentsDeployment:tn}),Qe=e.Record({status:Gt,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Jt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),zt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),rn=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],[])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(rn),status_code:e.Nat16}),nn=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),yt=e.Record({batch_id:e.Nat}),on=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),sn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),cn=e.Record({desc:e.Bool}),Yt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ln=e.Record({order:e.Opt(cn),paginate:e.Opt(Yt)}),un=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(un,Qe)),items_length:e.Nat64}),dn=e.Record({include_system:e.Bool}),pn=e.Record({matcher:e.Opt(dn)}),fn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),hn=e.Record({stable:e.Nat64,heap:e.Nat64}),mn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),_n=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),yn=e.Record({controller:_n,controllers:e.Vec(e.Principal)}),gn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Xt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Jt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),xn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Qt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Ht],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([Zr],[Ze],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],[]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([zt],[Wt],[]),http_request_streaming_callback:e.Func([mt],[nn],[]),init_asset_upload:e.Func([_t],[yt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,yt))],[]),list_assets:e.Func([e.Text,O],[on],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,sn))],[]),list_docs:e.Func([e.Text,O],[an],[]),list_proposals:e.Func([ln],[Zt],[]),list_rules:e.Func([F,pn],[fn],[]),memory_size:e.Func([],[hn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([mn],[ee],[]),set_controllers:e.Func([yn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([gn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Xt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Xt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([xn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qt],[rt],[]),upload_proposal_asset_chunk:e.Func([Qt],[rt],[])})},ty=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Ht=e.Record({e12s:e.Nat64}),Yr=e.Record({updated_at:e.Nat64,fee_cycles:Ht,fee_icp:e.Opt(t)}),Zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),$t=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Ze=e.Record({status:Zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:$t}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),en=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),tn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:tn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],["query"])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Jt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),zt=e.Record({batch_id:e.Nat}),mt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),rn=e.Record({field:mt,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),nn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),_t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yt=e.Record({order:e.Opt(rn),owner:e.Opt(e.Principal),matcher:e.Opt(nn),paginate:e.Opt(_t)}),on=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),sn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),an=e.Record({key:on,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,sn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),cn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,an)),items_length:e.Nat64}),Yt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ln=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Yt,expires_at:e.Opt(e.Nat64)}),un=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Zt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),dn=e.Record({status:Zt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),pn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),fn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),hn=e.Record({status:Zt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:fn}),mn=e.Record({desc:e.Bool}),_n=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),yn=e.Record({order:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({proposal_id:e.Nat}),Xt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(gn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),xn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Qt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),ta=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Yt,expires_at:e.Opt(e.Nat64)}),na=e.Record({controller:ra,controllers:e.Vec(e.Principal)}),oa=e.Record({fee_cycles:Ht,fee_icp:e.Opt(t)}),ia=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),aa=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ca=e.Record({segment_id:e.Principal,segment_kind:ke}),la=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ua=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[q],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([J],[oe],["query"]),get_fee:e.Func([re],[Yr],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rate_config:e.Func([re],[Gt],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([en],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[Jt],["query"]),init_proposal:e.Func([$t],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[zt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,zt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,yt],[cn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ln))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,un))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,dn))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(pn,hn))],["query"]),list_proposals:e.Func([yn],[Xt],["query"]),list_segments:e.Func([xn],[e.Vec(e.Tuple(Qt,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ta],[B],[]),set_controllers:e.Func([na],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,oa],[],[]),set_rate_config:e.Func([re,Gt],[],[]),set_segment:e.Func([ia],[rt],[]),set_segment_metadata:e.Func([sa],[rt],[]),set_storage_config:e.Func([aa],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ca],[],[]),upload_proposal_asset_chunk:e.Func([la],[ua],[])})},ry=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Ht=e.Record({e12s:e.Nat64}),Yr=e.Record({updated_at:e.Nat64,fee_cycles:Ht,fee_icp:e.Opt(t)}),Zr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Xr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Qr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),$t=e.Variant({AssetsUpgrade:Xr,SegmentsDeployment:Qr}),Ze=e.Record({status:Zr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:$t}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),en=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),tn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:tn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],[])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Jt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),zt=e.Record({batch_id:e.Nat}),mt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),rn=e.Record({field:mt,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),nn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),_t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yt=e.Record({order:e.Opt(rn),owner:e.Opt(e.Principal),matcher:e.Opt(nn),paginate:e.Opt(_t)}),on=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),sn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),an=e.Record({key:on,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,sn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),cn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,an)),items_length:e.Nat64}),Yt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ln=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Yt,expires_at:e.Opt(e.Nat64)}),un=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Zt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),dn=e.Record({status:Zt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),pn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),fn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),hn=e.Record({status:Zt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:fn}),mn=e.Record({desc:e.Bool}),_n=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),yn=e.Record({order:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({proposal_id:e.Nat}),Xt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(gn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),xn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Qt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),ta=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Yt,expires_at:e.Opt(e.Nat64)}),na=e.Record({controller:ra,controllers:e.Vec(e.Principal)}),oa=e.Record({fee_cycles:Ht,fee_icp:e.Opt(t)}),ia=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),aa=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ca=e.Record({segment_id:e.Principal,segment_kind:ke}),la=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ua=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[q],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([J],[oe],[]),get_fee:e.Func([re],[Yr],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rate_config:e.Func([re],[Gt],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([en],[et],[]),http_request_streaming_callback:e.Func([Xe],[Jt],[]),init_proposal:e.Func([$t],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[zt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,zt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,yt],[cn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ln))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,un))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,dn))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(pn,hn))],[]),list_proposals:e.Func([yn],[Xt],[]),list_segments:e.Func([xn],[e.Vec(e.Tuple(Qt,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ta],[B],[]),set_controllers:e.Func([na],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,oa],[],[]),set_rate_config:e.Func([re,Gt],[],[]),set_segment:e.Func([ia],[rt],[]),set_segment_metadata:e.Func([sa],[rt],[]),set_storage_config:e.Func([aa],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ca],[],[]),upload_proposal_asset_chunk:e.Func([la],[ua],[])})};var ny=async({identity:e,host:t,localActor:r})=>await wr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),oy=async({agent:e,...t})=>e??await iy(t),iy=async({identity:e,container:t})=>{let r=z(t)&&t!==!1;return await ny({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var ap=({satelliteId:e,certified:t=!1,...r})=>lp({canisterId:e,...r,idlFactory:t?Gc:$c});var cp=({consoleId:e,certified:t=!1,...r})=>lp({canisterId:e,...r,idlFactory:t?ry:ty}),lp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return sy({canisterId:e,idlFactory:t,...r})},sy=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await oy(n);return fo.createActor(t,{agent:o,canisterId:e,...r??{}})};var up=({satelliteId:e,container:t})=>{let{satelliteId:r}=Jc({satelliteId:e}),{container:n}=zc({container:t});if(z(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?mo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Jc=({satelliteId:e})=>z(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},zc=({container:e})=>z(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>pp({idlFactory:t?Gc:$c,actorKey:`stock#${t?"update":"query"}`,...e}),dp=({idlFactory:e,...t})=>pp({idlFactory:e,actorKey:"extended#query",...t}),pp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Jc({satelliteId:e});si(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=zc({container:t});return await yo.getInstance().getActor({satelliteId:n,container:o,...r})};var Ss=class extends Error{},Rr=class extends Error{},Cs=class extends Error{},Fs=class extends Error{},xo=class extends Error{},Ps=class extends Error{},Vs=class extends Error{},Bs=class extends Error{},Ds=class extends Error{};var fp=e=>{if(U(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Ds("Invalid list matcher for timestamp",e)}},Wr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:fp(e.createdAt),updated_at:fp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?k.fromText(n):n)});var hp=async e=>{let t=new Blob([JSON.stringify(e,Cd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Us=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(),Fd)},ks=()=>typeof window<"u";var mp=async({data:e})=>{try{return await Us(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Wc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await hp(t),version:se(r)}},Yc=e=>{let{version:t}=e;return{version:se(t)}},Mn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await Us(i),version:be(n),...s}};var _p=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!U(o))return Mn({doc:o,key:t})},yp=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(z(c)?await Mn({key:s,doc:c}):void 0)}return i},gp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await Wc(t),s=await n(e,o,i);return await Mn({key:o,doc:s})},xp=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Wc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Mn({key:s,doc:a}));return i},bp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Yc(t))},wp=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Yc(i)]);await r(n)},Tp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,Wr(t))},Np=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Wr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await mp({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},Op=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,Wr(t))};var Ls=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await _p({...r,satellite:{...e,identity:n},options:t??jt})},xN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await yp({...r,satellite:{...e,identity:n},options:t??jt})},Ep=async({satellite:e,...t})=>{let r=de(e?.identity);return await gp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Rp=async({satellite:e,...t})=>{let r=de(e?.identity);return await xp({...t,satellite:{...e,identity:r},options:{certified:!0}})},bN=async({satellite:e,...t})=>{let r=de(e?.identity);return await bp({...t,satellite:{...e,identity:r},options:{certified:!0}})},wN=async({satellite:e,...t})=>{let r=de(e?.identity);return await wp({...t,satellite:{...e,identity:r},options:{certified:!0}})},TN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await Tp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},NN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Np({...n,filter:r??{},satellite:{...e,identity:o},options:t??jt})},ON=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Op({...n,filter:r??{},satellite:{...e,identity:o},options:t??jt})};var Ip=async({provider:e})=>{let{user:t,userId:r}=await qs();if(z(t))return t;try{return await ay({userId:r,provider:e})}catch(n){if(Hc({error:n,type:sp})){let o=await vp({userId:r});if(z(o))return o}throw n}},qs=async()=>{let e=As();if(U(e))throw new Bs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await vp({userId:t});return{userId:t,user:r}},vp=({userId:e})=>Ls({collection:"#user",key:e}),ay=({userId:e,...t})=>Ep({collection:"#user",doc:{key:e,data:t}});var Ms=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await hi({fn:async()=>{let{user:r}=await qs();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},Ap=async()=>{await ip({fn:async({authenticated:t})=>{let n=t?qs:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},js=async({user:e})=>{await hi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var Sp=()=>{try{let e=go.getInstance(),t=async()=>{await Ap(),ci({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Cp=()=>{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()},Fp=()=>{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()},Pp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()},Vp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},Ks=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var Bp=BigInt(144e11),Dp=!1,Up={width:576,height:576},kp={width:424,height:576};var mi="internetcomputer.org",Lp="ic0.app",qp="id.ai";var Mp=({width:e,height:t})=>{if(!ks()||U(window)||U(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Kt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var jp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(jp||{});var Hs=class{async signIn({options:t,authClient:r,initAuth:n}){await Kt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Kt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Rr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===vs){o(new Cs(i));return}o(new Ss(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Bp,allowPinAuthentication:t?.allowPin??Dp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var $s=class extends Hs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(U(i)||i===!1){let p=[mi,Lp].includes(this.#e??mi);return ht(this.#e)?`https://identity.${mi}`:p?`https://identity.${this.#e??mi}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=z(s)&&z(s?.internetIdentityId)?s.internetIdentityId:Md,{host:c,protocol:u}=new URL(i===!0?mo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Mp((()=>{try{let{hostname:i}=new URL(n);return i.includes(qp)}catch{return!1}})()?kp:Up)},identityProvider:n}}};var Zc=class extends Error{},Xc=class extends Error{},Qc=class extends Error{},el=class extends Error{},tl=class extends Error{},rl=class extends Error{},nl=class extends Error{},Gs=class extends Error{},ol=class extends Error{},il=class extends Error{},sl=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},al=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}};var Kp=({auth:e,identity:t})=>"satellite"in e?ap({...e.satellite,identity:t}):cp({...e.console,identity:t}),cy=async({actorParams:e,args:t})=>{let{authenticate:r}=await Kp(e);return await r(t)},ly=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Kp(e);return await r(t)},uy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Or.fromDelegations(n,Uint8Array.from(r));return{identity:Er.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Js=async({jwt:e,context:t,auth:r})=>{let n=await Lt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await dy({jwt:e,publicKey:o,context:t,auth:r});return{identity:uy({sessionKey:n,delegations:i}),data:s}},dy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await cy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new tl("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await py({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new zr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},py=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await ly({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new ol("Getting delegation failed",{cause:c})}return c.Ok}throw new il};var Hp=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?await t.json():{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new sl({cause:t})}}},$p=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?await r.json():{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new al({cause:r})}}};var cl="juno:auth:openid",ll={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},zs={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"};var ul=e=>Gr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),Ws=({url:e})=>{try{return new URL(e)}catch{throw new Zc("Cannot parse authURL",{cause:e})}},fy=()=>window.crypto.getRandomValues(new Uint8Array(32)),hy=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return ul(Nr(o))},my=async({caller:e})=>{let t=fy();return{nonce:await hy({salt:t,caller:e}),salt:t}},Gp="__caller__",Jp="__salt__",zp="__state__",_y=({caller:e,state:t,salt:r})=>{let n={[Gp]:e.toJSON(),[Jp]:Gr(r),[zp]:t};return JSON.stringify(n)},yy=e=>{let{[Gp]:t,[Jp]:r,[zp]:n}=JSON.parse(e);return{caller:At.fromParsedJson(t),salt:Sd(r),state:n}},dl=async({generateState:e})=>{let t=At.generate(),{nonce:r,salt:n}=await my({caller:t}),o=await e({nonce:r}),i=_y({caller:t,salt:n,state:o});return sessionStorage.setItem(cl,i),{nonce:r,state:o}},Wp=()=>{let e=sessionStorage.getItem(cl);if(U(e))throw new Xc;return yy(e)};var gy=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await $p({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(ht(c))throw new Gs;return await Js({jwt:c,auth:e,context:t})},xy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(ht(r)||!r.startsWith("#"))throw new rl("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(ht(s)||o!==s)throw new nl("The provided state is invalid",{cause:o});if(ht(i))throw new Gs;return await Js({jwt:i,auth:e,context:t})},pl=async e=>{let t=Wp();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=zs;return await gy({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await Js({jwt:n,context:t,auth:o})}return await xy({...r,context:t})};var by=({initUrl:e})=>async({nonce:t})=>{let r=Ws({url:e});r.searchParams.set("nonce",t);let n=await Hp({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},wy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=Ws({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Ty=()=>ul(window.crypto.getRandomValues(new Uint8Array(12))),Ny=async e=>Ty(),Oy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=Ws({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),Tr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Ey=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(U(i))throw new Qc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new el("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function _i(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=zs,f=await dl({generateState:by({initUrl:c??l})});wy({...u,...f,authUrl:p,authScopes:d});return}let t=await dl({generateState:Ny}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=ll;return await Ey({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=ll;Oy({...n,...t,authUrl:o,authScopes:i})}var Ys=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var Ry=async e=>{let{satelliteId:t}=Se.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let r=Se.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(Tr(d))return d;let l=Ks();return ht(l)?null:Ys({url:`${l}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:u}}=await pl("github"in e?{github:{redirect:z(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ue.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await Mn({doc:u,key:c.getPrincipal().toText()});await js({user:p})};var Yp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Iy=()=>{window.addEventListener("beforeunload",Yp,{capture:!0})},vy=()=>{window.removeEventListener("beforeunload",Yp,{capture:!0})},Zs=async({fn:e})=>{try{return Iy(),await e()}finally{vy()}};var Xs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Vp();if(U(r))throw new xo;let{redirect:n}=t;await _i({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(Tr(i))return i;let s=Ks();if(!ht(s))return Ys({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var Qs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Pp();if(U(r))throw new xo;let{redirect:n}=t;await _i({google:{redirect:{...n??{},clientId:r}}})}};var Zp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Rp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...z(n)&&{aaguid:Ns(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var bo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Jr.RequestingUserCredential:t?.({step:1,state:g});break;case Jr.FinalizingCredential:t?.({step:2,state:g});break;case Jr.Signing:t?.({step:3,state:g});break}},c=await Kt({fn:async()=>await Cc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Kt({fn:async()=>await Zp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Kt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Kt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(U(o))throw new Rr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Ls({collection:"#user-webauthn",key:Gr(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(U(l))throw new Ps("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return qn(h,oi)},s=({step:d,state:l})=>{switch(d){case Jr.RequestingUserCredential:t?.({step:0,state:l});break;case Jr.FinalizingCredential:t?.({step:1,state:l});break;case Jr.Signing:t?.({step:2,state:l});break}},a=await Cc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Kt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Kt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Lt.generate({extractable:!1}),o=r??144e5,i=await Or.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Er.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Mt;await Promise.all([n.set(ze,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var Sy=async({provider:e})=>{await hi({fn:async()=>{let r=await Ip({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},Cy=async e=>{if("google"in e){let{google:{options:t}}=e;await ea({fn:()=>new Qs().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await ea({fn:()=>new Xs().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await ea({fn:()=>new bo().signIn({options:t,loadAuth:()=>Ms({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await ea({fn:()=>new $s({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:Sy}),context:r});return}throw new Fs("An unknown or unsupported provider was provided for sign-in.")},ea=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Zs({fn:e})};var Fy=async e=>{let t=async()=>await Py(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Zs({fn:t})},Py=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:js});return}throw new Vs("An unknown or unsupported provider was provided for sign-up.")};var d1=e=>e?.data?.provider==="webauthn",p1=e=>e?.data?.provider==="google";var _1=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await dp({idlFactory:e,...t,identity:r})};var Xp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Vy(r));o?.onInitiatedBatch();let{chunkIds:u}=await Uy({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Dy({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Vy=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),By=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Dy=async({commitFn:e,...t})=>{let r=By(t);await e(r)},Uy=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=ks()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of ky({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*ky({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Ly(o)))}}var Ly=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Qp=async({asset:e,...t})=>{let r=await we(t);await Xp({actor:r,asset:e})},ef=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Wr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},tf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,Wr(t))},rf=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),nf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},of=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,Wr(t))},sf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},af=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},cf=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var lf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var P1=e=>uf(e),V1=e=>uf({filename:e.data.name,...e}),uf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Qp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:df({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...z(i)&&{token:i},name:p}},B1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await ef({collection:e,filter:t??{},satellite:o,options:n??jt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:df({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:lf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},D1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await tf({collection:e,satellite:o,filter:t??{},options:n??jt})},U1=({collection:e,fullPath:t,satellite:r})=>rf({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),k1=({collection:e,fullPath:t,token:r,satellite:n})=>sf({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),L1=({assets:e,satellite:t})=>nf({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),q1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await of({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},M1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await af({...r,satellite:{...e,identity:n},options:t??jt})},j1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await cf({...r,satellite:{...e,identity:n},options:t??jt})},df=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${up(n)}${e}${z(t)?`?token=${t}`:""}`};var qy=e=>{let t=e?.satelliteId??Cp();si(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Fp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},X1=e=>My(e),My=async e=>{let t=qy(e);Se.getInstance().set(t),await Ms();let r=t.workers?.auth!==void 0?op(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Sp();return[...z(r)?[r]:[],...z(n)?[n]:[]]},jy=e=>De.getInstance().subscribe(e),Q1=jy;export{jp as AuthClientSignInProgressStep,Bs as InitError,$s as InternetIdentityProvider,Ds as ListError,Ss as SignInError,Rr as SignInInitError,xo as SignInMissingClientIdError,Fs as SignInProviderNotSupportedError,Cs as SignInUserInterruptError,Vs as SignUpProviderNotSupportedError,Ps as WebAuthnSignInRetrievePublicKeyError,Q1 as authSubscribe,D1 as countAssets,ON as countDocs,U1 as deleteAsset,bN as deleteDoc,q1 as deleteFilteredAssets,TN as deleteFilteredDocs,L1 as deleteManyAssets,wN as deleteManyDocs,df as downloadUrl,M1 as getAsset,Ls as getDoc,ey as getIdentityOnce,j1 as getManyAssets,xN as getManyDocs,_1 as getSatelliteExtendedActor,Ry as handleRedirectCallback,X1 as initJuno,My as initSatellite,p1 as isGoogleUser,R_ as isWebAuthnAvailable,d1 as isWebAuthnUser,B1 as listAssets,NN as listDocs,jy as onAuthStateChange,k1 as setAssetToken,Ep as setDoc,Rp as setManyDocs,Cy as signIn,Kc as signOut,Fy as signUp,Q_ as unsafeIdentity,P1 as uploadBlob,V1 as uploadFile};
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
@noble/hashes/esm/utils.js:
|