@junobuild/core-standalone 2.1.1 → 2.1.2
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 +13 -13
- package/dist/browser/index.js.map +3 -3
- package/dist/node/index.mjs +29 -29
- package/dist/node/index.mjs.map +3 -3
- package/dist/workers/auth.worker.js +3 -3
- package/package.json +6 -6
package/dist/node/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var L1=Object.create;var El=Object.defineProperty;var q1=Object.getOwnPropertyDescriptor;var M1=Object.getOwnPropertyNames;var k1=Object.getPrototypeOf,j1=Object.prototype.hasOwnProperty;var H1=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$1=(t,e)=>{for(var r in e)El(t,r,{get:e[r],enumerable:!0})},K1=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of M1(e))!j1.call(t,o)&&o!==r&&El(t,o,{get:()=>e[o],enumerable:!(n=q1(e,o))||n.enumerable});return t};var De=(t,e,r)=>(r=t!=null?L1(k1(t)):{},K1(e||!t||!t.__esModule?El(r,"default",{value:t,enumerable:!0}):r,t));var Tl=z(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.QueryResponseStatus=ao.ReplicaRejectCode=void 0;ao.isV2ResponseBody=G1;ao.isV3ResponseBody=Z1;var fy;(function(t){t[t.SysFatal=1]="SysFatal",t[t.SysTransient=2]="SysTransient",t[t.DestinationInvalid=3]="DestinationInvalid",t[t.CanisterReject=4]="CanisterReject",t[t.CanisterError=5]="CanisterError"})(fy||(ao.ReplicaRejectCode=fy={}));var py;(function(t){t.Replied="replied",t.Rejected="rejected"})(py||(ao.QueryResponseStatus=py={}));function G1(t){return t!=null&&"reject_code"in t}function Z1(t){return t!=null&&"certificate"in t}});var hy=z(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.encode=z1;Dc.decode=Y1;var Pc="abcdefghijklmnopqrstuvwxyz234567",Hs=Object.create(null);for(let t=0;t<Pc.length;t++)Hs[Pc[t]]=t;Hs[0]=Hs.o;Hs[1]=Hs.i;function z1(t){let e=0,r=0,n="";function o(s){return e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Pc[r>>3],e+=5),0)}for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Pc[r>>3]:"")}function Y1(t){let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0;function s(i){let a=Hs[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)}for(let i of t)s(i);return n.slice(0,o)}});var Nl=z(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.getCrc32=X1;var W1=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 X1(t){let e=-1;for(let r=0;r<t.length;r++){let o=(t[r]^e)&255;e=W1[o]^e>>>8}return(e^-1)>>>0}});var yy=z(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.crypto=void 0;var co=H1("node:crypto");Fc.crypto=co&&typeof co=="object"&&"webcrypto"in co?co.webcrypto:co&&typeof co=="object"&&"randomBytes"in co?co:void 0});var dt=z(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.wrapXOFConstructorWithOpts=te.wrapConstructorWithOpts=te.wrapConstructor=te.Hash=te.nextTick=te.swap32IfBE=te.byteSwapIfBE=te.swap8IfBE=te.isLE=void 0;te.isBytes=_y;te.anumber=vl;te.abytes=Ks;te.ahash=J1;te.aexists=Q1;te.aoutput=e2;te.u8=t2;te.u32=r2;te.clean=n2;te.createView=o2;te.rotr=s2;te.rotl=i2;te.byteSwap=Il;te.byteSwap32=by;te.bytesToHex=c2;te.hexToBytes=u2;te.asyncLoop=l2;te.utf8ToBytes=Sl;te.bytesToUtf8=f2;te.toBytes=Vc;te.kdfInputToBytes=p2;te.concatBytes=h2;te.checkOpts=y2;te.createHasher=xy;te.createOptHasher=wy;te.createXOFer=Ey;te.randomBytes=m2;var $s=yy();function _y(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function vl(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ks(t,...e){if(!_y(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function J1(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");vl(t.outputLen),vl(t.blockLen)}function Q1(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function e2(t,e){Ks(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function t2(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function r2(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function n2(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function o2(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function s2(t,e){return t<<32-e|t>>>e}function i2(t,e){return t<<e|t>>>32-e>>>0}te.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Il(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}te.swap8IfBE=te.isLE?t=>t:t=>Il(t);te.byteSwapIfBE=te.swap8IfBE;function by(t){for(let e=0;e<t.length;e++)t[e]=Il(t[e]);return t}te.swap32IfBE=te.isLE?t=>t:by;var gy=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",a2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function c2(t){if(Ks(t),gy)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=a2[t[r]];return e}var Tn={_0:48,_9:57,A:65,F:70,a:97,f:102};function my(t){if(t>=Tn._0&&t<=Tn._9)return t-Tn._0;if(t>=Tn.A&&t<=Tn.F)return t-(Tn.A-10);if(t>=Tn.a&&t<=Tn.f)return t-(Tn.a-10)}function u2(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(gy)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=my(t.charCodeAt(s)),a=my(t.charCodeAt(s+1));if(i===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}var d2=async()=>{};te.nextTick=d2;async function l2(t,e,r){let n=Date.now();for(let o=0;o<t;o++){r(o);let s=Date.now()-n;s>=0&&s<e||(await(0,te.nextTick)(),n+=s)}}function Sl(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function f2(t){return new TextDecoder().decode(t)}function Vc(t){return typeof t=="string"&&(t=Sl(t)),Ks(t),t}function p2(t){return typeof t=="string"&&(t=Sl(t)),Ks(t),t}function h2(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];Ks(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}function y2(t,e){if(e!==void 0&&{}.toString.call(e)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(t,e)}var Rl=class{};te.Hash=Rl;function xy(t){let e=n=>t().update(Vc(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function wy(t){let e=(n,o)=>t(o).update(Vc(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}function Ey(t){let e=(n,o)=>t(o).update(Vc(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}te.wrapConstructor=xy;te.wrapConstructorWithOpts=wy;te.wrapXOFConstructorWithOpts=Ey;function m2(t=32){if($s.crypto&&typeof $s.crypto.getRandomValues=="function")return $s.crypto.getRandomValues(new Uint8Array(t));if($s.crypto&&typeof $s.crypto.randomBytes=="function")return Uint8Array.from($s.crypto.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}});var Oy=z(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SHA512_IV=Ft.SHA384_IV=Ft.SHA224_IV=Ft.SHA256_IV=Ft.HashMD=void 0;Ft.setBigUint64=Ty;Ft.Chi=_2;Ft.Maj=b2;var $r=dt();function Ty(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,d=n?0:4;t.setUint32(e+c,i,n),t.setUint32(e+d,a,n)}function _2(t,e,r){return t&e^~t&r}function b2(t,e,r){return t&e^t&r^e&r}var Al=class extends $r.Hash{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=(0,$r.createView)(this.buffer)}update(e){(0,$r.aexists)(this),e=(0,$r.toBytes)(e),(0,$r.abytes)(e);let{view:r,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=(0,$r.createView)(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,$r.aexists)(this),(0,$r.aoutput)(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,(0,$r.clean)(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;Ty(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=(0,$r.createView)(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=c/4,p=this.get();if(d>p.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)a.setUint32(4*l,p[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}};Ft.HashMD=Al;Ft.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Ft.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Ft.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Ft.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var Gy=z(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.toBig=ue.shrSL=ue.shrSH=ue.rotrSL=ue.rotrSH=ue.rotrBL=ue.rotrBH=ue.rotr32L=ue.rotr32H=ue.rotlSL=ue.rotlSH=ue.rotlBL=ue.rotlBH=ue.add5L=ue.add5H=ue.add4L=ue.add4H=ue.add3L=ue.add3H=void 0;ue.add=qy;ue.fromBig=Cl;ue.split=Ny;var Uc=BigInt(2**32-1),Bl=BigInt(32);function Cl(t,e=!1){return e?{h:Number(t&Uc),l:Number(t>>Bl&Uc)}:{h:Number(t>>Bl&Uc)|0,l:Number(t&Uc)|0}}function Ny(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Cl(t[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var vy=(t,e)=>BigInt(t>>>0)<<Bl|BigInt(e>>>0);ue.toBig=vy;var Ry=(t,e,r)=>t>>>r;ue.shrSH=Ry;var Iy=(t,e,r)=>t<<32-r|e>>>r;ue.shrSL=Iy;var Sy=(t,e,r)=>t>>>r|e<<32-r;ue.rotrSH=Sy;var Ay=(t,e,r)=>t<<32-r|e>>>r;ue.rotrSL=Ay;var By=(t,e,r)=>t<<64-r|e>>>r-32;ue.rotrBH=By;var Cy=(t,e,r)=>t>>>r-32|e<<64-r;ue.rotrBL=Cy;var Py=(t,e)=>e;ue.rotr32H=Py;var Dy=(t,e)=>t;ue.rotr32L=Dy;var Fy=(t,e,r)=>t<<r|e>>>32-r;ue.rotlSH=Fy;var Vy=(t,e,r)=>e<<r|t>>>32-r;ue.rotlSL=Vy;var Uy=(t,e,r)=>e<<r-32|t>>>64-r;ue.rotlBH=Uy;var Ly=(t,e,r)=>t<<r-32|e>>>64-r;ue.rotlBL=Ly;function qy(t,e,r,n){let o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:o|0}}var My=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0);ue.add3L=My;var ky=(t,e,r,n)=>e+r+n+(t/2**32|0)|0;ue.add3H=ky;var jy=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0);ue.add4L=jy;var Hy=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0;ue.add4H=Hy;var $y=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0);ue.add5L=$y;var Ky=(t,e,r,n,o,s)=>e+r+n+o+s+(t/2**32|0)|0;ue.add5H=Ky;var g2={fromBig:Cl,split:Ny,toBig:vy,shrSH:Ry,shrSL:Iy,rotrSH:Sy,rotrSL:Ay,rotrBH:By,rotrBL:Cy,rotr32H:Py,rotr32L:Dy,rotlSH:Fy,rotlSL:Vy,rotlBH:Uy,rotlBL:Ly,add:qy,add3L:My,add3H:ky,add4L:jy,add4H:Hy,add5H:Ky,add5L:$y};ue.default=g2});var Gs=z(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.sha512_224=Le.sha512_256=Le.sha384=Le.sha512=Le.sha224=Le.sha256=Le.SHA512_256=Le.SHA512_224=Le.SHA384=Le.SHA512=Le.SHA224=Le.SHA256=void 0;var Q=Oy(),me=Gy(),Qe=dt(),x2=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]),uo=new Uint32Array(64),ea=class extends Q.HashMD{constructor(e=32){super(64,e,8,!1),this.A=Q.SHA256_IV[0]|0,this.B=Q.SHA256_IV[1]|0,this.C=Q.SHA256_IV[2]|0,this.D=Q.SHA256_IV[3]|0,this.E=Q.SHA256_IV[4]|0,this.F=Q.SHA256_IV[5]|0,this.G=Q.SHA256_IV[6]|0,this.H=Q.SHA256_IV[7]|0}get(){let{A:e,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,r,n,o,s,i,a,c]}set(e,r,n,o,s,i,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)uo[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let u=uo[l-15],f=uo[l-2],h=(0,Qe.rotr)(u,7)^(0,Qe.rotr)(u,18)^u>>>3,y=(0,Qe.rotr)(f,17)^(0,Qe.rotr)(f,19)^f>>>10;uo[l]=y+uo[l-7]+h+uo[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:d,H:p}=this;for(let l=0;l<64;l++){let u=(0,Qe.rotr)(a,6)^(0,Qe.rotr)(a,11)^(0,Qe.rotr)(a,25),f=p+u+(0,Q.Chi)(a,c,d)+x2[l]+uo[l]|0,y=((0,Qe.rotr)(n,2)^(0,Qe.rotr)(n,13)^(0,Qe.rotr)(n,22))+(0,Q.Maj)(n,o,s)|0;p=d,d=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+y|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,d=d+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,d,p)}roundClean(){(0,Qe.clean)(uo)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,Qe.clean)(this.buffer)}};Le.SHA256=ea;var Lc=class extends ea{constructor(){super(28),this.A=Q.SHA224_IV[0]|0,this.B=Q.SHA224_IV[1]|0,this.C=Q.SHA224_IV[2]|0,this.D=Q.SHA224_IV[3]|0,this.E=Q.SHA224_IV[4]|0,this.F=Q.SHA224_IV[5]|0,this.G=Q.SHA224_IV[6]|0,this.H=Q.SHA224_IV[7]|0}};Le.SHA224=Lc;var Zy=me.split(["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(t=>BigInt(t))),w2=Zy[0],E2=Zy[1],lo=new Uint32Array(80),fo=new Uint32Array(80),Go=class extends Q.HashMD{constructor(e=64){super(128,e,16,!1),this.Ah=Q.SHA512_IV[0]|0,this.Al=Q.SHA512_IV[1]|0,this.Bh=Q.SHA512_IV[2]|0,this.Bl=Q.SHA512_IV[3]|0,this.Ch=Q.SHA512_IV[4]|0,this.Cl=Q.SHA512_IV[5]|0,this.Dh=Q.SHA512_IV[6]|0,this.Dl=Q.SHA512_IV[7]|0,this.Eh=Q.SHA512_IV[8]|0,this.El=Q.SHA512_IV[9]|0,this.Fh=Q.SHA512_IV[10]|0,this.Fl=Q.SHA512_IV[11]|0,this.Gh=Q.SHA512_IV[12]|0,this.Gl=Q.SHA512_IV[13]|0,this.Hh=Q.SHA512_IV[14]|0,this.Hl=Q.SHA512_IV[15]|0}get(){let{Ah:e,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:d,El:p,Fh:l,Fl:u,Gh:f,Gl:h,Hh:y,Hl:b}=this;return[e,r,n,o,s,i,a,c,d,p,l,u,f,h,y,b]}set(e,r,n,o,s,i,a,c,d,p,l,u,f,h,y,b){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=d|0,this.El=p|0,this.Fh=l|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=y|0,this.Hl=b|0}process(e,r){for(let _=0;_<16;_++,r+=4)lo[_]=e.getUint32(r),fo[_]=e.getUint32(r+=4);for(let _=16;_<80;_++){let T=lo[_-15]|0,N=fo[_-15]|0,R=me.rotrSH(T,N,1)^me.rotrSH(T,N,8)^me.shrSH(T,N,7),v=me.rotrSL(T,N,1)^me.rotrSL(T,N,8)^me.shrSL(T,N,7),A=lo[_-2]|0,E=fo[_-2]|0,S=me.rotrSH(A,E,19)^me.rotrBH(A,E,61)^me.shrSH(A,E,6),V=me.rotrSL(A,E,19)^me.rotrBL(A,E,61)^me.shrSL(A,E,6),C=me.add4L(v,V,fo[_-7],fo[_-16]),g=me.add4H(C,R,S,lo[_-7],lo[_-16]);lo[_]=g|0,fo[_]=C|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:d,Dl:p,Eh:l,El:u,Fh:f,Fl:h,Gh:y,Gl:b,Hh:m,Hl:x}=this;for(let _=0;_<80;_++){let T=me.rotrSH(l,u,14)^me.rotrSH(l,u,18)^me.rotrBH(l,u,41),N=me.rotrSL(l,u,14)^me.rotrSL(l,u,18)^me.rotrBL(l,u,41),R=l&f^~l&y,v=u&h^~u&b,A=me.add5L(x,N,v,E2[_],fo[_]),E=me.add5H(A,m,T,R,w2[_],lo[_]),S=A|0,V=me.rotrSH(n,o,28)^me.rotrBH(n,o,34)^me.rotrBH(n,o,39),C=me.rotrSL(n,o,28)^me.rotrBL(n,o,34)^me.rotrBL(n,o,39),g=n&s^n&a^s&a,w=o&i^o&c^i&c;m=y|0,x=b|0,y=f|0,b=h|0,f=l|0,h=u|0,{h:l,l:u}=me.add(d|0,p|0,E|0,S|0),d=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let O=me.add3L(S,C,w);n=me.add3H(O,E,V,g),o=O|0}({h:n,l:o}=me.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=me.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=me.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:d,l:p}=me.add(this.Dh|0,this.Dl|0,d|0,p|0),{h:l,l:u}=me.add(this.Eh|0,this.El|0,l|0,u|0),{h:f,l:h}=me.add(this.Fh|0,this.Fl|0,f|0,h|0),{h:y,l:b}=me.add(this.Gh|0,this.Gl|0,y|0,b|0),{h:m,l:x}=me.add(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,s,i,a,c,d,p,l,u,f,h,y,b,m,x)}roundClean(){(0,Qe.clean)(lo,fo)}destroy(){(0,Qe.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};Le.SHA512=Go;var qc=class extends Go{constructor(){super(48),this.Ah=Q.SHA384_IV[0]|0,this.Al=Q.SHA384_IV[1]|0,this.Bh=Q.SHA384_IV[2]|0,this.Bl=Q.SHA384_IV[3]|0,this.Ch=Q.SHA384_IV[4]|0,this.Cl=Q.SHA384_IV[5]|0,this.Dh=Q.SHA384_IV[6]|0,this.Dl=Q.SHA384_IV[7]|0,this.Eh=Q.SHA384_IV[8]|0,this.El=Q.SHA384_IV[9]|0,this.Fh=Q.SHA384_IV[10]|0,this.Fl=Q.SHA384_IV[11]|0,this.Gh=Q.SHA384_IV[12]|0,this.Gl=Q.SHA384_IV[13]|0,this.Hh=Q.SHA384_IV[14]|0,this.Hl=Q.SHA384_IV[15]|0}};Le.SHA384=qc;var Nt=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),vt=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Mc=class extends Go{constructor(){super(28),this.Ah=Nt[0]|0,this.Al=Nt[1]|0,this.Bh=Nt[2]|0,this.Bl=Nt[3]|0,this.Ch=Nt[4]|0,this.Cl=Nt[5]|0,this.Dh=Nt[6]|0,this.Dl=Nt[7]|0,this.Eh=Nt[8]|0,this.El=Nt[9]|0,this.Fh=Nt[10]|0,this.Fl=Nt[11]|0,this.Gh=Nt[12]|0,this.Gl=Nt[13]|0,this.Hh=Nt[14]|0,this.Hl=Nt[15]|0}};Le.SHA512_224=Mc;var kc=class extends Go{constructor(){super(32),this.Ah=vt[0]|0,this.Al=vt[1]|0,this.Bh=vt[2]|0,this.Bl=vt[3]|0,this.Ch=vt[4]|0,this.Cl=vt[5]|0,this.Dh=vt[6]|0,this.Dl=vt[7]|0,this.Eh=vt[8]|0,this.El=vt[9]|0,this.Fh=vt[10]|0,this.Fl=vt[11]|0,this.Gh=vt[12]|0,this.Gl=vt[13]|0,this.Hh=vt[14]|0,this.Hl=vt[15]|0}};Le.SHA512_256=kc;Le.sha256=(0,Qe.createHasher)(()=>new ea);Le.sha224=(0,Qe.createHasher)(()=>new Lc);Le.sha512=(0,Qe.createHasher)(()=>new Go);Le.sha384=(0,Qe.createHasher)(()=>new qc);Le.sha512_256=(0,Qe.createHasher)(()=>new kc);Le.sha512_224=(0,Qe.createHasher)(()=>new Mc)});var Xy=z(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.Principal=Kr.JSON_KEY_PRINCIPAL=void 0;var zy=hy(),T2=Nl(),O2=Gs(),Yy=dt();Kr.JSON_KEY_PRINCIPAL="__principal__";var N2=2,Wy=4,v2="aaaaa-aa",Pl=class t{static anonymous(){return new this(new Uint8Array([Wy]))}static managementCanister(){return this.fromText(v2)}static selfAuthenticating(e){let r=(0,O2.sha224)(e);return new this(new Uint8Array([...r,N2]))}static from(e){if(typeof e=="string")return t.fromText(e);if(Object.getPrototypeOf(e)===Uint8Array.prototype)return new t(e);if(t.isPrincipal(e))return new t(e._arr);throw new Error(`Impossible to convert ${JSON.stringify(e)} to Principal.`)}static fromHex(e){return new this((0,Yy.hexToBytes)(e))}static fromText(e){let r=e;if(e.includes(Kr.JSON_KEY_PRINCIPAL)){let i=JSON.parse(e);Kr.JSON_KEY_PRINCIPAL in i&&(r=i[Kr.JSON_KEY_PRINCIPAL])}let n=r.toLowerCase().replace(/-/g,""),o=(0,zy.decode)(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(e){return new this(e)}static isPrincipal(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isPrincipal"in e&&e._isPrincipal===!0&&"_arr"in e&&e._arr instanceof Uint8Array}constructor(e){this._arr=e,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Wy}toUint8Array(){return this._arr}toHex(){return(0,Yy.bytesToHex)(this._arr).toUpperCase()}toText(){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,(0,T2.getCrc32)(this._arr));let n=new Uint8Array(e),o=new Uint8Array([...n,...this._arr]),i=(0,zy.encode)(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[Kr.JSON_KEY_PRINCIPAL]:this.toText()}}compareTo(e){for(let r=0;r<Math.min(this._arr.length,e._arr.length);r++){if(this._arr[r]<e._arr[r])return"lt";if(this._arr[r]>e._arr[r])return"gt"}return this._arr.length<e._arr.length?"lt":this._arr.length>e._arr.length?"gt":"eq"}ltEq(e){let r=this.compareTo(e);return r=="lt"||r=="eq"}gtEq(e){let r=this.compareTo(e);return r=="gt"||r=="eq"}};Kr.Principal=Pl});var Rr=z(On=>{"use strict";var R2=On&&On.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),I2=On&&On.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&R2(e,t,r)};Object.defineProperty(On,"__esModule",{value:!0});On.getCrc32=void 0;I2(Xy(),On);var S2=Nl();Object.defineProperty(On,"getCrc32",{enumerable:!0,get:function(){return S2.getCrc32}})});var sr=z(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.UNREACHABLE_ERROR=k.ExpiryJsonDeserializeErrorCode=k.InvalidReadStateRequestErrorCode=k.MissingCanisterIdErrorCode=k.HttpFetchErrorCode=k.HttpV3ApiNotSupportedErrorCode=k.HttpErrorCode=k.HashTreeDecodeErrorCode=k.UnexpectedErrorCode=k.QuerySignatureVerificationFailedErrorCode=k.MalformedPublicKeyErrorCode=k.MissingSignatureErrorCode=k.MalformedSignatureErrorCode=k.CreateHttpAgentErrorCode=k.IngressExpiryInvalidErrorCode=k.IdentityInvalidErrorCode=k.HttpDefaultFetchErrorCode=k.HashValueErrorCode=k.MissingRootKeyErrorCode=k.RequestStatusDoneNoReplyErrorCode=k.UncertifiedRejectUpdateErrorCode=k.UncertifiedRejectErrorCode=k.CertifiedRejectErrorCode=k.CertificateOutdatedErrorCode=k.TimeoutWaitingForResponseErrorCode=k.HexDecodeErrorCode=k.CborEncodeErrorCode=k.CborDecodeErrorCode=k.DerEncodeErrorCode=k.DerDecodeErrorCode=k.DerDecodeLengthMismatchErrorCode=k.DerPrefixMismatchErrorCode=k.DerKeyLengthMismatchErrorCode=k.MissingLookupValueErrorCode=k.MalformedLookupFoundValueErrorCode=k.LookupErrorCode=k.CertificateNotAuthorizedErrorCode=k.CertificateHasTooManyDelegationsErrorCode=k.CertificateTimeErrorCode=k.CertificateVerificationErrorCode=k.UnknownError=k.InputError=k.LimitError=k.ExternalError=k.TransportError=k.RejectError=k.ProtocolError=k.TrustError=k.AgentError=k.ErrorKindEnum=void 0;var pr=dt(),Gr;(function(t){t.Trust="Trust",t.Protocol="Protocol",t.Reject="Reject",t.Transport="Transport",t.External="External",t.Limit="Limit",t.Input="Input",t.Unknown="Unknown"})(Gr||(k.ErrorKindEnum=Gr={}));var he=class{constructor(e=!1){this.isCertified=e}toString(){let e=this.toErrorMessage();return this.requestContext&&(e+=`
|
|
3
|
+
var U1=Object.create;var El=Object.defineProperty;var L1=Object.getOwnPropertyDescriptor;var q1=Object.getOwnPropertyNames;var M1=Object.getPrototypeOf,k1=Object.prototype.hasOwnProperty;var j1=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),H1=(t,e)=>{for(var r in e)El(t,r,{get:e[r],enumerable:!0})},$1=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of q1(e))!k1.call(t,o)&&o!==r&&El(t,o,{get:()=>e[o],enumerable:!(n=L1(e,o))||n.enumerable});return t};var De=(t,e,r)=>(r=t!=null?U1(M1(t)):{},$1(e||!t||!t.__esModule?El(r,"default",{value:t,enumerable:!0}):r,t));var Tl=z(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.QueryResponseStatus=ao.ReplicaRejectCode=void 0;ao.isV2ResponseBody=K1;ao.isV3ResponseBody=G1;var lm;(function(t){t[t.SysFatal=1]="SysFatal",t[t.SysTransient=2]="SysTransient",t[t.DestinationInvalid=3]="DestinationInvalid",t[t.CanisterReject=4]="CanisterReject",t[t.CanisterError=5]="CanisterError"})(lm||(ao.ReplicaRejectCode=lm={}));var fm;(function(t){t.Replied="replied",t.Rejected="rejected"})(fm||(ao.QueryResponseStatus=fm={}));function K1(t){return t!=null&&"reject_code"in t}function G1(t){return t!=null&&"certificate"in t}});var pm=z(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.encode=Z1;Dc.decode=z1;var Pc="abcdefghijklmnopqrstuvwxyz234567",js=Object.create(null);for(let t=0;t<Pc.length;t++)js[Pc[t]]=t;js[0]=js.o;js[1]=js.i;function Z1(t){let e=0,r=0,n="";function o(s){return e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Pc[r>>3],e+=5),0)}for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Pc[r>>3]:"")}function z1(t){let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0;function s(i){let a=js[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)}for(let i of t)s(i);return n.slice(0,o)}});var Nl=z(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.getCrc32=W1;var Y1=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 W1(t){let e=-1;for(let r=0;r<t.length;r++){let o=(t[r]^e)&255;e=Y1[o]^e>>>8}return(e^-1)>>>0}});var hm=z(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.crypto=void 0;var co=j1("node:crypto");Fc.crypto=co&&typeof co=="object"&&"webcrypto"in co?co.webcrypto:co&&typeof co=="object"&&"randomBytes"in co?co:void 0});var dt=z(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.wrapXOFConstructorWithOpts=te.wrapConstructorWithOpts=te.wrapConstructor=te.Hash=te.nextTick=te.swap32IfBE=te.byteSwapIfBE=te.swap8IfBE=te.isLE=void 0;te.isBytes=ym;te.anumber=vl;te.abytes=$s;te.ahash=X1;te.aexists=J1;te.aoutput=Q1;te.u8=e2;te.u32=t2;te.clean=r2;te.createView=n2;te.rotr=o2;te.rotl=s2;te.byteSwap=Il;te.byteSwap32=_m;te.bytesToHex=a2;te.hexToBytes=c2;te.asyncLoop=d2;te.utf8ToBytes=Sl;te.bytesToUtf8=l2;te.toBytes=Vc;te.kdfInputToBytes=f2;te.concatBytes=p2;te.checkOpts=h2;te.createHasher=gm;te.createOptHasher=xm;te.createXOFer=wm;te.randomBytes=m2;var Hs=hm();function ym(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function vl(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function $s(t,...e){if(!ym(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function X1(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");vl(t.outputLen),vl(t.blockLen)}function J1(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Q1(t,e){$s(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function e2(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function t2(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function r2(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function n2(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function o2(t,e){return t<<32-e|t>>>e}function s2(t,e){return t<<e|t>>>32-e>>>0}te.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Il(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}te.swap8IfBE=te.isLE?t=>t:t=>Il(t);te.byteSwapIfBE=te.swap8IfBE;function _m(t){for(let e=0;e<t.length;e++)t[e]=Il(t[e]);return t}te.swap32IfBE=te.isLE?t=>t:_m;var bm=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",i2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function a2(t){if($s(t),bm)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=i2[t[r]];return e}var Tn={_0:48,_9:57,A:65,F:70,a:97,f:102};function mm(t){if(t>=Tn._0&&t<=Tn._9)return t-Tn._0;if(t>=Tn.A&&t<=Tn.F)return t-(Tn.A-10);if(t>=Tn.a&&t<=Tn.f)return t-(Tn.a-10)}function c2(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(bm)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=mm(t.charCodeAt(s)),a=mm(t.charCodeAt(s+1));if(i===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}var u2=async()=>{};te.nextTick=u2;async function d2(t,e,r){let n=Date.now();for(let o=0;o<t;o++){r(o);let s=Date.now()-n;s>=0&&s<e||(await(0,te.nextTick)(),n+=s)}}function Sl(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function l2(t){return new TextDecoder().decode(t)}function Vc(t){return typeof t=="string"&&(t=Sl(t)),$s(t),t}function f2(t){return typeof t=="string"&&(t=Sl(t)),$s(t),t}function p2(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];$s(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}function h2(t,e){if(e!==void 0&&{}.toString.call(e)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(t,e)}var Rl=class{};te.Hash=Rl;function gm(t){let e=n=>t().update(Vc(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function xm(t){let e=(n,o)=>t(o).update(Vc(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}function wm(t){let e=(n,o)=>t(o).update(Vc(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}te.wrapConstructor=gm;te.wrapConstructorWithOpts=xm;te.wrapXOFConstructorWithOpts=wm;function m2(t=32){if(Hs.crypto&&typeof Hs.crypto.getRandomValues=="function")return Hs.crypto.getRandomValues(new Uint8Array(t));if(Hs.crypto&&typeof Hs.crypto.randomBytes=="function")return Uint8Array.from(Hs.crypto.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}});var Tm=z(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SHA512_IV=Ft.SHA384_IV=Ft.SHA224_IV=Ft.SHA256_IV=Ft.HashMD=void 0;Ft.setBigUint64=Em;Ft.Chi=y2;Ft.Maj=_2;var $r=dt();function Em(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,d=n?0:4;t.setUint32(e+c,i,n),t.setUint32(e+d,a,n)}function y2(t,e,r){return t&e^~t&r}function _2(t,e,r){return t&e^t&r^e&r}var Al=class extends $r.Hash{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=(0,$r.createView)(this.buffer)}update(e){(0,$r.aexists)(this),e=(0,$r.toBytes)(e),(0,$r.abytes)(e);let{view:r,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=(0,$r.createView)(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,$r.aexists)(this),(0,$r.aoutput)(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,(0,$r.clean)(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;Em(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=(0,$r.createView)(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=c/4,p=this.get();if(d>p.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)a.setUint32(4*l,p[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}};Ft.HashMD=Al;Ft.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Ft.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Ft.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Ft.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var Km=z(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.toBig=ue.shrSL=ue.shrSH=ue.rotrSL=ue.rotrSH=ue.rotrBL=ue.rotrBH=ue.rotr32L=ue.rotr32H=ue.rotlSL=ue.rotlSH=ue.rotlBL=ue.rotlBH=ue.add5L=ue.add5H=ue.add4L=ue.add4H=ue.add3L=ue.add3H=void 0;ue.add=Lm;ue.fromBig=Cl;ue.split=Om;var Uc=BigInt(2**32-1),Bl=BigInt(32);function Cl(t,e=!1){return e?{h:Number(t&Uc),l:Number(t>>Bl&Uc)}:{h:Number(t>>Bl&Uc)|0,l:Number(t&Uc)|0}}function Om(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Cl(t[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var Nm=(t,e)=>BigInt(t>>>0)<<Bl|BigInt(e>>>0);ue.toBig=Nm;var vm=(t,e,r)=>t>>>r;ue.shrSH=vm;var Rm=(t,e,r)=>t<<32-r|e>>>r;ue.shrSL=Rm;var Im=(t,e,r)=>t>>>r|e<<32-r;ue.rotrSH=Im;var Sm=(t,e,r)=>t<<32-r|e>>>r;ue.rotrSL=Sm;var Am=(t,e,r)=>t<<64-r|e>>>r-32;ue.rotrBH=Am;var Bm=(t,e,r)=>t>>>r-32|e<<64-r;ue.rotrBL=Bm;var Cm=(t,e)=>e;ue.rotr32H=Cm;var Pm=(t,e)=>t;ue.rotr32L=Pm;var Dm=(t,e,r)=>t<<r|e>>>32-r;ue.rotlSH=Dm;var Fm=(t,e,r)=>e<<r|t>>>32-r;ue.rotlSL=Fm;var Vm=(t,e,r)=>e<<r-32|t>>>64-r;ue.rotlBH=Vm;var Um=(t,e,r)=>t<<r-32|e>>>64-r;ue.rotlBL=Um;function Lm(t,e,r,n){let o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:o|0}}var qm=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0);ue.add3L=qm;var Mm=(t,e,r,n)=>e+r+n+(t/2**32|0)|0;ue.add3H=Mm;var km=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0);ue.add4L=km;var jm=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0;ue.add4H=jm;var Hm=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0);ue.add5L=Hm;var $m=(t,e,r,n,o,s)=>e+r+n+o+s+(t/2**32|0)|0;ue.add5H=$m;var b2={fromBig:Cl,split:Om,toBig:Nm,shrSH:vm,shrSL:Rm,rotrSH:Im,rotrSL:Sm,rotrBH:Am,rotrBL:Bm,rotr32H:Cm,rotr32L:Pm,rotlSH:Dm,rotlSL:Fm,rotlBH:Vm,rotlBL:Um,add:Lm,add3L:qm,add3H:Mm,add4L:km,add4H:jm,add5H:$m,add5L:Hm};ue.default=b2});var Ks=z(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.sha512_224=Le.sha512_256=Le.sha384=Le.sha512=Le.sha224=Le.sha256=Le.SHA512_256=Le.SHA512_224=Le.SHA384=Le.SHA512=Le.SHA224=Le.SHA256=void 0;var Q=Tm(),ye=Km(),Qe=dt(),g2=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]),uo=new Uint32Array(64),Qi=class extends Q.HashMD{constructor(e=32){super(64,e,8,!1),this.A=Q.SHA256_IV[0]|0,this.B=Q.SHA256_IV[1]|0,this.C=Q.SHA256_IV[2]|0,this.D=Q.SHA256_IV[3]|0,this.E=Q.SHA256_IV[4]|0,this.F=Q.SHA256_IV[5]|0,this.G=Q.SHA256_IV[6]|0,this.H=Q.SHA256_IV[7]|0}get(){let{A:e,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,r,n,o,s,i,a,c]}set(e,r,n,o,s,i,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)uo[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let u=uo[l-15],f=uo[l-2],h=(0,Qe.rotr)(u,7)^(0,Qe.rotr)(u,18)^u>>>3,m=(0,Qe.rotr)(f,17)^(0,Qe.rotr)(f,19)^f>>>10;uo[l]=m+uo[l-7]+h+uo[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:d,H:p}=this;for(let l=0;l<64;l++){let u=(0,Qe.rotr)(a,6)^(0,Qe.rotr)(a,11)^(0,Qe.rotr)(a,25),f=p+u+(0,Q.Chi)(a,c,d)+g2[l]+uo[l]|0,m=((0,Qe.rotr)(n,2)^(0,Qe.rotr)(n,13)^(0,Qe.rotr)(n,22))+(0,Q.Maj)(n,o,s)|0;p=d,d=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,d=d+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,d,p)}roundClean(){(0,Qe.clean)(uo)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,Qe.clean)(this.buffer)}};Le.SHA256=Qi;var Lc=class extends Qi{constructor(){super(28),this.A=Q.SHA224_IV[0]|0,this.B=Q.SHA224_IV[1]|0,this.C=Q.SHA224_IV[2]|0,this.D=Q.SHA224_IV[3]|0,this.E=Q.SHA224_IV[4]|0,this.F=Q.SHA224_IV[5]|0,this.G=Q.SHA224_IV[6]|0,this.H=Q.SHA224_IV[7]|0}};Le.SHA224=Lc;var Gm=ye.split(["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(t=>BigInt(t))),x2=Gm[0],w2=Gm[1],lo=new Uint32Array(80),fo=new Uint32Array(80),Go=class extends Q.HashMD{constructor(e=64){super(128,e,16,!1),this.Ah=Q.SHA512_IV[0]|0,this.Al=Q.SHA512_IV[1]|0,this.Bh=Q.SHA512_IV[2]|0,this.Bl=Q.SHA512_IV[3]|0,this.Ch=Q.SHA512_IV[4]|0,this.Cl=Q.SHA512_IV[5]|0,this.Dh=Q.SHA512_IV[6]|0,this.Dl=Q.SHA512_IV[7]|0,this.Eh=Q.SHA512_IV[8]|0,this.El=Q.SHA512_IV[9]|0,this.Fh=Q.SHA512_IV[10]|0,this.Fl=Q.SHA512_IV[11]|0,this.Gh=Q.SHA512_IV[12]|0,this.Gl=Q.SHA512_IV[13]|0,this.Hh=Q.SHA512_IV[14]|0,this.Hl=Q.SHA512_IV[15]|0}get(){let{Ah:e,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:d,El:p,Fh:l,Fl:u,Gh:f,Gl:h,Hh:m,Hl:b}=this;return[e,r,n,o,s,i,a,c,d,p,l,u,f,h,m,b]}set(e,r,n,o,s,i,a,c,d,p,l,u,f,h,m,b){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=d|0,this.El=p|0,this.Fh=l|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=b|0}process(e,r){for(let _=0;_<16;_++,r+=4)lo[_]=e.getUint32(r),fo[_]=e.getUint32(r+=4);for(let _=16;_<80;_++){let T=lo[_-15]|0,N=fo[_-15]|0,R=ye.rotrSH(T,N,1)^ye.rotrSH(T,N,8)^ye.shrSH(T,N,7),v=ye.rotrSL(T,N,1)^ye.rotrSL(T,N,8)^ye.shrSL(T,N,7),A=lo[_-2]|0,E=fo[_-2]|0,S=ye.rotrSH(A,E,19)^ye.rotrBH(A,E,61)^ye.shrSH(A,E,6),V=ye.rotrSL(A,E,19)^ye.rotrBL(A,E,61)^ye.shrSL(A,E,6),C=ye.add4L(v,V,fo[_-7],fo[_-16]),g=ye.add4H(C,R,S,lo[_-7],lo[_-16]);lo[_]=g|0,fo[_]=C|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:d,Dl:p,Eh:l,El:u,Fh:f,Fl:h,Gh:m,Gl:b,Hh:y,Hl:x}=this;for(let _=0;_<80;_++){let T=ye.rotrSH(l,u,14)^ye.rotrSH(l,u,18)^ye.rotrBH(l,u,41),N=ye.rotrSL(l,u,14)^ye.rotrSL(l,u,18)^ye.rotrBL(l,u,41),R=l&f^~l&m,v=u&h^~u&b,A=ye.add5L(x,N,v,w2[_],fo[_]),E=ye.add5H(A,y,T,R,x2[_],lo[_]),S=A|0,V=ye.rotrSH(n,o,28)^ye.rotrBH(n,o,34)^ye.rotrBH(n,o,39),C=ye.rotrSL(n,o,28)^ye.rotrBL(n,o,34)^ye.rotrBL(n,o,39),g=n&s^n&a^s&a,w=o&i^o&c^i&c;y=m|0,x=b|0,m=f|0,b=h|0,f=l|0,h=u|0,{h:l,l:u}=ye.add(d|0,p|0,E|0,S|0),d=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let O=ye.add3L(S,C,w);n=ye.add3H(O,E,V,g),o=O|0}({h:n,l:o}=ye.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ye.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ye.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:d,l:p}=ye.add(this.Dh|0,this.Dl|0,d|0,p|0),{h:l,l:u}=ye.add(this.Eh|0,this.El|0,l|0,u|0),{h:f,l:h}=ye.add(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:b}=ye.add(this.Gh|0,this.Gl|0,m|0,b|0),{h:y,l:x}=ye.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,o,s,i,a,c,d,p,l,u,f,h,m,b,y,x)}roundClean(){(0,Qe.clean)(lo,fo)}destroy(){(0,Qe.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};Le.SHA512=Go;var qc=class extends Go{constructor(){super(48),this.Ah=Q.SHA384_IV[0]|0,this.Al=Q.SHA384_IV[1]|0,this.Bh=Q.SHA384_IV[2]|0,this.Bl=Q.SHA384_IV[3]|0,this.Ch=Q.SHA384_IV[4]|0,this.Cl=Q.SHA384_IV[5]|0,this.Dh=Q.SHA384_IV[6]|0,this.Dl=Q.SHA384_IV[7]|0,this.Eh=Q.SHA384_IV[8]|0,this.El=Q.SHA384_IV[9]|0,this.Fh=Q.SHA384_IV[10]|0,this.Fl=Q.SHA384_IV[11]|0,this.Gh=Q.SHA384_IV[12]|0,this.Gl=Q.SHA384_IV[13]|0,this.Hh=Q.SHA384_IV[14]|0,this.Hl=Q.SHA384_IV[15]|0}};Le.SHA384=qc;var Nt=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),vt=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Mc=class extends Go{constructor(){super(28),this.Ah=Nt[0]|0,this.Al=Nt[1]|0,this.Bh=Nt[2]|0,this.Bl=Nt[3]|0,this.Ch=Nt[4]|0,this.Cl=Nt[5]|0,this.Dh=Nt[6]|0,this.Dl=Nt[7]|0,this.Eh=Nt[8]|0,this.El=Nt[9]|0,this.Fh=Nt[10]|0,this.Fl=Nt[11]|0,this.Gh=Nt[12]|0,this.Gl=Nt[13]|0,this.Hh=Nt[14]|0,this.Hl=Nt[15]|0}};Le.SHA512_224=Mc;var kc=class extends Go{constructor(){super(32),this.Ah=vt[0]|0,this.Al=vt[1]|0,this.Bh=vt[2]|0,this.Bl=vt[3]|0,this.Ch=vt[4]|0,this.Cl=vt[5]|0,this.Dh=vt[6]|0,this.Dl=vt[7]|0,this.Eh=vt[8]|0,this.El=vt[9]|0,this.Fh=vt[10]|0,this.Fl=vt[11]|0,this.Gh=vt[12]|0,this.Gl=vt[13]|0,this.Hh=vt[14]|0,this.Hl=vt[15]|0}};Le.SHA512_256=kc;Le.sha256=(0,Qe.createHasher)(()=>new Qi);Le.sha224=(0,Qe.createHasher)(()=>new Lc);Le.sha512=(0,Qe.createHasher)(()=>new Go);Le.sha384=(0,Qe.createHasher)(()=>new qc);Le.sha512_256=(0,Qe.createHasher)(()=>new kc);Le.sha512_224=(0,Qe.createHasher)(()=>new Mc)});var Wm=z(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.Principal=Kr.JSON_KEY_PRINCIPAL=void 0;var Zm=pm(),E2=Nl(),T2=Ks(),zm=dt();Kr.JSON_KEY_PRINCIPAL="__principal__";var O2=2,Ym=4,N2="aaaaa-aa",Pl=class t{static anonymous(){return new this(new Uint8Array([Ym]))}static managementCanister(){return this.fromText(N2)}static selfAuthenticating(e){let r=(0,T2.sha224)(e);return new this(new Uint8Array([...r,O2]))}static from(e){if(typeof e=="string")return t.fromText(e);if(Object.getPrototypeOf(e)===Uint8Array.prototype)return new t(e);if(t.isPrincipal(e))return new t(e._arr);throw new Error(`Impossible to convert ${JSON.stringify(e)} to Principal.`)}static fromHex(e){return new this((0,zm.hexToBytes)(e))}static fromText(e){let r=e;if(e.includes(Kr.JSON_KEY_PRINCIPAL)){let i=JSON.parse(e);Kr.JSON_KEY_PRINCIPAL in i&&(r=i[Kr.JSON_KEY_PRINCIPAL])}let n=r.toLowerCase().replace(/-/g,""),o=(0,Zm.decode)(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(e){return new this(e)}static isPrincipal(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isPrincipal"in e&&e._isPrincipal===!0&&"_arr"in e&&e._arr instanceof Uint8Array}constructor(e){this._arr=e,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Ym}toUint8Array(){return this._arr}toHex(){return(0,zm.bytesToHex)(this._arr).toUpperCase()}toText(){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,(0,E2.getCrc32)(this._arr));let n=new Uint8Array(e),o=new Uint8Array([...n,...this._arr]),i=(0,Zm.encode)(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[Kr.JSON_KEY_PRINCIPAL]:this.toText()}}compareTo(e){for(let r=0;r<Math.min(this._arr.length,e._arr.length);r++){if(this._arr[r]<e._arr[r])return"lt";if(this._arr[r]>e._arr[r])return"gt"}return this._arr.length<e._arr.length?"lt":this._arr.length>e._arr.length?"gt":"eq"}ltEq(e){let r=this.compareTo(e);return r=="lt"||r=="eq"}gtEq(e){let r=this.compareTo(e);return r=="gt"||r=="eq"}};Kr.Principal=Pl});var Rr=z(On=>{"use strict";var v2=On&&On.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),R2=On&&On.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&v2(e,t,r)};Object.defineProperty(On,"__esModule",{value:!0});On.getCrc32=void 0;R2(Wm(),On);var I2=Nl();Object.defineProperty(On,"getCrc32",{enumerable:!0,get:function(){return I2.getCrc32}})});var sr=z(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.UNREACHABLE_ERROR=k.ExpiryJsonDeserializeErrorCode=k.InvalidReadStateRequestErrorCode=k.MissingCanisterIdErrorCode=k.HttpFetchErrorCode=k.HttpV3ApiNotSupportedErrorCode=k.HttpErrorCode=k.HashTreeDecodeErrorCode=k.UnexpectedErrorCode=k.QuerySignatureVerificationFailedErrorCode=k.MalformedPublicKeyErrorCode=k.MissingSignatureErrorCode=k.MalformedSignatureErrorCode=k.CreateHttpAgentErrorCode=k.IngressExpiryInvalidErrorCode=k.IdentityInvalidErrorCode=k.HttpDefaultFetchErrorCode=k.HashValueErrorCode=k.MissingRootKeyErrorCode=k.RequestStatusDoneNoReplyErrorCode=k.UncertifiedRejectUpdateErrorCode=k.UncertifiedRejectErrorCode=k.CertifiedRejectErrorCode=k.CertificateOutdatedErrorCode=k.TimeoutWaitingForResponseErrorCode=k.HexDecodeErrorCode=k.CborEncodeErrorCode=k.CborDecodeErrorCode=k.DerEncodeErrorCode=k.DerDecodeErrorCode=k.DerDecodeLengthMismatchErrorCode=k.DerPrefixMismatchErrorCode=k.DerKeyLengthMismatchErrorCode=k.MissingLookupValueErrorCode=k.MalformedLookupFoundValueErrorCode=k.LookupErrorCode=k.CertificateNotAuthorizedErrorCode=k.CertificateHasTooManyDelegationsErrorCode=k.CertificateTimeErrorCode=k.CertificateVerificationErrorCode=k.UnknownError=k.InputError=k.LimitError=k.ExternalError=k.TransportError=k.RejectError=k.ProtocolError=k.TrustError=k.AgentError=k.ErrorKindEnum=void 0;var pr=dt(),Gr;(function(t){t.Trust="Trust",t.Protocol="Protocol",t.Reject="Reject",t.Transport="Transport",t.External="External",t.Limit="Limit",t.Input="Input",t.Unknown="Unknown"})(Gr||(k.ErrorKindEnum=Gr={}));var he=class{constructor(e=!1){this.isCertified=e}toString(){let e=this.toErrorMessage();return this.requestContext&&(e+=`
|
|
4
4
|
Request context:
|
|
5
5
|
Request ID (hex): ${this.requestContext.requestId?(0,pr.bytesToHex)(this.requestContext.requestId):"undefined"}
|
|
6
6
|
Sender pubkey (hex): ${(0,pr.bytesToHex)(this.requestContext.senderPubKey)}
|
|
@@ -9,7 +9,7 @@ Request context:
|
|
|
9
9
|
Call context:
|
|
10
10
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
11
11
|
Method name: ${this.callContext.methodName}
|
|
12
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),e}},jc=class t extends Error{get code(){return this.cause.code}set code(e){this.cause.code=e}get kind(){return this.cause.kind}set kind(e){this.cause.kind=e}get isCertified(){return this.code.isCertified}constructor(e,r){super(e.toString()),this.name="AgentError",this.cause={code:e,kind:r},Object.setPrototypeOf(this,t.prototype)}hasCode(e){return this.code instanceof e}toString(){return`${this.name} (${this.kind}): ${this.message}`}};k.AgentError=jc;var Zr=class extends jc{static fromCode(e){return new this(e)}},Dl=class t extends Zr{constructor(e){super(e,Gr.Trust),this.name="TrustError",Object.setPrototypeOf(this,t.prototype)}};k.TrustError=Dl;var Fl=class t extends Zr{constructor(e){super(e,Gr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,t.prototype)}};k.ProtocolError=Fl;var Vl=class t extends Zr{constructor(e){super(e,Gr.Reject),this.name="RejectError",Object.setPrototypeOf(this,t.prototype)}};k.RejectError=Vl;var Ul=class t extends Zr{constructor(e){super(e,Gr.Transport),this.name="TransportError",Object.setPrototypeOf(this,t.prototype)}};k.TransportError=Ul;var Ll=class t extends Zr{constructor(e){super(e,Gr.External),this.name="ExternalError",Object.setPrototypeOf(this,t.prototype)}};k.ExternalError=Ll;var ql=class t extends Zr{constructor(e){super(e,Gr.Limit),this.name="LimitError",Object.setPrototypeOf(this,t.prototype)}};k.LimitError=ql;var Ml=class t extends Zr{constructor(e){super(e,Gr.Input),this.name="InputError",Object.setPrototypeOf(this,t.prototype)}};k.InputError=Ml;var kl=class t extends Zr{constructor(e){super(e,Gr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,t.prototype)}};k.UnknownError=kl;var jl=class t extends he{constructor(e,r){super(),this.reason=e,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=this.reason;return this.error&&(e+=`: ${
|
|
12
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),e}},jc=class t extends Error{get code(){return this.cause.code}set code(e){this.cause.code=e}get kind(){return this.cause.kind}set kind(e){this.cause.kind=e}get isCertified(){return this.code.isCertified}constructor(e,r){super(e.toString()),this.name="AgentError",this.cause={code:e,kind:r},Object.setPrototypeOf(this,t.prototype)}hasCode(e){return this.code instanceof e}toString(){return`${this.name} (${this.kind}): ${this.message}`}};k.AgentError=jc;var Zr=class extends jc{static fromCode(e){return new this(e)}},Dl=class t extends Zr{constructor(e){super(e,Gr.Trust),this.name="TrustError",Object.setPrototypeOf(this,t.prototype)}};k.TrustError=Dl;var Fl=class t extends Zr{constructor(e){super(e,Gr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,t.prototype)}};k.ProtocolError=Fl;var Vl=class t extends Zr{constructor(e){super(e,Gr.Reject),this.name="RejectError",Object.setPrototypeOf(this,t.prototype)}};k.RejectError=Vl;var Ul=class t extends Zr{constructor(e){super(e,Gr.Transport),this.name="TransportError",Object.setPrototypeOf(this,t.prototype)}};k.TransportError=Ul;var Ll=class t extends Zr{constructor(e){super(e,Gr.External),this.name="ExternalError",Object.setPrototypeOf(this,t.prototype)}};k.ExternalError=Ll;var ql=class t extends Zr{constructor(e){super(e,Gr.Limit),this.name="LimitError",Object.setPrototypeOf(this,t.prototype)}};k.LimitError=ql;var Ml=class t extends Zr{constructor(e){super(e,Gr.Input),this.name="InputError",Object.setPrototypeOf(this,t.prototype)}};k.InputError=Ml;var kl=class t extends Zr{constructor(e){super(e,Gr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,t.prototype)}};k.UnknownError=kl;var jl=class t extends he{constructor(e,r){super(),this.reason=e,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=this.reason;return this.error&&(e+=`: ${ea(this.error)}`),`Certificate verification error: "${e}"`}};k.CertificateVerificationErrorCode=jl;var Hl=class t extends he{constructor(e,r,n,o,s){super(),this.maxAgeInMinutes=e,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=s,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,t.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`}};k.CertificateTimeErrorCode=Hl;var $l=class t extends he{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Certificate has too many delegations"}};k.CertificateHasTooManyDelegationsErrorCode=$l;var Kl=class t extends he{constructor(e,r){super(),this.canisterId=e,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,t.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()}`}};k.CertificateNotAuthorizedErrorCode=Kl;var Gl=class t extends he{constructor(e,r){super(),this.message=e,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}};k.LookupErrorCode=Gl;var Zl=class t extends he{constructor(e){super(),this.message=e,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.message}};k.MalformedLookupFoundValueErrorCode=Zl;var zl=class t extends he{constructor(e){super(),this.message=e,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.message}};k.MissingLookupValueErrorCode=zl;var Yl=class t extends he{constructor(e,r){super(),this.expectedLength=e,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}};k.DerKeyLengthMismatchErrorCode=Yl;var Wl=class t extends he{constructor(e,r){super(),this.expectedPrefix=e,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${(0,pr.bytesToHex)(this.expectedPrefix)}, but got ${(0,pr.bytesToHex)(this.actualPrefix)}`}};k.DerPrefixMismatchErrorCode=Wl;var Xl=class t extends he{constructor(e,r){super(),this.expectedLength=e,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}};k.DerDecodeLengthMismatchErrorCode=Xl;var Jl=class t extends he{constructor(e){super(),this.error=e,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}};k.DerDecodeErrorCode=Jl;var Ql=class t extends he{constructor(e){super(),this.error=e,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}};k.DerEncodeErrorCode=Ql;var ef=class t extends he{constructor(e,r){super(),this.error=e,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${ea(this.error)}, input: ${(0,pr.bytesToHex)(this.input)}`}};k.CborDecodeErrorCode=ef;var tf=class t extends he{constructor(e,r){super(),this.error=e,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${ea(this.error)}, input: ${this.value}`}};k.CborEncodeErrorCode=tf;var rf=class t extends he{constructor(e){super(),this.error=e,this.name="HexDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode hex: ${this.error}`}};k.HexDecodeErrorCode=rf;var nf=class t extends he{constructor(e,r,n){super(),this.message=e,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`${this.message}
|
|
13
13
|
`;return this.requestId&&(e+=` Request ID: ${(0,pr.bytesToHex)(this.requestId)}
|
|
14
14
|
`),this.status&&(e+=` Request status: ${this.status}
|
|
15
15
|
`),e}};k.TimeoutWaitingForResponseErrorCode=nf;var of=class t extends he{constructor(e,r,n){super(),this.maxIngressExpiryInMinutes=e,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
@@ -31,25 +31,25 @@ Call context:
|
|
|
31
31
|
Error code: ${this.rejectErrorCode}
|
|
32
32
|
`}};k.UncertifiedRejectUpdateErrorCode=cf;var uf=class t extends he{constructor(e){super(),this.requestId=e,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
33
33
|
Request ID: ${(0,pr.bytesToHex)(this.requestId)}
|
|
34
|
-
`}};k.RequestStatusDoneNoReplyErrorCode=uf;var df=class t extends he{constructor(e){super(),this.shouldFetchRootKey=e,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,t.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.`}};k.MissingRootKeyErrorCode=df;var lf=class t extends he{constructor(e){super(),this.value=e,this.name="HashValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}};k.HashValueErrorCode=lf;var ff=class t extends he{constructor(e){super(),this.error=e,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.error}};k.HttpDefaultFetchErrorCode=ff;var pf=class t extends he{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}};k.IdentityInvalidErrorCode=pf;var hf=class t extends he{constructor(e,r){super(),this.message=e,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}};k.IngressExpiryInvalidErrorCode=hf;var
|
|
34
|
+
`}};k.RequestStatusDoneNoReplyErrorCode=uf;var df=class t extends he{constructor(e){super(),this.shouldFetchRootKey=e,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,t.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.`}};k.MissingRootKeyErrorCode=df;var lf=class t extends he{constructor(e){super(),this.value=e,this.name="HashValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}};k.HashValueErrorCode=lf;var ff=class t extends he{constructor(e){super(),this.error=e,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.error}};k.HttpDefaultFetchErrorCode=ff;var pf=class t extends he{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}};k.IdentityInvalidErrorCode=pf;var hf=class t extends he{constructor(e,r){super(),this.message=e,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}};k.IngressExpiryInvalidErrorCode=hf;var mf=class t extends he{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}};k.CreateHttpAgentErrorCode=mf;var yf=class t extends he{constructor(e){super(),this.error=e,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};k.MalformedSignatureErrorCode=yf;var _f=class t extends he{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}};k.MissingSignatureErrorCode=_f;var bf=class t extends he{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}};k.MalformedPublicKeyErrorCode=bf;var gf=class t extends he{constructor(e){super(),this.nodeId=e,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}};k.QuerySignatureVerificationFailedErrorCode=gf;var xf=class t extends he{constructor(e){super(),this.error=e,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Unexpected error: ${ea(this.error)}`}};k.UnexpectedErrorCode=xf;var wf=class t extends he{constructor(e){super(),this.error=e,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}};k.HashTreeDecodeErrorCode=wf;var Ef=class t extends he{constructor(e,r,n,o){super(),this.status=e,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`HTTP request failed:
|
|
35
35
|
Status: ${this.status} (${this.statusText})
|
|
36
36
|
Headers: ${JSON.stringify(this.headers)}
|
|
37
37
|
`;return this.bodyText&&(e+=` Body: ${this.bodyText}
|
|
38
|
-
`),e}};k.HttpErrorCode=Ef;var Tf=class t extends he{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}};k.HttpV3ApiNotSupportedErrorCode=Tf;var Of=class t extends he{constructor(e){super(),this.error=e,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${ta(this.error)}`}};k.HttpFetchErrorCode=Of;var Nf=class t extends he{constructor(e){super(),this.receivedCanisterId=e,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,t.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.`}};k.MissingCanisterIdErrorCode=Nf;var vf=class t extends he{constructor(e){super(),this.request=e,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}};k.InvalidReadStateRequestErrorCode=vf;var Rf=class t extends he{constructor(e){super(),this.error=e,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};k.ExpiryJsonDeserializeErrorCode=Rf;function ta(t){if(t instanceof Error)return t.stack??t.message;try{return JSON.stringify(t)}catch{return String(t)}}k.UNREACHABLE_ERROR=new Error("unreachable")});var Hc=z(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.PipeArrayBuffer=void 0;Nn.concat=A2;Nn.uint8FromBufLike=Sf;Nn.compare=Jy;Nn.uint8Equals=B2;Nn.uint8ToDataView=C2;function A2(...t){let e=new Uint8Array(t.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of t)e.set(n,r),r+=n.byteLength;return e}var If=class{save(){return this._view}restore(e){if(!(e instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=e}constructor(e,r=e?.byteLength||0){if(e&&!(e instanceof Uint8Array))try{e=Sf(e)}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(e&&r>e.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=e||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(e){let r=this._view.subarray(0,e);return this._view=this._view.subarray(e),r.slice()}readUint8(){if(this._view.byteLength===0)return;let e=this._view[0];return this._view=this._view.subarray(1),e}write(e){if(!(e instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+e.byteLength>=this._buffer.byteLength?this.alloc(e.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+e.byteLength),this._view.set(e,r)}get end(){return this._view.byteLength===0}alloc(e){if(e<=0||!Number.isInteger(e))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+e)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+e);n.set(this._view),this._buffer=r,this._view=n}};Nn.PipeArrayBuffer=If;function Sf(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?Sf(t.buffer):new Uint8Array(t)}function Jy(t,e){if(t.byteLength!==e.byteLength)return t.byteLength-e.byteLength;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]-e[r];return 0}function B2(t,e){return Jy(t,e)===0}function C2(t){if(!(t instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(t.buffer,t.byteOffset,t.byteLength)}});var Bf=z(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});Af.idlLabelToId=D2;function P2(t){let r=new TextEncoder().encode(t),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function D2(t){if(/^_\d+_$/.test(t)||/^_0x[0-9a-fA-F]+_$/.test(t)){let e=+t.slice(1,-1);if(Number.isSafeInteger(e)&&e>=0&&e<2**32)return e}return P2(t)}});var Cf=z($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.ilog2=F2;$c.iexp2=V2;function F2(t){let e=BigInt(t);if(t<=0)throw new RangeError("Input must be positive");return e.toString(2).length-1}function V2(t){let e=BigInt(t);if(t<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<e}});var Df=z(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.safeRead=tm;hr.safeReadUint8=Kc;hr.lebEncode=U2;hr.lebDecode=rm;hr.slebEncode=L2;hr.slebDecode=q2;hr.writeUIntLE=M2;hr.writeIntLE=nm;hr.readUIntLE=om;hr.readIntLE=k2;var Pf=Hc(),Qy=Cf();function em(){throw new Error("unexpected end of buffer")}function tm(t,e){return t.byteLength<e&&em(),t.read(e)}function Kc(t){let e=t.readUint8();return e===void 0&&em(),e}function U2(t){if(typeof t=="number"&&(t=BigInt(t)),t<BigInt(0))throw new Error("Cannot leb encode negative values.");let e=(t===BigInt(0)?0:(0,Qy.ilog2)(t))+1,r=new Pf.PipeArrayBuffer(new Uint8Array(e),0);for(;;){let n=Number(t&BigInt(127));if(t/=BigInt(128),t===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function rm(t){let e=BigInt(1),r=BigInt(0),n;do n=Kc(t),r+=BigInt(n&127).valueOf()*e,e*=BigInt(128);while(n>=128);return r}function L2(t){typeof t=="number"&&(t=BigInt(t));let e=t<BigInt(0);e&&(t=-t-BigInt(1));let r=(t===BigInt(0)?0:(0,Qy.ilog2)(t))+1,n=new Pf.PipeArrayBuffer(new Uint8Array(r),0);for(;;){let s=o(t);if(t/=BigInt(128),e&&t===BigInt(0)&&(s&64)!==0||!e&&t===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(e?BigInt(128)-i-BigInt(1):i)}return n.buffer}function q2(t){let e=new Uint8Array(t.buffer),r=0;for(;r<e.byteLength;r++)if(e[r]<128){if((e[r]&64)===0)return rm(t);break}let n=new Uint8Array(tm(t,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function M2(t,e){if(BigInt(t)<BigInt(0))throw new Error("Cannot write negative values.");return nm(t,e)}function nm(t,e){t=BigInt(t);let r=new Pf.PipeArrayBuffer(new Uint8Array(Math.min(1,e)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(t%o);for(r.write(new Uint8Array([i]));++n<e;)t<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((t/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function om(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=BigInt(Kc(t)),n=BigInt(1),o=0;for(;++o<e;){n*=BigInt(256);let s=BigInt(Kc(t));r=r+n*s}return r}function k2(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=om(t,e),n=BigInt(2)**(BigInt(8)*BigInt(e-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}});var jf=z(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.Principal=M.Nat64=M.Nat32=M.Nat16=M.Nat8=M.Int64=M.Int32=M.Int16=M.Int8=M.Float64=M.Float32=M.Nat=M.Int=M.Text=M.Null=M.Bool=M.Unknown=M.Reserved=M.Empty=M.ServiceClass=M.FuncClass=M.PrincipalClass=M.RecClass=M.VariantClass=M.TupleClass=M.RecordClass=M.OptClass=M.VecClass=M.FixedNatClass=M.FixedIntClass=M.FloatClass=M.NatClass=M.IntClass=M.TextClass=M.ReservedClass=M.NullClass=M.BoolClass=M.UnknownClass=M.EmptyClass=M.ConstructType=M.PrimitiveType=M.Type=M.Visitor=void 0;M.encode=H2;M.decode=$2;M.Tuple=im;M.Vec=am;M.Opt=cm;M.Record=um;M.Variant=dm;M.Rec=lm;M.Func=fm;M.Service=pm;M.resetSubtypeCache=qf;M.subtype=kf;var j2=Rr(),Te=Hc(),zt=Bf(),$=Df(),Vf=Cf(),Se;(function(t){t[t.Null=-1]="Null",t[t.Bool=-2]="Bool",t[t.Nat=-3]="Nat",t[t.Int=-4]="Int",t[t.Float32=-13]="Float32",t[t.Float64=-14]="Float64",t[t.Text=-15]="Text",t[t.Reserved=-16]="Reserved",t[t.Empty=-17]="Empty",t[t.Opt=-18]="Opt",t[t.Vector=-19]="Vector",t[t.Record=-20]="Record",t[t.Variant=-21]="Variant",t[t.Func=-22]="Func",t[t.Service=-23]="Service",t[t.Principal=-24]="Principal"})(Se||(Se={}));var Gc="DIDL",sm=400;function ra(t,e,r){return t.map((n,o)=>r(n,e[o]))}var Uf=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(e){return this._idx.has(e.name)}add(e,r){let n=this._typs.length;this._idx.set(e.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(e,r){let n=this._idx.get(e.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+e);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(e){return this._idxRefCount.get(e)||0}_compactFromEnd(){for(;this._typs.length>0;){let e=this._typs.length-1;if(this._getIdxRefCount(e)>0)break;this._typs.pop(),this._idxRefCount.delete(e)}}encode(){let e=(0,$.lebEncode)(this._typs.length),r=(0,Te.concat)(...this._typs);return(0,Te.concat)(e,r)}indexOf(e){if(!this._idx.has(e))throw new Error("Missing type index for "+e);return(0,$.slebEncode)(this._idx.get(e)||0)}},Lf=class{visitType(e,r){throw new Error("Not implemented")}visitPrimitive(e,r){return this.visitType(e,r)}visitEmpty(e,r){return this.visitPrimitive(e,r)}visitBool(e,r){return this.visitPrimitive(e,r)}visitNull(e,r){return this.visitPrimitive(e,r)}visitReserved(e,r){return this.visitPrimitive(e,r)}visitText(e,r){return this.visitPrimitive(e,r)}visitNumber(e,r){return this.visitPrimitive(e,r)}visitInt(e,r){return this.visitNumber(e,r)}visitNat(e,r){return this.visitNumber(e,r)}visitFloat(e,r){return this.visitPrimitive(e,r)}visitFixedInt(e,r){return this.visitNumber(e,r)}visitFixedNat(e,r){return this.visitNumber(e,r)}visitPrincipal(e,r){return this.visitPrimitive(e,r)}visitConstruct(e,r){return this.visitType(e,r)}visitVec(e,r,n){return this.visitConstruct(e,n)}visitOpt(e,r,n){return this.visitConstruct(e,n)}visitRecord(e,r,n){return this.visitConstruct(e,n)}visitTuple(e,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(e,o,n)}visitVariant(e,r,n){return this.visitConstruct(e,n)}visitRec(e,r,n){return this.visitConstruct(r,n)}visitFunc(e,r){return this.visitConstruct(e,r)}visitService(e,r){return this.visitConstruct(e,r)}};M.Visitor=Lf;var le;(function(t){t.EmptyClass="__IDL_EmptyClass__",t.UnknownClass="__IDL_UnknownClass__",t.BoolClass="__IDL_BoolClass__",t.NullClass="__IDL_NullClass__",t.ReservedClass="__IDL_ReservedClass__",t.TextClass="__IDL_TextClass__",t.IntClass="__IDL_IntClass__",t.NatClass="__IDL_NatClass__",t.FloatClass="__IDL_FloatClass__",t.FixedIntClass="__IDL_FixedIntClass__",t.FixedNatClass="__IDL_FixedNatClass__",t.VecClass="__IDL_VecClass__",t.OptClass="__IDL_OptClass__",t.RecordClass="__IDL_RecordClass__",t.TupleClass="__IDL_TupleClass__",t.VariantClass="__IDL_VariantClass__",t.RecClass="__IDL_RecClass__",t.PrincipalClass="__IDL_PrincipalClass__",t.FuncClass="__IDL_FuncClass__",t.ServiceClass="__IDL_ServiceClass__"})(le||(le={}));var Zs=class{display(){return this.name}valueToString(e){return We(e)}buildTypeTable(e){e.has(this)||this._buildTypeTableImpl(e)}};M.Type=Zs;var Yt=class extends Zs{checkType(e){if(this.name!==e.name)throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`);return e}_buildTypeTableImpl(e){}};M.PrimitiveType=Yt;var Yr=class extends Zs{checkType(e){if(e instanceof yr){let r=e.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`)}encodeType(e){return e.indexOf(this.name)}};M.ConstructType=Yr;var na=class extends Yt{get typeName(){return le.EmptyClass}static[Symbol.hasInstance](e){return e.typeName===le.EmptyClass}accept(e,r){return e.visitEmpty(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return(0,$.slebEncode)(Se.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}};M.EmptyClass=na;var zc=class extends Zs{get typeName(){return le.UnknownClass}static[Symbol.hasInstance](e){return e.typeName===le.UnknownClass}checkType(e){throw new Error("Method not implemented for unknown.")}accept(e,r){throw e.visitType(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}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(e,r){let n=r.decodeValue(e,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof yr?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"}};M.UnknownClass=zc;var Yc=class extends Yt{get typeName(){return le.BoolClass}static[Symbol.hasInstance](e){return e.typeName===le.BoolClass}accept(e,r){return e.visitBool(this,r)}covariant(e){if(typeof e=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return new Uint8Array([e?1:0])}encodeType(){return(0,$.slebEncode)(Se.Bool)}decodeValue(e,r){switch(this.checkType(r),(0,$.safeReadUint8)(e)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}};M.BoolClass=Yc;var Zo=class extends Yt{get typeName(){return le.NullClass}static[Symbol.hasInstance](e){return e.typeName===le.NullClass}accept(e,r){return e.visitNull(this,r)}covariant(e){if(e===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return(0,$.slebEncode)(Se.Null)}decodeValue(e,r){return this.checkType(r),null}get name(){return"null"}};M.NullClass=Zo;var Wr=class extends Yt{get typeName(){return le.ReservedClass}static[Symbol.hasInstance](e){return e.typeName===le.ReservedClass}accept(e,r){return e.visitReserved(this,r)}covariant(e){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return(0,$.slebEncode)(Se.Reserved)}decodeValue(e,r){return r.name!==this.name&&r.decodeValue(e,r),null}get name(){return"reserved"}};M.ReservedClass=Wr;var Wc=class extends Yt{get typeName(){return le.TextClass}static[Symbol.hasInstance](e){return e.typeName===le.TextClass}accept(e,r){return e.visitText(this,r)}covariant(e){if(typeof e=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=new TextEncoder().encode(e),n=(0,$.lebEncode)(r.byteLength);return(0,Te.concat)(n,r)}encodeType(){return(0,$.slebEncode)(Se.Text)}decodeValue(e,r){this.checkType(r);let n=(0,$.lebDecode)(e),o=(0,$.safeRead)(e,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(e){return'"'+e+'"'}};M.TextClass=Wc;var oa=class extends Yt{get typeName(){return le.IntClass}static[Symbol.hasInstance](e){return e.typeName===le.IntClass}accept(e,r){return e.visitInt(this,r)}covariant(e){if(typeof e=="bigint"||Number.isInteger(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.slebEncode)(e)}encodeType(){return(0,$.slebEncode)(Se.Int)}decodeValue(e,r){return this.checkType(r),(0,$.slebDecode)(e)}get name(){return"int"}valueToString(e){return e.toString()}};M.IntClass=oa;var sa=class extends Yt{get typeName(){return le.NatClass}static[Symbol.hasInstance](e){return e.typeName===le.NatClass}accept(e,r){return e.visitNat(this,r)}covariant(e){if(typeof e=="bigint"&&e>=BigInt(0)||Number.isInteger(e)&&e>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.lebEncode)(e)}encodeType(){return(0,$.slebEncode)(Se.Nat)}decodeValue(e,r){return this.checkType(r),(0,$.lebDecode)(e)}get name(){return"nat"}valueToString(e){return e.toString()}};M.NatClass=sa;var ia=class extends Yt{get typeName(){return le.FloatClass}static[Symbol.hasInstance](e){return e.typeName===le.FloatClass}constructor(e){if(super(),this._bits=e,e!==32&&e!==64)throw new Error("not a valid float type")}accept(e,r){return e.visitFloat(this,r)}covariant(e){if(typeof e=="number"||e instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,e,!0):n.setFloat64(0,e,!0),new Uint8Array(r)}encodeType(){let e=this._bits===32?Se.Float32:Se.Float64;return(0,$.slebEncode)(e)}decodeValue(e,r){this.checkType(r);let n=(0,$.safeRead)(e,this._bits/8),o=(0,Te.uint8ToDataView)(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(e){return e.toString()}};M.FloatClass=ia;var Rn=class extends Yt{get typeName(){return le.FixedIntClass}static[Symbol.hasInstance](e){return e.typeName===le.FixedIntClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedInt(this,r)}covariant(e){let r=(0,Vf.iexp2)(this._bits-1)*BigInt(-1),n=(0,Vf.iexp2)(this._bits-1)-BigInt(1),o=!1;if(typeof e=="bigint")o=e>=r&&e<=n;else if(Number.isInteger(e)){let s=BigInt(e);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.writeIntLE)(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return(0,$.slebEncode)(-9-e)}decodeValue(e,r){this.checkType(r);let n=(0,$.readIntLE)(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(e){return e.toString()}};M.FixedIntClass=Rn;var zr=class extends Yt{get typeName(){return le.FixedNatClass}static[Symbol.hasInstance](e){return e.typeName===le.FixedNatClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedNat(this,r)}covariant(e){let r=(0,Vf.iexp2)(this._bits),n=!1;if(typeof e=="bigint"&&e>=BigInt(0)?n=e<r:Number.isInteger(e)&&e>=0?n=BigInt(e)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.writeUIntLE)(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return(0,$.slebEncode)(-5-e)}decodeValue(e,r){this.checkType(r);let n=(0,$.readUIntLE)(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(e){return e.toString()}};M.FixedNatClass=zr;var zs=class t extends Yr{get typeName(){return le.VecClass}static[Symbol.hasInstance](e){return e.typeName===le.VecClass}constructor(e){super(),this._type=e,this._blobOptimization=!1,e instanceof zr&&e._bits===8&&(this._blobOptimization=!0)}accept(e,r){return e.visitVec(this,this._type,r)}covariant(e){let r=this._type instanceof zr?this._type._bits:this._type instanceof Rn?this._type._bits:0;if(ArrayBuffer.isView(e)&&r==e.BYTES_PER_ELEMENT*8||Array.isArray(e)&&e.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
38
|
+
`),e}};k.HttpErrorCode=Ef;var Tf=class t extends he{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}};k.HttpV3ApiNotSupportedErrorCode=Tf;var Of=class t extends he{constructor(e){super(),this.error=e,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${ea(this.error)}`}};k.HttpFetchErrorCode=Of;var Nf=class t extends he{constructor(e){super(),this.receivedCanisterId=e,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,t.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.`}};k.MissingCanisterIdErrorCode=Nf;var vf=class t extends he{constructor(e){super(),this.request=e,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}};k.InvalidReadStateRequestErrorCode=vf;var Rf=class t extends he{constructor(e){super(),this.error=e,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};k.ExpiryJsonDeserializeErrorCode=Rf;function ea(t){if(t instanceof Error)return t.stack??t.message;try{return JSON.stringify(t)}catch{return String(t)}}k.UNREACHABLE_ERROR=new Error("unreachable")});var Hc=z(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.PipeArrayBuffer=void 0;Nn.concat=S2;Nn.uint8FromBufLike=Sf;Nn.compare=Xm;Nn.uint8Equals=A2;Nn.uint8ToDataView=B2;function S2(...t){let e=new Uint8Array(t.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of t)e.set(n,r),r+=n.byteLength;return e}var If=class{save(){return this._view}restore(e){if(!(e instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=e}constructor(e,r=e?.byteLength||0){if(e&&!(e instanceof Uint8Array))try{e=Sf(e)}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(e&&r>e.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=e||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(e){let r=this._view.subarray(0,e);return this._view=this._view.subarray(e),r.slice()}readUint8(){if(this._view.byteLength===0)return;let e=this._view[0];return this._view=this._view.subarray(1),e}write(e){if(!(e instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+e.byteLength>=this._buffer.byteLength?this.alloc(e.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+e.byteLength),this._view.set(e,r)}get end(){return this._view.byteLength===0}alloc(e){if(e<=0||!Number.isInteger(e))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+e)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+e);n.set(this._view),this._buffer=r,this._view=n}};Nn.PipeArrayBuffer=If;function Sf(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?Sf(t.buffer):new Uint8Array(t)}function Xm(t,e){if(t.byteLength!==e.byteLength)return t.byteLength-e.byteLength;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]-e[r];return 0}function A2(t,e){return Xm(t,e)===0}function B2(t){if(!(t instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(t.buffer,t.byteOffset,t.byteLength)}});var Bf=z(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});Af.idlLabelToId=P2;function C2(t){let r=new TextEncoder().encode(t),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function P2(t){if(/^_\d+_$/.test(t)||/^_0x[0-9a-fA-F]+_$/.test(t)){let e=+t.slice(1,-1);if(Number.isSafeInteger(e)&&e>=0&&e<2**32)return e}return C2(t)}});var Cf=z($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.ilog2=D2;$c.iexp2=F2;function D2(t){let e=BigInt(t);if(t<=0)throw new RangeError("Input must be positive");return e.toString(2).length-1}function F2(t){let e=BigInt(t);if(t<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<e}});var Df=z(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.safeRead=ey;hr.safeReadUint8=Kc;hr.lebEncode=V2;hr.lebDecode=ty;hr.slebEncode=U2;hr.slebDecode=L2;hr.writeUIntLE=q2;hr.writeIntLE=ry;hr.readUIntLE=ny;hr.readIntLE=M2;var Pf=Hc(),Jm=Cf();function Qm(){throw new Error("unexpected end of buffer")}function ey(t,e){return t.byteLength<e&&Qm(),t.read(e)}function Kc(t){let e=t.readUint8();return e===void 0&&Qm(),e}function V2(t){if(typeof t=="number"&&(t=BigInt(t)),t<BigInt(0))throw new Error("Cannot leb encode negative values.");let e=(t===BigInt(0)?0:(0,Jm.ilog2)(t))+1,r=new Pf.PipeArrayBuffer(new Uint8Array(e),0);for(;;){let n=Number(t&BigInt(127));if(t/=BigInt(128),t===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ty(t){let e=BigInt(1),r=BigInt(0),n;do n=Kc(t),r+=BigInt(n&127).valueOf()*e,e*=BigInt(128);while(n>=128);return r}function U2(t){typeof t=="number"&&(t=BigInt(t));let e=t<BigInt(0);e&&(t=-t-BigInt(1));let r=(t===BigInt(0)?0:(0,Jm.ilog2)(t))+1,n=new Pf.PipeArrayBuffer(new Uint8Array(r),0);for(;;){let s=o(t);if(t/=BigInt(128),e&&t===BigInt(0)&&(s&64)!==0||!e&&t===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(e?BigInt(128)-i-BigInt(1):i)}return n.buffer}function L2(t){let e=new Uint8Array(t.buffer),r=0;for(;r<e.byteLength;r++)if(e[r]<128){if((e[r]&64)===0)return ty(t);break}let n=new Uint8Array(ey(t,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function q2(t,e){if(BigInt(t)<BigInt(0))throw new Error("Cannot write negative values.");return ry(t,e)}function ry(t,e){t=BigInt(t);let r=new Pf.PipeArrayBuffer(new Uint8Array(Math.min(1,e)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(t%o);for(r.write(new Uint8Array([i]));++n<e;)t<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((t/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function ny(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=BigInt(Kc(t)),n=BigInt(1),o=0;for(;++o<e;){n*=BigInt(256);let s=BigInt(Kc(t));r=r+n*s}return r}function M2(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=ny(t,e),n=BigInt(2)**(BigInt(8)*BigInt(e-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}});var jf=z(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.Principal=M.Nat64=M.Nat32=M.Nat16=M.Nat8=M.Int64=M.Int32=M.Int16=M.Int8=M.Float64=M.Float32=M.Nat=M.Int=M.Text=M.Null=M.Bool=M.Unknown=M.Reserved=M.Empty=M.ServiceClass=M.FuncClass=M.PrincipalClass=M.RecClass=M.VariantClass=M.TupleClass=M.RecordClass=M.OptClass=M.VecClass=M.FixedNatClass=M.FixedIntClass=M.FloatClass=M.NatClass=M.IntClass=M.TextClass=M.ReservedClass=M.NullClass=M.BoolClass=M.UnknownClass=M.EmptyClass=M.ConstructType=M.PrimitiveType=M.Type=M.Visitor=void 0;M.encode=j2;M.decode=H2;M.Tuple=sy;M.Vec=iy;M.Opt=ay;M.Record=cy;M.Variant=uy;M.Rec=dy;M.Func=ly;M.Service=fy;M.resetSubtypeCache=qf;M.subtype=kf;var k2=Rr(),Te=Hc(),zt=Bf(),$=Df(),Vf=Cf(),Se;(function(t){t[t.Null=-1]="Null",t[t.Bool=-2]="Bool",t[t.Nat=-3]="Nat",t[t.Int=-4]="Int",t[t.Float32=-13]="Float32",t[t.Float64=-14]="Float64",t[t.Text=-15]="Text",t[t.Reserved=-16]="Reserved",t[t.Empty=-17]="Empty",t[t.Opt=-18]="Opt",t[t.Vector=-19]="Vector",t[t.Record=-20]="Record",t[t.Variant=-21]="Variant",t[t.Func=-22]="Func",t[t.Service=-23]="Service",t[t.Principal=-24]="Principal"})(Se||(Se={}));var Gc="DIDL",oy=400;function ta(t,e,r){return t.map((n,o)=>r(n,e[o]))}var Uf=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(e){return this._idx.has(e.name)}add(e,r){let n=this._typs.length;this._idx.set(e.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(e,r){let n=this._idx.get(e.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+e);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(e){return this._idxRefCount.get(e)||0}_compactFromEnd(){for(;this._typs.length>0;){let e=this._typs.length-1;if(this._getIdxRefCount(e)>0)break;this._typs.pop(),this._idxRefCount.delete(e)}}encode(){let e=(0,$.lebEncode)(this._typs.length),r=(0,Te.concat)(...this._typs);return(0,Te.concat)(e,r)}indexOf(e){if(!this._idx.has(e))throw new Error("Missing type index for "+e);return(0,$.slebEncode)(this._idx.get(e)||0)}},Lf=class{visitType(e,r){throw new Error("Not implemented")}visitPrimitive(e,r){return this.visitType(e,r)}visitEmpty(e,r){return this.visitPrimitive(e,r)}visitBool(e,r){return this.visitPrimitive(e,r)}visitNull(e,r){return this.visitPrimitive(e,r)}visitReserved(e,r){return this.visitPrimitive(e,r)}visitText(e,r){return this.visitPrimitive(e,r)}visitNumber(e,r){return this.visitPrimitive(e,r)}visitInt(e,r){return this.visitNumber(e,r)}visitNat(e,r){return this.visitNumber(e,r)}visitFloat(e,r){return this.visitPrimitive(e,r)}visitFixedInt(e,r){return this.visitNumber(e,r)}visitFixedNat(e,r){return this.visitNumber(e,r)}visitPrincipal(e,r){return this.visitPrimitive(e,r)}visitConstruct(e,r){return this.visitType(e,r)}visitVec(e,r,n){return this.visitConstruct(e,n)}visitOpt(e,r,n){return this.visitConstruct(e,n)}visitRecord(e,r,n){return this.visitConstruct(e,n)}visitTuple(e,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(e,o,n)}visitVariant(e,r,n){return this.visitConstruct(e,n)}visitRec(e,r,n){return this.visitConstruct(r,n)}visitFunc(e,r){return this.visitConstruct(e,r)}visitService(e,r){return this.visitConstruct(e,r)}};M.Visitor=Lf;var le;(function(t){t.EmptyClass="__IDL_EmptyClass__",t.UnknownClass="__IDL_UnknownClass__",t.BoolClass="__IDL_BoolClass__",t.NullClass="__IDL_NullClass__",t.ReservedClass="__IDL_ReservedClass__",t.TextClass="__IDL_TextClass__",t.IntClass="__IDL_IntClass__",t.NatClass="__IDL_NatClass__",t.FloatClass="__IDL_FloatClass__",t.FixedIntClass="__IDL_FixedIntClass__",t.FixedNatClass="__IDL_FixedNatClass__",t.VecClass="__IDL_VecClass__",t.OptClass="__IDL_OptClass__",t.RecordClass="__IDL_RecordClass__",t.TupleClass="__IDL_TupleClass__",t.VariantClass="__IDL_VariantClass__",t.RecClass="__IDL_RecClass__",t.PrincipalClass="__IDL_PrincipalClass__",t.FuncClass="__IDL_FuncClass__",t.ServiceClass="__IDL_ServiceClass__"})(le||(le={}));var Gs=class{display(){return this.name}valueToString(e){return We(e)}buildTypeTable(e){e.has(this)||this._buildTypeTableImpl(e)}};M.Type=Gs;var Yt=class extends Gs{checkType(e){if(this.name!==e.name)throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`);return e}_buildTypeTableImpl(e){}};M.PrimitiveType=Yt;var Yr=class extends Gs{checkType(e){if(e instanceof mr){let r=e.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`)}encodeType(e){return e.indexOf(this.name)}};M.ConstructType=Yr;var ra=class extends Yt{get typeName(){return le.EmptyClass}static[Symbol.hasInstance](e){return e.typeName===le.EmptyClass}accept(e,r){return e.visitEmpty(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return(0,$.slebEncode)(Se.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}};M.EmptyClass=ra;var zc=class extends Gs{get typeName(){return le.UnknownClass}static[Symbol.hasInstance](e){return e.typeName===le.UnknownClass}checkType(e){throw new Error("Method not implemented for unknown.")}accept(e,r){throw e.visitType(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}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(e,r){let n=r.decodeValue(e,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof mr?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"}};M.UnknownClass=zc;var Yc=class extends Yt{get typeName(){return le.BoolClass}static[Symbol.hasInstance](e){return e.typeName===le.BoolClass}accept(e,r){return e.visitBool(this,r)}covariant(e){if(typeof e=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return new Uint8Array([e?1:0])}encodeType(){return(0,$.slebEncode)(Se.Bool)}decodeValue(e,r){switch(this.checkType(r),(0,$.safeReadUint8)(e)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}};M.BoolClass=Yc;var Zo=class extends Yt{get typeName(){return le.NullClass}static[Symbol.hasInstance](e){return e.typeName===le.NullClass}accept(e,r){return e.visitNull(this,r)}covariant(e){if(e===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return(0,$.slebEncode)(Se.Null)}decodeValue(e,r){return this.checkType(r),null}get name(){return"null"}};M.NullClass=Zo;var Wr=class extends Yt{get typeName(){return le.ReservedClass}static[Symbol.hasInstance](e){return e.typeName===le.ReservedClass}accept(e,r){return e.visitReserved(this,r)}covariant(e){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return(0,$.slebEncode)(Se.Reserved)}decodeValue(e,r){return r.name!==this.name&&r.decodeValue(e,r),null}get name(){return"reserved"}};M.ReservedClass=Wr;var Wc=class extends Yt{get typeName(){return le.TextClass}static[Symbol.hasInstance](e){return e.typeName===le.TextClass}accept(e,r){return e.visitText(this,r)}covariant(e){if(typeof e=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=new TextEncoder().encode(e),n=(0,$.lebEncode)(r.byteLength);return(0,Te.concat)(n,r)}encodeType(){return(0,$.slebEncode)(Se.Text)}decodeValue(e,r){this.checkType(r);let n=(0,$.lebDecode)(e),o=(0,$.safeRead)(e,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(e){return'"'+e+'"'}};M.TextClass=Wc;var na=class extends Yt{get typeName(){return le.IntClass}static[Symbol.hasInstance](e){return e.typeName===le.IntClass}accept(e,r){return e.visitInt(this,r)}covariant(e){if(typeof e=="bigint"||Number.isInteger(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.slebEncode)(e)}encodeType(){return(0,$.slebEncode)(Se.Int)}decodeValue(e,r){return this.checkType(r),(0,$.slebDecode)(e)}get name(){return"int"}valueToString(e){return e.toString()}};M.IntClass=na;var oa=class extends Yt{get typeName(){return le.NatClass}static[Symbol.hasInstance](e){return e.typeName===le.NatClass}accept(e,r){return e.visitNat(this,r)}covariant(e){if(typeof e=="bigint"&&e>=BigInt(0)||Number.isInteger(e)&&e>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.lebEncode)(e)}encodeType(){return(0,$.slebEncode)(Se.Nat)}decodeValue(e,r){return this.checkType(r),(0,$.lebDecode)(e)}get name(){return"nat"}valueToString(e){return e.toString()}};M.NatClass=oa;var sa=class extends Yt{get typeName(){return le.FloatClass}static[Symbol.hasInstance](e){return e.typeName===le.FloatClass}constructor(e){if(super(),this._bits=e,e!==32&&e!==64)throw new Error("not a valid float type")}accept(e,r){return e.visitFloat(this,r)}covariant(e){if(typeof e=="number"||e instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,e,!0):n.setFloat64(0,e,!0),new Uint8Array(r)}encodeType(){let e=this._bits===32?Se.Float32:Se.Float64;return(0,$.slebEncode)(e)}decodeValue(e,r){this.checkType(r);let n=(0,$.safeRead)(e,this._bits/8),o=(0,Te.uint8ToDataView)(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(e){return e.toString()}};M.FloatClass=sa;var Rn=class extends Yt{get typeName(){return le.FixedIntClass}static[Symbol.hasInstance](e){return e.typeName===le.FixedIntClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedInt(this,r)}covariant(e){let r=(0,Vf.iexp2)(this._bits-1)*BigInt(-1),n=(0,Vf.iexp2)(this._bits-1)-BigInt(1),o=!1;if(typeof e=="bigint")o=e>=r&&e<=n;else if(Number.isInteger(e)){let s=BigInt(e);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.writeIntLE)(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return(0,$.slebEncode)(-9-e)}decodeValue(e,r){this.checkType(r);let n=(0,$.readIntLE)(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(e){return e.toString()}};M.FixedIntClass=Rn;var zr=class extends Yt{get typeName(){return le.FixedNatClass}static[Symbol.hasInstance](e){return e.typeName===le.FixedNatClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedNat(this,r)}covariant(e){let r=(0,Vf.iexp2)(this._bits),n=!1;if(typeof e=="bigint"&&e>=BigInt(0)?n=e<r:Number.isInteger(e)&&e>=0?n=BigInt(e)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return(0,$.writeUIntLE)(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return(0,$.slebEncode)(-5-e)}decodeValue(e,r){this.checkType(r);let n=(0,$.readUIntLE)(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(e){return e.toString()}};M.FixedNatClass=zr;var Zs=class t extends Yr{get typeName(){return le.VecClass}static[Symbol.hasInstance](e){return e.typeName===le.VecClass}constructor(e){super(),this._type=e,this._blobOptimization=!1,e instanceof zr&&e._bits===8&&(this._blobOptimization=!0)}accept(e,r){return e.visitVec(this,this._type,r)}covariant(e){let r=this._type instanceof zr?this._type._bits:this._type instanceof Rn?this._type._bits:0;if(ArrayBuffer.isView(e)&&r==e.BYTES_PER_ELEMENT*8||Array.isArray(e)&&e.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
39
39
|
|
|
40
|
-
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=(0,$.lebEncode)(e.length);if(this._blobOptimization)return(0,Te.concat)(r,new Uint8Array(e));if(ArrayBuffer.isView(e))if(e instanceof Int16Array||e instanceof Uint16Array){let o=new DataView(new ArrayBuffer(e.length*2));for(let s=0;s<e.length;s++)e instanceof Int16Array?o.setInt16(s*2,e[s],!0):o.setUint16(s*2,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else if(e instanceof Int32Array||e instanceof Uint32Array){let o=new DataView(new ArrayBuffer(e.length*4));for(let s=0;s<e.length;s++)e instanceof Int32Array?o.setInt32(s*4,e[s],!0):o.setUint32(s*4,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else if(e instanceof BigInt64Array||e instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(e.length*8));for(let s=0;s<e.length;s++)e instanceof BigInt64Array?o.setBigInt64(s*8,e[s],!0):o.setBigUint64(s*8,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else return(0,Te.concat)(r,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));let n=new Te.PipeArrayBuffer(new Uint8Array(r.byteLength+e.length),0);n.write(r);for(let o of e){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=(0,$.slebEncode)(Se.Vector),n=this._type.encodeType(e);e.add(this,(0,Te.concat)(r,n))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a vector type");let o=Number((0,$.lebDecode)(e));if(this._type instanceof zr){if(this._type._bits==8)return new Uint8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=e.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(e.read(o*8).buffer)}if(this._type instanceof Rn){if(this._type._bits==8)return new Int8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int16Array(o);for(let d=0;d<o;d++)c[d]=a.getInt16(d*2,!0);return c}if(this._type._bits==32){let i=e.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int32Array(o);for(let d=0;d<o;d++)c[d]=a.getInt32(d*4,!0);return c}if(this._type._bits==64){let i=e.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let d=0;d<o;d++)c[d]=a.getBigInt64(d*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(e,n._type));return s}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(e){return"vec {"+e.map(n=>this._type.valueToString(n)).join("; ")+"}"}};M.VecClass=
|
|
40
|
+
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=(0,$.lebEncode)(e.length);if(this._blobOptimization)return(0,Te.concat)(r,new Uint8Array(e));if(ArrayBuffer.isView(e))if(e instanceof Int16Array||e instanceof Uint16Array){let o=new DataView(new ArrayBuffer(e.length*2));for(let s=0;s<e.length;s++)e instanceof Int16Array?o.setInt16(s*2,e[s],!0):o.setUint16(s*2,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else if(e instanceof Int32Array||e instanceof Uint32Array){let o=new DataView(new ArrayBuffer(e.length*4));for(let s=0;s<e.length;s++)e instanceof Int32Array?o.setInt32(s*4,e[s],!0):o.setUint32(s*4,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else if(e instanceof BigInt64Array||e instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(e.length*8));for(let s=0;s<e.length;s++)e instanceof BigInt64Array?o.setBigInt64(s*8,e[s],!0):o.setBigUint64(s*8,e[s],!0);return(0,Te.concat)(r,new Uint8Array(o.buffer))}else return(0,Te.concat)(r,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));let n=new Te.PipeArrayBuffer(new Uint8Array(r.byteLength+e.length),0);n.write(r);for(let o of e){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=(0,$.slebEncode)(Se.Vector),n=this._type.encodeType(e);e.add(this,(0,Te.concat)(r,n))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a vector type");let o=Number((0,$.lebDecode)(e));if(this._type instanceof zr){if(this._type._bits==8)return new Uint8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=e.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(e.read(o*8).buffer)}if(this._type instanceof Rn){if(this._type._bits==8)return new Int8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int16Array(o);for(let d=0;d<o;d++)c[d]=a.getInt16(d*2,!0);return c}if(this._type._bits==32){let i=e.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int32Array(o);for(let d=0;d<o;d++)c[d]=a.getInt32(d*4,!0);return c}if(this._type._bits==64){let i=e.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let d=0;d<o;d++)c[d]=a.getBigInt64(d*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(e,n._type));return s}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(e){return"vec {"+e.map(n=>this._type.valueToString(n)).join("; ")+"}"}};M.VecClass=Zs;var po=class t extends Yr{get typeName(){return le.OptClass}static[Symbol.hasInstance](e){return e.typeName===le.OptClass}constructor(e){super(),this._type=e}accept(e,r){return e.visitOpt(this,this._type,r)}covariant(e){try{if(Array.isArray(e)&&(e.length===0||e.length===1&&this._type.covariant(e[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${We(e)}
|
|
41
41
|
|
|
42
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return e.length===0?new Uint8Array([0]):(0,Te.concat)(new Uint8Array([1]),this._type.encodeValue(e[0]))}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=(0,$.slebEncode)(Se.Opt),n=this._type.encodeType(e);e.add(this,(0,Te.concat)(r,n))}decodeValue(e,r){if(r instanceof Zo)return[];if(r instanceof Wr)return[];let n=r;if(r instanceof
|
|
42
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){return e.length===0?new Uint8Array([0]):(0,Te.concat)(new Uint8Array([1]),this._type.encodeValue(e[0]))}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=(0,$.slebEncode)(Se.Opt),n=this._type.encodeType(e);e.add(this,(0,Te.concat)(r,n))}decodeValue(e,r){if(r instanceof Zo)return[];if(r instanceof Wr)return[];let n=r;if(r instanceof mr){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof t)switch((0,$.safeReadUint8)(e)){case 0:return[];case 1:{let o=e.save();try{return[this._type.decodeValue(e,n._type)]}catch{return e.restore(o),n._type.decodeValue(e,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof Zo||this._type instanceof t||this._type instanceof Wr)return n.decodeValue(e,n),[];{let o=e.save();try{return[this._type.decodeValue(e,r)]}catch{return e.restore(o),n.decodeValue(e,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(e){return e.length===0?"null":`opt ${this._type.valueToString(e[0])}`}};M.OptClass=po;var zo=class t extends Yr{get typeName(){return le.RecordClass}static[Symbol.hasInstance](e){return e.typeName===le.RecordClass||e.typeName===le.TupleClass}constructor(e={}){super(),this._fields=Object.entries(e).sort((r,n)=>(0,zt.idlLabelToId)(r[0])-(0,zt.idlLabelToId)(n[0]))}accept(e,r){return e.visitRecord(this,this._fields,r)}tryAsTuple(){let e=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;e.push(o)}return e}covariant(e){if(typeof e=="object"&&this._fields.every(([r,n])=>{if(!e.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(e[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
43
43
|
|
|
44
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=this._fields.map(([o])=>e[o]),n=
|
|
44
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=this._fields.map(([o])=>e[o]),n=ta(this._fields,r,([,o],s)=>o.encodeValue(s));return(0,Te.concat)(...n)}_buildTypeTableImpl(e){this._fields.forEach(([s,i])=>i.buildTypeTable(e));let r=(0,$.slebEncode)(Se.Record),n=(0,$.lebEncode)(this._fields.length),o=this._fields.map(([s,i])=>(0,Te.concat)((0,$.lebEncode)((0,zt.idlLabelToId)(s)),i.encodeType(e)));e.add(this,(0,Te.concat)(r,n,(0,Te.concat)(...o)))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a record type");let o={},s=0,i=0;for(;i<n._fields.length;){let[a,c]=n._fields[i];if(s>=this._fields.length){c.decodeValue(e,c),i++;continue}let[d,p]=this._fields[s],l=(0,zt.idlLabelToId)(this._fields[s][0]),u=(0,zt.idlLabelToId)(a);if(l===u)o[d]=p.decodeValue(e,c),s++,i++;else if(u>l)if(p instanceof po||p instanceof Wr)o[d]=[],s++;else throw new Error("Cannot find required field "+d);else c.decodeValue(e,c),i++}for(let[a,c]of this._fields.slice(s))if(c instanceof po||c instanceof Wr)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let e={};for(let[r,n]of this._fields)e[(0,zt.idlLabelToId)(r)]=n;return e}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(e){let r=this._fields.map(([o])=>e[o]);return`record {${ta(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}};M.RecordClass=zo;var Xc=class t extends zo{get typeName(){return le.TupleClass}static[Symbol.hasInstance](e){return e.typeName===le.TupleClass}constructor(e){let r={};e.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=e}accept(e,r){return e.visitTuple(this,this._components,r)}covariant(e){if(Array.isArray(e)&&e.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(e[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
45
45
|
|
|
46
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=
|
|
46
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=ta(this._components,e,(n,o)=>n.encodeValue(o));return(0,Te.concat)(...r)}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[s,i]of n._components.entries())s>=this._components.length?i.decodeValue(e,i):o.push(this._components[s].decodeValue(e,i));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(e){return`record {${ta(this._components,e,(n,o)=>n.valueToString(o)).join("; ")}}`}};M.TupleClass=Xc;var zs=class t extends Yr{get typeName(){return le.VariantClass}static[Symbol.hasInstance](e){return e.typeName===le.VariantClass}constructor(e={}){super(),this._fields=Object.entries(e).sort((r,n)=>(0,zt.idlLabelToId)(r[0])-(0,zt.idlLabelToId)(n[0]))}accept(e,r){return e.visitVariant(this,this._fields,r)}covariant(e){if(typeof e=="object"&&Object.entries(e).length===1&&this._fields.every(([r,n])=>{try{return!e.hasOwnProperty(r)||n.covariant(e[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
47
47
|
|
|
48
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(e.hasOwnProperty(n)){let s=(0,$.lebEncode)(r),i=o.encodeValue(e[n]);return(0,Te.concat)(s,i)}}throw Error("Variant has no data: "+e)}_buildTypeTableImpl(e){this._fields.forEach(([,s])=>{s.buildTypeTable(e)});let r=(0,$.slebEncode)(Se.Variant),n=(0,$.lebEncode)(this._fields.length),o=this._fields.map(([s,i])=>(0,Te.concat)((0,$.lebEncode)((0,zt.idlLabelToId)(s)),i.encodeType(e)));e.add(this,(0,Te.concat)(r,n,...o))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a variant type");let o=Number((0,$.lebDecode)(e));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if((0,zt.idlLabelToId)(s)===(0,zt.idlLabelToId)(a)){let d=c.decodeValue(e,i);return{[a]:d}}throw new Error("Cannot find field hash "+s)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(e){for(let[r,n]of this._fields)if(e.hasOwnProperty(r)){let o=n.valueToString(e[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+e)}get alternativesAsObject(){let e={};for(let[r,n]of this._fields)e[(0,zt.idlLabelToId)(r)]=n;return e}};M.VariantClass=
|
|
48
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(e.hasOwnProperty(n)){let s=(0,$.lebEncode)(r),i=o.encodeValue(e[n]);return(0,Te.concat)(s,i)}}throw Error("Variant has no data: "+e)}_buildTypeTableImpl(e){this._fields.forEach(([,s])=>{s.buildTypeTable(e)});let r=(0,$.slebEncode)(Se.Variant),n=(0,$.lebEncode)(this._fields.length),o=this._fields.map(([s,i])=>(0,Te.concat)((0,$.lebEncode)((0,zt.idlLabelToId)(s)),i.encodeType(e)));e.add(this,(0,Te.concat)(r,n,...o))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a variant type");let o=Number((0,$.lebDecode)(e));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if((0,zt.idlLabelToId)(s)===(0,zt.idlLabelToId)(a)){let d=c.decodeValue(e,i);return{[a]:d}}throw new Error("Cannot find field hash "+s)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(e){for(let[r,n]of this._fields)if(e.hasOwnProperty(r)){let o=n.valueToString(e[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+e)}get alternativesAsObject(){let e={};for(let[r,n]of this._fields)e[(0,zt.idlLabelToId)(r)]=n;return e}};M.VariantClass=zs;var mr=class t extends Yr{constructor(){super(...arguments),this._id=t._counter++}get typeName(){return le.RecClass}static{this._counter=0}static[Symbol.hasInstance](e){return e.typeName===le.RecClass}accept(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return e.visitRec(this,this._type,r)}fill(e){this._type=e}getType(){return this._type}covariant(e){if(this._type&&this._type.covariant(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(e)}_buildTypeTableImpl(e){if(!this._type)throw Error("Recursive type uninitialized.");e.add(this,new Uint8Array([])),this._type.buildTypeTable(e),e.merge(this,this._type.name)}decodeValue(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(e,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(e)}};M.RecClass=mr;function Mf(t){if((0,$.safeReadUint8)(t)!==1)throw new Error("Cannot decode principal");let r=Number((0,$.lebDecode)(t));return k2.Principal.fromUint8Array(new Uint8Array((0,$.safeRead)(t,r)))}var Jc=class extends Yt{get typeName(){return le.PrincipalClass}static[Symbol.hasInstance](e){return e.typeName===le.PrincipalClass}accept(e,r){return e.visitPrincipal(this,r)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=e.toUint8Array(),n=(0,$.lebEncode)(r.byteLength);return(0,Te.concat)(new Uint8Array([1]),n,r)}encodeType(){return(0,$.slebEncode)(Se.Principal)}decodeValue(e,r){return this.checkType(r),Mf(e)}get name(){return"principal"}valueToString(e){return`${this.name} "${e.toText()}"`}};M.PrincipalClass=Jc;var Yo=class extends Yr{get typeName(){return le.FuncClass}static[Symbol.hasInstance](e){return e.typeName===le.FuncClass}static argsToString(e,r){if(e.length!==r.length)throw new Error("arity mismatch");return"("+e.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(e,r,n=[]){super(),this.argTypes=e,this.retTypes=r,this.annotations=n}accept(e,r){return e.visitFunc(this,r)}covariant(e){if(Array.isArray(e)&&e.length===2&&e[0]&&e[0]._isPrincipal&&typeof e[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue([e,r]){let n=e.toUint8Array(),o=(0,$.lebEncode)(n.byteLength),s=(0,Te.concat)(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=(0,$.lebEncode)(i.byteLength);return(0,Te.concat)(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(e){this.argTypes.forEach(d=>d.buildTypeTable(e)),this.retTypes.forEach(d=>d.buildTypeTable(e));let r=(0,$.slebEncode)(Se.Func),n=(0,$.lebEncode)(this.argTypes.length),o=(0,Te.concat)(...this.argTypes.map(d=>d.encodeType(e))),s=(0,$.lebEncode)(this.retTypes.length),i=(0,Te.concat)(...this.retTypes.map(d=>d.encodeType(e))),a=(0,$.lebEncode)(this.annotations.length),c=(0,Te.concat)(...this.annotations.map(d=>this.encodeAnnotation(d)));e.add(this,(0,Te.concat)(r,n,o,s,i,a,c))}decodeValue(e,r){let n=r instanceof mr?r.getType()??r:r;if(!kf(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if((0,$.safeReadUint8)(e)!==1)throw new Error("Cannot decode function reference");let s=Mf(e),i=Number((0,$.lebDecode)(e)),a=(0,$.safeRead)(e,i),d=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,d]}get name(){let e=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${e}) -> (${r})${n}`}valueToString([e,r]){return`func "${e.toText()}".${r}`}display(){let e=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${e}) \u2192 (${r})${n}`}encodeAnnotation(e){if(e==="query")return new Uint8Array([1]);if(e==="oneway")return new Uint8Array([2]);if(e==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}};M.FuncClass=Yo;var Ys=class extends Yr{get typeName(){return le.ServiceClass}static[Symbol.hasInstance](e){return e.typeName===le.ServiceClass}constructor(e){super(),this._fields=Object.entries(e).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(e,r){return e.visitService(this,r)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${We(e)}`)}encodeValue(e){let r=e.toUint8Array(),n=(0,$.lebEncode)(r.length);return(0,Te.concat)(new Uint8Array([1]),n,r)}_buildTypeTableImpl(e){this._fields.forEach(([s,i])=>i.buildTypeTable(e));let r=(0,$.slebEncode)(Se.Service),n=(0,$.lebEncode)(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=(0,$.lebEncode)(a.length);return(0,Te.concat)(c,a,i.encodeType(e))});e.add(this,(0,Te.concat)(r,n,...o))}decodeValue(e,r){let n=r instanceof mr?r.getType()??r:r;if(!kf(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Mf(e)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(e){return`service "${e.toText()}"`}fieldsAsObject(){let e={};for(let[r,n]of this._fields)e[r]=n;return e}};M.ServiceClass=Ys;function We(t){let e=JSON.stringify(t,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return e&&e.length>oy?e.substring(0,oy-3)+"...":e}function j2(t,e){if(e.length<t.length)throw Error("Wrong number of message arguments");let r=new Uf;t.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Gc),o=r.encode(),s=(0,$.lebEncode)(e.length),i=(0,Te.concat)(...t.map(c=>c.encodeType(r))),a=(0,Te.concat)(...ta(t,e,(c,d)=>{try{c.covariant(d)}catch(p){throw new Error(p.message+`
|
|
49
49
|
|
|
50
|
-
`)}return c.encodeValue(d)}));return(0,Te.concat)(n,o,s,i,a)}function
|
|
51
|
-
`;return e}addNames(e,r,n){let o=this.rels.get(e);if(o==null){let s=new Map;s.set(r,n),this.rels.set(e,s)}else o.set(r,n)}},Zc=new Qc;function qf(){Zc=new Qc}function K2(t,e){let r=new Set(t.annotations),n=new Set(e.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Ff(t){return t instanceof po||t instanceof Zo||t instanceof Wr}function kf(t,e){let r=Zc.copy(),n=vn(r,t,e);return n?Zc.add(t,e):Zc.addNegative(t,e),n}function vn(t,e,r){if(e.name===r.name)return!0;let n=t.known(e,r);if(n!==void 0)return n;if(t.add(e,r),r instanceof Wr||e instanceof na||e instanceof sa&&r instanceof oa)return!0;if(e instanceof zs&&r instanceof zs)return vn(t,e._type,r._type);if(r instanceof po)return!0;if(e instanceof zo&&r instanceof zo){let o=e.fieldsAsObject;for(let[s,i]of r._fields){let a=o[(0,zt.idlLabelToId)(s)];if(a){if(!vn(t,a,i))return!1}else if(!Ff(i))return!1}return!0}if(e instanceof Yo&&r instanceof Yo){if(!K2(e,r))return!1;for(let o=0;o<e.argTypes.length;o++){let s=e.argTypes[o];if(o<r.argTypes.length){if(!vn(t,r.argTypes[o],s))return!1}else if(!Ff(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<e.retTypes.length){if(!vn(t,e.retTypes[o],s))return!1}else if(!Ff(s))return!1}return!0}if(e instanceof Ys&&r instanceof Ys){let o=r.alternativesAsObject;for(let[s,i]of e._fields){let a=o[(0,zt.idlLabelToId)(s)];if(!a||!vn(t,i,a))return!1}return!0}if(e instanceof Ws&&r instanceof Ws){let o=e.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!vn(t,a,i))return!1}return!0}return e instanceof yr?vn(t,e.getType(),r):r instanceof yr?vn(t,e,r.getType()):!1}});var Yf=z(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.VecForm=Rt.OptionForm=Rt.VariantForm=Rt.TupleForm=Rt.RecordForm=Rt.InputForm=Rt.InputBox=void 0;var Hf=class{constructor(e,r){this.idl=e,this.ui=r,this.label=null,this.value=void 0;let n=document.createElement("span");n.className="status",this.status=n,r.input&&(r.input.addEventListener("blur",()=>{r.input.value!==""&&this.parse()}),r.input.addEventListener("input",()=>{n.style.display="none",r.input.classList.remove("reject")}))}isRejected(){return this.value===void 0}parse(e={}){if(this.ui.form){let r=this.ui.form.parse(e);return this.value=r,r}if(this.ui.input){let r=this.ui.input;try{let n=this.ui.parse(this.idl,e,r.value);if(!this.idl.covariant(n))throw new Error(`${r.value} is not of type ${this.idl.display()}`);return this.status.style.display="none",this.value=n,n}catch(n){r.classList.add("reject"),this.status.style.display="block",this.status.innerHTML="InputError: "+n.message,this.value=void 0;return}}return null}render(e){let r=document.createElement("span");if(this.label){let n=document.createElement("label");n.innerText=this.label,r.appendChild(n)}this.ui.input&&(r.appendChild(this.ui.input),r.appendChild(this.status)),this.ui.form&&this.ui.form.render(r),e.appendChild(r)}};Rt.InputBox=Hf;var ho=class{constructor(e){this.ui=e,this.form=[]}renderForm(e){this.ui.container?(this.form.forEach(r=>r.render(this.ui.container)),e.appendChild(this.ui.container)):this.form.forEach(r=>r.render(e))}render(e){if(this.ui.open&&this.ui.event){e.appendChild(this.ui.open);let r=this;r.ui.open.addEventListener(r.ui.event,()=>{if(r.ui.container)r.ui.container.innerHTML="";else{let n=r.ui.open.nextElementSibling;n&&n.parentNode.removeChild(n)}r.generateForm(),r.renderForm(e)})}else this.generateForm(),this.renderForm(e)}};Rt.InputForm=ho;var $f=class extends ho{constructor(e,r){super(r),this.fields=e,this.ui=r}generateForm(){this.form=this.fields.map(([e,r])=>{let n=this.ui.render(r);return this.ui.labelMap&&this.ui.labelMap.hasOwnProperty(e)?n.label=this.ui.labelMap[e]+" ":n.label=e+" ",n})}parse(e){let r={};if(this.fields.forEach(([n,o],s)=>{let i=this.form[s].parse(e);r[n]=i}),!this.form.some(n=>n.isRejected()))return r}};Rt.RecordForm=$f;var Kf=class extends ho{constructor(e,r){super(r),this.components=e,this.ui=r}generateForm(){this.form=this.components.map(e=>this.ui.render(e))}parse(e){let r=[];if(this.components.forEach((n,o)=>{let s=this.form[o].parse(e);r.push(s)}),!this.form.some(n=>n.isRejected()))return r}};Rt.TupleForm=Kf;var Gf=class extends ho{constructor(e,r){super(r),this.fields=e,this.ui=r}generateForm(){let e=this.ui.open.selectedIndex,[r,n]=this.fields[e],o=this.ui.render(n);this.form=[o]}parse(e){let r=this.ui.open,n=r.options[r.selectedIndex].value,o=this.form[0].parse(e);if(o===void 0)return;let s={};return s[n]=o,s}};Rt.VariantForm=Gf;var Zf=class extends ho{constructor(e,r){super(r),this.ty=e,this.ui=r}generateForm(){if(this.ui.open.checked){let e=this.ui.render(this.ty);this.form=[e]}else this.form=[]}parse(e){if(this.form.length===0)return[];{let r=this.form[0].parse(e);return r===void 0?void 0:[r]}}};Rt.OptionForm=Zf;var zf=class extends ho{constructor(e,r){super(r),this.ty=e,this.ui=r}generateForm(){let e=+this.ui.open.value;this.form=[];for(let r=0;r<e;r++){let n=this.ui.render(this.ty);this.form.push(n)}}parse(e){let r=this.form.map(n=>n.parse(e));if(!this.form.some(n=>n.isRejected()))return r}};Rt.VecForm=zf});var ym=z(Ee=>{"use strict";var G2=Ee&&Ee.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Z2=Ee&&Ee.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),hm=Ee&&Ee.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&G2(r,e,n[o]);return Z2(r,e),r}})();Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Render=Ee.vecForm=Ee.optForm=Ee.variantForm=Ee.tupleForm=Ee.recordForm=Ee.inputBox=void 0;Ee.renderInput=ep;Ee.renderValue=Wo;var tu=hm(jf()),Wf=Rr(),Xs=hm(Yf()),z2={parse:tE},aa={render:ep},Y2=(t,e)=>new Xs.InputBox(t,{...z2,...e});Ee.inputBox=Y2;var W2=(t,e)=>new Xs.RecordForm(t,{...aa,...e});Ee.recordForm=W2;var X2=(t,e)=>new Xs.TupleForm(t,{...aa,...e});Ee.tupleForm=X2;var J2=(t,e)=>new Xs.VariantForm(t,{...aa,...e});Ee.variantForm=J2;var Q2=(t,e)=>new Xs.OptionForm(t,{...aa,...e});Ee.optForm=Q2;var eE=(t,e)=>new Xs.VecForm(t,{...aa,...e});Ee.vecForm=eE;var eu=class extends tu.Visitor{visitType(e,r){let n=document.createElement("input");return n.classList.add("argument"),n.placeholder=e.display(),(0,Ee.inputBox)(e,{input:n})}visitNull(e,r){return(0,Ee.inputBox)(e,{})}visitRecord(e,r,n){let o={};if(r.length>1){let i=document.createElement("div");i.classList.add("popup-form"),o={container:i}}let s=(0,Ee.recordForm)(r,o);return(0,Ee.inputBox)(e,{form:s})}visitTuple(e,r,n){let o={};if(r.length>1){let i=document.createElement("div");i.classList.add("popup-form"),o={container:i}}let s=(0,Ee.tupleForm)(r,o);return(0,Ee.inputBox)(e,{form:s})}visitVariant(e,r,n){let o=document.createElement("select");for(let[a,c]of r){let d=new Option(a);o.add(d)}o.selectedIndex=-1,o.classList.add("open");let s={open:o,event:"change"},i=(0,Ee.variantForm)(r,s);return(0,Ee.inputBox)(e,{form:i})}visitOpt(e,r,n){let o=document.createElement("input");o.type="checkbox",o.classList.add("open");let s=(0,Ee.optForm)(r,{open:o,event:"change"});return(0,Ee.inputBox)(e,{form:s})}visitVec(e,r,n){let o=document.createElement("input");o.type="number",o.min="0",o.max="100",o.style.width="8rem",o.placeholder="len",o.classList.add("open");let s=document.createElement("div");s.classList.add("popup-form");let i=(0,Ee.vecForm)(r,{open:o,event:"change",container:s});return(0,Ee.inputBox)(e,{form:i})}visitRec(e,r,n){return ep(r)}};Ee.Render=eu;var Xf=class extends tu.Visitor{visitNull(e,r){return null}visitBool(e,r){if(r==="true")return!0;if(r==="false")return!1;throw new Error(`Cannot parse ${r} as boolean`)}visitText(e,r){return r}visitFloat(e,r){return parseFloat(r)}visitFixedInt(e,r){return e._bits<=32?parseInt(r,10):BigInt(r)}visitFixedNat(e,r){return e._bits<=32?parseInt(r,10):BigInt(r)}visitNumber(e,r){return BigInt(r)}visitPrincipal(e,r){return Wf.Principal.fromText(r)}visitService(e,r){return Wf.Principal.fromText(r)}visitFunc(e,r){let n=r.split(".",2);return[Wf.Principal.fromText(n[0]),n[1]]}},Jf=class extends tu.Visitor{visitNull(e,r){return null}visitBool(e,r){return Math.random()<.5}visitText(e,r){return Math.random().toString(36).substring(6)}visitFloat(e,r){return Math.random()}visitInt(e,r){return BigInt(this.generateNumber(!0))}visitNat(e,r){return BigInt(this.generateNumber(!1))}visitFixedInt(e,r){let n=this.generateNumber(!0);return e._bits<=32?n:BigInt(r)}visitFixedNat(e,r){let n=this.generateNumber(!1);return e._bits<=32?n:BigInt(r)}generateNumber(e){let r=Math.floor(Math.random()*100);return e&&Math.random()<.5?-r:r}};function tE(t,e,r){return e.random&&r===""?t.accept(new Jf,r):t.accept(new Xf,r)}function ep(t){return t.accept(new eu,null)}function Wo(t,e,r){return t.accept(new Qf,{input:e,value:r})}var Qf=class extends tu.Visitor{visitType(e,r){r.input.ui.input.value=e.valueToString(r.value)}visitNull(e,r){}visitText(e,r){r.input.ui.input.value=r.value}visitRec(e,r,n){Wo(r,n.input,n.value)}visitOpt(e,r,n){if(n.value.length!==0){let o=n.input.ui.form,s=o.ui.open;s.checked=!0,s.dispatchEvent(new Event(o.ui.event)),Wo(r,o.form[0],n.value[0])}}visitRecord(e,r,n){let o=n.input.ui.form;r.forEach(([s,i],a)=>{Wo(i,o.form[a],n.value[s])})}visitTuple(e,r,n){let o=n.input.ui.form;r.forEach((s,i)=>{Wo(s,o.form[i],n.value[i])})}visitVariant(e,r,n){let o=n.input.ui.form,s=Object.entries(n.value)[0];r.forEach(([i,a],c)=>{if(i===s[0]){let d=o.ui.open;d.selectedIndex=c,d.dispatchEvent(new Event(o.ui.event)),Wo(a,o.form[0],s[1])}})}visitVec(e,r,n){let o=n.input.ui.form,s=n.value.length,i=o.ui.open;i.value=s,i.dispatchEvent(new Event(o.ui.event)),n.value.forEach((a,c)=>{Wo(r,o.form[c],a)})}}});var _m=z(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0})});var ca=z(lt=>{"use strict";var bm=lt&<.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),rE=lt&<.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Js=lt&<.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&bm(e,t,r)},nE=lt&<.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&bm(r,e,n[o]);return rE(r,e),r}})();Object.defineProperty(lt,"__esModule",{value:!0});lt.IDL=void 0;Js(ym(),lt);Js(Yf(),lt);lt.IDL=nE(jf());Js(Bf(),lt);Js(Df(),lt);Js(Hc(),lt);Js(_m(),lt)});var Qs=z(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.uint8FromBufLike=gm;ua.uint8ToBuf=oE;ua.uint8Equals=sE;function gm(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?gm(t.buffer):new Uint8Array(t)}function oE(t){let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(t),e}function sE(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}});var nu=z(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.hashValue=ru;da.requestIdOf=aE;da.hashOfMap=np;var tp=ca(),xm=sr(),iE=Qs(),rp=dt(),Xo=Gs();function ru(t){if(typeof t=="string")return wm(t);if(typeof t=="number")return(0,Xo.sha256)((0,tp.lebEncode)(t));if(t instanceof Uint8Array||ArrayBuffer.isView(t))return(0,Xo.sha256)((0,iE.uint8FromBufLike)(t));if(Array.isArray(t)){let e=t.map(ru);return(0,Xo.sha256)((0,rp.concatBytes)(...e))}else{if(t&&typeof t=="object"&&t._isPrincipal)return(0,Xo.sha256)(t.toUint8Array());if(typeof t=="object"&&t!==null&&typeof t.toHash=="function")return ru(t.toHash());if(typeof t=="object")return np(t);if(typeof t=="bigint")return(0,Xo.sha256)((0,tp.lebEncode)(t))}throw xm.InputError.fromCode(new xm.HashValueErrorCode(t))}var wm=t=>{let e=new TextEncoder().encode(t);return(0,Xo.sha256)(e)};function aE(t){return np(t)}function np(t){let n=Object.entries(t).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=wm(i),d=ru(a);return[c,d]}).sort(([i],[a])=>(0,tp.compare)(i,a)),o=(0,rp.concatBytes)(...n.map(i=>(0,rp.concatBytes)(...i)));return(0,Xo.sha256)(o)}});var ou=z(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=Xr.IC_RESPONSE_DOMAIN_SEPARATOR=Xr.IC_REQUEST_DOMAIN_SEPARATOR=Xr.DEFAULT_INGRESS_EXPIRY_DELTA_IN_MSECS=void 0;Xr.DEFAULT_INGRESS_EXPIRY_DELTA_IN_MSECS=300*1e3;Xr.IC_REQUEST_DOMAIN_SEPARATOR=new TextEncoder().encode(`
|
|
52
|
-
ic-request`);Xr.IC_RESPONSE_DOMAIN_SEPARATOR=new TextEncoder().encode("\vic-response");Xr.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=new TextEncoder().encode("ic-request-auth-delegation")});var ip=z(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.AnonymousIdentity=Jo.SignIdentity=void 0;Jo.createIdentityDescriptor=dE;var Em=Rr(),cE=nu(),Tm=dt(),uE=ou(),op=class{getPrincipal(){return this._principal||(this._principal=Em.Principal.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(e){let{body:r,...n}=e,o=(0,cE.requestIdOf)(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign((0,Tm.concatBytes)(uE.IC_REQUEST_DOMAIN_SEPARATOR,o))}}}};Jo.SignIdentity=op;var sp=class{getPrincipal(){return Em.Principal.anonymous()}async transformRequest(e){return{...e,body:{content:e.body}}}};Jo.AnonymousIdentity=sp;function dE(t){return"getPublicKey"in t?{type:"PublicKeyIdentity",publicKey:(0,Tm.bytesToHex)(t.getPublicKey().toDer())}:{type:"AnonymousIdentity"}}});var Nm=z((su,Om)=>{(function(t,e){typeof su=="object"&&typeof Om<"u"?e(su):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.Cbor={}))})(su,function(t){"use strict";class e extends Error{constructor(j){super(j),this.name="DecodingError"}}let r=55799,n=Symbol("CBOR_STOP_CODE");var o=(D=>(D[D.False=20]="False",D[D.True=21]="True",D[D.Null=22]="Null",D[D.Undefined=23]="Undefined",D[D.Break=31]="Break",D))(o||{}),s=(D=>(D[D.UnsignedInteger=0]="UnsignedInteger",D[D.NegativeInteger=1]="NegativeInteger",D[D.ByteString=2]="ByteString",D[D.TextString=3]="TextString",D[D.Array=4]="Array",D[D.Map=5]="Map",D[D.Tag=6]="Tag",D[D.Simple=7]="Simple",D))(s||{});let i=23,a=255,c=65535,d=4294967295,p=BigInt("0xffffffffffffffff");var l=(D=>(D[D.Value=23]="Value",D[D.OneByte=24]="OneByte",D[D.TwoBytes=25]="TwoBytes",D[D.FourBytes=26]="FourBytes",D[D.EightBytes=27]="EightBytes",D[D.Indefinite=31]="Indefinite",D))(l||{});let u=!1;function f(D){return D==null}function h(D,j){let se=new Uint8Array(j);return se.set(D),se}let y=new TextDecoder;function b(D){return(D&224)>>5}function m(D){return D&31}let x=new Uint8Array,_,T=0;function N(D,j){x=D,T=0;let se=R(j);return j?.(se)??se}function R(D){let[j,se]=v();switch(j){case s.UnsignedInteger:return V(se);case s.NegativeInteger:return C(se);case s.ByteString:return g(se);case s.TextString:return w(se);case s.Array:return A(se,D);case s.Map:return S(se,D);case s.Tag:return O(se,D);case s.Simple:return E(se)}throw new e(`Unsupported major type: ${j}`)}function v(){let D=x.at(T);if(f(D))throw new e("Provided CBOR data is empty");let j=b(D),se=m(D);return T++,[j,se]}function A(D,j){let se=V(D);if(se===1/0){let Ot=[],bt=R(j);for(;bt!==n;)Ot.push(j?.(bt)??bt),bt=R(j);return Ot}let Tt=new Array(se);for(let Ot=0;Ot<se;Ot++){let bt=R(j);Tt[Ot]=j?.(bt)??bt}return Tt}function E(D){switch(D){case o.False:return!1;case o.True:return!0;case o.Null:return null;case o.Undefined:return;case o.Break:return n}throw new e(`Unrecognized simple type: ${D.toString(2)}`)}function S(D,j){let se=V(D),Tt={};if(se===1/0){let[Ot,bt]=v();for(;Ot!==s.Simple&&bt!==o.Break;){let Hr=w(bt),En=R(j);Tt[Hr]=j?.(En,Hr)??En,[Ot,bt]=v()}return Tt}for(let Ot=0;Ot<se;Ot++){let[bt,Hr]=v();if(bt!==s.TextString)throw new e("Map keys must be text strings");let En=w(Hr),js=R(j);Tt[En]=j?.(js,En)??js}return Tt}function V(D){if(D<=l.Value)return D;switch(_=new DataView(x.buffer,x.byteOffset+T),D){case l.OneByte:return T++,_.getUint8(0);case l.TwoBytes:return T+=2,_.getUint16(0,u);case l.FourBytes:return T+=4,_.getUint32(0,u);case l.EightBytes:return T+=8,_.getBigUint64(0,u);case l.Indefinite:return 1/0;default:throw new e(`Unsupported integer info: ${D.toString(2)}`)}}function C(D){let j=V(D);return typeof j=="number"?-1-j:-1n-j}function g(D){let j=V(D);if(j>Number.MAX_SAFE_INTEGER)throw new e("Byte length is too large");let se=Number(j);return T+=se,x.slice(T-se,T)}function w(D){let j=g(D);return y.decode(j)}function O(D,j){let se=V(D);if(se===r)return R(j);throw new e(`Unsupported tag: ${se}.`)}class P extends Error{constructor(j){super(j),this.name="SerializationError"}}let L=2*1024,I=100,B=new TextEncoder;function F(D){return D<<5}let U=new Uint8Array(L),q=new DataView(U.buffer),H=0,Y=[];function G(D,j){H=0;let se=j?.(D)??D;return ae(se,j),U.slice(0,H)}function ie(D,j){H=0;let se=j?.(D)??D;return Xi(r,se,j),U.slice(0,H)}function ae(D,j){if(H>U.length-I&&(U=h(U,U.length*2),q=new DataView(U.buffer)),D===!1||D===!0||D===null||D===void 0){lr(D);return}if(typeof D=="number"||typeof D=="bigint"){Wi(D);return}if(typeof D=="string"){Ms(D);return}if(D instanceof Uint8Array){ks(D);return}if(D instanceof ArrayBuffer){ks(new Uint8Array(D));return}if(Array.isArray(D)){Ce(D,j);return}if(typeof D=="object"){ee(D,j);return}throw new P(`Unsupported type: ${typeof D}`)}function Ce(D,j){ce(s.Array,D.length),D.forEach((se,Tt)=>{ae(j?.(se,Tt.toString())??se,j)})}function ee(D,j){Y=Object.entries(D),ce(s.Map,Y.length),Y.forEach(([se,Tt])=>{Ms(se),ae(j?.(Tt,se)??Tt,j)})}function ce(D,j){if(j<=i){q.setUint8(H++,F(D)|Number(j));return}if(j<=a){q.setUint8(H++,F(D)|l.OneByte),q.setUint8(H,Number(j)),H+=1;return}if(j<=c){q.setUint8(H++,F(D)|l.TwoBytes),q.setUint16(H,Number(j),u),H+=2;return}if(j<=d){q.setUint8(H++,F(D)|l.FourBytes),q.setUint32(H,Number(j),u),H+=4;return}if(j<=p){q.setUint8(H++,F(D)|l.EightBytes),q.setBigUint64(H,BigInt(j),u),H+=8;return}throw new P(`Value too large to encode: ${j}`)}function lr(D){ce(s.Simple,vr(D))}function vr(D){if(D===!1)return o.False;if(D===!0)return o.True;if(D===null)return o.Null;if(D===void 0)return o.Undefined;throw new P(`Unrecognized simple value: ${D.toString()}`)}function fr(D,j){ce(D,j.length),H>U.length-j.length&&(U=h(U,U.length+j.length),q=new DataView(U.buffer)),U.set(j,H),H+=j.length}function wn(D,j){ce(D,j)}function io(D){wn(s.UnsignedInteger,D)}function Yi(D){wn(s.NegativeInteger,typeof D=="bigint"?-1n-D:-1-D)}function Wi(D){D>=0?io(D):Yi(D)}function Ms(D){fr(s.TextString,B.encode(D))}function ks(D){fr(s.ByteString,D)}function Xi(D,j,se){ce(s.Tag,D),ae(j,se)}t.DecodingError=e,t.EncodingError=P,t.decode=N,t.encode=G,t.encodeWithSelfDescribedTag=ie,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})})});var la=z(Wt=>{"use strict";var lE=Wt&&Wt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),fE=Wt&&Wt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),pE=Wt&&Wt.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&lE(r,e,n[o]);return fE(r,e),r}})();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.Cbor=Wt.ToCborValue=void 0;Wt.encode=Rm;Wt.decode=Im;var hE=Rr(),vm=pE(Nm()),iu=sr(),yE=fa(),ap=class{};Wt.ToCborValue=ap;function mE(t){return typeof t=="object"&&t!==null&&"toCborValue"in t}function Rm(t){try{return vm.encodeWithSelfDescribedTag(t,e=>hE.Principal.isPrincipal(e)?e.toUint8Array():yE.Expiry.isExpiry(e)?e.toBigInt():mE(e)?e.toCborValue():e)}catch(e){throw iu.InputError.fromCode(new iu.CborEncodeErrorCode(e,t))}}function Im(t){try{return vm.decode(t)}catch(e){throw iu.InputError.fromCode(new iu.CborDecodeErrorCode(e,t))}}Wt.Cbor={encode:Rm,decode:Im}});var cp=z(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.randomNumber=void 0;var _E=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let t=new Uint32Array(1);return window.crypto.getRandomValues(t),t[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(1);return crypto.getRandomValues(t),t[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};au.randomNumber=_E});var ei=z(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.ReadRequestType=In.SubmitRequestType=In.Endpoint=void 0;In.makeNonce=bE;var cu=cp(),Sm;(function(t){t.Query="read",t.ReadState="read_state",t.Call="call"})(Sm||(In.Endpoint=Sm={}));var Am;(function(t){t.Call="call"})(Am||(In.SubmitRequestType=Am={}));var Bm;(function(t){t.Query="query",t.ReadState="read_state"})(Bm||(In.ReadRequestType=Bm={}));function bE(){let t=new ArrayBuffer(16),e=new DataView(t),r=(0,cu.randomNumber)(),n=(0,cu.randomNumber)(),o=(0,cu.randomNumber)(),s=(0,cu.randomNumber)();return e.setUint32(0,r),e.setUint32(4,n),e.setUint32(8,o),e.setUint32(12,s),Object.assign(new Uint8Array(t),{__nonce__:void 0})}});var lu=z(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.Expiry=ir.JSON_KEY_EXPIRY=void 0;ir.makeNonceTransform=TE;ir.makeExpiryTransform=OE;ir.httpHeadersTransform=NE;var gE=ca(),Cm=ei(),uu=sr();ir.JSON_KEY_EXPIRY="__expiry__";var up=BigInt(1e3),xE=BigInt(1e6),Pm=BigInt(60),wE=BigInt(90)*up;function Dm(t){return t/up}function EE(t){return Dm(t)/Pm}var du=class t{constructor(e){this.__expiry__=e,this._isExpiry=!0}static fromDeltaInMilliseconds(e,r=0){let n=BigInt(e),o=BigInt(Date.now())+n+BigInt(r),s;return n<wE?s=Dm(o):s=EE(o)*Pm,new t(s*up*xE)}toBigInt(){return this.__expiry__}toHash(){return(0,gE.lebEncode)(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ir.JSON_KEY_EXPIRY]:this.toString()}}static fromJSON(e){let r=JSON.parse(e);if(r[ir.JSON_KEY_EXPIRY])try{let n=BigInt(r[ir.JSON_KEY_EXPIRY]);return new t(n)}catch(n){throw new uu.InputError(new uu.ExpiryJsonDeserializeErrorCode(`Not a valid BigInt: ${n}`))}throw new uu.InputError(new uu.ExpiryJsonDeserializeErrorCode(`The input does not contain the key ${ir.JSON_KEY_EXPIRY}`))}static isExpiry(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isExpiry"in e&&e._isExpiry===!0&&"__expiry__"in e&&typeof e.__expiry__=="bigint"}};ir.Expiry=du;function TE(t=Cm.makeNonce){return async e=>{let r=e.request.headers;e.request.headers=r,e.endpoint===Cm.Endpoint.Call&&(e.body.nonce=t())}}function OE(t){return async e=>{e.body.ingress_expiry=du.fromDeltaInMilliseconds(t)}}function NE(t){let e=[];return t.forEach((r,n)=>{e.push([n,r])}),e}});var Ir=z(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.notImplemented=re.bitMask=re.utf8ToBytes=re.randomBytes=re.isBytes=re.hexToBytes=re.concatBytes=re.bytesToUtf8=re.bytesToHex=re.anumber=re.abytes=void 0;re.abool=vE;re._abool2=RE;re._abytes2=IE;re.numberToHexUnpadded=Fm;re.hexToNumber=lp;re.bytesToNumberBE=SE;re.bytesToNumberLE=AE;re.numberToBytesBE=Vm;re.numberToBytesLE=BE;re.numberToVarBytesBE=CE;re.ensureBytes=PE;re.equalBytes=DE;re.copyBytes=FE;re.asciiToBytes=VE;re.inRange=Um;re.aInRange=UE;re.bitLen=LE;re.bitGet=qE;re.bitSet=ME;re.createHmacDrbg=jE;re.validateObject=$E;re.isHash=KE;re._validateObject=GE;re.memoized=zE;var Jr=dt(),Sn=dt();Object.defineProperty(re,"abytes",{enumerable:!0,get:function(){return Sn.abytes}});Object.defineProperty(re,"anumber",{enumerable:!0,get:function(){return Sn.anumber}});Object.defineProperty(re,"bytesToHex",{enumerable:!0,get:function(){return Sn.bytesToHex}});Object.defineProperty(re,"bytesToUtf8",{enumerable:!0,get:function(){return Sn.bytesToUtf8}});Object.defineProperty(re,"concatBytes",{enumerable:!0,get:function(){return Sn.concatBytes}});Object.defineProperty(re,"hexToBytes",{enumerable:!0,get:function(){return Sn.hexToBytes}});Object.defineProperty(re,"isBytes",{enumerable:!0,get:function(){return Sn.isBytes}});Object.defineProperty(re,"randomBytes",{enumerable:!0,get:function(){return Sn.randomBytes}});Object.defineProperty(re,"utf8ToBytes",{enumerable:!0,get:function(){return Sn.utf8ToBytes}});var fu=BigInt(0),pa=BigInt(1);function vE(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function RE(t,e=""){if(typeof t!="boolean"){let r=e&&`"${e}"`;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function IE(t,e,r=""){let n=(0,Jr.isBytes)(t),o=t?.length,s=e!==void 0;if(!n||s&&o!==e){let i=r&&`"${r}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return t}function Fm(t){let e=t.toString(16);return e.length&1?"0"+e:e}function lp(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?fu:BigInt("0x"+t)}function SE(t){return lp((0,Jr.bytesToHex)(t))}function AE(t){return(0,Jr.abytes)(t),lp((0,Jr.bytesToHex)(Uint8Array.from(t).reverse()))}function Vm(t,e){return(0,Jr.hexToBytes)(t.toString(16).padStart(e*2,"0"))}function BE(t,e){return Vm(t,e).reverse()}function CE(t){return(0,Jr.hexToBytes)(Fm(t))}function PE(t,e,r){let n;if(typeof e=="string")try{n=(0,Jr.hexToBytes)(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if((0,Jr.isBytes)(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function DE(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function FE(t){return Uint8Array.from(t)}function VE(t){return Uint8Array.from(t,(e,r)=>{let n=e.charCodeAt(0);if(e.length!==1||n>127)throw new Error(`string contains non-ASCII character "${t[r]}" with code ${n} at position ${r}`);return n})}var dp=t=>typeof t=="bigint"&&fu<=t;function Um(t,e,r){return dp(t)&&dp(e)&&dp(r)&&e<=t&&t<r}function UE(t,e,r,n){if(!Um(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function LE(t){let e;for(e=0;t>fu;t>>=pa,e+=1);return e}function qE(t,e){return t>>BigInt(e)&pa}function ME(t,e,r){return t|(r?pa:fu)<<BigInt(e)}var kE=t=>(pa<<BigInt(t))-pa;re.bitMask=kE;function jE(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=f=>new Uint8Array(f),o=f=>Uint8Array.of(f),s=n(t),i=n(t),a=0,c=()=>{s.fill(1),i.fill(0),a=0},d=(...f)=>r(i,s,...f),p=(f=n(0))=>{i=d(o(0),f),s=d(),f.length!==0&&(i=d(o(1),f),s=d())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){s=d();let y=s.slice();h.push(y),f+=s.length}return(0,Jr.concatBytes)(...h)};return(f,h)=>{c(),p(f);let y;for(;!(y=h(l()));)p();return c(),y}}var HE={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||(0,Jr.isBytes)(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function $E(t,e,r={}){let n=(o,s,i)=>{let a=HE[s];if(typeof a!="function")throw new Error("invalid validator function");let c=t[o];if(!(i&&c===void 0)&&!a(c,t))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+c)};for(let[o,s]of Object.entries(e))n(o,s,!1);for(let[o,s]of Object.entries(r))n(o,s,!0);return t}function KE(t){return typeof t=="function"&&Number.isSafeInteger(t.outputLen)}function GE(t,e,r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(o,s,i){let a=t[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(e).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var ZE=()=>{throw new Error("not implemented")};re.notImplemented=ZE;function zE(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let s=t(r,...n);return e.set(r,s),s}}});var Qr=z(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.isNegativeLE=void 0;je.mod=Xt;je.pow=XE;je.pow2=JE;je.invert=pu;je.tonelliShanks=pp;je.FpSqrt=$m;je.validateField=nT;je.FpPow=hp;je.FpInvertBatch=Km;je.FpDiv=oT;je.FpLegendre=hu;je.FpIsSquare=sT;je.nLength=yp;je.Field=yu;je.FpSqrtOdd=iT;je.FpSqrtEven=aT;je.hashToPrivateScalar=cT;je.getFieldBytesLength=mp;je.getMinHashLength=Gm;je.mapHashToField=uT;var Jt=Ir(),Vt=BigInt(0),et=BigInt(1),Qo=BigInt(2),Lm=BigInt(3),qm=BigInt(4),Mm=BigInt(5),YE=BigInt(7),km=BigInt(8),WE=BigInt(9),jm=BigInt(16);function Xt(t,e){let r=t%e;return r>=Vt?r:e+r}function XE(t,e,r){return hp(yu(r),t,e)}function JE(t,e,r){let n=t;for(;e-- >Vt;)n*=n,n%=r;return n}function pu(t,e){if(t===Vt)throw new Error("invert: expected non-zero number");if(e<=Vt)throw new Error("invert: expected positive modulus, got "+e);let r=Xt(t,e),n=e,o=Vt,s=et,i=et,a=Vt;for(;r!==Vt;){let d=n/r,p=n%r,l=o-i*d,u=s-a*d;n=r,r=p,o=i,s=a,i=l,a=u}if(n!==et)throw new Error("invert: does not exist");return Xt(o,e)}function fp(t,e,r){if(!t.eql(t.sqr(e),r))throw new Error("Cannot find square root")}function Hm(t,e){let r=(t.ORDER+et)/qm,n=t.pow(e,r);return fp(t,n,e),n}function QE(t,e){let r=(t.ORDER-Mm)/km,n=t.mul(e,Qo),o=t.pow(n,r),s=t.mul(e,o),i=t.mul(t.mul(s,Qo),o),a=t.mul(s,t.sub(i,t.ONE));return fp(t,a,e),a}function eT(t){let e=yu(t),r=pp(t),n=r(e,e.neg(e.ONE)),o=r(e,n),s=r(e,e.neg(n)),i=(t+YE)/jm;return(a,c)=>{let d=a.pow(c,i),p=a.mul(d,n),l=a.mul(d,o),u=a.mul(d,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(l),c);d=a.cmov(d,p,f),p=a.cmov(u,l,h);let y=a.eql(a.sqr(p),c),b=a.cmov(d,p,y);return fp(a,b,c),b}}function pp(t){if(t<Lm)throw new Error("sqrt is not defined for small field");let e=t-et,r=0;for(;e%Qo===Vt;)e/=Qo,r++;let n=Qo,o=yu(t);for(;hu(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Hm;let s=o.pow(n,e),i=(e+et)/Qo;return function(c,d){if(c.is0(d))return d;if(hu(c,d)!==1)throw new Error("Cannot find square root");let p=r,l=c.mul(c.ONE,s),u=c.pow(d,e),f=c.pow(d,i);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,y=c.sqr(u);for(;!c.eql(y,c.ONE);)if(h++,y=c.sqr(y),h===p)throw new Error("Cannot find square root");let b=et<<BigInt(p-h-1),m=c.pow(l,b);p=h,l=c.sqr(m),u=c.mul(u,l),f=c.mul(f,m)}return f}}function $m(t){return t%qm===Lm?Hm:t%km===Mm?QE:t%jm===WE?eT(t):pp(t)}var tT=(t,e)=>(Xt(t,e)&et)===et;je.isNegativeLE=tT;var rT=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function nT(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=rT.reduce((n,o)=>(n[o]="function",n),e);return(0,Jt._validateObject)(t,r),t}function hp(t,e,r){if(r<Vt)throw new Error("invalid exponent, negatives unsupported");if(r===Vt)return t.ONE;if(r===et)return e;let n=t.ONE,o=e;for(;r>Vt;)r&et&&(n=t.mul(n,o)),o=t.sqr(o),r>>=et;return n}function Km(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((i,a,c)=>t.is0(a)?i:(n[c]=i,t.mul(i,a)),t.ONE),s=t.inv(o);return e.reduceRight((i,a,c)=>t.is0(a)?i:(n[c]=t.mul(i,n[c]),t.mul(i,a)),s),n}function oT(t,e,r){return t.mul(e,typeof r=="bigint"?pu(r,t.ORDER):t.inv(r))}function hu(t,e){let r=(t.ORDER-et)/Qo,n=t.pow(e,r),o=t.eql(n,t.ONE),s=t.eql(n,t.ZERO),i=t.eql(n,t.neg(t.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function sT(t,e){return hu(t,e)===1}function yp(t,e){e!==void 0&&(0,Jt.anumber)(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function yu(t,e,r=!1,n={}){if(t<=Vt)throw new Error("invalid field: expected ORDER > 0, got "+t);let o,s,i=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=e;u.BITS&&(o=u.BITS),u.sqrt&&(s=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(i=u.modFromBytes),a=u.allowedLengths}else typeof e=="number"&&(o=e),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:d}=yp(t,o);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,l=Object.freeze({ORDER:t,isLE:r,BITS:c,BYTES:d,MASK:(0,Jt.bitMask)(c),ZERO:Vt,ONE:et,allowedLengths:a,create:u=>Xt(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Vt<=u&&u<t},is0:u=>u===Vt,isValidNot0:u=>!l.is0(u)&&l.isValid(u),isOdd:u=>(u&et)===et,neg:u=>Xt(-u,t),eql:(u,f)=>u===f,sqr:u=>Xt(u*u,t),add:(u,f)=>Xt(u+f,t),sub:(u,f)=>Xt(u-f,t),mul:(u,f)=>Xt(u*f,t),pow:(u,f)=>hp(l,u,f),div:(u,f)=>Xt(u*pu(f,t),t),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>pu(u,t),sqrt:s||(u=>(p||(p=$m(t)),p(l,u))),toBytes:u=>r?(0,Jt.numberToBytesLE)(u,d):(0,Jt.numberToBytesBE)(u,d),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>d)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let y=new Uint8Array(d);y.set(u,r?0:y.length-u.length),u=y}if(u.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+u.length);let h=r?(0,Jt.bytesToNumberLE)(u):(0,Jt.bytesToNumberBE)(u);if(i&&(h=Xt(h,t)),!f&&!l.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>Km(l,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(l)}function iT(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?r:t.neg(r)}function aT(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function cT(t,e,r=!1){t=(0,Jt.ensureBytes)("privateHash",t);let n=t.length,o=yp(e).nByteLength+8;if(o<24||n<o||n>1024)throw new Error("hashToPrivateScalar: expected "+o+"-1024 bytes of input, got "+n);let s=r?(0,Jt.bytesToNumberLE)(t):(0,Jt.bytesToNumberBE)(t);return Xt(s,e-et)+et}function mp(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Gm(t){let e=mp(t);return e+Math.ceil(e/2)}function uT(t,e,r=!1){let n=t.length,o=mp(e),s=Gm(e);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?(0,Jt.bytesToNumberLE)(t):(0,Jt.bytesToNumberBE)(t),a=Xt(i,e-et)+et;return r?(0,Jt.numberToBytesLE)(a,o):(0,Jt.numberToBytesBE)(a,o)}});var ma=z(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.wNAF=void 0;Sr.negateCt=xp;Sr.normalizeZ=dT;Sr.mulEndoUnsafe=lT;Sr.pippenger=fT;Sr.precomputeMSMUnsafe=pT;Sr.validateBasic=hT;Sr._createCurveFields=yT;var ha=Ir(),ya=Qr(),ti=BigInt(0),es=BigInt(1);function xp(t,e){let r=e.negate();return t?r:e}function dT(t,e){let r=(0,ya.FpInvertBatch)(t.Fp,e.map(n=>n.Z));return e.map((n,o)=>t.fromAffine(n.toAffine(r[o])))}function Ep(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function _p(t,e){Ep(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,s=(0,ha.bitMask)(t),i=BigInt(t);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Zm(t,e,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(t&o),c=t>>i;a>n&&(a-=s,c+=es);let d=e*n,p=d+Math.abs(a)-1,l=a===0,u=a<0,f=e%2!==0;return{nextN:c,offset:p,isZero:l,isNeg:u,isNegF:f,offsetF:d}}function Wm(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function Xm(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var bp=new WeakMap,Jm=new WeakMap;function gp(t){return Jm.get(t)||1}function zm(t){if(t!==ti)throw new Error("invalid wNAF")}var wp=class{constructor(e,r){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=r}_unsafeLadder(e,r,n=this.ZERO){let o=e;for(;r>ti;)r&es&&(n=n.add(o)),o=o.double(),r>>=es;return n}precomputeWindow(e,r){let{windows:n,windowSize:o}=_p(r,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let d=1;d<o;d++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=_p(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:d,isZero:p,isNeg:l,isNegF:u,offsetF:f}=Zm(n,a,i);n=c,p?s=s.add(xp(u,r[f])):o=o.add(xp(l,r[d]))}return zm(n),{p:o,f:s}}wNAFUnsafe(e,r,n,o=this.ZERO){let s=_p(e,this.bits);for(let i=0;i<s.windows&&n!==ti;i++){let{nextN:a,offset:c,isZero:d,isNeg:p}=Zm(n,i,s);if(n=a,!d){let l=r[c];o=o.add(p?l.negate():l)}}return zm(n),o}getPrecomputes(e,r,n){let o=bp.get(r);return o||(o=this.precomputeWindow(r,e),e!==1&&(typeof n=="function"&&(o=n(o)),bp.set(r,o))),o}cached(e,r,n){let o=gp(e);return this.wNAF(o,this.getPrecomputes(o,e,n),r)}unsafe(e,r,n,o){let s=gp(e);return s===1?this._unsafeLadder(e,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),r,o)}createCache(e,r){Ep(r,this.bits),Jm.set(e,r),bp.delete(e)}hasCache(e){return gp(e)!==1}};Sr.wNAF=wp;function lT(t,e,r,n){let o=e,s=t.ZERO,i=t.ZERO;for(;r>ti||n>ti;)r&es&&(s=s.add(o)),n&es&&(i=i.add(o)),o=o.double(),r>>=es,n>>=es;return{p1:s,p2:i}}function fT(t,e,r,n){Wm(r,t),Xm(n,e);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,a=(0,ha.bitLen)(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let d=(0,ha.bitMask)(c),p=new Array(Number(d)+1).fill(i),l=Math.floor((e.BITS-1)/c)*c,u=i;for(let f=l;f>=0;f-=c){p.fill(i);for(let y=0;y<s;y++){let b=n[y],m=Number(b>>BigInt(f)&d);p[m]=p[m].add(r[y])}let h=i;for(let y=p.length-1,b=i;y>0;y--)b=b.add(p[y]),h=h.add(b);if(u=u.add(h),f!==0)for(let y=0;y<c;y++)u=u.double()}return u}function pT(t,e,r,n){Ep(n,e.BITS),Wm(r,t);let o=t.ZERO,s=2**n-1,i=Math.ceil(e.BITS/n),a=(0,ha.bitMask)(n),c=r.map(d=>{let p=[];for(let l=0,u=d;l<s;l++)p.push(u),u=u.add(d);return p});return d=>{if(Xm(d,e),d.length>r.length)throw new Error("array of scalars must be smaller than array of points");let p=o;for(let l=0;l<i;l++){if(p!==o)for(let f=0;f<n;f++)p=p.double();let u=BigInt(i*n-(l+1)*n);for(let f=0;f<d.length;f++){let h=d[f],y=Number(h>>u&a);y&&(p=p.add(c[f][y-1]))}}return p}}function hT(t){return(0,ya.validateField)(t.Fp),(0,ha.validateObject)(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,ya.nLength)(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function Ym(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,ya.validateField)(e),e}else return(0,ya.Field)(t,{isLE:r})}function yT(t,e,r={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let d=e[c];if(!(typeof d=="bigint"&&d>ti))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Ym(e.p,r.Fp,n),s=Ym(e.n,r.Fn,n),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}});var _u=z(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en._DST_scalar=void 0;en.expand_message_xmd=t_;en.expand_message_xof=r_;en.hash_to_field=mu;en.isogenyMap=bT;en.createHasher=gT;var gt=Ir(),Qm=Qr(),mT=gt.bytesToNumberBE;function yo(t,e){if(_a(t),_a(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function _T(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function _a(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function e_(t){if(!(0,gt.isBytes)(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or string");return typeof t=="string"?(0,gt.utf8ToBytes)(t):t}function t_(t,e,r,n){(0,gt.abytes)(t),_a(r),e=e_(e),e.length>255&&(e=n((0,gt.concatBytes)((0,gt.utf8ToBytes)("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=(0,gt.concatBytes)(e,yo(e.length,1)),c=yo(0,s),d=yo(r,2),p=new Array(i),l=n((0,gt.concatBytes)(c,t,d,yo(0,1),a));p[0]=n((0,gt.concatBytes)(l,yo(1,1),a));for(let f=1;f<=i;f++){let h=[_T(l,p[f-1]),yo(f+1,1),a];p[f]=n((0,gt.concatBytes)(...h))}return(0,gt.concatBytes)(...p).slice(0,r)}function r_(t,e,r,n,o){if((0,gt.abytes)(t),_a(r),e=e_(e),e.length>255){let s=Math.ceil(2*n/8);e=o.create({dkLen:s}).update((0,gt.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(yo(r,2)).update(e).update(yo(e.length,1)).digest()}function mu(t,e,r){(0,gt._validateObject)(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!(0,gt.isHash)(r.hash))throw new Error("expected valid hash");(0,gt.abytes)(t),_a(e);let d=n.toString(2).length,p=Math.ceil((d+o)/8),l=e*s*p,u;if(a==="xmd")u=t_(t,c,l,i);else if(a==="xof")u=r_(t,c,l,o,i);else if(a==="_internal_pass")u=t;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(e);for(let h=0;h<e;h++){let y=new Array(s);for(let b=0;b<s;b++){let m=p*(b+h*s),x=u.subarray(m,m+p);y[b]=(0,Qm.mod)(mT(x),n)}f[h]=y}return f}function bT(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(l=>l.reduce((u,f)=>t.add(t.mul(u,n),f))),[d,p]=(0,Qm.FpInvertBatch)(t,[i,c],!0);return n=t.mul(s,d),o=t.mul(o,t.mul(a,p)),{x:n,y:o}}}en._DST_scalar=(0,gt.utf8ToBytes)("HashToScalar-");function gT(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(s){return t.fromAffine(e(s))}function o(s){let i=s.clearCofactor();return i.equals(t.ZERO)?t.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=mu(s,2,a),d=n(c[0]),p=n(c[1]);return o(d.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),d=mu(s,1,c),p=n(d[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=t.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:en._DST_scalar},i);return mu(s,1,c)[0][0]}}}});var n_=z(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.hmac=rs.HMAC=void 0;var ts=dt(),ba=class extends ts.Hash{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,(0,ts.ahash)(e);let n=(0,ts.toBytes)(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),(0,ts.clean)(s)}update(e){return(0,ts.aexists)(this),this.iHash.update(e),this}digestInto(e){(0,ts.aexists)(this),(0,ts.abytes)(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};rs.HMAC=ba;var xT=(t,e,r)=>new ba(t,e).update(r).digest();rs.hmac=xT;rs.hmac.create=(t,e)=>new ba(t,e)});var Rp=z(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.DER=qe.DERErr=void 0;qe._splitEndoScalar=s_;qe._normFnElement=mo;qe.weierstrassN=vp;qe.SWUFpSqrtRatio=a_;qe.mapToCurveSimpleSWU=TT;qe.ecdh=u_;qe.ecdsa=d_;qe.weierstrassPoints=OT;qe._legacyHelperEquat=f_;qe.weierstrass=IT;var wT=n_(),ET=dt(),W=Ir(),An=ma(),ni=Qr(),o_=(t,e)=>(t+(t>=0?e:-e)/tn)/e;function s_(t,e,r){let[[n,o],[s,i]]=e,a=o_(i*t,r),c=o_(-o*t,r),d=t-a*n-c*s,p=-a*o-c*i,l=d<Ar,u=p<Ar;l&&(d=-d),u&&(p=-p);let f=(0,W.bitMask)(Math.ceil((0,W.bitLen)(r)/2))+xt;if(d<Ar||d>=f||p<Ar||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:l,k1:d,k2neg:u,k2:p}}function Op(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Tp(t,e){let r={};for(let n of Object.keys(e))r[n]=t[n]===void 0?e[n]:t[n];return(0,W._abool2)(r.lowS,"lowS"),(0,W._abool2)(r.prehash,"prehash"),r.format!==void 0&&Op(r.format),r}var bu=class extends Error{constructor(e=""){super(e)}};qe.DERErr=bu;qe.DER={Err:bu,_tlv:{encode:(t,e)=>{let{Err:r}=qe.DER;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,o=(0,W.numberToHexUnpadded)(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?(0,W.numberToHexUnpadded)(o.length/2|128):"";return(0,W.numberToHexUnpadded)(t)+s+o+e},decode(t,e){let{Err:r}=qe.DER,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let o=e[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let d=e.subarray(n,n+c);if(d.length!==c)throw new r("tlv.decode: length bytes not complete");if(d[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let p of d)i=i<<8|p;if(n+=c,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+i)}}},_int:{encode(t){let{Err:e}=qe.DER;if(t<Ar)throw new e("integer: negative integers are not allowed");let r=(0,W.numberToHexUnpadded)(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=qe.DER;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return(0,W.bytesToNumberBE)(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=qe.DER,o=(0,W.ensureBytes)("signature",t),{v:s,l:i}=n.decode(48,o);if(i.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:d,l:p}=n.decode(2,c);if(p.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(d)}},hexFromSig(t){let{_tlv:e,_int:r}=qe.DER,n=e.encode(2,r.encode(t.r)),o=e.encode(2,r.encode(t.s)),s=n+o;return e.encode(48,s)}};var Ar=BigInt(0),xt=BigInt(1),tn=BigInt(2),ri=BigInt(3),Np=BigInt(4);function mo(t,e){let{BYTES:r}=t,n;if(typeof e=="bigint")n=e;else{let o=(0,W.ensureBytes)("private key",e);try{n=t.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function vp(t,e={}){let r=(0,An._createCurveFields)("weierstrass",t,e),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;(0,W._validateObject)(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=c_(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(C,g,w){let{x:O,y:P}=g.toAffine(),L=n.toBytes(O);if((0,W._abool2)(w,"isCompressed"),w){p();let I=!n.isOdd(P);return(0,W.concatBytes)(i_(I),L)}else return(0,W.concatBytes)(Uint8Array.of(4),L,n.toBytes(P))}function u(C){(0,W._abytes2)(C,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=d,O=C.length,P=C[0],L=C.subarray(1);if(O===g&&(P===2||P===3)){let I=n.fromBytes(L);if(!n.isValid(I))throw new Error("bad point: is not on curve, wrong x");let B=y(I),F;try{F=n.sqrt(B)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}p();let U=n.isOdd(F);return(P&1)===1!==U&&(F=n.neg(F)),{x:I,y:F}}else if(O===w&&P===4){let I=n.BYTES,B=n.fromBytes(L.subarray(0,I)),F=n.fromBytes(L.subarray(I,I*2));if(!b(B,F))throw new Error("bad point: is not on curve");return{x:B,y:F}}else throw new Error(`bad point: got length ${O}, expected compressed=${g} or uncompressed=${w}`)}let f=e.toBytes||l,h=e.fromBytes||u;function y(C){let g=n.sqr(C),w=n.mul(g,C);return n.add(n.add(w,n.mul(C,s.a)),s.b)}function b(C,g){let w=n.sqr(g),O=y(C);return n.eql(w,O)}if(!b(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,ri),Np),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function _(C,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${C}`);return g}function T(C){if(!(C instanceof E))throw new Error("ProjectivePoint expected")}function N(C){if(!c||!c.basises)throw new Error("no endo");return s_(C,c.basises,o.ORDER)}let R=(0,W.memoized)((C,g)=>{let{X:w,Y:O,Z:P}=C;if(n.eql(P,n.ONE))return{x:w,y:O};let L=C.is0();g==null&&(g=L?n.ONE:n.inv(P));let I=n.mul(w,g),B=n.mul(O,g),F=n.mul(P,g);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}),v=(0,W.memoized)(C=>{if(C.is0()){if(e.allowInfinityPoint&&!n.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:g,y:w}=C.toAffine();if(!n.isValid(g)||!n.isValid(w))throw new Error("bad point: x or y not field elements");if(!b(g,w))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function A(C,g,w,O,P){return w=new E(n.mul(w.X,C),w.Y,w.Z),g=(0,An.negateCt)(O,g),w=(0,An.negateCt)(P,w),g.add(w)}class E{constructor(g,w,O){this.X=_("x",g),this.Y=_("y",w,!0),this.Z=_("z",O),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:O}=g||{};if(!g||!n.isValid(w)||!n.isValid(O))throw new Error("invalid affine point");if(g instanceof E)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(O)?E.ZERO:new E(w,O,n.ONE)}static fromBytes(g){let w=E.fromAffine(h((0,W._abytes2)(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return E.fromBytes((0,W.ensureBytes)("pointHex",g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return V.createCache(this,g),w||this.multiply(ri),this}assertValidity(){v(this)}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.eql(n.mul(w,B),n.mul(L,P)),U=n.eql(n.mul(O,B),n.mul(I,P));return F&&U}negate(){return new E(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,O=n.mul(w,ri),{X:P,Y:L,Z:I}=this,B=n.ZERO,F=n.ZERO,U=n.ZERO,q=n.mul(P,P),H=n.mul(L,L),Y=n.mul(I,I),G=n.mul(P,L);return G=n.add(G,G),U=n.mul(P,I),U=n.add(U,U),B=n.mul(g,U),F=n.mul(O,Y),F=n.add(B,F),B=n.sub(H,F),F=n.add(H,F),F=n.mul(B,F),B=n.mul(G,B),U=n.mul(O,U),Y=n.mul(g,Y),G=n.sub(q,Y),G=n.mul(g,G),G=n.add(G,U),U=n.add(q,q),q=n.add(U,q),q=n.add(q,Y),q=n.mul(q,G),F=n.add(F,q),Y=n.mul(L,I),Y=n.add(Y,Y),q=n.mul(Y,G),B=n.sub(B,q),U=n.mul(Y,H),U=n.add(U,U),U=n.add(U,U),new E(B,F,U)}add(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.ZERO,U=n.ZERO,q=n.ZERO,H=s.a,Y=n.mul(s.b,ri),G=n.mul(w,L),ie=n.mul(O,I),ae=n.mul(P,B),Ce=n.add(w,O),ee=n.add(L,I);Ce=n.mul(Ce,ee),ee=n.add(G,ie),Ce=n.sub(Ce,ee),ee=n.add(w,P);let ce=n.add(L,B);return ee=n.mul(ee,ce),ce=n.add(G,ae),ee=n.sub(ee,ce),ce=n.add(O,P),F=n.add(I,B),ce=n.mul(ce,F),F=n.add(ie,ae),ce=n.sub(ce,F),q=n.mul(H,ee),F=n.mul(Y,ae),q=n.add(F,q),F=n.sub(ie,q),q=n.add(ie,q),U=n.mul(F,q),ie=n.add(G,G),ie=n.add(ie,G),ae=n.mul(H,ae),ee=n.mul(Y,ee),ie=n.add(ie,ae),ae=n.sub(G,ae),ae=n.mul(H,ae),ee=n.add(ee,ae),G=n.mul(ie,ee),U=n.add(U,G),G=n.mul(ce,ee),F=n.mul(Ce,F),F=n.sub(F,G),G=n.mul(Ce,ie),q=n.mul(ce,q),q=n.add(q,G),new E(F,U,q)}subtract(g){return this.add(g.negate())}is0(){return this.equals(E.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new Error("invalid scalar: out of range");let O,P,L=I=>V.cached(this,I,B=>(0,An.normalizeZ)(E,B));if(w){let{k1neg:I,k1:B,k2neg:F,k2:U}=N(g),{p:q,f:H}=L(B),{p:Y,f:G}=L(U);P=H.add(G),O=A(w.beta,q,Y,I,F)}else{let{p:I,f:B}=L(g);O=I,P=B}return(0,An.normalizeZ)(E,[O,P])[0]}multiplyUnsafe(g){let{endo:w}=e,O=this;if(!o.isValid(g))throw new Error("invalid scalar: out of range");if(g===Ar||O.is0())return E.ZERO;if(g===xt)return O;if(V.hasCache(this))return this.multiply(g);if(w){let{k1neg:P,k1:L,k2neg:I,k2:B}=N(g),{p1:F,p2:U}=(0,An.mulEndoUnsafe)(E,O,L,B);return A(w.beta,F,U,P,I)}else return V.unsafe(O,g)}multiplyAndAddUnsafe(g,w,O){let P=this.multiplyUnsafe(w).add(g.multiplyUnsafe(O));return P.is0()?void 0:P}toAffine(g){return R(this,g)}isTorsionFree(){let{isTorsionFree:g}=e;return i===xt?!0:g?g(E,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===xt?this:g?g(E,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(g=!0){return(0,W._abool2)(g,"isCompressed"),this.assertValidity(),f(E,this,g)}toHex(g=!0){return(0,W.bytesToHex)(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(g=!0){return this.toBytes(g)}_setWindowSize(g){this.precompute(g)}static normalizeZ(g){return(0,An.normalizeZ)(E,g)}static msm(g,w){return(0,An.pippenger)(E,o,g,w)}static fromPrivateKey(g){return E.BASE.multiply(mo(o,g))}}E.BASE=new E(s.Gx,s.Gy,n.ONE),E.ZERO=new E(n.ZERO,n.ONE,n.ZERO),E.Fp=n,E.Fn=o;let S=o.BITS,V=new An.wNAF(E,e.endo?Math.ceil(S/2):S);return E.BASE.precompute(8),E}function i_(t){return Uint8Array.of(t?2:3)}function a_(t,e){let r=t.ORDER,n=Ar;for(let h=r-xt;h%tn===Ar;h/=tn)n+=xt;let o=n,s=tn<<o-xt-xt,i=s*tn,a=(r-xt)/i,c=(a-xt)/tn,d=i-xt,p=s,l=t.pow(e,a),u=t.pow(e,(a+xt)/tn),f=(h,y)=>{let b=l,m=t.pow(y,d),x=t.sqr(m);x=t.mul(x,y);let _=t.mul(h,x);_=t.pow(_,c),_=t.mul(_,m),m=t.mul(_,y),x=t.mul(_,h);let T=t.mul(x,m);_=t.pow(T,p);let N=t.eql(_,t.ONE);m=t.mul(x,u),_=t.mul(T,b),x=t.cmov(m,x,N),T=t.cmov(_,T,N);for(let R=o;R>xt;R--){let v=R-tn;v=tn<<v-xt;let A=t.pow(T,v),E=t.eql(A,t.ONE);m=t.mul(x,b),b=t.mul(b,b),A=t.mul(T,b),x=t.cmov(m,x,E),T=t.cmov(A,T,E)}return{isValid:N,value:x}};if(t.ORDER%Np===ri){let h=(t.ORDER-ri)/Np,y=t.sqrt(t.neg(e));f=(b,m)=>{let x=t.sqr(m),_=t.mul(b,m);x=t.mul(x,_);let T=t.pow(x,h);T=t.mul(T,_);let N=t.mul(T,y),R=t.mul(t.sqr(T),m),v=t.eql(R,b),A=t.cmov(N,T,v);return{isValid:v,value:A}}}return f}function TT(t,e){(0,ni.validateField)(t);let{A:r,B:n,Z:o}=e;if(!t.isValid(r)||!t.isValid(n)||!t.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=a_(t,o);if(!t.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,d,p,l,u,f,h;a=t.sqr(i),a=t.mul(a,o),c=t.sqr(a),c=t.add(c,a),d=t.add(c,t.ONE),d=t.mul(d,n),p=t.cmov(o,t.neg(c),!t.eql(c,t.ZERO)),p=t.mul(p,r),c=t.sqr(d),u=t.sqr(p),l=t.mul(u,r),c=t.add(c,l),c=t.mul(c,d),u=t.mul(u,p),l=t.mul(u,n),c=t.add(c,l),f=t.mul(a,d);let{isValid:y,value:b}=s(c,u);h=t.mul(a,i),h=t.mul(h,b),f=t.cmov(f,d,y),h=t.cmov(h,b,y);let m=t.isOdd(i)===t.isOdd(h);h=t.cmov(t.neg(h),h,m);let x=(0,ni.FpInvertBatch)(t,[p],!0)[0];return f=t.mul(f,x),{x:f,y:h}}}function c_(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function u_(t,e={}){let{Fn:r}=t,n=e.randomBytes||W.randomBytes,o=Object.assign(c_(t.Fp,r),{seed:(0,ni.getMinHashLength)(r.ORDER)});function s(f){try{return!!mo(r,f)}catch{return!1}}function i(f,h){let{publicKey:y,publicKeyUncompressed:b}=o;try{let m=f.length;return h===!0&&m!==y||h===!1&&m!==b?!1:!!t.fromBytes(f)}catch{return!1}}function a(f=n(o.seed)){return(0,ni.mapHashToField)((0,W._abytes2)(f,o.seed,"seed"),r.ORDER)}function c(f,h=!0){return t.BASE.multiply(mo(r,f)).toBytes(h)}function d(f){let h=a(f);return{secretKey:h,publicKey:c(h)}}function p(f){if(typeof f=="bigint")return!1;if(f instanceof t)return!0;let{secretKey:h,publicKey:y,publicKeyUncompressed:b}=o;if(r.allowedLengths||h===y)return;let m=(0,W.ensureBytes)("key",f).length;return m===y||m===b}function l(f,h,y=!0){if(p(f)===!0)throw new Error("first arg must be private key");if(p(h)===!1)throw new Error("second arg must be public key");let b=mo(r,f);return t.fromHex(h).multiply(b).toBytes(y)}return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:d,Point:t,utils:{isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:f=>mo(r,f),precompute(f=8,h=t.BASE){return h.precompute(f,!1)}},lengths:o})}function d_(t,e,r={}){(0,ET.ahash)(e),(0,W._validateObject)(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=r.randomBytes||W.randomBytes,o=r.hmac||((w,...O)=>(0,wT.hmac)(e,w,(0,W.concatBytes)(...O))),{Fp:s,Fn:i}=t,{ORDER:a,BITS:c}=i,{keygen:d,getPublicKey:p,getSharedSecret:l,utils:u,lengths:f}=u_(t,r),h={prehash:!1,lowS:typeof r.lowS=="boolean"?r.lowS:!1,format:void 0,extraEntropy:!1},y="compact";function b(w){let O=a>>xt;return w>O}function m(w,O){if(!i.isValidNot0(O))throw new Error(`invalid signature ${w}: out of range 1..Point.Fn.ORDER`);return O}function x(w,O){Op(O);let P=f.signature,L=O==="compact"?P:O==="recovered"?P+1:void 0;return(0,W._abytes2)(w,L,`${O} signature`)}class _{constructor(O,P,L){this.r=m("r",O),this.s=m("s",P),L!=null&&(this.recovery=L),Object.freeze(this)}static fromBytes(O,P=y){x(O,P);let L;if(P==="der"){let{r:U,s:q}=qe.DER.toSig((0,W._abytes2)(O));return new _(U,q)}P==="recovered"&&(L=O[0],P="compact",O=O.subarray(1));let I=i.BYTES,B=O.subarray(0,I),F=O.subarray(I,I*2);return new _(i.fromBytes(B),i.fromBytes(F),L)}static fromHex(O,P){return this.fromBytes((0,W.hexToBytes)(O),P)}addRecoveryBit(O){return new _(this.r,this.s,O)}recoverPublicKey(O){let P=s.ORDER,{r:L,s:I,recovery:B}=this;if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");if(a*tn<P&&B>1)throw new Error("recovery id is ambiguous for h>1 curve");let U=B===2||B===3?L+a:L;if(!s.isValid(U))throw new Error("recovery id 2 or 3 invalid");let q=s.toBytes(U),H=t.fromBytes((0,W.concatBytes)(i_((B&1)===0),q)),Y=i.inv(U),G=N((0,W.ensureBytes)("msgHash",O)),ie=i.create(-G*Y),ae=i.create(I*Y),Ce=t.BASE.multiplyUnsafe(ie).add(H.multiplyUnsafe(ae));if(Ce.is0())throw new Error("point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return b(this.s)}toBytes(O=y){if(Op(O),O==="der")return(0,W.hexToBytes)(qe.DER.hexFromSig(this));let P=i.toBytes(this.r),L=i.toBytes(this.s);if(O==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,W.concatBytes)(Uint8Array.of(this.recovery),P,L)}return(0,W.concatBytes)(P,L)}toHex(O){return(0,W.bytesToHex)(this.toBytes(O))}assertValidity(){}static fromCompact(O){return _.fromBytes((0,W.ensureBytes)("sig",O),"compact")}static fromDER(O){return _.fromBytes((0,W.ensureBytes)("sig",O),"der")}normalizeS(){return this.hasHighS()?new _(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,W.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,W.bytesToHex)(this.toBytes("compact"))}}let T=r.bits2int||function(O){if(O.length>8192)throw new Error("input is too large");let P=(0,W.bytesToNumberBE)(O),L=O.length*8-c;return L>0?P>>BigInt(L):P},N=r.bits2int_modN||function(O){return i.create(T(O))},R=(0,W.bitMask)(c);function v(w){return(0,W.aInRange)("num < 2^"+c,w,Ar,R),i.toBytes(w)}function A(w,O){return(0,W._abytes2)(w,void 0,"message"),O?(0,W._abytes2)(e(w),void 0,"prehashed message"):w}function E(w,O,P){if(["recovered","canonical"].some(ie=>ie in P))throw new Error("sign() legacy options not supported");let{lowS:L,prehash:I,extraEntropy:B}=Tp(P,h);w=A(w,I);let F=N(w),U=mo(i,O),q=[v(U),v(F)];if(B!=null&&B!==!1){let ie=B===!0?n(f.secretKey):B;q.push((0,W.ensureBytes)("extraEntropy",ie))}let H=(0,W.concatBytes)(...q),Y=F;function G(ie){let ae=T(ie);if(!i.isValidNot0(ae))return;let Ce=i.inv(ae),ee=t.BASE.multiply(ae).toAffine(),ce=i.create(ee.x);if(ce===Ar)return;let lr=i.create(Ce*i.create(Y+ce*U));if(lr===Ar)return;let vr=(ee.x===ce?0:2)|Number(ee.y&xt),fr=lr;return L&&b(lr)&&(fr=i.neg(lr),vr^=1),new _(ce,fr,vr)}return{seed:H,k2sig:G}}function S(w,O,P={}){w=(0,W.ensureBytes)("message",w);let{seed:L,k2sig:I}=E(w,O,P);return(0,W.createHmacDrbg)(e.outputLen,i.BYTES,o)(L,I)}function V(w){let O,P=typeof w=="string"||(0,W.isBytes)(w),L=!P&&w!==null&&typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint";if(!P&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(L)O=new _(w.r,w.s);else if(P){try{O=_.fromBytes((0,W.ensureBytes)("sig",w),"der")}catch(I){if(!(I instanceof qe.DER.Err))throw I}if(!O)try{O=_.fromBytes((0,W.ensureBytes)("sig",w),"compact")}catch{return!1}}return O||!1}function C(w,O,P,L={}){let{lowS:I,prehash:B,format:F}=Tp(L,h);if(P=(0,W.ensureBytes)("publicKey",P),O=A((0,W.ensureBytes)("message",O),B),"strict"in L)throw new Error("options.strict was renamed to lowS");let U=F===void 0?V(w):_.fromBytes((0,W.ensureBytes)("sig",w),F);if(U===!1)return!1;try{let q=t.fromBytes(P);if(I&&U.hasHighS())return!1;let{r:H,s:Y}=U,G=N(O),ie=i.inv(Y),ae=i.create(G*ie),Ce=i.create(H*ie),ee=t.BASE.multiplyUnsafe(ae).add(q.multiplyUnsafe(Ce));return ee.is0()?!1:i.create(ee.x)===H}catch{return!1}}function g(w,O,P={}){let{prehash:L}=Tp(P,h);return O=A(O,L),_.fromBytes(w,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:d,getPublicKey:p,getSharedSecret:l,utils:u,lengths:f,Point:t,sign:S,verify:C,recoverPublicKey:g,Signature:_,hash:e})}function OT(t){let{CURVE:e,curveOpts:r}=l_(t),n=vp(e,r);return vT(t,n)}function l_(t){let e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=(0,ni.Field)(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:s}}function NT(t){let{CURVE:e,curveOpts:r}=l_(t),n={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:r,hash:t.hash,ecdsaOpts:n}}function f_(t,e,r){function n(o){let s=t.sqr(o),i=t.mul(s,o);return t.add(t.add(i,t.mul(o,e)),r)}return n}function vT(t,e){let{Fp:r,Fn:n}=e;function o(i){return(0,W.inRange)(i,xt,n.ORDER)}let s=f_(r,t.a,t.b);return Object.assign({},{CURVE:t,Point:e,ProjectivePoint:e,normPrivateKeyToScalar:i=>mo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}function RT(t,e){let r=e.Point;return Object.assign({},e,{ProjectivePoint:r,CURVE:Object.assign({},t,(0,ni.nLength)(r.Fn.ORDER,r.Fn.BITS))})}function IT(t){let{CURVE:e,curveOpts:r,hash:n,ecdsaOpts:o}=NT(t),s=vp(e,r),i=d_(s,n,o);return RT(t,i)}});var b_=z(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.bls=CT;var ga=Ir(),p_=ma(),h_=_u(),y_=Qr(),xu=Rp(),ST=BigInt(0),gu=BigInt(1),m_=BigInt(2),oi=BigInt(3);function AT(t){let e=[];for(;t>gu;t>>=gu)(t&gu)===ST?e.unshift(0):(t&oi)===oi?(e.unshift(-1),t+=gu):e.unshift(1);return e}function Ip(t){if(!Array.isArray(t)||t.length===0)throw new Error("expected non-empty array")}function BT(t,e,r,n){let{Fp2:o,Fp12:s}=t,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:d}=n,p;if(i==="multiplicative")p=(_,T,N,R,v,A)=>s.mul014(R,_,o.mul(T,v),o.mul(N,A));else if(i==="divisive")p=(_,T,N,R,v,A)=>s.mul034(R,o.mul(N,A),o.mul(T,v),_);else throw new Error("bls: unknown twist type");let l=o.div(o.ONE,o.mul(o.ONE,m_));function u(_,T,N,R){let v=o.sqr(N),A=o.sqr(R),E=o.mulByB(o.mul(A,oi)),S=o.mul(E,oi),V=o.sub(o.sub(o.sqr(o.add(N,R)),A),v),C=o.sub(E,v),g=o.mul(o.sqr(T),oi),w=o.neg(V);return _.push([C,g,w]),T=o.mul(o.mul(o.mul(o.sub(v,S),T),N),l),N=o.sub(o.sqr(o.mul(o.add(v,S),l)),o.mul(o.sqr(E),oi)),R=o.mul(v,V),{Rx:T,Ry:N,Rz:R}}function f(_,T,N,R,v,A){let E=o.sub(N,o.mul(A,R)),S=o.sub(T,o.mul(v,R)),V=o.sub(o.mul(E,v),o.mul(S,A)),C=o.neg(E),g=S;_.push([V,C,g]);let w=o.sqr(S),O=o.mul(w,S),P=o.mul(w,T),L=o.add(o.sub(O,o.mul(P,m_)),o.mul(o.sqr(E),R));return T=o.mul(S,L),N=o.sub(o.mul(o.sub(P,L),E),o.mul(O,N)),R=o.mul(R,O),{Rx:T,Ry:N,Rz:R}}let h=AT(a),y=(0,ga.memoized)(_=>{let T=_,{x:N,y:R}=T.toAffine(),v=N,A=R,E=o.neg(R),S=v,V=A,C=o.ONE,g=[];for(let w of h){let O=[];({Rx:S,Ry:V,Rz:C}=u(O,S,V,C)),w&&({Rx:S,Ry:V,Rz:C}=f(O,S,V,C,v,w===-1?E:A)),g.push(O)}if(d){let w=g[g.length-1];d(S,V,C,v,A,f.bind(null,w))}return g});function b(_,T=!1){let N=s.ONE;if(_.length){let R=_[0][0].length;for(let v=0;v<R;v++){N=s.sqr(N);for(let[A,E,S]of _)for(let[V,C,g]of A[v])N=p(V,C,g,N,E,S)}}return c&&(N=s.conjugate(N)),T?s.finalExponentiate(N):N}function m(_,T=!0){let N=[];(0,p_.normalizeZ)(e,_.map(({g1:R})=>R)),(0,p_.normalizeZ)(r,_.map(({g2:R})=>R));for(let{g1:R,g2:v}of _){if(R.is0()||v.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),v.assertValidity();let A=R.toAffine();N.push([y(v),A.x,A.y])}return b(N,T)}function x(_,T,N=!0){return m([{g1:_,g2:T}],N)}return{Fp12:s,millerLoopBatch:b,pairing:x,pairingBatch:m,calcPairingPrecomputes:y}}function __(t,e,r,n,o){let{Fp12:s,pairingBatch:i}=t;function a(l){return l instanceof e.Point?l:e.Point.fromHex(l)}function c(l){return l instanceof r.Point?l:r.Point.fromHex(l)}function d(l){if(!(l instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return l}let p=o?(l,u)=>({g1:u,g2:l}):(l,u)=>({g1:l,g2:u});return{getPublicKey(l){let u=(0,xu._normFnElement)(e.Point.Fn,l);return e.Point.BASE.multiply(u)},sign(l,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=(0,xu._normFnElement)(e.Point.Fn,u);return d(l).assertValidity(),l.multiply(h)},verify(l,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");l=c(l),f=a(f);let y=f.negate(),b=e.Point.BASE,m=d(u),x=l,_=i([p(y,m),p(b,x)]);return s.eql(_,s.ONE)},verifyBatch(l,u,f){if(Ip(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(l),y=u,b=f.map(a),m=new Map;for(let T=0;T<b.length;T++){let N=b[T],R=y[T],v=m.get(R);v===void 0&&(v=[],m.set(R,v)),v.push(N)}let x=[],_=e.Point.BASE;try{for(let[T,N]of m){let R=N.reduce((v,A)=>v.add(A));x.push(p(R,T))}return x.push(p(_.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(l){Ip(l),l=l.map(f=>a(f));let u=l.reduce((f,h)=>f.add(h),e.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(l){Ip(l),l=l.map(f=>c(f));let u=l.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(l,u){(0,ga.abytes)(l);let f=u?{DST:u}:void 0;return r.hashToCurve(l,f)},Signature:n}}function CT(t){let{Fp:e,Fr:r,Fp2:n,Fp6:o,Fp12:s}=t.fields,i=(0,xu.weierstrassPoints)(t.G1),a=Object.assign(i,(0,h_.createHasher)(i.Point,t.G1.mapToCurve,{...t.htfDefaults,...t.G1.htfDefaults})),c=(0,xu.weierstrassPoints)(t.G2),d=Object.assign(c,(0,h_.createHasher)(c.Point,t.G2.mapToCurve,{...t.htfDefaults,...t.G2.htfDefaults})),p=BT(t.fields,a.Point,d.Point,{...t.params,postPrecompute:t.postPrecompute}),{millerLoopBatch:l,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,y=__(p,a,d,t.G2.Signature,!1),b=__(p,d,a,t.G1.ShortSignature,!0),m=t.randomBytes||ga.randomBytes,x=()=>{let I=(0,y_.getMinHashLength)(r.ORDER);return(0,y_.mapHashToField)(m(I),r.ORDER)},_={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=t.G1,{Signature:N}=t.G2;function R(I,B){return I instanceof a.Point?I:b.hash((0,ga.ensureBytes)("point",I),B?.DST)}function v(I,B){return I instanceof d.Point?I:y.hash((0,ga.ensureBytes)("point",I),B?.DST)}function A(I){return y.getPublicKey(I).toBytes(!0)}function E(I){return b.getPublicKey(I).toBytes(!0)}function S(I,B,F){let U=v(I,F),q=y.sign(U,B);return I instanceof d.Point?q:N.toBytes(q)}function V(I,B,F){let U=R(I,F),q=b.sign(U,B);return I instanceof a.Point?q:T.toBytes(q)}function C(I,B,F,U){let q=v(B,U);return y.verify(I,q,F)}function g(I,B,F,U){let q=R(B,U);return b.verify(I,q,F)}function w(I){let B=y.aggregatePublicKeys(I);return I[0]instanceof a.Point?B:B.toBytes(!0)}function O(I){let B=y.aggregateSignatures(I);return I[0]instanceof d.Point?B:N.toBytes(B)}function P(I){let B=b.aggregateSignatures(I);return I[0]instanceof a.Point?B:T.toBytes(B)}function L(I,B,F,U){let q=B.map(H=>v(H,U));return y.verifyBatch(I,q,F)}return a.Point.BASE.precompute(4),{longSignatures:y,shortSignatures:b,millerLoopBatch:l,pairing:u,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:e,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:t.params.ateLoopSize,twistType:t.params.twistType,r:t.params.r,G1b:t.G1.b,G2b:t.G2.b},utils:_,getPublicKey:A,getPublicKeyForShortSignatures:E,sign:S,signShortSignature:V,verify:C,verifyShortSignature:g,aggregatePublicKeys:w,aggregateSignatures:O,aggregateShortSignatures:P,G1:a,G2:d,Signature:N,ShortSignature:T}}});var E_=z(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});wu.psiFrobenius=PT;wu.tower12=DT;var _o=Ir(),Bn=Qr(),g_=BigInt(0),Cn=BigInt(1),Ut=BigInt(2),x_=BigInt(3);function Pp(t,e,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let d=0;d<o;d++){let p=BigInt(d+1),l=[];for(let u=0,f=Cn;u<n;u++){let h=(p*f-p)/i%a;l.push(t.pow(e,h)),f*=r}c.push(l)}return c}function PT(t,e,r){let n=e.pow(r,(t.ORDER-Cn)/x_),o=e.pow(r,(t.ORDER-Cn)/Ut);function s(u,f){let h=e.mul(e.frobeniusMap(u,1),n),y=e.mul(e.frobeniusMap(f,1),o);return[h,y]}let i=e.pow(r,(t.ORDER**Ut-Cn)/x_),a=e.pow(r,(t.ORDER**Ut-Cn)/Ut);if(!e.eql(a,e.neg(e.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[e.mul(u,i),e.neg(f)]}let d=u=>(f,h)=>{let y=h.toAffine(),b=u(y.x,y.y);return f.fromAffine({x:b[0],y:b[1]})},p=d(s),l=d(c);return{psi:s,psi2:c,G2psi:p,G2psi2:l,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var w_=(t,e)=>{if(e.length!==2)throw new Error("invalid tuple");let r=e.map(n=>t.create(n));return{c0:r[0],c1:r[1]}},Ap=class{constructor(e,r={}){this.MASK=Cn;let n=e.ORDER,o=n*n;this.Fp=e,this.ORDER=o,this.BITS=(0,_o.bitLen)(o),this.BYTES=Math.ceil((0,_o.bitLen)(o)/8),this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.Fp_NONRESIDUE=e.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=e.div(e.ONE,Ut),this.NONRESIDUE=w_(e,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Pp(e,this.Fp_NONRESIDUE,e.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(e){return w_(this.Fp,e)}create(e){return e}isValid({c0:e,c1:r}){function n(o,s){return typeof o=="bigint"&&g_<=o&&o<s}return n(e,this.ORDER)&&n(r,this.ORDER)}is0({c0:e,c1:r}){return this.Fp.is0(e)&&this.Fp.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}eql({c0:e,c1:r},{c0:n,c1:o}){return this.Fp.eql(e,n)&&this.Fp.eql(r,o)}neg({c0:e,c1:r}){return{c0:this.Fp.neg(e),c1:this.Fp.neg(r)}}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}add(e,r){let{c0:n,c1:o}=e,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:e,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(e,n),c1:this.Fp.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i),d=o.sub(a,c),p=o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c));return{c0:d,c1:p}}sqr({c0:e,c1:r}){let{Fp:n}=this,o=n.add(e,r),s=n.sub(e,r),i=n.add(e,e);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}div(e,r){let{Fp:n}=this;return this.mul(e,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:e,c1:r}){let{Fp:n}=this,o=n.inv(n.create(e*e+r*r));return{c0:n.mul(o,n.create(e)),c1:n.mul(o,n.create(-r))}}sqrt(e){let{Fp:r}=this,n=this,{c0:o,c1:s}=e;if(r.is0(s))return Bn.FpLegendre(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Bn.FpLegendre(r,a)===-1&&(a=r.sub(a,i));let d=r.sqrt(a),p=n.create({c0:d,c1:r.div(r.mul(s,this.Fp_div2),d)});if(!n.eql(n.sqr(p),e))throw new Error("Cannot find square root");let l=p,u=n.neg(l),{re:f,im:h}=n.reim(l),{re:y,im:b}=n.reim(u);return h>b||h===b&&f>y?l:u}isOdd(e){let{re:r,im:n}=this.reim(e),o=r%Ut,s=r===g_,i=n%Ut;return BigInt(o||s&&i)==Cn}fromBytes(e){let{Fp:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){return(0,_o.concatBytes)(this.Fp.toBytes(e),this.Fp.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(e,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:e,c1:r}){return{re:e,im:r}}Fp4Square(e,r){let n=this,o=n.sqr(e),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(e,r)),o),s)}}mulByNonresidue({c0:e,c1:r}){return this.mul({c0:e,c1:r},this.NONRESIDUE)}frobeniusMap({c0:e,c1:r},n){return{c0:e,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Bp=class{constructor(e){this.MASK=Cn,this.Fp2=e,this.ORDER=e.ORDER,this.BITS=3*e.BITS,this.BYTES=3*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO,c2:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO,c2:e.ZERO};let{Fp:r}=e,n=Pp(e,e.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(e,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(e,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,d=s.mul(e,i),p=s.mul(r,a),l=s.mul(n,c);return{c0:s.add(d,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,l)))),c1:s.add(s.sub(s.mul(s.add(e,r),s.add(i,a)),s.add(d,p)),s.mulByNonresidue(l)),c2:s.sub(s.add(p,s.mul(s.add(e,n),s.add(i,c))),s.add(d,l))}}sqr({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(e),i=o.mul(o.mul(e,r),Ut),a=o.mul(o.mul(r,n),Ut),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(e,r),n))),a),s),c)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}create(e){return e}isValid({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(e)&&o.isValid(r)&&o.isValid(n)}is0({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(e)&&o.is0(r)&&o.is0(n)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(e),c1:o.neg(r),c2:o.neg(n)}}eql({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(e,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(e){return(0,_o.notImplemented)()}div(e,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(e,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}inv({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(e),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(e,r)),a=o.sub(o.sqr(r),o.mul(e,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(e,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(e){let{Fp2:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);let n=r.BYTES;return{c0:r.fromBytes(e.subarray(0,n)),c1:r.fromBytes(e.subarray(n,n*2)),c2:r.fromBytes(e.subarray(2*n))}}toBytes({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return(0,_o.concatBytes)(o.toBytes(e),o.toBytes(r),o.toBytes(n))}cmov({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(e,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(e){let{Fp2:r}=this;if(!Array.isArray(e)||e.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(e.slice(0,2)),c1:r.fromBigTuple(e.slice(2,4)),c2:r.fromBigTuple(e.slice(4,6))}}frobeniusMap({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(e,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:e,c2:r}}mul1({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(e,o),c2:s.mul(r,o)}}mul01({c0:e,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(e,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(e,r)),a),c),c2:i.add(i.sub(i.mul(i.add(e,n),o),a),c)}}},Cp=class{constructor(e,r){this.MASK=Cn;let{Fp2:n}=e,{Fp:o}=n;this.Fp6=e,this.ORDER=n.ORDER,this.BITS=2*e.BITS,this.BYTES=2*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.FROBENIUS_COEFFICIENTS=Pp(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(e){return e}isValid({c0:e,c1:r}){let{Fp6:n}=this;return n.isValid(e)&&n.isValid(r)}is0({c0:e,c1:r}){let{Fp6:n}=this;return n.is0(e)&&n.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r}){let{Fp6:n}=this;return{c0:n.neg(e),c1:n.neg(r)}}eql({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(e,n)&&s.eql(r,o)}sqrt(e){(0,_o.notImplemented)()}inv({c0:e,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(e),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(e,o),c1:n.neg(n.mul(r,o))}}div(e,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(e,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}add({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(e,n),c1:s.add(r,o)}}sub({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(e,n),c1:s.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c))}}sqr({c0:e,c1:r}){let{Fp6:n}=this,o=n.mul(e,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),e),n.add(e,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}fromBytes(e){let{Fp6:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){let{Fp6:n}=this;return(0,_o.concatBytes)(n.toBytes(e),n.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(e,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(e){let{Fp6:r}=this;return{c0:r.fromBigSix(e.slice(0,6)),c1:r.fromBigSix(e.slice(6,12))}}frobeniusMap(e,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(e.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(e.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:e,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(e,n),c1:o.mulByFp2(r,n)}}conjugate({c0:e,c1:r}){return{c0:e,c1:this.Fp6.neg(r)}}mul014({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(e,n,o),d=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(i.sub(i.mul01(i.add(r,e),n,a.add(o,s)),c),d)}}mul034({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(e.c0,n),c1:a.mul(e.c1,n),c2:a.mul(e.c2,n)}),d=i.mul01(r,o,s),p=i.mul01(i.add(e,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(p,i.add(c,d))}}_cyclotomicSquare({c0:e,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=e,{c0:c,c1:d,c2:p}=r,{first:l,second:u}=o.Fp4Square(s,d),{first:f,second:h}=o.Fp4Square(c,a),{first:y,second:b}=o.Fp4Square(i,p),m=o.mulByNonresidue(b);return{c0:n.create({c0:o.add(o.mul(o.sub(l,s),Ut),l),c1:o.add(o.mul(o.sub(f,i),Ut),f),c2:o.add(o.mul(o.sub(y,a),Ut),y)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ut),m),c1:o.add(o.mul(o.add(u,d),Ut),u),c2:o.add(o.mul(o.add(h,p),Ut),h)})}}_cyclotomicExp(e,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),(0,_o.bitGet)(r,o)&&(n=this.mul(n,e));return n}};function DT(t){let e=Bn.Field(t.ORDER),r=new Ap(e,t),n=new Bp(r),o=new Cp(n,t);return{Fp:e,Fp2:r,Fp6:n,Fp12:o}}});var A_=z(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.bls12_381=rn.bls12_381_Fr=void 0;var v_=Gs(),FT=b_(),VT=Qr(),ge=Ir(),R_=_u(),I_=E_(),S_=Rp(),It=BigInt(0),Eu=BigInt(1),mr=BigInt(2),Tu=BigInt(3),xa=BigInt(4),bo=BigInt("0xd201000000010000"),UT=(0,ge.bitLen)(bo),ns={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:It,b:xa,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")};rn.bls12_381_Fr=(0,VT.Field)(ns.n,{modFromBytes:!0,isLE:!0});var{Fp:X,Fp2:xe,Fp6:LT,Fp12:ve}=(0,I_.tower12)({ORDER:ns.p,X_LEN:UT,FP2_NONRESIDUE:[Eu,Eu],Fp2mulByB:({c0:t,c1:e})=>{let r=X.mul(t,xa),n=X.mul(e,xa);return{c0:X.sub(r,n),c1:X.add(r,n)}},Fp12finalExponentiate:t=>{let e=bo,r=ve.div(ve.frobeniusMap(t,6),t),n=ve.mul(ve.frobeniusMap(r,2),r),o=ve.conjugate(ve._cyclotomicExp(n,e)),s=ve.mul(ve.conjugate(ve._cyclotomicSquare(n)),o),i=ve.conjugate(ve._cyclotomicExp(s,e)),a=ve.conjugate(ve._cyclotomicExp(i,e)),c=ve.mul(ve.conjugate(ve._cyclotomicExp(a,e)),ve._cyclotomicSquare(o)),d=ve.conjugate(ve._cyclotomicExp(c,e)),p=ve.frobeniusMap(ve.mul(o,a),2),l=ve.frobeniusMap(ve.mul(i,n),3),u=ve.frobeniusMap(ve.mul(c,ve.conjugate(n)),1),f=ve.mul(ve.mul(d,ve.conjugate(s)),n);return ve.mul(ve.mul(ve.mul(p,l),u),f)}}),{G2psi:T_,G2psi2:qT}=(0,I_.psiFrobenius)(X,xe,xe.div(xe.ONE,xe.NONRESIDUE)),Dp=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:X.ORDER,m:2,k:128,expand:"xmd",hash:v_.sha256}),Up={p:xe.ORDER,n:ns.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:xe.ZERO,b:xe.fromBigTuple([xa,xa]),Gx:xe.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:xe.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Ou=wa(X.toBytes(It),{infinity:!0,compressed:!0});function Nu(t){t=t.slice();let e=t[0]&224,r=!!(e>>7&1),n=!!(e>>6&1),o=!!(e>>5&1);return t[0]&=31,{compressed:r,infinity:n,sort:o,value:t}}function wa(t,e){if(t[0]&224)throw new Error("setMask: non-empty mask");return e.compressed&&(t[0]|=128),e.infinity&&(t[0]|=64),e.sort&&(t[0]|=32),t}function MT(t,e,r){let{BYTES:n,ORDER:o}=X,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return Ou.slice();let c=!!(a*mr/o);return wa((0,ge.numberToBytesBE)(i,n),{compressed:!0,sort:c})}else return s?(0,ge.concatBytes)(Uint8Array.of(64),new Uint8Array(2*n-1)):(0,ge.concatBytes)((0,ge.numberToBytesBE)(i,n),(0,ge.numberToBytesBE)(a,n))}function Fp(t){t.assertValidity();let{BYTES:e,ORDER:r}=X,{x:n,y:o}=t.toAffine();if(t.is0())return Ou.slice();let s=!!(o*mr/r);return wa((0,ge.numberToBytesBE)(n,e),{compressed:!0,sort:s})}function kT(t){let{compressed:e,infinity:r,sort:n,value:o}=Nu(t),{BYTES:s,ORDER:i}=X;if(o.length===48&&e){let a=(0,ge.bytesToNumberBE)(o),c=X.create(a&(0,ge.bitMask)(X.BITS));if(r){if(c!==It)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:It,y:It}}let d=X.add(X.pow(c,Tu),X.create(ns.b)),p=X.sqrt(d);if(!p)throw new Error("invalid G1 point: compressed point");return p*mr/i!==BigInt(n)&&(p=X.neg(p)),{x:X.create(c),y:X.create(p)}}else if(o.length===96&&!e){let a=(0,ge.bytesToNumberBE)(o.subarray(0,s)),c=(0,ge.bytesToNumberBE)(o.subarray(s));if(r){if(a!==It||c!==It)throw new Error("G1: non-empty point at infinity");return rn.bls12_381.G1.Point.ZERO.toAffine()}return{x:X.create(a),y:X.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function O_(t){let{infinity:e,sort:r,value:n}=Nu((0,ge.ensureBytes)("signatureHex",t,48)),o=X.ORDER,s=rn.bls12_381.G1.Point,i=(0,ge.bytesToNumberBE)(n);if(e)return s.ZERO;let a=X.create(i&(0,ge.bitMask)(X.BITS)),c=X.add(X.pow(a,Tu),X.create(ns.b)),d=X.sqrt(c);if(!d)throw new Error("invalid G1 point: compressed");let p=BigInt(r);d*mr/o!==p&&(d=X.neg(d));let l=s.fromAffine({x:a,y:d});return l.assertValidity(),l}function jT(t,e,r){let{BYTES:n,ORDER:o}=X,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return(0,ge.concatBytes)(Ou,(0,ge.numberToBytesBE)(It,n));let c=!!(a.c1===It?a.c0*mr/o:a.c1*mr/o);return(0,ge.concatBytes)(wa((0,ge.numberToBytesBE)(i.c1,n),{compressed:!0,sort:c}),(0,ge.numberToBytesBE)(i.c0,n))}else{if(s)return(0,ge.concatBytes)(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:d}=xe.reim(i),{re:p,im:l}=xe.reim(a);return(0,ge.concatBytes)((0,ge.numberToBytesBE)(d,n),(0,ge.numberToBytesBE)(c,n),(0,ge.numberToBytesBE)(l,n),(0,ge.numberToBytesBE)(p,n))}}function Vp(t){t.assertValidity();let{BYTES:e}=X;if(t.is0())return(0,ge.concatBytes)(Ou,(0,ge.numberToBytesBE)(It,e));let{x:r,y:n}=t.toAffine(),{re:o,im:s}=xe.reim(r),{re:i,im:a}=xe.reim(n),d=!!((a>It?a*mr:i*mr)/X.ORDER&Eu),p=o;return(0,ge.concatBytes)(wa((0,ge.numberToBytesBE)(s,e),{sort:d,compressed:!0}),(0,ge.numberToBytesBE)(p,e))}function HT(t){let{BYTES:e,ORDER:r}=X,{compressed:n,infinity:o,sort:s,value:i}=Nu(t);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(t[0]&224));let a=(c,d,p)=>(0,ge.bytesToNumberBE)(c.slice(d,p));if(i.length===96&&n){if(o){if(i.reduce((h,y)=>h!==0?y+1:y,0)>0)throw new Error("invalid G2 point: compressed");return{x:xe.ZERO,y:xe.ZERO}}let c=a(i,0,e),d=a(i,e,2*e),p=xe.create({c0:X.create(d),c1:X.create(c)}),l=xe.add(xe.pow(p,Tu),Up.b),u=xe.sqrt(l),f=u.c1===It?u.c0*mr/r:u.c1*mr/r?Eu:It;return u=s&&f>0?u:xe.neg(u),{x:p,y:u}}else if(i.length===192&&!n){if(o){if(i.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:xe.ZERO,y:xe.ZERO}}let c=a(i,0*e,1*e),d=a(i,1*e,2*e),p=a(i,2*e,3*e),l=a(i,3*e,4*e);return{x:xe.fromBigTuple([d,c]),y:xe.fromBigTuple([l,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function N_(t){let{ORDER:e}=X,{infinity:r,sort:n,value:o}=Nu((0,ge.ensureBytes)("signatureHex",t)),s=rn.bls12_381.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=(0,ge.bytesToNumberBE)(o.slice(0,i)),c=(0,ge.bytesToNumberBE)(o.slice(i));if(r)return s.ZERO;let d=X.create(a&(0,ge.bitMask)(X.BITS)),p=X.create(c),l=xe.create({c0:p,c1:d}),u=xe.add(xe.pow(l,Tu),Up.b),f=xe.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:y}=xe.reim(f),b=BigInt(n),m=y>It&&y*mr/e!==b,x=y===It&&h*mr/e!==b;(m||x)&&(f=xe.neg(f));let _=s.fromAffine({x:l,y:f});return _.assertValidity(),_}rn.bls12_381=(0,FT.bls)({fields:{Fp:X,Fp2:xe,Fp6:LT,Fp12:ve,Fr:rn.bls12_381_Fr},G1:{...ns,Fp:X,htfDefaults:{...Dp,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(t,e)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new t(X.mul(e.X,r),e.Y,e.Z);return e.multiplyUnsafe(bo).negate().multiplyUnsafe(bo).equals(n)},clearCofactor:(t,e)=>e.multiplyUnsafe(bo).add(e),mapToCurve:zT,fromBytes:kT,toBytes:MT,ShortSignature:{fromBytes(t){return(0,ge.abytes)(t),O_(t)},fromHex(t){return O_(t)},toBytes(t){return Fp(t)},toRawBytes(t){return Fp(t)},toHex(t){return(0,ge.bytesToHex)(Fp(t))}}},G2:{...Up,Fp:xe,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Dp},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:YT,isTorsionFree:(t,e)=>e.multiplyUnsafe(bo).negate().equals(T_(t,e)),clearCofactor:(t,e)=>{let r=bo,n=e.multiplyUnsafe(r).negate(),o=T_(t,e),s=e.double();return s=qT(t,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(e)},fromBytes:HT,toBytes:jT,Signature:{fromBytes(t){return(0,ge.abytes)(t),N_(t)},fromHex(t){return N_(t)},toBytes(t){return Vp(t)},toRawBytes(t){return Vp(t)},toHex(t){return(0,ge.bytesToHex)(Vp(t))}}},params:{ateLoopSize:bo,r:ns.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Dp,hash:v_.sha256});var $T=(0,R_.isogenyMap)(xe,[[["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(t=>t.map(e=>xe.fromBigTuple(e.map(BigInt))))),KT=(0,R_.isogenyMap)(X,[["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(t=>t.map(e=>BigInt(e)))),GT=(0,S_.mapToCurveSimpleSWU)(X,{A:X.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:X.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:X.create(BigInt(11))}),ZT=(0,S_.mapToCurveSimpleSWU)(xe,{A:xe.create({c0:X.create(It),c1:X.create(BigInt(240))}),B:xe.create({c0:X.create(BigInt(1012)),c1:X.create(BigInt(1012))}),Z:xe.create({c0:X.create(BigInt(-2)),c1:X.create(BigInt(-1))})});function zT(t){let{x:e,y:r}=GT(X.create(t[0]));return KT(e,r)}function YT(t){let{x:e,y:r}=ZT(xe.fromBigTuple(t));return $T(e,r)}});var qp=z(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.verify=void 0;vu.blsVerify=XT;var WT=A_(),Lp=dt();function XT(t,e,r){let n=typeof t=="string"?t:(0,Lp.bytesToHex)(t),o=typeof e=="string"?e:(0,Lp.bytesToHex)(e),s=typeof r=="string"?r:(0,Lp.bytesToHex)(r);return WT.bls12_381.verifyShortSignature(o,s,n)}});var Ru=z(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.decodeTime=os.decodeLeb128=void 0;var B_=ca(),JT=BigInt(1e6),QT=t=>(0,B_.lebDecode)(new B_.PipeArrayBuffer(t));os.decodeLeb128=QT;var e6=t=>{let r=(0,os.decodeLeb128)(t)/JT;return new Date(Number(r))};os.decodeTime=e6});var ai=z(Ue=>{"use strict";var t6=Ue&&Ue.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),r6=Ue&&Ue.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),P_=Ue&&Ue.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&t6(r,e,n[o]);return r6(r,e),r}})();Object.defineProperty(Ue,"__esModule",{value:!0});Ue.LookupLabelStatus=Ue.LookupSubtreeStatus=Ue.LookupPathStatus=Ue.Certificate=Ue.NodeType=void 0;Ue.hashTreeToString=Su;Ue.lookupResultToBuffer=jp;Ue.reconstruct=Ta;Ue.domain_sep=si;Ue.lookup_path=Au;Ue.lookup_subtree=$p;Ue.flatten_forks=Hp;Ue.find_label=ii;Ue.check_canister_ranges=U_;var D_=P_(la()),ye=sr(),Mp=Rr(),n6=P_(qp()),o6=Ru(),go=dt(),F_=Qs(),Iu=Gs(),C_=60*1e3,s6=60,i6=24,a6=i6*s6,c6=5,u6=5,d6=30*a6,Ze;(function(t){t[t.Empty=0]="Empty",t[t.Fork=1]="Fork",t[t.Labeled=2]="Labeled",t[t.Leaf=3]="Leaf",t[t.Pruned=4]="Pruned"})(Ze||(Ue.NodeType=Ze={}));function Su(t){let e=n=>n.split(`
|
|
50
|
+
`)}return c.encodeValue(d)}));return(0,Te.concat)(n,o,s,i,a)}function H2(t,e){let r=new Te.PipeArrayBuffer(e);if(e.byteLength<Gc.length)throw new Error("Message length smaller than magic number");let n=(0,$.safeRead)(r,Gc.length),o=new TextDecoder().decode(n);if(o!==Gc)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(u){let f=[],h=Number((0,$.lebDecode)(u));for(let y=0;y<h;y++){let x=Number((0,$.slebDecode)(u));switch(x){case Se.Opt:case Se.Vector:{let _=Number((0,$.slebDecode)(u));f.push([x,_]);break}case Se.Record:case Se.Variant:{let _=[],T=Number((0,$.lebDecode)(u)),N;for(;T--;){let R=Number((0,$.lebDecode)(u));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof N=="number"&&N>=R)throw new Error("field id collision or not sorted");N=R;let v=Number((0,$.slebDecode)(u));_.push([R,v])}f.push([x,_]);break}case Se.Func:{let _=[],T=Number((0,$.lebDecode)(u));for(;T--;)_.push(Number((0,$.slebDecode)(u)));let N=[],R=Number((0,$.lebDecode)(u));for(;R--;)N.push(Number((0,$.slebDecode)(u)));let v=[],A=Number((0,$.lebDecode)(u));for(;A--;)switch(Number((0,$.lebDecode)(u))){case 1:{v.push("query");break}case 2:{v.push("oneway");break}case 3:{v.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[_,N,v]]);break}case Se.Service:{let _=Number((0,$.lebDecode)(u)),T=[];for(;_--;){let N=Number((0,$.lebDecode)(u)),R=new TextDecoder().decode((0,$.safeRead)(u,N)),v=(0,$.slebDecode)(u);T.push([R,v])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],b=Number((0,$.lebDecode)(u));for(let y=0;y<b;y++)m.push(Number((0,$.slebDecode)(u)));return[f,m]}let[i,a]=s(r);if(a.length<t.length)throw new Error("Wrong number of return values");let c=i.map(u=>dy());function d(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return M.Null;case-2:return M.Bool;case-3:return M.Nat;case-4:return M.Int;case-5:return M.Nat8;case-6:return M.Nat16;case-7:return M.Nat32;case-8:return M.Nat64;case-9:return M.Int8;case-10:return M.Int16;case-11:return M.Int32;case-12:return M.Int64;case-13:return M.Float32;case-14:return M.Float64;case-15:return M.Text;case-16:return M.Reserved;case-17:return M.Empty;case-24:return M.Principal;default:throw new Error("Illegal op_code: "+u)}if(u>=i.length)throw new Error("type index out of range");return c[u]}function p(u){switch(u[0]){case Se.Vector:{let f=d(u[1]);return iy(f)}case Se.Opt:{let f=d(u[1]);return ay(f)}case Se.Record:{let f={};for(let[b,y]of u[1]){let x=`_${b}_`;f[x]=d(y)}let h=cy(f),m=h.tryAsTuple();return Array.isArray(m)?sy(...m):h}case Se.Variant:{let f={};for(let[h,m]of u[1]){let b=`_${h}_`;f[b]=d(m)}return uy(f)}case Se.Func:{let[f,h,m]=u[1];return ly(f.map(b=>d(b)),h.map(b=>d(b)),m)}case Se.Service:{let f={},h=u[1];for(let[m,b]of h){let y=d(b);if(y instanceof mr&&(y=y.getType()),!(y instanceof Yo))throw new Error("Illegal service definition: services can only contain functions");f[m]=y}return fy(f)}default:throw new Error("Illegal op_code: "+u[0])}}i.forEach((u,f)=>{if(u[0]===Se.Func){let h=p(u);c[f].fill(h)}}),i.forEach((u,f)=>{if(u[0]!==Se.Func){let h=p(u);c[f].fill(h)}}),qf();let l=a.map(u=>d(u));try{let u=t.map((f,h)=>f.decodeValue(r,l[h]));for(let f=t.length;f<l.length;f++)l[f].decodeValue(r,l[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{qf()}}M.Empty=new ra;M.Reserved=new Wr;M.Unknown=new zc;M.Bool=new Yc;M.Null=new Zo;M.Text=new Wc;M.Int=new na;M.Nat=new oa;M.Float32=new sa(32);M.Float64=new sa(64);M.Int8=new Rn(8);M.Int16=new Rn(16);M.Int32=new Rn(32);M.Int64=new Rn(64);M.Nat8=new zr(8);M.Nat16=new zr(16);M.Nat32=new zr(32);M.Nat64=new zr(64);M.Principal=new Jc;function sy(...t){return new Xc(t)}function iy(t){return new Zs(t)}function ay(t){return new po(t)}function cy(t){return new zo(t)}function uy(t){return new zs(t)}function dy(){return new mr}function ly(t,e,r=[]){return new Yo(t,e,r)}function fy(t){return new Ys(t)}var Qc=class t{constructor(e=new Map){this.rels=e}copy(){let e=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);e.set(r,o)}return new t(e)}known(e,r){return this.rels.get(e.name)?.get(r.name)}addNegative(e,r){this.addNames(e.name,r.name,!1)}add(e,r){this.addNames(e.name,r.name,!0)}display(){let e="";for(let[r,n]of this.rels)for(let[o,s]of n)e+=`${r} ${s?":<":"!<:"} ${o}
|
|
51
|
+
`;return e}addNames(e,r,n){let o=this.rels.get(e);if(o==null){let s=new Map;s.set(r,n),this.rels.set(e,s)}else o.set(r,n)}},Zc=new Qc;function qf(){Zc=new Qc}function $2(t,e){let r=new Set(t.annotations),n=new Set(e.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Ff(t){return t instanceof po||t instanceof Zo||t instanceof Wr}function kf(t,e){let r=Zc.copy(),n=vn(r,t,e);return n?Zc.add(t,e):Zc.addNegative(t,e),n}function vn(t,e,r){if(e.name===r.name)return!0;let n=t.known(e,r);if(n!==void 0)return n;if(t.add(e,r),r instanceof Wr||e instanceof ra||e instanceof oa&&r instanceof na)return!0;if(e instanceof Zs&&r instanceof Zs)return vn(t,e._type,r._type);if(r instanceof po)return!0;if(e instanceof zo&&r instanceof zo){let o=e.fieldsAsObject;for(let[s,i]of r._fields){let a=o[(0,zt.idlLabelToId)(s)];if(a){if(!vn(t,a,i))return!1}else if(!Ff(i))return!1}return!0}if(e instanceof Yo&&r instanceof Yo){if(!$2(e,r))return!1;for(let o=0;o<e.argTypes.length;o++){let s=e.argTypes[o];if(o<r.argTypes.length){if(!vn(t,r.argTypes[o],s))return!1}else if(!Ff(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<e.retTypes.length){if(!vn(t,e.retTypes[o],s))return!1}else if(!Ff(s))return!1}return!0}if(e instanceof zs&&r instanceof zs){let o=r.alternativesAsObject;for(let[s,i]of e._fields){let a=o[(0,zt.idlLabelToId)(s)];if(!a||!vn(t,i,a))return!1}return!0}if(e instanceof Ys&&r instanceof Ys){let o=e.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!vn(t,a,i))return!1}return!0}return e instanceof mr?vn(t,e.getType(),r):r instanceof mr?vn(t,e,r.getType()):!1}});var Yf=z(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.VecForm=Rt.OptionForm=Rt.VariantForm=Rt.TupleForm=Rt.RecordForm=Rt.InputForm=Rt.InputBox=void 0;var Hf=class{constructor(e,r){this.idl=e,this.ui=r,this.label=null,this.value=void 0;let n=document.createElement("span");n.className="status",this.status=n,r.input&&(r.input.addEventListener("blur",()=>{r.input.value!==""&&this.parse()}),r.input.addEventListener("input",()=>{n.style.display="none",r.input.classList.remove("reject")}))}isRejected(){return this.value===void 0}parse(e={}){if(this.ui.form){let r=this.ui.form.parse(e);return this.value=r,r}if(this.ui.input){let r=this.ui.input;try{let n=this.ui.parse(this.idl,e,r.value);if(!this.idl.covariant(n))throw new Error(`${r.value} is not of type ${this.idl.display()}`);return this.status.style.display="none",this.value=n,n}catch(n){r.classList.add("reject"),this.status.style.display="block",this.status.innerHTML="InputError: "+n.message,this.value=void 0;return}}return null}render(e){let r=document.createElement("span");if(this.label){let n=document.createElement("label");n.innerText=this.label,r.appendChild(n)}this.ui.input&&(r.appendChild(this.ui.input),r.appendChild(this.status)),this.ui.form&&this.ui.form.render(r),e.appendChild(r)}};Rt.InputBox=Hf;var ho=class{constructor(e){this.ui=e,this.form=[]}renderForm(e){this.ui.container?(this.form.forEach(r=>r.render(this.ui.container)),e.appendChild(this.ui.container)):this.form.forEach(r=>r.render(e))}render(e){if(this.ui.open&&this.ui.event){e.appendChild(this.ui.open);let r=this;r.ui.open.addEventListener(r.ui.event,()=>{if(r.ui.container)r.ui.container.innerHTML="";else{let n=r.ui.open.nextElementSibling;n&&n.parentNode.removeChild(n)}r.generateForm(),r.renderForm(e)})}else this.generateForm(),this.renderForm(e)}};Rt.InputForm=ho;var $f=class extends ho{constructor(e,r){super(r),this.fields=e,this.ui=r}generateForm(){this.form=this.fields.map(([e,r])=>{let n=this.ui.render(r);return this.ui.labelMap&&this.ui.labelMap.hasOwnProperty(e)?n.label=this.ui.labelMap[e]+" ":n.label=e+" ",n})}parse(e){let r={};if(this.fields.forEach(([n,o],s)=>{let i=this.form[s].parse(e);r[n]=i}),!this.form.some(n=>n.isRejected()))return r}};Rt.RecordForm=$f;var Kf=class extends ho{constructor(e,r){super(r),this.components=e,this.ui=r}generateForm(){this.form=this.components.map(e=>this.ui.render(e))}parse(e){let r=[];if(this.components.forEach((n,o)=>{let s=this.form[o].parse(e);r.push(s)}),!this.form.some(n=>n.isRejected()))return r}};Rt.TupleForm=Kf;var Gf=class extends ho{constructor(e,r){super(r),this.fields=e,this.ui=r}generateForm(){let e=this.ui.open.selectedIndex,[r,n]=this.fields[e],o=this.ui.render(n);this.form=[o]}parse(e){let r=this.ui.open,n=r.options[r.selectedIndex].value,o=this.form[0].parse(e);if(o===void 0)return;let s={};return s[n]=o,s}};Rt.VariantForm=Gf;var Zf=class extends ho{constructor(e,r){super(r),this.ty=e,this.ui=r}generateForm(){if(this.ui.open.checked){let e=this.ui.render(this.ty);this.form=[e]}else this.form=[]}parse(e){if(this.form.length===0)return[];{let r=this.form[0].parse(e);return r===void 0?void 0:[r]}}};Rt.OptionForm=Zf;var zf=class extends ho{constructor(e,r){super(r),this.ty=e,this.ui=r}generateForm(){let e=+this.ui.open.value;this.form=[];for(let r=0;r<e;r++){let n=this.ui.render(this.ty);this.form.push(n)}}parse(e){let r=this.form.map(n=>n.parse(e));if(!this.form.some(n=>n.isRejected()))return r}};Rt.VecForm=zf});var hy=z(Ee=>{"use strict";var K2=Ee&&Ee.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),G2=Ee&&Ee.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),py=Ee&&Ee.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&K2(r,e,n[o]);return G2(r,e),r}})();Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Render=Ee.vecForm=Ee.optForm=Ee.variantForm=Ee.tupleForm=Ee.recordForm=Ee.inputBox=void 0;Ee.renderInput=ep;Ee.renderValue=Wo;var tu=py(jf()),Wf=Rr(),Ws=py(Yf()),Z2={parse:eE},ia={render:ep},z2=(t,e)=>new Ws.InputBox(t,{...Z2,...e});Ee.inputBox=z2;var Y2=(t,e)=>new Ws.RecordForm(t,{...ia,...e});Ee.recordForm=Y2;var W2=(t,e)=>new Ws.TupleForm(t,{...ia,...e});Ee.tupleForm=W2;var X2=(t,e)=>new Ws.VariantForm(t,{...ia,...e});Ee.variantForm=X2;var J2=(t,e)=>new Ws.OptionForm(t,{...ia,...e});Ee.optForm=J2;var Q2=(t,e)=>new Ws.VecForm(t,{...ia,...e});Ee.vecForm=Q2;var eu=class extends tu.Visitor{visitType(e,r){let n=document.createElement("input");return n.classList.add("argument"),n.placeholder=e.display(),(0,Ee.inputBox)(e,{input:n})}visitNull(e,r){return(0,Ee.inputBox)(e,{})}visitRecord(e,r,n){let o={};if(r.length>1){let i=document.createElement("div");i.classList.add("popup-form"),o={container:i}}let s=(0,Ee.recordForm)(r,o);return(0,Ee.inputBox)(e,{form:s})}visitTuple(e,r,n){let o={};if(r.length>1){let i=document.createElement("div");i.classList.add("popup-form"),o={container:i}}let s=(0,Ee.tupleForm)(r,o);return(0,Ee.inputBox)(e,{form:s})}visitVariant(e,r,n){let o=document.createElement("select");for(let[a,c]of r){let d=new Option(a);o.add(d)}o.selectedIndex=-1,o.classList.add("open");let s={open:o,event:"change"},i=(0,Ee.variantForm)(r,s);return(0,Ee.inputBox)(e,{form:i})}visitOpt(e,r,n){let o=document.createElement("input");o.type="checkbox",o.classList.add("open");let s=(0,Ee.optForm)(r,{open:o,event:"change"});return(0,Ee.inputBox)(e,{form:s})}visitVec(e,r,n){let o=document.createElement("input");o.type="number",o.min="0",o.max="100",o.style.width="8rem",o.placeholder="len",o.classList.add("open");let s=document.createElement("div");s.classList.add("popup-form");let i=(0,Ee.vecForm)(r,{open:o,event:"change",container:s});return(0,Ee.inputBox)(e,{form:i})}visitRec(e,r,n){return ep(r)}};Ee.Render=eu;var Xf=class extends tu.Visitor{visitNull(e,r){return null}visitBool(e,r){if(r==="true")return!0;if(r==="false")return!1;throw new Error(`Cannot parse ${r} as boolean`)}visitText(e,r){return r}visitFloat(e,r){return parseFloat(r)}visitFixedInt(e,r){return e._bits<=32?parseInt(r,10):BigInt(r)}visitFixedNat(e,r){return e._bits<=32?parseInt(r,10):BigInt(r)}visitNumber(e,r){return BigInt(r)}visitPrincipal(e,r){return Wf.Principal.fromText(r)}visitService(e,r){return Wf.Principal.fromText(r)}visitFunc(e,r){let n=r.split(".",2);return[Wf.Principal.fromText(n[0]),n[1]]}},Jf=class extends tu.Visitor{visitNull(e,r){return null}visitBool(e,r){return Math.random()<.5}visitText(e,r){return Math.random().toString(36).substring(6)}visitFloat(e,r){return Math.random()}visitInt(e,r){return BigInt(this.generateNumber(!0))}visitNat(e,r){return BigInt(this.generateNumber(!1))}visitFixedInt(e,r){let n=this.generateNumber(!0);return e._bits<=32?n:BigInt(r)}visitFixedNat(e,r){let n=this.generateNumber(!1);return e._bits<=32?n:BigInt(r)}generateNumber(e){let r=Math.floor(Math.random()*100);return e&&Math.random()<.5?-r:r}};function eE(t,e,r){return e.random&&r===""?t.accept(new Jf,r):t.accept(new Xf,r)}function ep(t){return t.accept(new eu,null)}function Wo(t,e,r){return t.accept(new Qf,{input:e,value:r})}var Qf=class extends tu.Visitor{visitType(e,r){r.input.ui.input.value=e.valueToString(r.value)}visitNull(e,r){}visitText(e,r){r.input.ui.input.value=r.value}visitRec(e,r,n){Wo(r,n.input,n.value)}visitOpt(e,r,n){if(n.value.length!==0){let o=n.input.ui.form,s=o.ui.open;s.checked=!0,s.dispatchEvent(new Event(o.ui.event)),Wo(r,o.form[0],n.value[0])}}visitRecord(e,r,n){let o=n.input.ui.form;r.forEach(([s,i],a)=>{Wo(i,o.form[a],n.value[s])})}visitTuple(e,r,n){let o=n.input.ui.form;r.forEach((s,i)=>{Wo(s,o.form[i],n.value[i])})}visitVariant(e,r,n){let o=n.input.ui.form,s=Object.entries(n.value)[0];r.forEach(([i,a],c)=>{if(i===s[0]){let d=o.ui.open;d.selectedIndex=c,d.dispatchEvent(new Event(o.ui.event)),Wo(a,o.form[0],s[1])}})}visitVec(e,r,n){let o=n.input.ui.form,s=n.value.length,i=o.ui.open;i.value=s,i.dispatchEvent(new Event(o.ui.event)),n.value.forEach((a,c)=>{Wo(r,o.form[c],a)})}}});var yy=z(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0})});var aa=z(lt=>{"use strict";var _y=lt&<.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tE=lt&<.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Xs=lt&<.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_y(e,t,r)},rE=lt&<.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&_y(r,e,n[o]);return tE(r,e),r}})();Object.defineProperty(lt,"__esModule",{value:!0});lt.IDL=void 0;Xs(hy(),lt);Xs(Yf(),lt);lt.IDL=rE(jf());Xs(Bf(),lt);Xs(Df(),lt);Xs(Hc(),lt);Xs(yy(),lt)});var Js=z(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.uint8FromBufLike=by;ca.uint8ToBuf=nE;ca.uint8Equals=oE;function by(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?by(t.buffer):new Uint8Array(t)}function nE(t){let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(t),e}function oE(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}});var nu=z(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.hashValue=ru;ua.requestIdOf=iE;ua.hashOfMap=np;var tp=aa(),gy=sr(),sE=Js(),rp=dt(),Xo=Ks();function ru(t){if(typeof t=="string")return xy(t);if(typeof t=="number")return(0,Xo.sha256)((0,tp.lebEncode)(t));if(t instanceof Uint8Array||ArrayBuffer.isView(t))return(0,Xo.sha256)((0,sE.uint8FromBufLike)(t));if(Array.isArray(t)){let e=t.map(ru);return(0,Xo.sha256)((0,rp.concatBytes)(...e))}else{if(t&&typeof t=="object"&&t._isPrincipal)return(0,Xo.sha256)(t.toUint8Array());if(typeof t=="object"&&t!==null&&typeof t.toHash=="function")return ru(t.toHash());if(typeof t=="object")return np(t);if(typeof t=="bigint")return(0,Xo.sha256)((0,tp.lebEncode)(t))}throw gy.InputError.fromCode(new gy.HashValueErrorCode(t))}var xy=t=>{let e=new TextEncoder().encode(t);return(0,Xo.sha256)(e)};function iE(t){return np(t)}function np(t){let n=Object.entries(t).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=xy(i),d=ru(a);return[c,d]}).sort(([i],[a])=>(0,tp.compare)(i,a)),o=(0,rp.concatBytes)(...n.map(i=>(0,rp.concatBytes)(...i)));return(0,Xo.sha256)(o)}});var ou=z(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=Xr.IC_RESPONSE_DOMAIN_SEPARATOR=Xr.IC_REQUEST_DOMAIN_SEPARATOR=Xr.DEFAULT_INGRESS_EXPIRY_DELTA_IN_MSECS=void 0;Xr.DEFAULT_INGRESS_EXPIRY_DELTA_IN_MSECS=300*1e3;Xr.IC_REQUEST_DOMAIN_SEPARATOR=new TextEncoder().encode(`
|
|
52
|
+
ic-request`);Xr.IC_RESPONSE_DOMAIN_SEPARATOR=new TextEncoder().encode("\vic-response");Xr.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=new TextEncoder().encode("ic-request-auth-delegation")});var ip=z(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.AnonymousIdentity=Jo.SignIdentity=void 0;Jo.createIdentityDescriptor=uE;var wy=Rr(),aE=nu(),Ey=dt(),cE=ou(),op=class{getPrincipal(){return this._principal||(this._principal=wy.Principal.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(e){let{body:r,...n}=e,o=(0,aE.requestIdOf)(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign((0,Ey.concatBytes)(cE.IC_REQUEST_DOMAIN_SEPARATOR,o))}}}};Jo.SignIdentity=op;var sp=class{getPrincipal(){return wy.Principal.anonymous()}async transformRequest(e){return{...e,body:{content:e.body}}}};Jo.AnonymousIdentity=sp;function uE(t){return"getPublicKey"in t?{type:"PublicKeyIdentity",publicKey:(0,Ey.bytesToHex)(t.getPublicKey().toDer())}:{type:"AnonymousIdentity"}}});var Oy=z((su,Ty)=>{(function(t,e){typeof su=="object"&&typeof Ty<"u"?e(su):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.Cbor={}))})(su,function(t){"use strict";class e extends Error{constructor(j){super(j),this.name="DecodingError"}}let r=55799,n=Symbol("CBOR_STOP_CODE");var o=(D=>(D[D.False=20]="False",D[D.True=21]="True",D[D.Null=22]="Null",D[D.Undefined=23]="Undefined",D[D.Break=31]="Break",D))(o||{}),s=(D=>(D[D.UnsignedInteger=0]="UnsignedInteger",D[D.NegativeInteger=1]="NegativeInteger",D[D.ByteString=2]="ByteString",D[D.TextString=3]="TextString",D[D.Array=4]="Array",D[D.Map=5]="Map",D[D.Tag=6]="Tag",D[D.Simple=7]="Simple",D))(s||{});let i=23,a=255,c=65535,d=4294967295,p=BigInt("0xffffffffffffffff");var l=(D=>(D[D.Value=23]="Value",D[D.OneByte=24]="OneByte",D[D.TwoBytes=25]="TwoBytes",D[D.FourBytes=26]="FourBytes",D[D.EightBytes=27]="EightBytes",D[D.Indefinite=31]="Indefinite",D))(l||{});let u=!1;function f(D){return D==null}function h(D,j){let se=new Uint8Array(j);return se.set(D),se}let m=new TextDecoder;function b(D){return(D&224)>>5}function y(D){return D&31}let x=new Uint8Array,_,T=0;function N(D,j){x=D,T=0;let se=R(j);return j?.(se)??se}function R(D){let[j,se]=v();switch(j){case s.UnsignedInteger:return V(se);case s.NegativeInteger:return C(se);case s.ByteString:return g(se);case s.TextString:return w(se);case s.Array:return A(se,D);case s.Map:return S(se,D);case s.Tag:return O(se,D);case s.Simple:return E(se)}throw new e(`Unsupported major type: ${j}`)}function v(){let D=x.at(T);if(f(D))throw new e("Provided CBOR data is empty");let j=b(D),se=y(D);return T++,[j,se]}function A(D,j){let se=V(D);if(se===1/0){let Ot=[],bt=R(j);for(;bt!==n;)Ot.push(j?.(bt)??bt),bt=R(j);return Ot}let Tt=new Array(se);for(let Ot=0;Ot<se;Ot++){let bt=R(j);Tt[Ot]=j?.(bt)??bt}return Tt}function E(D){switch(D){case o.False:return!1;case o.True:return!0;case o.Null:return null;case o.Undefined:return;case o.Break:return n}throw new e(`Unrecognized simple type: ${D.toString(2)}`)}function S(D,j){let se=V(D),Tt={};if(se===1/0){let[Ot,bt]=v();for(;Ot!==s.Simple&&bt!==o.Break;){let Hr=w(bt),En=R(j);Tt[Hr]=j?.(En,Hr)??En,[Ot,bt]=v()}return Tt}for(let Ot=0;Ot<se;Ot++){let[bt,Hr]=v();if(bt!==s.TextString)throw new e("Map keys must be text strings");let En=w(Hr),ks=R(j);Tt[En]=j?.(ks,En)??ks}return Tt}function V(D){if(D<=l.Value)return D;switch(_=new DataView(x.buffer,x.byteOffset+T),D){case l.OneByte:return T++,_.getUint8(0);case l.TwoBytes:return T+=2,_.getUint16(0,u);case l.FourBytes:return T+=4,_.getUint32(0,u);case l.EightBytes:return T+=8,_.getBigUint64(0,u);case l.Indefinite:return 1/0;default:throw new e(`Unsupported integer info: ${D.toString(2)}`)}}function C(D){let j=V(D);return typeof j=="number"?-1-j:-1n-j}function g(D){let j=V(D);if(j>Number.MAX_SAFE_INTEGER)throw new e("Byte length is too large");let se=Number(j);return T+=se,x.slice(T-se,T)}function w(D){let j=g(D);return m.decode(j)}function O(D,j){let se=V(D);if(se===r)return R(j);throw new e(`Unsupported tag: ${se}.`)}class P extends Error{constructor(j){super(j),this.name="SerializationError"}}let L=2*1024,I=100,B=new TextEncoder;function F(D){return D<<5}let U=new Uint8Array(L),q=new DataView(U.buffer),H=0,Y=[];function G(D,j){H=0;let se=j?.(D)??D;return ae(se,j),U.slice(0,H)}function ie(D,j){H=0;let se=j?.(D)??D;return Wi(r,se,j),U.slice(0,H)}function ae(D,j){if(H>U.length-I&&(U=h(U,U.length*2),q=new DataView(U.buffer)),D===!1||D===!0||D===null||D===void 0){lr(D);return}if(typeof D=="number"||typeof D=="bigint"){Yi(D);return}if(typeof D=="string"){qs(D);return}if(D instanceof Uint8Array){Ms(D);return}if(D instanceof ArrayBuffer){Ms(new Uint8Array(D));return}if(Array.isArray(D)){Ce(D,j);return}if(typeof D=="object"){ee(D,j);return}throw new P(`Unsupported type: ${typeof D}`)}function Ce(D,j){ce(s.Array,D.length),D.forEach((se,Tt)=>{ae(j?.(se,Tt.toString())??se,j)})}function ee(D,j){Y=Object.entries(D),ce(s.Map,Y.length),Y.forEach(([se,Tt])=>{qs(se),ae(j?.(Tt,se)??Tt,j)})}function ce(D,j){if(j<=i){q.setUint8(H++,F(D)|Number(j));return}if(j<=a){q.setUint8(H++,F(D)|l.OneByte),q.setUint8(H,Number(j)),H+=1;return}if(j<=c){q.setUint8(H++,F(D)|l.TwoBytes),q.setUint16(H,Number(j),u),H+=2;return}if(j<=d){q.setUint8(H++,F(D)|l.FourBytes),q.setUint32(H,Number(j),u),H+=4;return}if(j<=p){q.setUint8(H++,F(D)|l.EightBytes),q.setBigUint64(H,BigInt(j),u),H+=8;return}throw new P(`Value too large to encode: ${j}`)}function lr(D){ce(s.Simple,vr(D))}function vr(D){if(D===!1)return o.False;if(D===!0)return o.True;if(D===null)return o.Null;if(D===void 0)return o.Undefined;throw new P(`Unrecognized simple value: ${D.toString()}`)}function fr(D,j){ce(D,j.length),H>U.length-j.length&&(U=h(U,U.length+j.length),q=new DataView(U.buffer)),U.set(j,H),H+=j.length}function wn(D,j){ce(D,j)}function io(D){wn(s.UnsignedInteger,D)}function zi(D){wn(s.NegativeInteger,typeof D=="bigint"?-1n-D:-1-D)}function Yi(D){D>=0?io(D):zi(D)}function qs(D){fr(s.TextString,B.encode(D))}function Ms(D){fr(s.ByteString,D)}function Wi(D,j,se){ce(s.Tag,D),ae(j,se)}t.DecodingError=e,t.EncodingError=P,t.decode=N,t.encode=G,t.encodeWithSelfDescribedTag=ie,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})})});var da=z(Wt=>{"use strict";var dE=Wt&&Wt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),lE=Wt&&Wt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fE=Wt&&Wt.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&dE(r,e,n[o]);return lE(r,e),r}})();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.Cbor=Wt.ToCborValue=void 0;Wt.encode=vy;Wt.decode=Ry;var pE=Rr(),Ny=fE(Oy()),iu=sr(),hE=la(),ap=class{};Wt.ToCborValue=ap;function mE(t){return typeof t=="object"&&t!==null&&"toCborValue"in t}function vy(t){try{return Ny.encodeWithSelfDescribedTag(t,e=>pE.Principal.isPrincipal(e)?e.toUint8Array():hE.Expiry.isExpiry(e)?e.toBigInt():mE(e)?e.toCborValue():e)}catch(e){throw iu.InputError.fromCode(new iu.CborEncodeErrorCode(e,t))}}function Ry(t){try{return Ny.decode(t)}catch(e){throw iu.InputError.fromCode(new iu.CborDecodeErrorCode(e,t))}}Wt.Cbor={encode:vy,decode:Ry}});var cp=z(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.randomNumber=void 0;var yE=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let t=new Uint32Array(1);return window.crypto.getRandomValues(t),t[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(1);return crypto.getRandomValues(t),t[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};au.randomNumber=yE});var Qs=z(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.ReadRequestType=In.SubmitRequestType=In.Endpoint=void 0;In.makeNonce=_E;var cu=cp(),Iy;(function(t){t.Query="read",t.ReadState="read_state",t.Call="call"})(Iy||(In.Endpoint=Iy={}));var Sy;(function(t){t.Call="call"})(Sy||(In.SubmitRequestType=Sy={}));var Ay;(function(t){t.Query="query",t.ReadState="read_state"})(Ay||(In.ReadRequestType=Ay={}));function _E(){let t=new ArrayBuffer(16),e=new DataView(t),r=(0,cu.randomNumber)(),n=(0,cu.randomNumber)(),o=(0,cu.randomNumber)(),s=(0,cu.randomNumber)();return e.setUint32(0,r),e.setUint32(4,n),e.setUint32(8,o),e.setUint32(12,s),Object.assign(new Uint8Array(t),{__nonce__:void 0})}});var lu=z(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.Expiry=ir.JSON_KEY_EXPIRY=void 0;ir.makeNonceTransform=EE;ir.makeExpiryTransform=TE;ir.httpHeadersTransform=OE;var bE=aa(),By=Qs(),uu=sr();ir.JSON_KEY_EXPIRY="__expiry__";var up=BigInt(1e3),gE=BigInt(1e6),Cy=BigInt(60),xE=BigInt(90)*up;function Py(t){return t/up}function wE(t){return Py(t)/Cy}var du=class t{constructor(e){this.__expiry__=e,this._isExpiry=!0}static fromDeltaInMilliseconds(e,r=0){let n=BigInt(e),o=BigInt(Date.now())+n+BigInt(r),s;return n<xE?s=Py(o):s=wE(o)*Cy,new t(s*up*gE)}toBigInt(){return this.__expiry__}toHash(){return(0,bE.lebEncode)(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ir.JSON_KEY_EXPIRY]:this.toString()}}static fromJSON(e){let r=JSON.parse(e);if(r[ir.JSON_KEY_EXPIRY])try{let n=BigInt(r[ir.JSON_KEY_EXPIRY]);return new t(n)}catch(n){throw new uu.InputError(new uu.ExpiryJsonDeserializeErrorCode(`Not a valid BigInt: ${n}`))}throw new uu.InputError(new uu.ExpiryJsonDeserializeErrorCode(`The input does not contain the key ${ir.JSON_KEY_EXPIRY}`))}static isExpiry(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isExpiry"in e&&e._isExpiry===!0&&"__expiry__"in e&&typeof e.__expiry__=="bigint"}};ir.Expiry=du;function EE(t=By.makeNonce){return async e=>{let r=e.request.headers;e.request.headers=r,e.endpoint===By.Endpoint.Call&&(e.body.nonce=t())}}function TE(t){return async e=>{e.body.ingress_expiry=du.fromDeltaInMilliseconds(t)}}function OE(t){let e=[];return t.forEach((r,n)=>{e.push([n,r])}),e}});var Ir=z(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.notImplemented=re.bitMask=re.utf8ToBytes=re.randomBytes=re.isBytes=re.hexToBytes=re.concatBytes=re.bytesToUtf8=re.bytesToHex=re.anumber=re.abytes=void 0;re.abool=NE;re._abool2=vE;re._abytes2=RE;re.numberToHexUnpadded=Dy;re.hexToNumber=lp;re.bytesToNumberBE=IE;re.bytesToNumberLE=SE;re.numberToBytesBE=Fy;re.numberToBytesLE=AE;re.numberToVarBytesBE=BE;re.ensureBytes=CE;re.equalBytes=PE;re.copyBytes=DE;re.asciiToBytes=FE;re.inRange=Vy;re.aInRange=VE;re.bitLen=UE;re.bitGet=LE;re.bitSet=qE;re.createHmacDrbg=kE;re.validateObject=HE;re.isHash=$E;re._validateObject=KE;re.memoized=ZE;var Jr=dt(),Sn=dt();Object.defineProperty(re,"abytes",{enumerable:!0,get:function(){return Sn.abytes}});Object.defineProperty(re,"anumber",{enumerable:!0,get:function(){return Sn.anumber}});Object.defineProperty(re,"bytesToHex",{enumerable:!0,get:function(){return Sn.bytesToHex}});Object.defineProperty(re,"bytesToUtf8",{enumerable:!0,get:function(){return Sn.bytesToUtf8}});Object.defineProperty(re,"concatBytes",{enumerable:!0,get:function(){return Sn.concatBytes}});Object.defineProperty(re,"hexToBytes",{enumerable:!0,get:function(){return Sn.hexToBytes}});Object.defineProperty(re,"isBytes",{enumerable:!0,get:function(){return Sn.isBytes}});Object.defineProperty(re,"randomBytes",{enumerable:!0,get:function(){return Sn.randomBytes}});Object.defineProperty(re,"utf8ToBytes",{enumerable:!0,get:function(){return Sn.utf8ToBytes}});var fu=BigInt(0),fa=BigInt(1);function NE(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function vE(t,e=""){if(typeof t!="boolean"){let r=e&&`"${e}"`;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function RE(t,e,r=""){let n=(0,Jr.isBytes)(t),o=t?.length,s=e!==void 0;if(!n||s&&o!==e){let i=r&&`"${r}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return t}function Dy(t){let e=t.toString(16);return e.length&1?"0"+e:e}function lp(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?fu:BigInt("0x"+t)}function IE(t){return lp((0,Jr.bytesToHex)(t))}function SE(t){return(0,Jr.abytes)(t),lp((0,Jr.bytesToHex)(Uint8Array.from(t).reverse()))}function Fy(t,e){return(0,Jr.hexToBytes)(t.toString(16).padStart(e*2,"0"))}function AE(t,e){return Fy(t,e).reverse()}function BE(t){return(0,Jr.hexToBytes)(Dy(t))}function CE(t,e,r){let n;if(typeof e=="string")try{n=(0,Jr.hexToBytes)(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if((0,Jr.isBytes)(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function PE(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function DE(t){return Uint8Array.from(t)}function FE(t){return Uint8Array.from(t,(e,r)=>{let n=e.charCodeAt(0);if(e.length!==1||n>127)throw new Error(`string contains non-ASCII character "${t[r]}" with code ${n} at position ${r}`);return n})}var dp=t=>typeof t=="bigint"&&fu<=t;function Vy(t,e,r){return dp(t)&&dp(e)&&dp(r)&&e<=t&&t<r}function VE(t,e,r,n){if(!Vy(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function UE(t){let e;for(e=0;t>fu;t>>=fa,e+=1);return e}function LE(t,e){return t>>BigInt(e)&fa}function qE(t,e,r){return t|(r?fa:fu)<<BigInt(e)}var ME=t=>(fa<<BigInt(t))-fa;re.bitMask=ME;function kE(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=f=>new Uint8Array(f),o=f=>Uint8Array.of(f),s=n(t),i=n(t),a=0,c=()=>{s.fill(1),i.fill(0),a=0},d=(...f)=>r(i,s,...f),p=(f=n(0))=>{i=d(o(0),f),s=d(),f.length!==0&&(i=d(o(1),f),s=d())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){s=d();let m=s.slice();h.push(m),f+=s.length}return(0,Jr.concatBytes)(...h)};return(f,h)=>{c(),p(f);let m;for(;!(m=h(l()));)p();return c(),m}}var jE={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||(0,Jr.isBytes)(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function HE(t,e,r={}){let n=(o,s,i)=>{let a=jE[s];if(typeof a!="function")throw new Error("invalid validator function");let c=t[o];if(!(i&&c===void 0)&&!a(c,t))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+c)};for(let[o,s]of Object.entries(e))n(o,s,!1);for(let[o,s]of Object.entries(r))n(o,s,!0);return t}function $E(t){return typeof t=="function"&&Number.isSafeInteger(t.outputLen)}function KE(t,e,r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(o,s,i){let a=t[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(e).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var GE=()=>{throw new Error("not implemented")};re.notImplemented=GE;function ZE(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let s=t(r,...n);return e.set(r,s),s}}});var Qr=z(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.isNegativeLE=void 0;je.mod=Xt;je.pow=WE;je.pow2=XE;je.invert=pu;je.tonelliShanks=pp;je.FpSqrt=Hy;je.validateField=rT;je.FpPow=hp;je.FpInvertBatch=$y;je.FpDiv=nT;je.FpLegendre=hu;je.FpIsSquare=oT;je.nLength=mp;je.Field=mu;je.FpSqrtOdd=sT;je.FpSqrtEven=iT;je.hashToPrivateScalar=aT;je.getFieldBytesLength=yp;je.getMinHashLength=Ky;je.mapHashToField=cT;var Jt=Ir(),Vt=BigInt(0),et=BigInt(1),Qo=BigInt(2),Uy=BigInt(3),Ly=BigInt(4),qy=BigInt(5),zE=BigInt(7),My=BigInt(8),YE=BigInt(9),ky=BigInt(16);function Xt(t,e){let r=t%e;return r>=Vt?r:e+r}function WE(t,e,r){return hp(mu(r),t,e)}function XE(t,e,r){let n=t;for(;e-- >Vt;)n*=n,n%=r;return n}function pu(t,e){if(t===Vt)throw new Error("invert: expected non-zero number");if(e<=Vt)throw new Error("invert: expected positive modulus, got "+e);let r=Xt(t,e),n=e,o=Vt,s=et,i=et,a=Vt;for(;r!==Vt;){let d=n/r,p=n%r,l=o-i*d,u=s-a*d;n=r,r=p,o=i,s=a,i=l,a=u}if(n!==et)throw new Error("invert: does not exist");return Xt(o,e)}function fp(t,e,r){if(!t.eql(t.sqr(e),r))throw new Error("Cannot find square root")}function jy(t,e){let r=(t.ORDER+et)/Ly,n=t.pow(e,r);return fp(t,n,e),n}function JE(t,e){let r=(t.ORDER-qy)/My,n=t.mul(e,Qo),o=t.pow(n,r),s=t.mul(e,o),i=t.mul(t.mul(s,Qo),o),a=t.mul(s,t.sub(i,t.ONE));return fp(t,a,e),a}function QE(t){let e=mu(t),r=pp(t),n=r(e,e.neg(e.ONE)),o=r(e,n),s=r(e,e.neg(n)),i=(t+zE)/ky;return(a,c)=>{let d=a.pow(c,i),p=a.mul(d,n),l=a.mul(d,o),u=a.mul(d,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(l),c);d=a.cmov(d,p,f),p=a.cmov(u,l,h);let m=a.eql(a.sqr(p),c),b=a.cmov(d,p,m);return fp(a,b,c),b}}function pp(t){if(t<Uy)throw new Error("sqrt is not defined for small field");let e=t-et,r=0;for(;e%Qo===Vt;)e/=Qo,r++;let n=Qo,o=mu(t);for(;hu(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return jy;let s=o.pow(n,e),i=(e+et)/Qo;return function(c,d){if(c.is0(d))return d;if(hu(c,d)!==1)throw new Error("Cannot find square root");let p=r,l=c.mul(c.ONE,s),u=c.pow(d,e),f=c.pow(d,i);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,m=c.sqr(u);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let b=et<<BigInt(p-h-1),y=c.pow(l,b);p=h,l=c.sqr(y),u=c.mul(u,l),f=c.mul(f,y)}return f}}function Hy(t){return t%Ly===Uy?jy:t%My===qy?JE:t%ky===YE?QE(t):pp(t)}var eT=(t,e)=>(Xt(t,e)&et)===et;je.isNegativeLE=eT;var tT=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rT(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=tT.reduce((n,o)=>(n[o]="function",n),e);return(0,Jt._validateObject)(t,r),t}function hp(t,e,r){if(r<Vt)throw new Error("invalid exponent, negatives unsupported");if(r===Vt)return t.ONE;if(r===et)return e;let n=t.ONE,o=e;for(;r>Vt;)r&et&&(n=t.mul(n,o)),o=t.sqr(o),r>>=et;return n}function $y(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((i,a,c)=>t.is0(a)?i:(n[c]=i,t.mul(i,a)),t.ONE),s=t.inv(o);return e.reduceRight((i,a,c)=>t.is0(a)?i:(n[c]=t.mul(i,n[c]),t.mul(i,a)),s),n}function nT(t,e,r){return t.mul(e,typeof r=="bigint"?pu(r,t.ORDER):t.inv(r))}function hu(t,e){let r=(t.ORDER-et)/Qo,n=t.pow(e,r),o=t.eql(n,t.ONE),s=t.eql(n,t.ZERO),i=t.eql(n,t.neg(t.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function oT(t,e){return hu(t,e)===1}function mp(t,e){e!==void 0&&(0,Jt.anumber)(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function mu(t,e,r=!1,n={}){if(t<=Vt)throw new Error("invalid field: expected ORDER > 0, got "+t);let o,s,i=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=e;u.BITS&&(o=u.BITS),u.sqrt&&(s=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(i=u.modFromBytes),a=u.allowedLengths}else typeof e=="number"&&(o=e),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:d}=mp(t,o);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,l=Object.freeze({ORDER:t,isLE:r,BITS:c,BYTES:d,MASK:(0,Jt.bitMask)(c),ZERO:Vt,ONE:et,allowedLengths:a,create:u=>Xt(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Vt<=u&&u<t},is0:u=>u===Vt,isValidNot0:u=>!l.is0(u)&&l.isValid(u),isOdd:u=>(u&et)===et,neg:u=>Xt(-u,t),eql:(u,f)=>u===f,sqr:u=>Xt(u*u,t),add:(u,f)=>Xt(u+f,t),sub:(u,f)=>Xt(u-f,t),mul:(u,f)=>Xt(u*f,t),pow:(u,f)=>hp(l,u,f),div:(u,f)=>Xt(u*pu(f,t),t),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>pu(u,t),sqrt:s||(u=>(p||(p=Hy(t)),p(l,u))),toBytes:u=>r?(0,Jt.numberToBytesLE)(u,d):(0,Jt.numberToBytesBE)(u,d),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>d)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let m=new Uint8Array(d);m.set(u,r?0:m.length-u.length),u=m}if(u.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+u.length);let h=r?(0,Jt.bytesToNumberLE)(u):(0,Jt.bytesToNumberBE)(u);if(i&&(h=Xt(h,t)),!f&&!l.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>$y(l,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(l)}function sT(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?r:t.neg(r)}function iT(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function aT(t,e,r=!1){t=(0,Jt.ensureBytes)("privateHash",t);let n=t.length,o=mp(e).nByteLength+8;if(o<24||n<o||n>1024)throw new Error("hashToPrivateScalar: expected "+o+"-1024 bytes of input, got "+n);let s=r?(0,Jt.bytesToNumberLE)(t):(0,Jt.bytesToNumberBE)(t);return Xt(s,e-et)+et}function yp(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Ky(t){let e=yp(t);return e+Math.ceil(e/2)}function cT(t,e,r=!1){let n=t.length,o=yp(e),s=Ky(e);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?(0,Jt.bytesToNumberLE)(t):(0,Jt.bytesToNumberBE)(t),a=Xt(i,e-et)+et;return r?(0,Jt.numberToBytesLE)(a,o):(0,Jt.numberToBytesBE)(a,o)}});var ma=z(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.wNAF=void 0;Sr.negateCt=xp;Sr.normalizeZ=uT;Sr.mulEndoUnsafe=dT;Sr.pippenger=lT;Sr.precomputeMSMUnsafe=fT;Sr.validateBasic=pT;Sr._createCurveFields=hT;var pa=Ir(),ha=Qr(),ei=BigInt(0),es=BigInt(1);function xp(t,e){let r=e.negate();return t?r:e}function uT(t,e){let r=(0,ha.FpInvertBatch)(t.Fp,e.map(n=>n.Z));return e.map((n,o)=>t.fromAffine(n.toAffine(r[o])))}function Ep(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function _p(t,e){Ep(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,s=(0,pa.bitMask)(t),i=BigInt(t);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Gy(t,e,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(t&o),c=t>>i;a>n&&(a-=s,c+=es);let d=e*n,p=d+Math.abs(a)-1,l=a===0,u=a<0,f=e%2!==0;return{nextN:c,offset:p,isZero:l,isNeg:u,isNegF:f,offsetF:d}}function Yy(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function Wy(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var bp=new WeakMap,Xy=new WeakMap;function gp(t){return Xy.get(t)||1}function Zy(t){if(t!==ei)throw new Error("invalid wNAF")}var wp=class{constructor(e,r){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=r}_unsafeLadder(e,r,n=this.ZERO){let o=e;for(;r>ei;)r&es&&(n=n.add(o)),o=o.double(),r>>=es;return n}precomputeWindow(e,r){let{windows:n,windowSize:o}=_p(r,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let d=1;d<o;d++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=_p(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:d,isZero:p,isNeg:l,isNegF:u,offsetF:f}=Gy(n,a,i);n=c,p?s=s.add(xp(u,r[f])):o=o.add(xp(l,r[d]))}return Zy(n),{p:o,f:s}}wNAFUnsafe(e,r,n,o=this.ZERO){let s=_p(e,this.bits);for(let i=0;i<s.windows&&n!==ei;i++){let{nextN:a,offset:c,isZero:d,isNeg:p}=Gy(n,i,s);if(n=a,!d){let l=r[c];o=o.add(p?l.negate():l)}}return Zy(n),o}getPrecomputes(e,r,n){let o=bp.get(r);return o||(o=this.precomputeWindow(r,e),e!==1&&(typeof n=="function"&&(o=n(o)),bp.set(r,o))),o}cached(e,r,n){let o=gp(e);return this.wNAF(o,this.getPrecomputes(o,e,n),r)}unsafe(e,r,n,o){let s=gp(e);return s===1?this._unsafeLadder(e,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),r,o)}createCache(e,r){Ep(r,this.bits),Xy.set(e,r),bp.delete(e)}hasCache(e){return gp(e)!==1}};Sr.wNAF=wp;function dT(t,e,r,n){let o=e,s=t.ZERO,i=t.ZERO;for(;r>ei||n>ei;)r&es&&(s=s.add(o)),n&es&&(i=i.add(o)),o=o.double(),r>>=es,n>>=es;return{p1:s,p2:i}}function lT(t,e,r,n){Yy(r,t),Wy(n,e);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,a=(0,pa.bitLen)(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let d=(0,pa.bitMask)(c),p=new Array(Number(d)+1).fill(i),l=Math.floor((e.BITS-1)/c)*c,u=i;for(let f=l;f>=0;f-=c){p.fill(i);for(let m=0;m<s;m++){let b=n[m],y=Number(b>>BigInt(f)&d);p[y]=p[y].add(r[m])}let h=i;for(let m=p.length-1,b=i;m>0;m--)b=b.add(p[m]),h=h.add(b);if(u=u.add(h),f!==0)for(let m=0;m<c;m++)u=u.double()}return u}function fT(t,e,r,n){Ep(n,e.BITS),Yy(r,t);let o=t.ZERO,s=2**n-1,i=Math.ceil(e.BITS/n),a=(0,pa.bitMask)(n),c=r.map(d=>{let p=[];for(let l=0,u=d;l<s;l++)p.push(u),u=u.add(d);return p});return d=>{if(Wy(d,e),d.length>r.length)throw new Error("array of scalars must be smaller than array of points");let p=o;for(let l=0;l<i;l++){if(p!==o)for(let f=0;f<n;f++)p=p.double();let u=BigInt(i*n-(l+1)*n);for(let f=0;f<d.length;f++){let h=d[f],m=Number(h>>u&a);m&&(p=p.add(c[f][m-1]))}}return p}}function pT(t){return(0,ha.validateField)(t.Fp),(0,pa.validateObject)(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,ha.nLength)(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function zy(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,ha.validateField)(e),e}else return(0,ha.Field)(t,{isLE:r})}function hT(t,e,r={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let d=e[c];if(!(typeof d=="bigint"&&d>ei))throw new Error(`CURVE.${c} must be positive bigint`)}let o=zy(e.p,r.Fp,n),s=zy(e.n,r.Fn,n),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}});var _u=z(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en._DST_scalar=void 0;en.expand_message_xmd=e_;en.expand_message_xof=t_;en.hash_to_field=yu;en.isogenyMap=_T;en.createHasher=bT;var gt=Ir(),Jy=Qr(),mT=gt.bytesToNumberBE;function mo(t,e){if(ya(t),ya(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function yT(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function ya(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function Qy(t){if(!(0,gt.isBytes)(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or string");return typeof t=="string"?(0,gt.utf8ToBytes)(t):t}function e_(t,e,r,n){(0,gt.abytes)(t),ya(r),e=Qy(e),e.length>255&&(e=n((0,gt.concatBytes)((0,gt.utf8ToBytes)("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=(0,gt.concatBytes)(e,mo(e.length,1)),c=mo(0,s),d=mo(r,2),p=new Array(i),l=n((0,gt.concatBytes)(c,t,d,mo(0,1),a));p[0]=n((0,gt.concatBytes)(l,mo(1,1),a));for(let f=1;f<=i;f++){let h=[yT(l,p[f-1]),mo(f+1,1),a];p[f]=n((0,gt.concatBytes)(...h))}return(0,gt.concatBytes)(...p).slice(0,r)}function t_(t,e,r,n,o){if((0,gt.abytes)(t),ya(r),e=Qy(e),e.length>255){let s=Math.ceil(2*n/8);e=o.create({dkLen:s}).update((0,gt.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(mo(r,2)).update(e).update(mo(e.length,1)).digest()}function yu(t,e,r){(0,gt._validateObject)(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!(0,gt.isHash)(r.hash))throw new Error("expected valid hash");(0,gt.abytes)(t),ya(e);let d=n.toString(2).length,p=Math.ceil((d+o)/8),l=e*s*p,u;if(a==="xmd")u=e_(t,c,l,i);else if(a==="xof")u=t_(t,c,l,o,i);else if(a==="_internal_pass")u=t;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(e);for(let h=0;h<e;h++){let m=new Array(s);for(let b=0;b<s;b++){let y=p*(b+h*s),x=u.subarray(y,y+p);m[b]=(0,Jy.mod)(mT(x),n)}f[h]=m}return f}function _T(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(l=>l.reduce((u,f)=>t.add(t.mul(u,n),f))),[d,p]=(0,Jy.FpInvertBatch)(t,[i,c],!0);return n=t.mul(s,d),o=t.mul(o,t.mul(a,p)),{x:n,y:o}}}en._DST_scalar=(0,gt.utf8ToBytes)("HashToScalar-");function bT(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(s){return t.fromAffine(e(s))}function o(s){let i=s.clearCofactor();return i.equals(t.ZERO)?t.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=yu(s,2,a),d=n(c[0]),p=n(c[1]);return o(d.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),d=yu(s,1,c),p=n(d[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=t.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:en._DST_scalar},i);return yu(s,1,c)[0][0]}}}});var r_=z(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.hmac=rs.HMAC=void 0;var ts=dt(),_a=class extends ts.Hash{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,(0,ts.ahash)(e);let n=(0,ts.toBytes)(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),(0,ts.clean)(s)}update(e){return(0,ts.aexists)(this),this.iHash.update(e),this}digestInto(e){(0,ts.aexists)(this),(0,ts.abytes)(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};rs.HMAC=_a;var gT=(t,e,r)=>new _a(t,e).update(r).digest();rs.hmac=gT;rs.hmac.create=(t,e)=>new _a(t,e)});var Rp=z(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.DER=qe.DERErr=void 0;qe._splitEndoScalar=o_;qe._normFnElement=yo;qe.weierstrassN=vp;qe.SWUFpSqrtRatio=i_;qe.mapToCurveSimpleSWU=ET;qe.ecdh=c_;qe.ecdsa=u_;qe.weierstrassPoints=TT;qe._legacyHelperEquat=l_;qe.weierstrass=RT;var xT=r_(),wT=dt(),W=Ir(),An=ma(),ri=Qr(),n_=(t,e)=>(t+(t>=0?e:-e)/tn)/e;function o_(t,e,r){let[[n,o],[s,i]]=e,a=n_(i*t,r),c=n_(-o*t,r),d=t-a*n-c*s,p=-a*o-c*i,l=d<Ar,u=p<Ar;l&&(d=-d),u&&(p=-p);let f=(0,W.bitMask)(Math.ceil((0,W.bitLen)(r)/2))+xt;if(d<Ar||d>=f||p<Ar||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:l,k1:d,k2neg:u,k2:p}}function Op(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Tp(t,e){let r={};for(let n of Object.keys(e))r[n]=t[n]===void 0?e[n]:t[n];return(0,W._abool2)(r.lowS,"lowS"),(0,W._abool2)(r.prehash,"prehash"),r.format!==void 0&&Op(r.format),r}var bu=class extends Error{constructor(e=""){super(e)}};qe.DERErr=bu;qe.DER={Err:bu,_tlv:{encode:(t,e)=>{let{Err:r}=qe.DER;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,o=(0,W.numberToHexUnpadded)(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?(0,W.numberToHexUnpadded)(o.length/2|128):"";return(0,W.numberToHexUnpadded)(t)+s+o+e},decode(t,e){let{Err:r}=qe.DER,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let o=e[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let d=e.subarray(n,n+c);if(d.length!==c)throw new r("tlv.decode: length bytes not complete");if(d[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let p of d)i=i<<8|p;if(n+=c,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+i)}}},_int:{encode(t){let{Err:e}=qe.DER;if(t<Ar)throw new e("integer: negative integers are not allowed");let r=(0,W.numberToHexUnpadded)(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=qe.DER;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return(0,W.bytesToNumberBE)(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=qe.DER,o=(0,W.ensureBytes)("signature",t),{v:s,l:i}=n.decode(48,o);if(i.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:d,l:p}=n.decode(2,c);if(p.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(d)}},hexFromSig(t){let{_tlv:e,_int:r}=qe.DER,n=e.encode(2,r.encode(t.r)),o=e.encode(2,r.encode(t.s)),s=n+o;return e.encode(48,s)}};var Ar=BigInt(0),xt=BigInt(1),tn=BigInt(2),ti=BigInt(3),Np=BigInt(4);function yo(t,e){let{BYTES:r}=t,n;if(typeof e=="bigint")n=e;else{let o=(0,W.ensureBytes)("private key",e);try{n=t.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function vp(t,e={}){let r=(0,An._createCurveFields)("weierstrass",t,e),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;(0,W._validateObject)(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=a_(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(C,g,w){let{x:O,y:P}=g.toAffine(),L=n.toBytes(O);if((0,W._abool2)(w,"isCompressed"),w){p();let I=!n.isOdd(P);return(0,W.concatBytes)(s_(I),L)}else return(0,W.concatBytes)(Uint8Array.of(4),L,n.toBytes(P))}function u(C){(0,W._abytes2)(C,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=d,O=C.length,P=C[0],L=C.subarray(1);if(O===g&&(P===2||P===3)){let I=n.fromBytes(L);if(!n.isValid(I))throw new Error("bad point: is not on curve, wrong x");let B=m(I),F;try{F=n.sqrt(B)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}p();let U=n.isOdd(F);return(P&1)===1!==U&&(F=n.neg(F)),{x:I,y:F}}else if(O===w&&P===4){let I=n.BYTES,B=n.fromBytes(L.subarray(0,I)),F=n.fromBytes(L.subarray(I,I*2));if(!b(B,F))throw new Error("bad point: is not on curve");return{x:B,y:F}}else throw new Error(`bad point: got length ${O}, expected compressed=${g} or uncompressed=${w}`)}let f=e.toBytes||l,h=e.fromBytes||u;function m(C){let g=n.sqr(C),w=n.mul(g,C);return n.add(n.add(w,n.mul(C,s.a)),s.b)}function b(C,g){let w=n.sqr(g),O=m(C);return n.eql(w,O)}if(!b(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(s.a,ti),Np),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(y,x)))throw new Error("bad curve params: a or b");function _(C,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${C}`);return g}function T(C){if(!(C instanceof E))throw new Error("ProjectivePoint expected")}function N(C){if(!c||!c.basises)throw new Error("no endo");return o_(C,c.basises,o.ORDER)}let R=(0,W.memoized)((C,g)=>{let{X:w,Y:O,Z:P}=C;if(n.eql(P,n.ONE))return{x:w,y:O};let L=C.is0();g==null&&(g=L?n.ONE:n.inv(P));let I=n.mul(w,g),B=n.mul(O,g),F=n.mul(P,g);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}),v=(0,W.memoized)(C=>{if(C.is0()){if(e.allowInfinityPoint&&!n.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:g,y:w}=C.toAffine();if(!n.isValid(g)||!n.isValid(w))throw new Error("bad point: x or y not field elements");if(!b(g,w))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function A(C,g,w,O,P){return w=new E(n.mul(w.X,C),w.Y,w.Z),g=(0,An.negateCt)(O,g),w=(0,An.negateCt)(P,w),g.add(w)}class E{constructor(g,w,O){this.X=_("x",g),this.Y=_("y",w,!0),this.Z=_("z",O),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:O}=g||{};if(!g||!n.isValid(w)||!n.isValid(O))throw new Error("invalid affine point");if(g instanceof E)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(O)?E.ZERO:new E(w,O,n.ONE)}static fromBytes(g){let w=E.fromAffine(h((0,W._abytes2)(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return E.fromBytes((0,W.ensureBytes)("pointHex",g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return V.createCache(this,g),w||this.multiply(ti),this}assertValidity(){v(this)}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.eql(n.mul(w,B),n.mul(L,P)),U=n.eql(n.mul(O,B),n.mul(I,P));return F&&U}negate(){return new E(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,O=n.mul(w,ti),{X:P,Y:L,Z:I}=this,B=n.ZERO,F=n.ZERO,U=n.ZERO,q=n.mul(P,P),H=n.mul(L,L),Y=n.mul(I,I),G=n.mul(P,L);return G=n.add(G,G),U=n.mul(P,I),U=n.add(U,U),B=n.mul(g,U),F=n.mul(O,Y),F=n.add(B,F),B=n.sub(H,F),F=n.add(H,F),F=n.mul(B,F),B=n.mul(G,B),U=n.mul(O,U),Y=n.mul(g,Y),G=n.sub(q,Y),G=n.mul(g,G),G=n.add(G,U),U=n.add(q,q),q=n.add(U,q),q=n.add(q,Y),q=n.mul(q,G),F=n.add(F,q),Y=n.mul(L,I),Y=n.add(Y,Y),q=n.mul(Y,G),B=n.sub(B,q),U=n.mul(Y,H),U=n.add(U,U),U=n.add(U,U),new E(B,F,U)}add(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.ZERO,U=n.ZERO,q=n.ZERO,H=s.a,Y=n.mul(s.b,ti),G=n.mul(w,L),ie=n.mul(O,I),ae=n.mul(P,B),Ce=n.add(w,O),ee=n.add(L,I);Ce=n.mul(Ce,ee),ee=n.add(G,ie),Ce=n.sub(Ce,ee),ee=n.add(w,P);let ce=n.add(L,B);return ee=n.mul(ee,ce),ce=n.add(G,ae),ee=n.sub(ee,ce),ce=n.add(O,P),F=n.add(I,B),ce=n.mul(ce,F),F=n.add(ie,ae),ce=n.sub(ce,F),q=n.mul(H,ee),F=n.mul(Y,ae),q=n.add(F,q),F=n.sub(ie,q),q=n.add(ie,q),U=n.mul(F,q),ie=n.add(G,G),ie=n.add(ie,G),ae=n.mul(H,ae),ee=n.mul(Y,ee),ie=n.add(ie,ae),ae=n.sub(G,ae),ae=n.mul(H,ae),ee=n.add(ee,ae),G=n.mul(ie,ee),U=n.add(U,G),G=n.mul(ce,ee),F=n.mul(Ce,F),F=n.sub(F,G),G=n.mul(Ce,ie),q=n.mul(ce,q),q=n.add(q,G),new E(F,U,q)}subtract(g){return this.add(g.negate())}is0(){return this.equals(E.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new Error("invalid scalar: out of range");let O,P,L=I=>V.cached(this,I,B=>(0,An.normalizeZ)(E,B));if(w){let{k1neg:I,k1:B,k2neg:F,k2:U}=N(g),{p:q,f:H}=L(B),{p:Y,f:G}=L(U);P=H.add(G),O=A(w.beta,q,Y,I,F)}else{let{p:I,f:B}=L(g);O=I,P=B}return(0,An.normalizeZ)(E,[O,P])[0]}multiplyUnsafe(g){let{endo:w}=e,O=this;if(!o.isValid(g))throw new Error("invalid scalar: out of range");if(g===Ar||O.is0())return E.ZERO;if(g===xt)return O;if(V.hasCache(this))return this.multiply(g);if(w){let{k1neg:P,k1:L,k2neg:I,k2:B}=N(g),{p1:F,p2:U}=(0,An.mulEndoUnsafe)(E,O,L,B);return A(w.beta,F,U,P,I)}else return V.unsafe(O,g)}multiplyAndAddUnsafe(g,w,O){let P=this.multiplyUnsafe(w).add(g.multiplyUnsafe(O));return P.is0()?void 0:P}toAffine(g){return R(this,g)}isTorsionFree(){let{isTorsionFree:g}=e;return i===xt?!0:g?g(E,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===xt?this:g?g(E,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(g=!0){return(0,W._abool2)(g,"isCompressed"),this.assertValidity(),f(E,this,g)}toHex(g=!0){return(0,W.bytesToHex)(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(g=!0){return this.toBytes(g)}_setWindowSize(g){this.precompute(g)}static normalizeZ(g){return(0,An.normalizeZ)(E,g)}static msm(g,w){return(0,An.pippenger)(E,o,g,w)}static fromPrivateKey(g){return E.BASE.multiply(yo(o,g))}}E.BASE=new E(s.Gx,s.Gy,n.ONE),E.ZERO=new E(n.ZERO,n.ONE,n.ZERO),E.Fp=n,E.Fn=o;let S=o.BITS,V=new An.wNAF(E,e.endo?Math.ceil(S/2):S);return E.BASE.precompute(8),E}function s_(t){return Uint8Array.of(t?2:3)}function i_(t,e){let r=t.ORDER,n=Ar;for(let h=r-xt;h%tn===Ar;h/=tn)n+=xt;let o=n,s=tn<<o-xt-xt,i=s*tn,a=(r-xt)/i,c=(a-xt)/tn,d=i-xt,p=s,l=t.pow(e,a),u=t.pow(e,(a+xt)/tn),f=(h,m)=>{let b=l,y=t.pow(m,d),x=t.sqr(y);x=t.mul(x,m);let _=t.mul(h,x);_=t.pow(_,c),_=t.mul(_,y),y=t.mul(_,m),x=t.mul(_,h);let T=t.mul(x,y);_=t.pow(T,p);let N=t.eql(_,t.ONE);y=t.mul(x,u),_=t.mul(T,b),x=t.cmov(y,x,N),T=t.cmov(_,T,N);for(let R=o;R>xt;R--){let v=R-tn;v=tn<<v-xt;let A=t.pow(T,v),E=t.eql(A,t.ONE);y=t.mul(x,b),b=t.mul(b,b),A=t.mul(T,b),x=t.cmov(y,x,E),T=t.cmov(A,T,E)}return{isValid:N,value:x}};if(t.ORDER%Np===ti){let h=(t.ORDER-ti)/Np,m=t.sqrt(t.neg(e));f=(b,y)=>{let x=t.sqr(y),_=t.mul(b,y);x=t.mul(x,_);let T=t.pow(x,h);T=t.mul(T,_);let N=t.mul(T,m),R=t.mul(t.sqr(T),y),v=t.eql(R,b),A=t.cmov(N,T,v);return{isValid:v,value:A}}}return f}function ET(t,e){(0,ri.validateField)(t);let{A:r,B:n,Z:o}=e;if(!t.isValid(r)||!t.isValid(n)||!t.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=i_(t,o);if(!t.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,d,p,l,u,f,h;a=t.sqr(i),a=t.mul(a,o),c=t.sqr(a),c=t.add(c,a),d=t.add(c,t.ONE),d=t.mul(d,n),p=t.cmov(o,t.neg(c),!t.eql(c,t.ZERO)),p=t.mul(p,r),c=t.sqr(d),u=t.sqr(p),l=t.mul(u,r),c=t.add(c,l),c=t.mul(c,d),u=t.mul(u,p),l=t.mul(u,n),c=t.add(c,l),f=t.mul(a,d);let{isValid:m,value:b}=s(c,u);h=t.mul(a,i),h=t.mul(h,b),f=t.cmov(f,d,m),h=t.cmov(h,b,m);let y=t.isOdd(i)===t.isOdd(h);h=t.cmov(t.neg(h),h,y);let x=(0,ri.FpInvertBatch)(t,[p],!0)[0];return f=t.mul(f,x),{x:f,y:h}}}function a_(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function c_(t,e={}){let{Fn:r}=t,n=e.randomBytes||W.randomBytes,o=Object.assign(a_(t.Fp,r),{seed:(0,ri.getMinHashLength)(r.ORDER)});function s(f){try{return!!yo(r,f)}catch{return!1}}function i(f,h){let{publicKey:m,publicKeyUncompressed:b}=o;try{let y=f.length;return h===!0&&y!==m||h===!1&&y!==b?!1:!!t.fromBytes(f)}catch{return!1}}function a(f=n(o.seed)){return(0,ri.mapHashToField)((0,W._abytes2)(f,o.seed,"seed"),r.ORDER)}function c(f,h=!0){return t.BASE.multiply(yo(r,f)).toBytes(h)}function d(f){let h=a(f);return{secretKey:h,publicKey:c(h)}}function p(f){if(typeof f=="bigint")return!1;if(f instanceof t)return!0;let{secretKey:h,publicKey:m,publicKeyUncompressed:b}=o;if(r.allowedLengths||h===m)return;let y=(0,W.ensureBytes)("key",f).length;return y===m||y===b}function l(f,h,m=!0){if(p(f)===!0)throw new Error("first arg must be private key");if(p(h)===!1)throw new Error("second arg must be public key");let b=yo(r,f);return t.fromHex(h).multiply(b).toBytes(m)}return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:d,Point:t,utils:{isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:f=>yo(r,f),precompute(f=8,h=t.BASE){return h.precompute(f,!1)}},lengths:o})}function u_(t,e,r={}){(0,wT.ahash)(e),(0,W._validateObject)(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=r.randomBytes||W.randomBytes,o=r.hmac||((w,...O)=>(0,xT.hmac)(e,w,(0,W.concatBytes)(...O))),{Fp:s,Fn:i}=t,{ORDER:a,BITS:c}=i,{keygen:d,getPublicKey:p,getSharedSecret:l,utils:u,lengths:f}=c_(t,r),h={prehash:!1,lowS:typeof r.lowS=="boolean"?r.lowS:!1,format:void 0,extraEntropy:!1},m="compact";function b(w){let O=a>>xt;return w>O}function y(w,O){if(!i.isValidNot0(O))throw new Error(`invalid signature ${w}: out of range 1..Point.Fn.ORDER`);return O}function x(w,O){Op(O);let P=f.signature,L=O==="compact"?P:O==="recovered"?P+1:void 0;return(0,W._abytes2)(w,L,`${O} signature`)}class _{constructor(O,P,L){this.r=y("r",O),this.s=y("s",P),L!=null&&(this.recovery=L),Object.freeze(this)}static fromBytes(O,P=m){x(O,P);let L;if(P==="der"){let{r:U,s:q}=qe.DER.toSig((0,W._abytes2)(O));return new _(U,q)}P==="recovered"&&(L=O[0],P="compact",O=O.subarray(1));let I=i.BYTES,B=O.subarray(0,I),F=O.subarray(I,I*2);return new _(i.fromBytes(B),i.fromBytes(F),L)}static fromHex(O,P){return this.fromBytes((0,W.hexToBytes)(O),P)}addRecoveryBit(O){return new _(this.r,this.s,O)}recoverPublicKey(O){let P=s.ORDER,{r:L,s:I,recovery:B}=this;if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");if(a*tn<P&&B>1)throw new Error("recovery id is ambiguous for h>1 curve");let U=B===2||B===3?L+a:L;if(!s.isValid(U))throw new Error("recovery id 2 or 3 invalid");let q=s.toBytes(U),H=t.fromBytes((0,W.concatBytes)(s_((B&1)===0),q)),Y=i.inv(U),G=N((0,W.ensureBytes)("msgHash",O)),ie=i.create(-G*Y),ae=i.create(I*Y),Ce=t.BASE.multiplyUnsafe(ie).add(H.multiplyUnsafe(ae));if(Ce.is0())throw new Error("point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return b(this.s)}toBytes(O=m){if(Op(O),O==="der")return(0,W.hexToBytes)(qe.DER.hexFromSig(this));let P=i.toBytes(this.r),L=i.toBytes(this.s);if(O==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,W.concatBytes)(Uint8Array.of(this.recovery),P,L)}return(0,W.concatBytes)(P,L)}toHex(O){return(0,W.bytesToHex)(this.toBytes(O))}assertValidity(){}static fromCompact(O){return _.fromBytes((0,W.ensureBytes)("sig",O),"compact")}static fromDER(O){return _.fromBytes((0,W.ensureBytes)("sig",O),"der")}normalizeS(){return this.hasHighS()?new _(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,W.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,W.bytesToHex)(this.toBytes("compact"))}}let T=r.bits2int||function(O){if(O.length>8192)throw new Error("input is too large");let P=(0,W.bytesToNumberBE)(O),L=O.length*8-c;return L>0?P>>BigInt(L):P},N=r.bits2int_modN||function(O){return i.create(T(O))},R=(0,W.bitMask)(c);function v(w){return(0,W.aInRange)("num < 2^"+c,w,Ar,R),i.toBytes(w)}function A(w,O){return(0,W._abytes2)(w,void 0,"message"),O?(0,W._abytes2)(e(w),void 0,"prehashed message"):w}function E(w,O,P){if(["recovered","canonical"].some(ie=>ie in P))throw new Error("sign() legacy options not supported");let{lowS:L,prehash:I,extraEntropy:B}=Tp(P,h);w=A(w,I);let F=N(w),U=yo(i,O),q=[v(U),v(F)];if(B!=null&&B!==!1){let ie=B===!0?n(f.secretKey):B;q.push((0,W.ensureBytes)("extraEntropy",ie))}let H=(0,W.concatBytes)(...q),Y=F;function G(ie){let ae=T(ie);if(!i.isValidNot0(ae))return;let Ce=i.inv(ae),ee=t.BASE.multiply(ae).toAffine(),ce=i.create(ee.x);if(ce===Ar)return;let lr=i.create(Ce*i.create(Y+ce*U));if(lr===Ar)return;let vr=(ee.x===ce?0:2)|Number(ee.y&xt),fr=lr;return L&&b(lr)&&(fr=i.neg(lr),vr^=1),new _(ce,fr,vr)}return{seed:H,k2sig:G}}function S(w,O,P={}){w=(0,W.ensureBytes)("message",w);let{seed:L,k2sig:I}=E(w,O,P);return(0,W.createHmacDrbg)(e.outputLen,i.BYTES,o)(L,I)}function V(w){let O,P=typeof w=="string"||(0,W.isBytes)(w),L=!P&&w!==null&&typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint";if(!P&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(L)O=new _(w.r,w.s);else if(P){try{O=_.fromBytes((0,W.ensureBytes)("sig",w),"der")}catch(I){if(!(I instanceof qe.DER.Err))throw I}if(!O)try{O=_.fromBytes((0,W.ensureBytes)("sig",w),"compact")}catch{return!1}}return O||!1}function C(w,O,P,L={}){let{lowS:I,prehash:B,format:F}=Tp(L,h);if(P=(0,W.ensureBytes)("publicKey",P),O=A((0,W.ensureBytes)("message",O),B),"strict"in L)throw new Error("options.strict was renamed to lowS");let U=F===void 0?V(w):_.fromBytes((0,W.ensureBytes)("sig",w),F);if(U===!1)return!1;try{let q=t.fromBytes(P);if(I&&U.hasHighS())return!1;let{r:H,s:Y}=U,G=N(O),ie=i.inv(Y),ae=i.create(G*ie),Ce=i.create(H*ie),ee=t.BASE.multiplyUnsafe(ae).add(q.multiplyUnsafe(Ce));return ee.is0()?!1:i.create(ee.x)===H}catch{return!1}}function g(w,O,P={}){let{prehash:L}=Tp(P,h);return O=A(O,L),_.fromBytes(w,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:d,getPublicKey:p,getSharedSecret:l,utils:u,lengths:f,Point:t,sign:S,verify:C,recoverPublicKey:g,Signature:_,hash:e})}function TT(t){let{CURVE:e,curveOpts:r}=d_(t),n=vp(e,r);return NT(t,n)}function d_(t){let e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=(0,ri.Field)(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:s}}function OT(t){let{CURVE:e,curveOpts:r}=d_(t),n={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:r,hash:t.hash,ecdsaOpts:n}}function l_(t,e,r){function n(o){let s=t.sqr(o),i=t.mul(s,o);return t.add(t.add(i,t.mul(o,e)),r)}return n}function NT(t,e){let{Fp:r,Fn:n}=e;function o(i){return(0,W.inRange)(i,xt,n.ORDER)}let s=l_(r,t.a,t.b);return Object.assign({},{CURVE:t,Point:e,ProjectivePoint:e,normPrivateKeyToScalar:i=>yo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}function vT(t,e){let r=e.Point;return Object.assign({},e,{ProjectivePoint:r,CURVE:Object.assign({},t,(0,ri.nLength)(r.Fn.ORDER,r.Fn.BITS))})}function RT(t){let{CURVE:e,curveOpts:r,hash:n,ecdsaOpts:o}=OT(t),s=vp(e,r),i=u_(s,n,o);return vT(t,i)}});var __=z(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.bls=BT;var ba=Ir(),f_=ma(),p_=_u(),h_=Qr(),xu=Rp(),IT=BigInt(0),gu=BigInt(1),m_=BigInt(2),ni=BigInt(3);function ST(t){let e=[];for(;t>gu;t>>=gu)(t&gu)===IT?e.unshift(0):(t&ni)===ni?(e.unshift(-1),t+=gu):e.unshift(1);return e}function Ip(t){if(!Array.isArray(t)||t.length===0)throw new Error("expected non-empty array")}function AT(t,e,r,n){let{Fp2:o,Fp12:s}=t,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:d}=n,p;if(i==="multiplicative")p=(_,T,N,R,v,A)=>s.mul014(R,_,o.mul(T,v),o.mul(N,A));else if(i==="divisive")p=(_,T,N,R,v,A)=>s.mul034(R,o.mul(N,A),o.mul(T,v),_);else throw new Error("bls: unknown twist type");let l=o.div(o.ONE,o.mul(o.ONE,m_));function u(_,T,N,R){let v=o.sqr(N),A=o.sqr(R),E=o.mulByB(o.mul(A,ni)),S=o.mul(E,ni),V=o.sub(o.sub(o.sqr(o.add(N,R)),A),v),C=o.sub(E,v),g=o.mul(o.sqr(T),ni),w=o.neg(V);return _.push([C,g,w]),T=o.mul(o.mul(o.mul(o.sub(v,S),T),N),l),N=o.sub(o.sqr(o.mul(o.add(v,S),l)),o.mul(o.sqr(E),ni)),R=o.mul(v,V),{Rx:T,Ry:N,Rz:R}}function f(_,T,N,R,v,A){let E=o.sub(N,o.mul(A,R)),S=o.sub(T,o.mul(v,R)),V=o.sub(o.mul(E,v),o.mul(S,A)),C=o.neg(E),g=S;_.push([V,C,g]);let w=o.sqr(S),O=o.mul(w,S),P=o.mul(w,T),L=o.add(o.sub(O,o.mul(P,m_)),o.mul(o.sqr(E),R));return T=o.mul(S,L),N=o.sub(o.mul(o.sub(P,L),E),o.mul(O,N)),R=o.mul(R,O),{Rx:T,Ry:N,Rz:R}}let h=ST(a),m=(0,ba.memoized)(_=>{let T=_,{x:N,y:R}=T.toAffine(),v=N,A=R,E=o.neg(R),S=v,V=A,C=o.ONE,g=[];for(let w of h){let O=[];({Rx:S,Ry:V,Rz:C}=u(O,S,V,C)),w&&({Rx:S,Ry:V,Rz:C}=f(O,S,V,C,v,w===-1?E:A)),g.push(O)}if(d){let w=g[g.length-1];d(S,V,C,v,A,f.bind(null,w))}return g});function b(_,T=!1){let N=s.ONE;if(_.length){let R=_[0][0].length;for(let v=0;v<R;v++){N=s.sqr(N);for(let[A,E,S]of _)for(let[V,C,g]of A[v])N=p(V,C,g,N,E,S)}}return c&&(N=s.conjugate(N)),T?s.finalExponentiate(N):N}function y(_,T=!0){let N=[];(0,f_.normalizeZ)(e,_.map(({g1:R})=>R)),(0,f_.normalizeZ)(r,_.map(({g2:R})=>R));for(let{g1:R,g2:v}of _){if(R.is0()||v.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),v.assertValidity();let A=R.toAffine();N.push([m(v),A.x,A.y])}return b(N,T)}function x(_,T,N=!0){return y([{g1:_,g2:T}],N)}return{Fp12:s,millerLoopBatch:b,pairing:x,pairingBatch:y,calcPairingPrecomputes:m}}function y_(t,e,r,n,o){let{Fp12:s,pairingBatch:i}=t;function a(l){return l instanceof e.Point?l:e.Point.fromHex(l)}function c(l){return l instanceof r.Point?l:r.Point.fromHex(l)}function d(l){if(!(l instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return l}let p=o?(l,u)=>({g1:u,g2:l}):(l,u)=>({g1:l,g2:u});return{getPublicKey(l){let u=(0,xu._normFnElement)(e.Point.Fn,l);return e.Point.BASE.multiply(u)},sign(l,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=(0,xu._normFnElement)(e.Point.Fn,u);return d(l).assertValidity(),l.multiply(h)},verify(l,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");l=c(l),f=a(f);let m=f.negate(),b=e.Point.BASE,y=d(u),x=l,_=i([p(m,y),p(b,x)]);return s.eql(_,s.ONE)},verifyBatch(l,u,f){if(Ip(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(l),m=u,b=f.map(a),y=new Map;for(let T=0;T<b.length;T++){let N=b[T],R=m[T],v=y.get(R);v===void 0&&(v=[],y.set(R,v)),v.push(N)}let x=[],_=e.Point.BASE;try{for(let[T,N]of y){let R=N.reduce((v,A)=>v.add(A));x.push(p(R,T))}return x.push(p(_.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(l){Ip(l),l=l.map(f=>a(f));let u=l.reduce((f,h)=>f.add(h),e.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(l){Ip(l),l=l.map(f=>c(f));let u=l.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(l,u){(0,ba.abytes)(l);let f=u?{DST:u}:void 0;return r.hashToCurve(l,f)},Signature:n}}function BT(t){let{Fp:e,Fr:r,Fp2:n,Fp6:o,Fp12:s}=t.fields,i=(0,xu.weierstrassPoints)(t.G1),a=Object.assign(i,(0,p_.createHasher)(i.Point,t.G1.mapToCurve,{...t.htfDefaults,...t.G1.htfDefaults})),c=(0,xu.weierstrassPoints)(t.G2),d=Object.assign(c,(0,p_.createHasher)(c.Point,t.G2.mapToCurve,{...t.htfDefaults,...t.G2.htfDefaults})),p=AT(t.fields,a.Point,d.Point,{...t.params,postPrecompute:t.postPrecompute}),{millerLoopBatch:l,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,m=y_(p,a,d,t.G2.Signature,!1),b=y_(p,d,a,t.G1.ShortSignature,!0),y=t.randomBytes||ba.randomBytes,x=()=>{let I=(0,h_.getMinHashLength)(r.ORDER);return(0,h_.mapHashToField)(y(I),r.ORDER)},_={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=t.G1,{Signature:N}=t.G2;function R(I,B){return I instanceof a.Point?I:b.hash((0,ba.ensureBytes)("point",I),B?.DST)}function v(I,B){return I instanceof d.Point?I:m.hash((0,ba.ensureBytes)("point",I),B?.DST)}function A(I){return m.getPublicKey(I).toBytes(!0)}function E(I){return b.getPublicKey(I).toBytes(!0)}function S(I,B,F){let U=v(I,F),q=m.sign(U,B);return I instanceof d.Point?q:N.toBytes(q)}function V(I,B,F){let U=R(I,F),q=b.sign(U,B);return I instanceof a.Point?q:T.toBytes(q)}function C(I,B,F,U){let q=v(B,U);return m.verify(I,q,F)}function g(I,B,F,U){let q=R(B,U);return b.verify(I,q,F)}function w(I){let B=m.aggregatePublicKeys(I);return I[0]instanceof a.Point?B:B.toBytes(!0)}function O(I){let B=m.aggregateSignatures(I);return I[0]instanceof d.Point?B:N.toBytes(B)}function P(I){let B=b.aggregateSignatures(I);return I[0]instanceof a.Point?B:T.toBytes(B)}function L(I,B,F,U){let q=B.map(H=>v(H,U));return m.verifyBatch(I,q,F)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:b,millerLoopBatch:l,pairing:u,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:e,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:t.params.ateLoopSize,twistType:t.params.twistType,r:t.params.r,G1b:t.G1.b,G2b:t.G2.b},utils:_,getPublicKey:A,getPublicKeyForShortSignatures:E,sign:S,signShortSignature:V,verify:C,verifyShortSignature:g,aggregatePublicKeys:w,aggregateSignatures:O,aggregateShortSignatures:P,G1:a,G2:d,Signature:N,ShortSignature:T}}});var w_=z(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});wu.psiFrobenius=CT;wu.tower12=PT;var _o=Ir(),Bn=Qr(),b_=BigInt(0),Cn=BigInt(1),Ut=BigInt(2),g_=BigInt(3);function Pp(t,e,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let d=0;d<o;d++){let p=BigInt(d+1),l=[];for(let u=0,f=Cn;u<n;u++){let h=(p*f-p)/i%a;l.push(t.pow(e,h)),f*=r}c.push(l)}return c}function CT(t,e,r){let n=e.pow(r,(t.ORDER-Cn)/g_),o=e.pow(r,(t.ORDER-Cn)/Ut);function s(u,f){let h=e.mul(e.frobeniusMap(u,1),n),m=e.mul(e.frobeniusMap(f,1),o);return[h,m]}let i=e.pow(r,(t.ORDER**Ut-Cn)/g_),a=e.pow(r,(t.ORDER**Ut-Cn)/Ut);if(!e.eql(a,e.neg(e.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[e.mul(u,i),e.neg(f)]}let d=u=>(f,h)=>{let m=h.toAffine(),b=u(m.x,m.y);return f.fromAffine({x:b[0],y:b[1]})},p=d(s),l=d(c);return{psi:s,psi2:c,G2psi:p,G2psi2:l,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var x_=(t,e)=>{if(e.length!==2)throw new Error("invalid tuple");let r=e.map(n=>t.create(n));return{c0:r[0],c1:r[1]}},Ap=class{constructor(e,r={}){this.MASK=Cn;let n=e.ORDER,o=n*n;this.Fp=e,this.ORDER=o,this.BITS=(0,_o.bitLen)(o),this.BYTES=Math.ceil((0,_o.bitLen)(o)/8),this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.Fp_NONRESIDUE=e.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=e.div(e.ONE,Ut),this.NONRESIDUE=x_(e,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Pp(e,this.Fp_NONRESIDUE,e.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(e){return x_(this.Fp,e)}create(e){return e}isValid({c0:e,c1:r}){function n(o,s){return typeof o=="bigint"&&b_<=o&&o<s}return n(e,this.ORDER)&&n(r,this.ORDER)}is0({c0:e,c1:r}){return this.Fp.is0(e)&&this.Fp.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}eql({c0:e,c1:r},{c0:n,c1:o}){return this.Fp.eql(e,n)&&this.Fp.eql(r,o)}neg({c0:e,c1:r}){return{c0:this.Fp.neg(e),c1:this.Fp.neg(r)}}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}add(e,r){let{c0:n,c1:o}=e,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:e,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(e,n),c1:this.Fp.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i),d=o.sub(a,c),p=o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c));return{c0:d,c1:p}}sqr({c0:e,c1:r}){let{Fp:n}=this,o=n.add(e,r),s=n.sub(e,r),i=n.add(e,e);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}div(e,r){let{Fp:n}=this;return this.mul(e,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:e,c1:r}){let{Fp:n}=this,o=n.inv(n.create(e*e+r*r));return{c0:n.mul(o,n.create(e)),c1:n.mul(o,n.create(-r))}}sqrt(e){let{Fp:r}=this,n=this,{c0:o,c1:s}=e;if(r.is0(s))return Bn.FpLegendre(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Bn.FpLegendre(r,a)===-1&&(a=r.sub(a,i));let d=r.sqrt(a),p=n.create({c0:d,c1:r.div(r.mul(s,this.Fp_div2),d)});if(!n.eql(n.sqr(p),e))throw new Error("Cannot find square root");let l=p,u=n.neg(l),{re:f,im:h}=n.reim(l),{re:m,im:b}=n.reim(u);return h>b||h===b&&f>m?l:u}isOdd(e){let{re:r,im:n}=this.reim(e),o=r%Ut,s=r===b_,i=n%Ut;return BigInt(o||s&&i)==Cn}fromBytes(e){let{Fp:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){return(0,_o.concatBytes)(this.Fp.toBytes(e),this.Fp.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(e,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:e,c1:r}){return{re:e,im:r}}Fp4Square(e,r){let n=this,o=n.sqr(e),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(e,r)),o),s)}}mulByNonresidue({c0:e,c1:r}){return this.mul({c0:e,c1:r},this.NONRESIDUE)}frobeniusMap({c0:e,c1:r},n){return{c0:e,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Bp=class{constructor(e){this.MASK=Cn,this.Fp2=e,this.ORDER=e.ORDER,this.BITS=3*e.BITS,this.BYTES=3*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO,c2:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO,c2:e.ZERO};let{Fp:r}=e,n=Pp(e,e.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(e,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(e,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,d=s.mul(e,i),p=s.mul(r,a),l=s.mul(n,c);return{c0:s.add(d,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,l)))),c1:s.add(s.sub(s.mul(s.add(e,r),s.add(i,a)),s.add(d,p)),s.mulByNonresidue(l)),c2:s.sub(s.add(p,s.mul(s.add(e,n),s.add(i,c))),s.add(d,l))}}sqr({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(e),i=o.mul(o.mul(e,r),Ut),a=o.mul(o.mul(r,n),Ut),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(e,r),n))),a),s),c)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}create(e){return e}isValid({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(e)&&o.isValid(r)&&o.isValid(n)}is0({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(e)&&o.is0(r)&&o.is0(n)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(e),c1:o.neg(r),c2:o.neg(n)}}eql({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(e,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(e){return(0,_o.notImplemented)()}div(e,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(e,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}inv({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(e),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(e,r)),a=o.sub(o.sqr(r),o.mul(e,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(e,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(e){let{Fp2:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);let n=r.BYTES;return{c0:r.fromBytes(e.subarray(0,n)),c1:r.fromBytes(e.subarray(n,n*2)),c2:r.fromBytes(e.subarray(2*n))}}toBytes({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return(0,_o.concatBytes)(o.toBytes(e),o.toBytes(r),o.toBytes(n))}cmov({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(e,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(e){let{Fp2:r}=this;if(!Array.isArray(e)||e.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(e.slice(0,2)),c1:r.fromBigTuple(e.slice(2,4)),c2:r.fromBigTuple(e.slice(4,6))}}frobeniusMap({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(e,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:e,c2:r}}mul1({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(e,o),c2:s.mul(r,o)}}mul01({c0:e,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(e,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(e,r)),a),c),c2:i.add(i.sub(i.mul(i.add(e,n),o),a),c)}}},Cp=class{constructor(e,r){this.MASK=Cn;let{Fp2:n}=e,{Fp:o}=n;this.Fp6=e,this.ORDER=n.ORDER,this.BITS=2*e.BITS,this.BYTES=2*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.FROBENIUS_COEFFICIENTS=Pp(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(e){return e}isValid({c0:e,c1:r}){let{Fp6:n}=this;return n.isValid(e)&&n.isValid(r)}is0({c0:e,c1:r}){let{Fp6:n}=this;return n.is0(e)&&n.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r}){let{Fp6:n}=this;return{c0:n.neg(e),c1:n.neg(r)}}eql({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(e,n)&&s.eql(r,o)}sqrt(e){(0,_o.notImplemented)()}inv({c0:e,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(e),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(e,o),c1:n.neg(n.mul(r,o))}}div(e,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(e,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(e,r){return Bn.FpPow(this,e,r)}invertBatch(e){return Bn.FpInvertBatch(this,e)}add({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(e,n),c1:s.add(r,o)}}sub({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(e,n),c1:s.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c))}}sqr({c0:e,c1:r}){let{Fp6:n}=this,o=n.mul(e,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),e),n.add(e,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}fromBytes(e){let{Fp6:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){let{Fp6:n}=this;return(0,_o.concatBytes)(n.toBytes(e),n.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(e,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(e){let{Fp6:r}=this;return{c0:r.fromBigSix(e.slice(0,6)),c1:r.fromBigSix(e.slice(6,12))}}frobeniusMap(e,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(e.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(e.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:e,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(e,n),c1:o.mulByFp2(r,n)}}conjugate({c0:e,c1:r}){return{c0:e,c1:this.Fp6.neg(r)}}mul014({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(e,n,o),d=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(i.sub(i.mul01(i.add(r,e),n,a.add(o,s)),c),d)}}mul034({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(e.c0,n),c1:a.mul(e.c1,n),c2:a.mul(e.c2,n)}),d=i.mul01(r,o,s),p=i.mul01(i.add(e,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(p,i.add(c,d))}}_cyclotomicSquare({c0:e,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=e,{c0:c,c1:d,c2:p}=r,{first:l,second:u}=o.Fp4Square(s,d),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:b}=o.Fp4Square(i,p),y=o.mulByNonresidue(b);return{c0:n.create({c0:o.add(o.mul(o.sub(l,s),Ut),l),c1:o.add(o.mul(o.sub(f,i),Ut),f),c2:o.add(o.mul(o.sub(m,a),Ut),m)}),c1:n.create({c0:o.add(o.mul(o.add(y,c),Ut),y),c1:o.add(o.mul(o.add(u,d),Ut),u),c2:o.add(o.mul(o.add(h,p),Ut),h)})}}_cyclotomicExp(e,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),(0,_o.bitGet)(r,o)&&(n=this.mul(n,e));return n}};function PT(t){let e=Bn.Field(t.ORDER),r=new Ap(e,t),n=new Bp(r),o=new Cp(n,t);return{Fp:e,Fp2:r,Fp6:n,Fp12:o}}});var S_=z(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.bls12_381=rn.bls12_381_Fr=void 0;var N_=Ks(),DT=__(),FT=Qr(),ge=Ir(),v_=_u(),R_=w_(),I_=Rp(),It=BigInt(0),Eu=BigInt(1),yr=BigInt(2),Tu=BigInt(3),ga=BigInt(4),bo=BigInt("0xd201000000010000"),VT=(0,ge.bitLen)(bo),ns={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:It,b:ga,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")};rn.bls12_381_Fr=(0,FT.Field)(ns.n,{modFromBytes:!0,isLE:!0});var{Fp:X,Fp2:xe,Fp6:UT,Fp12:ve}=(0,R_.tower12)({ORDER:ns.p,X_LEN:VT,FP2_NONRESIDUE:[Eu,Eu],Fp2mulByB:({c0:t,c1:e})=>{let r=X.mul(t,ga),n=X.mul(e,ga);return{c0:X.sub(r,n),c1:X.add(r,n)}},Fp12finalExponentiate:t=>{let e=bo,r=ve.div(ve.frobeniusMap(t,6),t),n=ve.mul(ve.frobeniusMap(r,2),r),o=ve.conjugate(ve._cyclotomicExp(n,e)),s=ve.mul(ve.conjugate(ve._cyclotomicSquare(n)),o),i=ve.conjugate(ve._cyclotomicExp(s,e)),a=ve.conjugate(ve._cyclotomicExp(i,e)),c=ve.mul(ve.conjugate(ve._cyclotomicExp(a,e)),ve._cyclotomicSquare(o)),d=ve.conjugate(ve._cyclotomicExp(c,e)),p=ve.frobeniusMap(ve.mul(o,a),2),l=ve.frobeniusMap(ve.mul(i,n),3),u=ve.frobeniusMap(ve.mul(c,ve.conjugate(n)),1),f=ve.mul(ve.mul(d,ve.conjugate(s)),n);return ve.mul(ve.mul(ve.mul(p,l),u),f)}}),{G2psi:E_,G2psi2:LT}=(0,R_.psiFrobenius)(X,xe,xe.div(xe.ONE,xe.NONRESIDUE)),Dp=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:X.ORDER,m:2,k:128,expand:"xmd",hash:N_.sha256}),Up={p:xe.ORDER,n:ns.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:xe.ZERO,b:xe.fromBigTuple([ga,ga]),Gx:xe.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:xe.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Ou=xa(X.toBytes(It),{infinity:!0,compressed:!0});function Nu(t){t=t.slice();let e=t[0]&224,r=!!(e>>7&1),n=!!(e>>6&1),o=!!(e>>5&1);return t[0]&=31,{compressed:r,infinity:n,sort:o,value:t}}function xa(t,e){if(t[0]&224)throw new Error("setMask: non-empty mask");return e.compressed&&(t[0]|=128),e.infinity&&(t[0]|=64),e.sort&&(t[0]|=32),t}function qT(t,e,r){let{BYTES:n,ORDER:o}=X,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return Ou.slice();let c=!!(a*yr/o);return xa((0,ge.numberToBytesBE)(i,n),{compressed:!0,sort:c})}else return s?(0,ge.concatBytes)(Uint8Array.of(64),new Uint8Array(2*n-1)):(0,ge.concatBytes)((0,ge.numberToBytesBE)(i,n),(0,ge.numberToBytesBE)(a,n))}function Fp(t){t.assertValidity();let{BYTES:e,ORDER:r}=X,{x:n,y:o}=t.toAffine();if(t.is0())return Ou.slice();let s=!!(o*yr/r);return xa((0,ge.numberToBytesBE)(n,e),{compressed:!0,sort:s})}function MT(t){let{compressed:e,infinity:r,sort:n,value:o}=Nu(t),{BYTES:s,ORDER:i}=X;if(o.length===48&&e){let a=(0,ge.bytesToNumberBE)(o),c=X.create(a&(0,ge.bitMask)(X.BITS));if(r){if(c!==It)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:It,y:It}}let d=X.add(X.pow(c,Tu),X.create(ns.b)),p=X.sqrt(d);if(!p)throw new Error("invalid G1 point: compressed point");return p*yr/i!==BigInt(n)&&(p=X.neg(p)),{x:X.create(c),y:X.create(p)}}else if(o.length===96&&!e){let a=(0,ge.bytesToNumberBE)(o.subarray(0,s)),c=(0,ge.bytesToNumberBE)(o.subarray(s));if(r){if(a!==It||c!==It)throw new Error("G1: non-empty point at infinity");return rn.bls12_381.G1.Point.ZERO.toAffine()}return{x:X.create(a),y:X.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function T_(t){let{infinity:e,sort:r,value:n}=Nu((0,ge.ensureBytes)("signatureHex",t,48)),o=X.ORDER,s=rn.bls12_381.G1.Point,i=(0,ge.bytesToNumberBE)(n);if(e)return s.ZERO;let a=X.create(i&(0,ge.bitMask)(X.BITS)),c=X.add(X.pow(a,Tu),X.create(ns.b)),d=X.sqrt(c);if(!d)throw new Error("invalid G1 point: compressed");let p=BigInt(r);d*yr/o!==p&&(d=X.neg(d));let l=s.fromAffine({x:a,y:d});return l.assertValidity(),l}function kT(t,e,r){let{BYTES:n,ORDER:o}=X,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return(0,ge.concatBytes)(Ou,(0,ge.numberToBytesBE)(It,n));let c=!!(a.c1===It?a.c0*yr/o:a.c1*yr/o);return(0,ge.concatBytes)(xa((0,ge.numberToBytesBE)(i.c1,n),{compressed:!0,sort:c}),(0,ge.numberToBytesBE)(i.c0,n))}else{if(s)return(0,ge.concatBytes)(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:d}=xe.reim(i),{re:p,im:l}=xe.reim(a);return(0,ge.concatBytes)((0,ge.numberToBytesBE)(d,n),(0,ge.numberToBytesBE)(c,n),(0,ge.numberToBytesBE)(l,n),(0,ge.numberToBytesBE)(p,n))}}function Vp(t){t.assertValidity();let{BYTES:e}=X;if(t.is0())return(0,ge.concatBytes)(Ou,(0,ge.numberToBytesBE)(It,e));let{x:r,y:n}=t.toAffine(),{re:o,im:s}=xe.reim(r),{re:i,im:a}=xe.reim(n),d=!!((a>It?a*yr:i*yr)/X.ORDER&Eu),p=o;return(0,ge.concatBytes)(xa((0,ge.numberToBytesBE)(s,e),{sort:d,compressed:!0}),(0,ge.numberToBytesBE)(p,e))}function jT(t){let{BYTES:e,ORDER:r}=X,{compressed:n,infinity:o,sort:s,value:i}=Nu(t);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(t[0]&224));let a=(c,d,p)=>(0,ge.bytesToNumberBE)(c.slice(d,p));if(i.length===96&&n){if(o){if(i.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:xe.ZERO,y:xe.ZERO}}let c=a(i,0,e),d=a(i,e,2*e),p=xe.create({c0:X.create(d),c1:X.create(c)}),l=xe.add(xe.pow(p,Tu),Up.b),u=xe.sqrt(l),f=u.c1===It?u.c0*yr/r:u.c1*yr/r?Eu:It;return u=s&&f>0?u:xe.neg(u),{x:p,y:u}}else if(i.length===192&&!n){if(o){if(i.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:xe.ZERO,y:xe.ZERO}}let c=a(i,0*e,1*e),d=a(i,1*e,2*e),p=a(i,2*e,3*e),l=a(i,3*e,4*e);return{x:xe.fromBigTuple([d,c]),y:xe.fromBigTuple([l,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function O_(t){let{ORDER:e}=X,{infinity:r,sort:n,value:o}=Nu((0,ge.ensureBytes)("signatureHex",t)),s=rn.bls12_381.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=(0,ge.bytesToNumberBE)(o.slice(0,i)),c=(0,ge.bytesToNumberBE)(o.slice(i));if(r)return s.ZERO;let d=X.create(a&(0,ge.bitMask)(X.BITS)),p=X.create(c),l=xe.create({c0:p,c1:d}),u=xe.add(xe.pow(l,Tu),Up.b),f=xe.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=xe.reim(f),b=BigInt(n),y=m>It&&m*yr/e!==b,x=m===It&&h*yr/e!==b;(y||x)&&(f=xe.neg(f));let _=s.fromAffine({x:l,y:f});return _.assertValidity(),_}rn.bls12_381=(0,DT.bls)({fields:{Fp:X,Fp2:xe,Fp6:UT,Fp12:ve,Fr:rn.bls12_381_Fr},G1:{...ns,Fp:X,htfDefaults:{...Dp,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(t,e)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new t(X.mul(e.X,r),e.Y,e.Z);return e.multiplyUnsafe(bo).negate().multiplyUnsafe(bo).equals(n)},clearCofactor:(t,e)=>e.multiplyUnsafe(bo).add(e),mapToCurve:ZT,fromBytes:MT,toBytes:qT,ShortSignature:{fromBytes(t){return(0,ge.abytes)(t),T_(t)},fromHex(t){return T_(t)},toBytes(t){return Fp(t)},toRawBytes(t){return Fp(t)},toHex(t){return(0,ge.bytesToHex)(Fp(t))}}},G2:{...Up,Fp:xe,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Dp},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:zT,isTorsionFree:(t,e)=>e.multiplyUnsafe(bo).negate().equals(E_(t,e)),clearCofactor:(t,e)=>{let r=bo,n=e.multiplyUnsafe(r).negate(),o=E_(t,e),s=e.double();return s=LT(t,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(e)},fromBytes:jT,toBytes:kT,Signature:{fromBytes(t){return(0,ge.abytes)(t),O_(t)},fromHex(t){return O_(t)},toBytes(t){return Vp(t)},toRawBytes(t){return Vp(t)},toHex(t){return(0,ge.bytesToHex)(Vp(t))}}},params:{ateLoopSize:bo,r:ns.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Dp,hash:N_.sha256});var HT=(0,v_.isogenyMap)(xe,[[["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(t=>t.map(e=>xe.fromBigTuple(e.map(BigInt))))),$T=(0,v_.isogenyMap)(X,[["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(t=>t.map(e=>BigInt(e)))),KT=(0,I_.mapToCurveSimpleSWU)(X,{A:X.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:X.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:X.create(BigInt(11))}),GT=(0,I_.mapToCurveSimpleSWU)(xe,{A:xe.create({c0:X.create(It),c1:X.create(BigInt(240))}),B:xe.create({c0:X.create(BigInt(1012)),c1:X.create(BigInt(1012))}),Z:xe.create({c0:X.create(BigInt(-2)),c1:X.create(BigInt(-1))})});function ZT(t){let{x:e,y:r}=KT(X.create(t[0]));return $T(e,r)}function zT(t){let{x:e,y:r}=GT(xe.fromBigTuple(t));return HT(e,r)}});var qp=z(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.verify=void 0;vu.blsVerify=WT;var YT=S_(),Lp=dt();function WT(t,e,r){let n=typeof t=="string"?t:(0,Lp.bytesToHex)(t),o=typeof e=="string"?e:(0,Lp.bytesToHex)(e),s=typeof r=="string"?r:(0,Lp.bytesToHex)(r);return YT.bls12_381.verifyShortSignature(o,s,n)}});var Ru=z(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.decodeTime=os.decodeLeb128=void 0;var A_=aa(),XT=BigInt(1e6),JT=t=>(0,A_.lebDecode)(new A_.PipeArrayBuffer(t));os.decodeLeb128=JT;var QT=t=>{let r=(0,os.decodeLeb128)(t)/XT;return new Date(Number(r))};os.decodeTime=QT});var ii=z(Ue=>{"use strict";var e6=Ue&&Ue.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),t6=Ue&&Ue.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),C_=Ue&&Ue.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&e6(r,e,n[o]);return t6(r,e),r}})();Object.defineProperty(Ue,"__esModule",{value:!0});Ue.LookupLabelStatus=Ue.LookupSubtreeStatus=Ue.LookupPathStatus=Ue.Certificate=Ue.NodeType=void 0;Ue.hashTreeToString=Su;Ue.lookupResultToBuffer=jp;Ue.reconstruct=Ea;Ue.domain_sep=oi;Ue.lookup_path=Au;Ue.lookup_subtree=$p;Ue.flatten_forks=Hp;Ue.find_label=si;Ue.check_canister_ranges=V_;var P_=C_(da()),me=sr(),Mp=Rr(),r6=C_(qp()),n6=Ru(),go=dt(),D_=Js(),Iu=Ks(),B_=60*1e3,o6=60,s6=24,i6=s6*o6,a6=5,c6=5,u6=30*i6,Ze;(function(t){t[t.Empty=0]="Empty",t[t.Fork=1]="Fork",t[t.Labeled=2]="Labeled",t[t.Leaf=3]="Leaf",t[t.Pruned=4]="Pruned"})(Ze||(Ue.NodeType=Ze={}));function Su(t){let e=n=>n.split(`
|
|
53
53
|
`).map(o=>" "+o).join(`
|
|
54
54
|
`);function r(n){let o=new TextDecoder(void 0,{fatal:!0});try{return JSON.stringify(o.decode(n))}catch{return`data(...${n.byteLength} bytes)`}}switch(t[0]){case Ze.Empty:return"()";case Ze.Fork:if(t[1]instanceof Array&&t[2]instanceof Uint8Array){let n=Su(t[1]),o=Su(t[2]);return`sub(
|
|
55
55
|
left:
|
|
@@ -57,16 +57,16 @@ ${e(n)}
|
|
|
57
57
|
---
|
|
58
58
|
right:
|
|
59
59
|
${e(o)}
|
|
60
|
-
)`}else throw
|
|
60
|
+
)`}else throw me.UnknownError.fromCode(new me.HashTreeDecodeErrorCode("Invalid tree structure for fork"));case Ze.Labeled:if(t[1]instanceof Uint8Array&&t[2]instanceof Uint8Array){let n=r(t[1]),o=Su(t[2]);return`label(
|
|
61
61
|
label:
|
|
62
62
|
${e(n)}
|
|
63
63
|
sub:
|
|
64
64
|
${e(o)}
|
|
65
|
-
)`}else throw ye.UnknownError.fromCode(new ye.HashTreeDecodeErrorCode("Invalid tree structure for labeled"));case Ze.Leaf:{if(t[1]){if(Array.isArray(t[1]))return JSON.stringify(t[1])}else throw ye.UnknownError.fromCode(new ye.HashTreeDecodeErrorCode("Invalid tree structure for leaf"));return`leaf(...${t[1].byteLength} bytes)`}case Ze.Pruned:{if(t[1]){if(Array.isArray(t[1]))return JSON.stringify(t[1])}else throw ye.UnknownError.fromCode(new ye.HashTreeDecodeErrorCode("Invalid tree structure for pruned"));return`pruned(${(0,go.bytesToHex)(new Uint8Array(t[1]))}`}default:return`unknown(${JSON.stringify(t[0])})`}}function l6(t,e){for(let r=0;r<t.length;r++)if(t[r]>e[r])return!0;return!1}var kp=class t{#e=!1;#t=void 0;static async create(e){let r=t.createUnverified(e);return await r.verify(),r}static createUnverified(e){return new t(e.certificate,e.rootKey,e.canisterId,e.blsVerify??n6.blsVerify,e.maxAgeInMinutes,e.disableTimeVerification,e.agent)}constructor(e,r,n,o,s=c6,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=D_.decode(e),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(e){return Au(e,this.cert.tree)}lookup_subtree(e){return $p(e,this.cert.tree)}async verify(){let e=await Ta(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=p6(r),s=(0,go.concatBytes)(si("ic-state-root"),e),i=jp(this.lookup_path(["time"]));if(!i)throw ye.ProtocolError.fromCode(new ye.CertificateVerificationErrorCode("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*C_,d=new Date,p=d.getTime()+a,l=p-c,u=p+u6*C_,f=(0,o6.decodeTime)(i),h=f.getTime()<l,y=f.getTime()>u;if((h||y)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw ye.TrustError.fromCode(new ye.CertificateTimeErrorCode(this._maxAgeInMinutes,f,d,a,"past"));if(y)throw this.#t?.hasSyncedTime()?ye.UnknownError.fromCode(new ye.UnexpectedErrorCode("System time has been synced with the IC network, but certificate is still too far in the future.")):ye.TrustError.fromCode(new ye.CertificateTimeErrorCode(5,f,d,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw ye.TrustError.fromCode(new ye.CertificateVerificationErrorCode("Invalid signature"))}catch(a){throw ye.TrustError.fromCode(new ye.CertificateVerificationErrorCode("Signature verification failed",a))}}async _checkDelegationAndGetKey(e){if(!e)return this._rootKey;let r=t.createUnverified({certificate:e.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:d6,agent:this.#t});if(r.cert.delegation)throw ye.ProtocolError.fromCode(new ye.CertificateHasTooManyDelegationsErrorCode);await r.verify();let n=e.subnet_id,o=Mp.Principal.fromUint8Array(n);if(!U_({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw ye.TrustError.fromCode(new ye.CertificateNotAuthorizedErrorCode(this._canisterId,o));let i=jp(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw ye.TrustError.fromCode(new ye.MissingLookupValueErrorCode(`Could not find subnet key for subnet ID ${o.toText()}`));return i}};Ue.Certificate=kp;var Ea=(0,go.hexToBytes)("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),f6=96;function p6(t){let e=Ea.byteLength+f6;if(t.byteLength!==e)throw ye.ProtocolError.fromCode(new ye.DerKeyLengthMismatchErrorCode(e,t.byteLength));let r=t.slice(0,Ea.byteLength);if(!(0,F_.uint8Equals)(r,Ea))throw ye.ProtocolError.fromCode(new ye.DerPrefixMismatchErrorCode(Ea,r));return t.slice(Ea.byteLength)}function jp(t){if(t.status===nn.Found&&t.value instanceof Uint8Array)return t.value}async function Ta(t){switch(t[0]){case Ze.Empty:return(0,Iu.sha256)(si("ic-hashtree-empty"));case Ze.Pruned:return t[1];case Ze.Leaf:return(0,Iu.sha256)((0,go.concatBytes)(si("ic-hashtree-leaf"),t[1]));case Ze.Labeled:return(0,Iu.sha256)((0,go.concatBytes)(si("ic-hashtree-labeled"),t[1],await Ta(t[2])));case Ze.Fork:return(0,Iu.sha256)((0,go.concatBytes)(si("ic-hashtree-fork"),await Ta(t[1]),await Ta(t[2])));default:throw ye.UNREACHABLE_ERROR}}function si(t){let e=new Uint8Array([t.length]),r=new TextEncoder().encode(t);return(0,go.concatBytes)(e,r)}function V_(t){return typeof t[0]=="string"?(0,go.utf8ToBytes)(t[0]):t[0]}var nn;(function(t){t.Unknown="Unknown",t.Absent="Absent",t.Found="Found",t.Error="Error"})(nn||(Ue.LookupPathStatus=nn={}));var Oa;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found"})(Oa||(Ue.LookupSubtreeStatus=Oa={}));var He;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found",t.Less="Less",t.Greater="Greater"})(He||(Ue.LookupLabelStatus=He={}));function Au(t,e){if(t.length===0)switch(e[0]){case Ze.Empty:return{status:nn.Absent};case Ze.Leaf:{if(!e[1])throw ye.UnknownError.fromCode(new ye.HashTreeDecodeErrorCode("Invalid tree structure for leaf"));if(e[1]instanceof Uint8Array)return{status:nn.Found,value:e[1].slice(e[1].byteOffset,e[1].byteLength+e[1].byteOffset)};throw ye.UNREACHABLE_ERROR}case Ze.Pruned:return{status:nn.Unknown};case Ze.Labeled:case Ze.Fork:return{status:nn.Error};default:throw ye.UNREACHABLE_ERROR}let r=V_(t),n=ii(r,e);switch(n.status){case He.Found:return Au(t.slice(1),n.value);case He.Absent:case He.Greater:case He.Less:return{status:nn.Absent};case He.Unknown:return{status:nn.Unknown};default:throw ye.UNREACHABLE_ERROR}}function $p(t,e){if(t.length===0)return{status:Oa.Found,value:e};let r=V_(t),n=ii(r,e);switch(n.status){case He.Found:return $p(t.slice(1),n.value);case He.Unknown:return{status:Oa.Unknown};case He.Absent:case He.Greater:case He.Less:return{status:Oa.Absent};default:throw ye.UNREACHABLE_ERROR}}function Hp(t){switch(t[0]){case Ze.Empty:return[];case Ze.Fork:return Hp(t[1]).concat(Hp(t[2]));default:return[t]}}function ii(t,e){switch(e[0]){case Ze.Labeled:return l6(t,e[1])?{status:He.Greater}:(0,F_.uint8Equals)(t,e[1])?{status:He.Found,value:e[2]}:{status:He.Less};case Ze.Fork:{let r=ii(t,e[1]);switch(r.status){case He.Greater:{let n=ii(t,e[2]);return n.status===He.Less?{status:He.Absent}:n}case He.Unknown:{let n=ii(t,e[2]);return n.status===He.Less?{status:He.Unknown}:n}default:return r}}case Ze.Pruned:return{status:He.Unknown};default:return{status:He.Absent}}}function U_(t){let{canisterId:e,subnetId:r,tree:n}=t,o=Au(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==nn.Found)throw ye.ProtocolError.fromCode(new ye.LookupErrorCode(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ye.ProtocolError.fromCode(new ye.MalformedLookupFoundValueErrorCode(`Could not find canister ranges for subnet ${r.toText()}`));return D_.decode(o.value).map(c=>[Mp.Principal.fromUint8Array(c[0]),Mp.Principal.fromUint8Array(c[1])]).some(c=>c[0].ltEq(e)&&c[1].gtEq(e))}});var Bu=z(ft=>{"use strict";var h6=ft&&ft.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),y6=ft&&ft.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),m6=ft&&ft.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&h6(r,e,n[o]);return y6(r,e),r}})();Object.defineProperty(ft,"__esModule",{value:!0});ft.encodePath=ft.fetchNodeKeys=ft.request=ft.CustomPath=void 0;var xo=Rr(),ot=sr(),wo=ai(),Gp=m6(la()),L_=Ru(),Qt=dt(),Kp=class{constructor(e,r,n){this.key=e,this.path=r,this.decodeStrategy=n}};ft.CustomPath=Kp;var _6=async t=>{let{agent:e,paths:r,disableCertificateTimeVerification:n=!1}=t,o=xo.Principal.from(t.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,d)=>{let p=(0,ft.encodePath)(c,o);return(async()=>{try{if(e.rootKey===null)throw ot.ExternalError.fromCode(new ot.MissingRootKeyErrorCode);let l=e.rootKey,u=await e.readState(o,{paths:[p]}),f=await wo.Certificate.create({certificate:u.certificate,rootKey:l,canisterId:o,disableTimeVerification:n,agent:e}),h=(m,x)=>{if(x==="subnet"){let _=(0,ft.fetchNodeKeys)(u.certificate,o,l);return{path:x,data:_}}else return{path:x,data:(0,wo.lookupResultToBuffer)(m.lookup_path(p))}},{path:y,data:b}=h(f,s[d]);if(!b)console.warn(`Expected to find result for path ${y}, but instead found nothing.`),typeof y=="string"?i.set(y,null):i.set(y.key,null);else switch(y){case"time":{i.set(y,(0,L_.decodeTime)(b));break}case"controllers":{i.set(y,x6(b));break}case"module_hash":{i.set(y,(0,Qt.bytesToHex)(b));break}case"subnet":{i.set(y,b);break}case"candid":{i.set(y,new TextDecoder().decode(b));break}default:if(typeof y!="string"&&"key"in y&&"path"in y)switch(y.decodeStrategy){case"raw":i.set(y.key,b);break;case"leb128":{i.set(y.key,(0,L_.decodeLeb128)(b));break}case"cbor":{i.set(y.key,Gp.decode(b));break}case"hex":{i.set(y.key,(0,Qt.bytesToHex)(b));break}case"utf-8":i.set(y.key,new TextDecoder().decode(b))}}}catch(l){if(l instanceof ot.AgentError&&(l.hasCode(ot.CertificateVerificationErrorCode)||l.hasCode(ot.CertificateTimeErrorCode)))throw l;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(l),console.groupEnd()}})()});return await Promise.all(a),i};ft.request=_6;var b6=(t,e,r)=>{if(!e._isPrincipal)throw ot.InputError.fromCode(new ot.UnexpectedErrorCode("Invalid canisterId"));let n=Gp.decode(t),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=xo.Principal.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=xo.Principal.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=xo.Principal.selfAuthenticating(xo.Principal.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!(0,wo.check_canister_ranges)({canisterId:e,subnetId:i,tree:o}))throw ot.TrustError.fromCode(new ot.CertificateNotAuthorizedErrorCode(e,i));let c=(0,wo.lookup_subtree)(["subnet",s.subnet_id,"node"],o);if(c.status!==wo.LookupSubtreeStatus.Found)throw ot.ProtocolError.fromCode(new ot.LookupErrorCode("Node not found",c.status));if(c.value instanceof Uint8Array)throw ot.UnknownError.fromCode(new ot.HashTreeDecodeErrorCode("Invalid node tree"));let d=(0,wo.flatten_forks)(c.value),p=new Map;return d.forEach(l=>{let u=xo.Principal.from(l[1]).toText(),f=(0,wo.lookup_path)(["public_key"],l[2]);if(f.status!==wo.LookupPathStatus.Found)throw ot.ProtocolError.fromCode(new ot.LookupErrorCode("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ot.ProtocolError.fromCode(new ot.DerKeyLengthMismatchErrorCode(44,h.byteLength));p.set(u,h)}),{subnetId:xo.Principal.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}};ft.fetchNodeKeys=b6;var g6=(t,e)=>{let r=e.toUint8Array();switch(t){case"time":return[(0,Qt.utf8ToBytes)("time")];case"controllers":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("controllers")];case"module_hash":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("module_hash")];case"subnet":return[(0,Qt.utf8ToBytes)("subnet")];case"candid":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("metadata"),(0,Qt.utf8ToBytes)("candid:service")];default:if("key"in t&&"path"in t)if(typeof t.path=="string"||t.path instanceof Uint8Array){let n=t.path,o=typeof n=="string"?(0,Qt.utf8ToBytes)(n):n;return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("metadata"),o]}else return t.path}throw ot.UnknownError.fromCode(new ot.UnexpectedErrorCode(`Error while encoding your path for canister status. Please ensure that your path ${t} was formatted correctly.`))};ft.encodePath=g6;var x6=t=>Gp.decode(t).map(r=>xo.Principal.fromUint8Array(r))});var k_=z(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.PrimeEdwardsPoint=void 0;is.edwards=q_;is.eddsa=M_;is.twistedEdwards=v6;var Oe=Ir(),ss=ma(),w6=Qr(),Eo=BigInt(0),pt=BigInt(1),Zp=BigInt(2),E6=BigInt(8);function T6(t,e,r,n){let o=t.sqr(r),s=t.sqr(n),i=t.add(t.mul(e.a,o),s),a=t.add(t.ONE,t.mul(e.d,t.mul(o,s)));return t.eql(i,a)}function q_(t,e={}){let r=(0,ss._createCurveFields)("edwards",t,e,e.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;(0,Oe._validateObject)(e,{},{uvRatio:"function"});let a=Zp<<BigInt(o.BYTES*8)-pt,c=b=>n.create(b),d=e.uvRatio||((b,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(b,m))}}catch{return{isValid:!1,value:Eo}}});if(!T6(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(b,m,x=!1){let _=x?pt:Eo;return(0,Oe.aInRange)("coordinate "+b,m,_,a),m}function l(b){if(!(b instanceof h))throw new Error("ExtendedPoint expected")}let u=(0,Oe.memoized)((b,m)=>{let{X:x,Y:_,Z:T}=b,N=b.is0();m==null&&(m=N?E6:n.inv(T));let R=c(x*m),v=c(_*m),A=n.mul(T,m);if(N)return{x:Eo,y:pt};if(A!==pt)throw new Error("invZ was invalid");return{x:R,y:v}}),f=(0,Oe.memoized)(b=>{let{a:m,d:x}=s;if(b.is0())throw new Error("bad point: ZERO");let{X:_,Y:T,Z:N,T:R}=b,v=c(_*_),A=c(T*T),E=c(N*N),S=c(E*E),V=c(v*m),C=c(E*c(V+A)),g=c(S+c(x*c(v*A)));if(C!==g)throw new Error("bad point: equation left != right (1)");let w=c(_*T),O=c(N*R);if(w!==O)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,_,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",_,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y:_}=m||{};return p("x",x),p("y",_),new h(x,_,pt,c(x*_))}static fromBytes(m,x=!1){let _=n.BYTES,{a:T,d:N}=s;m=(0,Oe.copyBytes)((0,Oe._abytes2)(m,_,"point")),(0,Oe._abool2)(x,"zip215");let R=(0,Oe.copyBytes)(m),v=m[_-1];R[_-1]=v&-129;let A=(0,Oe.bytesToNumberLE)(R),E=x?a:n.ORDER;(0,Oe.aInRange)("point.y",A,Eo,E);let S=c(A*A),V=c(S-pt),C=c(N*S-T),{isValid:g,value:w}=d(V,C);if(!g)throw new Error("bad point: invalid y coordinate");let O=(w&pt)===pt,P=(v&128)!==0;if(!x&&w===Eo&&P)throw new Error("bad point: x=0 and x_0=1");return P!==O&&(w=c(-w)),h.fromAffine({x:w,y:A})}static fromHex(m,x=!1){return h.fromBytes((0,Oe.ensureBytes)("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return y.createCache(this,m),x||this.multiply(Zp),this}assertValidity(){f(this)}equals(m){l(m);let{X:x,Y:_,Z:T}=this,{X:N,Y:R,Z:v}=m,A=c(x*v),E=c(N*T),S=c(_*v),V=c(R*T);return A===E&&S===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=s,{X:x,Y:_,Z:T}=this,N=c(x*x),R=c(_*_),v=c(Zp*c(T*T)),A=c(m*N),E=x+_,S=c(c(E*E)-N-R),V=A+R,C=V-v,g=A-R,w=c(S*C),O=c(V*g),P=c(S*g),L=c(C*V);return new h(w,O,L,P)}add(m){l(m);let{a:x,d:_}=s,{X:T,Y:N,Z:R,T:v}=this,{X:A,Y:E,Z:S,T:V}=m,C=c(T*A),g=c(N*E),w=c(v*_*V),O=c(R*S),P=c((T+N)*(A+E)-C-g),L=O-w,I=O+w,B=c(g-x*C),F=c(P*L),U=c(I*B),q=c(P*B),H=c(L*I);return new h(F,U,H,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=>(0,ss.normalizeZ)(h,T));return(0,ss.normalizeZ)(h,[x,_])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Eo?h.ZERO:this.is0()||m===pt?this:y.unsafe(this,m,_=>(0,ss.normalizeZ)(h,_),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return i===pt?this:this.multiplyUnsafe(i)}toBytes(){let{x:m,y:x}=this.toAffine(),_=n.toBytes(x);return _[_.length-1]|=m&pt?128:0,_}toHex(){return(0,Oe.bytesToHex)(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(0,ss.normalizeZ)(h,m)}static msm(m,x){return(0,ss.pippenger)(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,pt,c(s.Gx*s.Gy)),h.ZERO=new h(Eo,pt,pt,Eo),h.Fp=n,h.Fn=o;let y=new ss.wNAF(h,o.BITS);return h.BASE.precompute(8),h}var zp=class{constructor(e){this.ep=e}static fromBytes(e){(0,Oe.notImplemented)()}static fromHex(e){(0,Oe.notImplemented)()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return(0,Oe.bytesToHex)(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,r){return this.init(this.ep.precompute(e,r))}toRawBytes(){return this.toBytes()}};is.PrimeEdwardsPoint=zp;function M_(t,e,r={}){if(typeof e!="function")throw new Error('"hash" function param is required');(0,Oe._validateObject)(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=t,a=r.randomBytes||Oe.randomBytes,c=r.adjustScalarBytes||(E=>E),d=r.domain||((E,S,V)=>{if((0,Oe._abool2)(V,"phflag"),S.length||V)throw new Error("Contexts/pre-hash are not supported");return E});function p(E){return i.create((0,Oe.bytesToNumberLE)(E))}function l(E){let S=_.secretKey;E=(0,Oe.ensureBytes)("private key",E,S);let V=(0,Oe.ensureBytes)("hashed private key",e(E),2*S),C=c(V.slice(0,S)),g=V.slice(S,2*S),w=p(C);return{head:C,prefix:g,scalar:w}}function u(E){let{head:S,prefix:V,scalar:C}=l(E),g=o.multiply(C),w=g.toBytes();return{head:S,prefix:V,scalar:C,point:g,pointBytes:w}}function f(E){return u(E).pointBytes}function h(E=Uint8Array.of(),...S){let V=(0,Oe.concatBytes)(...S);return p(e(d(V,(0,Oe.ensureBytes)("context",E),!!n)))}function y(E,S,V={}){E=(0,Oe.ensureBytes)("message",E),n&&(E=n(E));let{prefix:C,scalar:g,pointBytes:w}=u(S),O=h(V.context,C,E),P=o.multiply(O).toBytes(),L=h(V.context,P,w,E),I=i.create(O+L*g);if(!i.isValid(I))throw new Error("sign failed: invalid s");let B=(0,Oe.concatBytes)(P,i.toBytes(I));return(0,Oe._abytes2)(B,_.signature,"result")}let b={zip215:!0};function m(E,S,V,C=b){let{context:g,zip215:w}=C,O=_.signature;E=(0,Oe.ensureBytes)("signature",E,O),S=(0,Oe.ensureBytes)("message",S),V=(0,Oe.ensureBytes)("publicKey",V,_.publicKey),w!==void 0&&(0,Oe._abool2)(w,"zip215"),n&&(S=n(S));let P=O/2,L=E.subarray(0,P),I=(0,Oe.bytesToNumberLE)(E.subarray(P,O)),B,F,U;try{B=t.fromBytes(V,w),F=t.fromBytes(L,w),U=o.multiplyUnsafe(I)}catch{return!1}if(!w&&B.isSmallOrder())return!1;let q=h(g,F.toBytes(),B.toBytes(),S);return F.add(B.multiplyUnsafe(q)).subtract(U).clearCofactor().is0()}let x=s.BYTES,_={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(E=a(_.seed)){return(0,Oe._abytes2)(E,_.seed,"seed")}function N(E){let S=A.randomSecretKey(E);return{secretKey:S,publicKey:f(S)}}function R(E){return(0,Oe.isBytes)(E)&&E.length===i.BYTES}function v(E,S){try{return!!t.fromBytes(E,S)}catch{return!1}}let A={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:v,toMontgomery(E){let{y:S}=t.fromBytes(E),V=_.publicKey,C=V===32;if(!C&&V!==57)throw new Error("only defined for 25519 and 448");let g=C?s.div(pt+S,pt-S):s.div(S-pt,S+pt);return s.toBytes(g)},toMontgomerySecret(E){let S=_.secretKey;(0,Oe._abytes2)(E,S);let V=e(E.subarray(0,S));return c(V).subarray(0,S)},randomPrivateKey:T,precompute(E=8,S=t.BASE){return S.precompute(E,!1)}};return Object.freeze({keygen:N,getPublicKey:f,sign:y,verify:m,utils:A,Point:t,lengths:_})}function O6(t){let e={a:t.a,d:t.d,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=(0,w6.Field)(e.n,t.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:t.uvRatio},s={randomBytes:t.randomBytes,adjustScalarBytes:t.adjustScalarBytes,domain:t.domain,prehash:t.prehash,mapToCurve:t.mapToCurve};return{CURVE:e,curveOpts:o,hash:t.hash,eddsaOpts:s}}function N6(t,e){let r=e.Point;return Object.assign({},e,{ExtendedPoint:r,CURVE:t,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function v6(t){let{CURVE:e,curveOpts:r,hash:n,eddsaOpts:o}=O6(t),s=q_(e,r),i=M_(s,n,o);return N6(t,i)}});var j_=z(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.montgomery=S6;var on=Ir(),R6=Qr(),Na=BigInt(0),ci=BigInt(1),Cu=BigInt(2);function I6(t){return(0,on._validateObject)(t,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...t})}function S6(t){let e=I6(t),{P:r,type:n,adjustScalarBytes:o,powPminus2:s,randomBytes:i}=e,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");let c=i||on.randomBytes,d=a?255:448,p=a?32:56,l=BigInt(a?9:5),u=BigInt(a?121665:39081),f=a?Cu**BigInt(254):Cu**BigInt(447),h=a?BigInt(8)*Cu**BigInt(251)-ci:BigInt(4)*Cu**BigInt(445)-ci,y=f+h+ci,b=g=>(0,R6.mod)(g,r),m=x(l);function x(g){return(0,on.numberToBytesLE)(b(g),p)}function _(g){let w=(0,on.ensureBytes)("u coordinate",g,p);return a&&(w[31]&=127),b((0,on.bytesToNumberLE)(w))}function T(g){return(0,on.bytesToNumberLE)(o((0,on.ensureBytes)("scalar",g,p)))}function N(g,w){let O=A(_(w),T(g));if(O===Na)throw new Error("invalid private or public key received");return x(O)}function R(g){return N(g,m)}function v(g,w,O){let P=b(g*(w-O));return w=b(w-P),O=b(O+P),{x_2:w,x_3:O}}function A(g,w){(0,on.aInRange)("u",g,Na,r),(0,on.aInRange)("scalar",w,f,y);let O=w,P=g,L=ci,I=Na,B=g,F=ci,U=Na;for(let H=BigInt(d-1);H>=Na;H--){let Y=O>>H&ci;U^=Y,{x_2:L,x_3:B}=v(U,L,B),{x_2:I,x_3:F}=v(U,I,F),U=Y;let G=L+I,ie=b(G*G),ae=L-I,Ce=b(ae*ae),ee=ie-Ce,ce=B+F,lr=B-F,vr=b(lr*G),fr=b(ce*ae),wn=vr+fr,io=vr-fr;B=b(wn*wn),F=b(P*b(io*io)),L=b(ie*Ce),I=b(ee*(ie+b(u*ee)))}({x_2:L,x_3:B}=v(U,L,B)),{x_2:I,x_3:F}=v(U,I,F);let q=s(I);return b(L*q)}let E={secretKey:p,publicKey:p,seed:p},S=(g=c(p))=>((0,on.abytes)(g,E.seed),g);function V(g){let w=S(g);return{secretKey:w,publicKey:R(w)}}return{keygen:V,getSharedSecret:(g,w)=>N(g,w),getPublicKey:g=>R(g),scalarMult:N,scalarMultBase:R,utils:{randomSecretKey:S,randomPrivateKey:S},GuBytes:m.slice(),lengths:E}}});var eb=z(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.hash_to_ristretto255=ne.hashToRistretto255=ne.encodeToCurve=ne.hashToCurve=ne.RistrettoPoint=ne.edwardsToMontgomery=ne.ED25519_TORSION_SUBGROUP=ne.ristretto255_hasher=ne.ristretto255=ne.ed25519_hasher=ne.x25519=ne.ed25519ph=ne.ed25519ctx=ne.ed25519=void 0;ne.edwardsToMontgomeryPub=Q_;ne.edwardsToMontgomeryPriv=H6;var va=Gs(),Du=dt(),A6=ma(),Vu=k_(),Pu=_u(),Ae=Qr(),B6=j_(),as=Ir(),C6=BigInt(0),sn=BigInt(1),Fu=BigInt(2),G_=BigInt(3),Z_=BigInt(5),Qp=BigInt(8),Pn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ra={p:Pn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Qp,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function z_(t){let e=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Pn,a=t*t%s*t%s,c=(0,Ae.pow2)(a,Fu,s)*a%s,d=(0,Ae.pow2)(c,sn,s)*t%s,p=(0,Ae.pow2)(d,Z_,s)*d%s,l=(0,Ae.pow2)(p,e,s)*p%s,u=(0,Ae.pow2)(l,r,s)*l%s,f=(0,Ae.pow2)(u,n,s)*u%s,h=(0,Ae.pow2)(f,o,s)*f%s,y=(0,Ae.pow2)(h,o,s)*f%s,b=(0,Ae.pow2)(y,e,s)*p%s;return{pow_p_5_8:(0,Ae.pow2)(b,Fu,s)*t%s,b2:a}}function Y_(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var Wp=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function eh(t,e){let r=Pn,n=(0,Ae.mod)(e*e*e,r),o=(0,Ae.mod)(n*n*e,r),s=z_(t*o).pow_p_5_8,i=(0,Ae.mod)(t*n*s,r),a=(0,Ae.mod)(e*i*i,r),c=i,d=(0,Ae.mod)(i*Wp,r),p=a===t,l=a===(0,Ae.mod)(-t,r),u=a===(0,Ae.mod)(-t*Wp,r);return p&&(i=c),(l||u)&&(i=d),(0,Ae.isNegativeLE)(i,r)&&(i=(0,Ae.mod)(-i,r)),{isValid:p||l,value:i}}var K=(0,Ae.Field)(Ra.p,{isLE:!0}),W_=(0,Ae.Field)(Ra.n,{isLE:!0}),th={...Ra,Fp:K,hash:va.sha512,adjustScalarBytes:Y_,uvRatio:eh};ne.ed25519=(0,Vu.twistedEdwards)(th);function X_(t,e,r){if(e.length>255)throw new Error("Context is too big");return(0,Du.concatBytes)((0,Du.utf8ToBytes)("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}ne.ed25519ctx=(0,Vu.twistedEdwards)({...th,domain:X_});ne.ed25519ph=(0,Vu.twistedEdwards)(Object.assign({},th,{domain:X_,prehash:va.sha512}));ne.x25519=(()=>{let t=K.ORDER;return(0,B6.montgomery)({P:t,type:"x25519",powPminus2:e=>{let{pow_p_5_8:r,b2:n}=z_(e);return(0,Ae.mod)((0,Ae.pow2)(r,G_,t)*n,t)},adjustScalarBytes:Y_})})();var P6=(Pn+G_)/Qp,D6=K.pow(Fu,P6),H_=K.sqrt(K.neg(K.ONE));function F6(t){let e=(Pn-Z_)/Qp,r=BigInt(486662),n=K.sqr(t);n=K.mul(n,Fu);let o=K.add(n,K.ONE),s=K.neg(r),i=K.sqr(o),a=K.mul(i,o),c=K.mul(n,r);c=K.mul(c,s),c=K.add(c,i),c=K.mul(c,s);let d=K.sqr(a);i=K.sqr(d),d=K.mul(d,a),d=K.mul(d,c),i=K.mul(i,d);let p=K.pow(i,e);p=K.mul(p,d);let l=K.mul(p,H_);i=K.sqr(p),i=K.mul(i,a);let u=K.eql(i,c),f=K.cmov(l,p,u),h=K.mul(s,n),y=K.mul(p,t);y=K.mul(y,D6);let b=K.mul(y,H_),m=K.mul(c,n);i=K.sqr(y),i=K.mul(i,a);let x=K.eql(i,m),_=K.cmov(b,y,x);i=K.sqr(f),i=K.mul(i,a);let T=K.eql(i,c),N=K.cmov(h,s,T),R=K.cmov(_,f,T),v=K.isOdd(R);return R=K.cmov(R,K.neg(R),T!==v),{xMn:N,xMd:o,yMn:R,yMd:sn}}var V6=(0,Ae.FpSqrtEven)(K,K.neg(BigInt(486664)));function U6(t){let{xMn:e,xMd:r,yMn:n,yMd:o}=F6(t),s=K.mul(e,o);s=K.mul(s,V6);let i=K.mul(r,n),a=K.sub(e,r),c=K.add(e,r),d=K.mul(i,c),p=K.eql(d,K.ZERO);s=K.cmov(s,K.ZERO,p),i=K.cmov(i,K.ONE,p),a=K.cmov(a,K.ONE,p),c=K.cmov(c,K.ONE,p);let[l,u]=(0,Ae.FpInvertBatch)(K,[i,c],!0);return{x:K.mul(s,l),y:K.mul(a,u)}}ne.ed25519_hasher=(0,Pu.createHasher)(ne.ed25519.Point,t=>U6(t[0]),{DST:"edwards25519_XMD:SHA-512_ELL2_RO_",encodeDST:"edwards25519_XMD:SHA-512_ELL2_NU_",p:Pn,m:1,k:128,expand:"xmd",hash:va.sha512});var Xp=Wp,L6=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),q6=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),M6=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),k6=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),$_=t=>eh(sn,t),j6=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Jp=t=>ne.ed25519.Point.Fp.create((0,as.bytesToNumberLE)(t)&j6);function K_(t){let{d:e}=Ra,r=Pn,n=m=>K.create(m),o=n(Xp*t*t),s=n((o+sn)*M6),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:d}=eh(s,a),p=n(d*t);(0,Ae.isNegativeLE)(p,r)||(p=n(-p)),c||(d=p),c||(i=o);let l=n(i*(o-sn)*k6-a),u=d*d,f=n((d+d)*a),h=n(l*L6),y=n(sn-u),b=n(sn+u);return new ne.ed25519.Point(n(f*b),n(y*h),n(h*b),n(f*y))}function J_(t){(0,Du.abytes)(t,64);let e=Jp(t.subarray(0,32)),r=K_(e),n=Jp(t.subarray(32,64)),o=K_(n);return new Br(r.add(o))}var Br=class t extends Vu.PrimeEdwardsPoint{constructor(e){super(e)}static fromAffine(e){return new t(ne.ed25519.Point.fromAffine(e))}assertSame(e){if(!(e instanceof t))throw new Error("RistrettoPoint expected")}init(e){return new t(e)}static hashToCurve(e){return J_((0,as.ensureBytes)("ristrettoHash",e,64))}static fromBytes(e){(0,Du.abytes)(e,32);let{a:r,d:n}=Ra,o=Pn,s=T=>K.create(T),i=Jp(e);if(!(0,as.equalBytes)(K.toBytes(i),e)||(0,Ae.isNegativeLE)(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(sn+r*a),d=s(sn-r*a),p=s(c*c),l=s(d*d),u=s(r*n*p-l),{isValid:f,value:h}=$_(s(u*l)),y=s(h*d),b=s(h*y*u),m=s((i+i)*y);(0,Ae.isNegativeLE)(m,o)&&(m=s(-m));let x=s(c*b),_=s(m*x);if(!f||(0,Ae.isNegativeLE)(_,o)||x===C6)throw new Error("invalid ristretto255 encoding 2");return new t(new ne.ed25519.Point(m,x,sn,_))}static fromHex(e){return t.fromBytes((0,as.ensureBytes)("ristrettoHex",e,32))}static msm(e,r){return(0,A6.pippenger)(t,ne.ed25519.Point.Fn,e,r)}toBytes(){let{X:e,Y:r,Z:n,T:o}=this.ep,s=Pn,i=b=>K.create(b),a=i(i(n+r)*i(n-r)),c=i(e*r),d=i(c*c),{value:p}=$_(i(a*d)),l=i(p*a),u=i(p*c),f=i(l*u*o),h;if((0,Ae.isNegativeLE)(o*f,s)){let b=i(r*Xp),m=i(e*Xp);e=b,r=m,h=i(l*q6)}else h=u;(0,Ae.isNegativeLE)(e*f,s)&&(r=i(-r));let y=i((n-r)*h);return(0,Ae.isNegativeLE)(y,s)&&(y=i(-y)),K.toBytes(y)}equals(e){this.assertSame(e);let{X:r,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=d=>K.create(d),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(t.ZERO)}};Br.BASE=new Br(ne.ed25519.Point.BASE);Br.ZERO=new Br(ne.ed25519.Point.ZERO);Br.Fp=K;Br.Fn=W_;ne.ristretto255={Point:Br};ne.ristretto255_hasher={hashToCurve(t,e){let r=e?.DST||"ristretto255_XMD:SHA-512_R255MAP_RO_",n=(0,Pu.expand_message_xmd)(t,r,64,va.sha512);return J_(n)},hashToScalar(t,e={DST:Pu._DST_scalar}){let r=(0,Pu.expand_message_xmd)(t,e.DST,64,va.sha512);return W_.create((0,as.bytesToNumberLE)(r))}};ne.ED25519_TORSION_SUBGROUP=["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"];function Q_(t){return ne.ed25519.utils.toMontgomery((0,as.ensureBytes)("pub",t))}ne.edwardsToMontgomery=Q_;function H6(t){return ne.ed25519.utils.toMontgomerySecret((0,as.ensureBytes)("pub",t))}ne.RistrettoPoint=Br;ne.hashToCurve=ne.ed25519_hasher.hashToCurve;ne.encodeToCurve=ne.ed25519_hasher.encodeToCurve;ne.hashToRistretto255=ne.ristretto255_hasher.hashToCurve;ne.hash_to_ristretto255=ne.ristretto255_hasher.hashToCurve});var nb=z(Uu=>{"use strict";var tb,rb;Object.defineProperty(Uu,"__esModule",{value:!0});Uu.ExpirableMap=void 0;var rh=class{static{tb=Symbol.iterator,rb=Symbol.toStringTag}#e;#t;constructor(e={}){this[tb]=this.entries.bind(this),this[rb]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=e,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let e=Date.now();for(let[r,n]of this.#e.entries())e-n.timestamp>this.#t&&this.#e.delete(r);return this}set(e,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(e,n),this}get(e){let r=this.#e.get(e);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(e);return}return r.value}}clear(){this.#e.clear()}entries(){let e=this.#e.entries();return function*(){for(let[n,o]of e)yield[n,o.value]}()}values(){let e=this.#e.values();return function*(){for(let n of e)yield n.value}()}keys(){return this.#e.keys()}forEach(e,r){for(let[n,o]of this.#e.entries())e.call(r,o.value,n,this)}has(e){return this.#e.has(e)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}};Uu.ExpirableMap=rh});var nh=z(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.unwrapDER=Fe.BLS12_381_G2_OID=Fe.SECP256K1_OID=Fe.ED25519_OID=Fe.DER_COSE_OID=Fe.decodeLen=Fe.decodeLenBytes=Fe.encodeLen=Fe.encodeLenBytes=void 0;Fe.wrapDER=Y6;var St=sr(),$6=Qs(),K6=t=>{if(t<=127)return 1;if(t<=255)return 2;if(t<=65535)return 3;if(t<=16777215)return 4;throw St.InputError.fromCode(new St.DerEncodeErrorCode("Length too long (> 4 bytes)"))};Fe.encodeLenBytes=K6;var G6=(t,e,r)=>{if(r<=127)return t[e]=r,1;if(r<=255)return t[e]=129,t[e+1]=r,2;if(r<=65535)return t[e]=130,t[e+1]=r>>8,t[e+2]=r,3;if(r<=16777215)return t[e]=131,t[e+1]=r>>16,t[e+2]=r>>8,t[e+3]=r,4;throw St.InputError.fromCode(new St.DerEncodeErrorCode("Length too long (> 4 bytes)"))};Fe.encodeLen=G6;var Z6=(t,e)=>{if(t[e]<128)return 1;if(t[e]===128)throw St.InputError.fromCode(new St.DerDecodeErrorCode("Invalid length 0"));if(t[e]===129)return 2;if(t[e]===130)return 3;if(t[e]===131)return 4;throw St.InputError.fromCode(new St.DerDecodeErrorCode("Length too long (> 4 bytes)"))};Fe.decodeLenBytes=Z6;var z6=(t,e)=>{let r=(0,Fe.decodeLenBytes)(t,e);if(r===1)return t[e];if(r===2)return t[e+1];if(r===3)return(t[e+1]<<8)+t[e+2];if(r===4)return(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];throw St.InputError.fromCode(new St.DerDecodeErrorCode("Length too long (> 4 bytes)"))};Fe.decodeLen=z6;Fe.DER_COSE_OID=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]);Fe.ED25519_OID=Uint8Array.from([48,5,6,3,43,101,112]);Fe.SECP256K1_OID=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]);Fe.BLS12_381_G2_OID=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 Y6(t,e){let r=2+(0,Fe.encodeLenBytes)(t.byteLength+1),n=e.byteLength+r+t.byteLength,o=0,s=new Uint8Array(1+(0,Fe.encodeLenBytes)(n)+n);return s[o++]=48,o+=(0,Fe.encodeLen)(s,o,n),s.set(e,o),o+=e.byteLength,s[o++]=3,o+=(0,Fe.encodeLen)(s,o,t.byteLength+1),s[o++]=0,s.set(new Uint8Array(t),o),s}var W6=(t,e)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw St.InputError.fromCode(new St.DerDecodeErrorCode(`Expected ${c} at offset ${r}`))},o=new Uint8Array(t);if(n(48,"sequence"),r+=(0,Fe.decodeLenBytes)(o,r),!(0,$6.uint8Equals)(o.slice(r,r+e.byteLength),e))throw St.InputError.fromCode(new St.DerDecodeErrorCode("Not the expected OID."));r+=e.byteLength,n(3,"bit string");let s=(0,Fe.decodeLen)(o,r)-1;r+=(0,Fe.decodeLenBytes)(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw St.InputError.fromCode(new St.DerDecodeLengthMismatchErrorCode(s,i.length));return i};Fe.unwrapDER=W6});var sh=z(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.Ed25519PublicKey=void 0;var Lu=nh(),qu=sr(),oh=class t{static from(e){return this.fromDer(e.toDer())}static fromRaw(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){return(0,Lu.wrapDER)(e,Lu.ED25519_OID)}static derDecode(e){let r=(0,Lu.unwrapDER)(e,Lu.ED25519_OID);if(r.length!==this.RAW_KEY_LENGTH)throw qu.InputError.fromCode(new qu.DerDecodeErrorCode("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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw qu.InputError.fromCode(new qu.DerDecodeErrorCode("An Ed25519 public key must be exactly 32 bytes long"));this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}};Mu.Ed25519PublicKey=oh});var ah=z(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.ObservableLog=ui.Observable=void 0;var ku=class{constructor(){this.observers=[]}subscribe(e){this.observers.push(e)}unsubscribe(e){this.observers=this.observers.filter(r=>r!==e)}notify(e,...r){this.observers.forEach(n=>n(e,...r))}};ui.Observable=ku;var ih=class extends ku{constructor(){super()}print(e,...r){this.notify({message:e,level:"info"},...r)}warn(e,...r){this.notify({message:e,level:"warn"},...r)}error(e,r,...n){this.notify({message:e,level:"error",error:r},...n)}};ui.ObservableLog=ih});var db=z(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ExponentialBackoff=void 0;Sa.exponentialBackoff=X6;var ob=.5,sb=1.5,ib=500,ab=6e4,cb=9e5,ub=10,Ia=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a=0;static{this.default={initialInterval:ib,randomizationFactor:ob,multiplier:sb,maxInterval:ab,maxElapsedTime:cb,maxIterations:ub,date:Date}}constructor(e=t.default){let{initialInterval:r=ib,randomizationFactor:n=ob,multiplier:o=sb,maxInterval:s=ab,maxElapsedTime:i=cb,maxIterations:a=ub,date:c=Date}=e;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#d=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let e=this.#t*this.#e,r=this.#e-e,n=this.#e+e;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};Sa.ExponentialBackoff=Ia;function*X6(t=Ia.default){let e=new Ia(t),r=e.next();for(;r;)yield r,r=e.next()}});var Hu=z($e=>{"use strict";var _b=$e&&$e.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),J6=$e&&$e.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Q6=$e&&$e.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&_b(r,e,n[o]);return J6(r,e),r}})(),e4=$e&&$e.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_b(e,t,r)};Object.defineProperty($e,"__esModule",{value:!0});$e.HttpAgent=$e.MANAGEMENT_CANISTER_ID=$e.IC_ROOT_KEY=$e.RequestStatusResponseStatus=$e.makeNonce=void 0;$e.calculateIngressExpiry=ju;var Dn=Rr(),Z=sr(),lb=ip(),To=Q6(la()),Aa=nu(),fb=Tl(),di=lu(),Fn=ei(),pb=Bu(),hb=ai(),t4=eb(),r4=nb(),n4=sh(),o4=ah(),s4=db(),i4=Ru(),yb=dt(),ch=Qs(),a4=ou();e4(lu(),$e);var c4=ei();Object.defineProperty($e,"makeNonce",{enumerable:!0,get:function(){return c4.makeNonce}});var mb;(function(t){t.Received="received",t.Processing="processing",t.Replied="replied",t.Rejected="rejected",t.Unknown="unknown",t.Done="done"})(mb||($e.RequestStatusResponseStatus=mb={}));var dh=60*1e3,u4=1e6,d4=0;$e.IC_ROOT_KEY="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";$e.MANAGEMENT_CANISTER_ID="aaaaa-aa";var l4="ic0.app",f4=".ic0.app",p4="icp0.io",h4=".icp0.io",y4="icp-api.io",m4=".icp-api.io",uh=200,_4=202,b4=404;function g4(){let t;if(typeof window<"u")if(window.fetch)t=window.fetch.bind(window);else throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("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)t=global.fetch.bind(global);else throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("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&&(t=self.fetch.bind(self));if(t)return t;throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function x4(t){let e;if(t!==void 0)!t.match(/^[a-z]+:/)&&typeof window<"u"?e=new URL(window.location.protocol+"//"+t):e=new URL(t);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?e=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):e=new URL("https://icp-api.io")}return e.toString()}var lh=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a;#g;#s;#l;#f;#u;get#T(){return this.#u*dh}#p;#h;#y;#m;constructor(e={}){this.#e=null,this.#t=!1,this.#r=d4,this.#c=!1,this.#i=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new o4.ObservableLog,this.#p=[],this.#h=[],this.#y=new r4.ExpirableMap({expirationTime:5*dh}),this.#m=!0,this.#w=(o,s)=>{if(this.#m===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let d of a){let{timestamp:p,identity:l}=d,u=Dn.Principal.fromUint8Array(l).toText(),f;if(i===fb.QueryResponseStatus.Replied){let{reply:x}=o;f=(0,Aa.hashOfMap)({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===fb.QueryResponseStatus.Rejected){let{reject_code:x,reject_message:_,error_code:T}=o;f=(0,Aa.hashOfMap)({status:i,reject_code:x,reject_message:_,error_code:T,timestamp:BigInt(p),request_id:c})}else throw Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(`Unknown status: ${i}`));let h=(0,yb.concatBytes)(a4.IC_RESPONSE_DOMAIN_SEPARATOR,f),y=s.nodeKeys.get(u);if(!y)throw Z.ProtocolError.fromCode(new Z.MalformedPublicKeyErrorCode);let b=n4.Ed25519PublicKey.fromDer(y).rawKey;if(t4.ed25519.verify(d.signature,h,b))return o;throw Z.TrustError.fromCode(new Z.QuerySignatureVerificationFailedErrorCode(u))}return o},this.config=e,this.#o=e.fetch||g4()||fetch.bind(global),this.#a=e.fetchOptions,this.#g=e.callOptions,this.#t=e.shouldFetchRootKey??!1,this.#d=e.shouldSyncTime??!1,e.rootKey?this.rootKey=e.rootKey:this.#t?this.rootKey=null:this.rootKey=(0,yb.hexToBytes)($e.IC_ROOT_KEY);let r=x4(e.host);this.host=new URL(r),e.verifyQuerySignatures!==void 0&&(this.#m=e.verifyQuerySignatures),this.#l=e.retryTimes??3;let n=()=>new s4.ExponentialBackoff({maxIterations:this.#l});if(this.#f=e.backoffStrategy||n,this.host.hostname.endsWith(f4)?this.host.hostname=l4:this.host.hostname.endsWith(h4)?this.host.hostname=p4:this.host.hostname.endsWith(m4)&&(this.host.hostname=y4),e.credentials){let{name:o,password:s}=e.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(e.identity||new lb.AnonymousIdentity),e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes>5)throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode("The maximum ingress expiry time is 5 minutes.",e.ingressExpiryInMinutes));if(e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes<=0)throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode("Ingress expiry time must be greater than 0.",e.ingressExpiryInMinutes));this.#u=e.ingressExpiryInMinutes||5,this.addTransform("update",(0,di.makeNonceTransform)(Fn.makeNonce)),e.useQueryNonces&&this.addTransform("query",(0,di.makeNonceTransform)(Fn.makeNonce)),e.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(e={}){return new this({...e})}static async create(e={}){let r=t.createSync(e);return await r.#b(),r}static async from(e){try{return"config"in e?await t.create(e.config):await t.create({fetch:e._fetch,fetchOptions:e._fetchOptions,callOptions:e._callOptions,host:e._host.toString(),identity:e._identity??void 0})}catch{throw Z.InputError.fromCode(new Z.CreateHttpAgentErrorCode)}}isLocal(){let e=this.host.hostname;return e==="127.0.0.1"||e.endsWith("127.0.0.1")}addTransform(e,r,n=r.priority||0){if(e==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(e==="query"){let o=this.#p.findIndex(s=>(s.priority||0)<n);this.#p.splice(o>=0?o:this.#p.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);return(await this.#n).getPrincipal()}async call(e,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let i=Dn.Principal.from(e),a=r.effectiveCanisterId?Dn.Principal.from(r.effectiveCanisterId):i;await this.#b(a);let c=s.getPrincipal(),d=ju(this.#u,this.#r),p={request_type:Fn.SubmitRequestType.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:d},l=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.Call,body:p}),u;r?.nonce?u=f(r.nonce):l.body.nonce?u=f(l.body.nonce):u=void 0,p.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}l=await s.transformRequest(l);let h=To.encode(l.body),y=this.#f(),b=(0,Aa.requestIdOf)(p);try{let _=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})),{responseBodyBytes:T,...N}=await this.#_({requestFn:_,backoff:y,tries:0}),R=T.byteLength>0?To.decode(T):null;return{requestId:b,response:{...N,body:R},requestDetails:p}}catch(m){let x;if(m instanceof Z.AgentError){if(m.hasCode(Z.HttpV3ApiNotSupportedErrorCode))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(e,{...r,callSync:!1},n);if(m.hasCode(Z.IngressExpiryInvalidErrorCode)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);m.code.requestContext={requestId:b,senderPubKey:l.body.sender_pubkey,senderSignature:l.body.sender_sig,ingressExpiry:l.body.content.ingress_expiry},x=m}else x=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#x(e){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=e,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw Z.UnknownError.fromCode(new Z.TimeoutWaitingForResponseErrorCode(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let d;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===uh)d={...To.decode((0,ch.uint8FromBufLike)(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:(0,di.httpHeadersTransform)(f.headers)},requestId:s};else throw Z.ProtocolError.fromCode(new Z.HttpErrorCode(f.status,f.statusText,(0,di.httpHeadersTransform)(f.headers),await f.text()))}catch(f){if(a<this.#l)return this.log.warn(`Caught exception while attempting to make query:
|
|
65
|
+
)`}else throw me.UnknownError.fromCode(new me.HashTreeDecodeErrorCode("Invalid tree structure for labeled"));case Ze.Leaf:{if(t[1]){if(Array.isArray(t[1]))return JSON.stringify(t[1])}else throw me.UnknownError.fromCode(new me.HashTreeDecodeErrorCode("Invalid tree structure for leaf"));return`leaf(...${t[1].byteLength} bytes)`}case Ze.Pruned:{if(t[1]){if(Array.isArray(t[1]))return JSON.stringify(t[1])}else throw me.UnknownError.fromCode(new me.HashTreeDecodeErrorCode("Invalid tree structure for pruned"));return`pruned(${(0,go.bytesToHex)(new Uint8Array(t[1]))}`}default:return`unknown(${JSON.stringify(t[0])})`}}function d6(t,e){for(let r=0;r<t.length;r++)if(t[r]>e[r])return!0;return!1}var kp=class t{#e=!1;#t=void 0;static async create(e){let r=t.createUnverified(e);return await r.verify(),r}static createUnverified(e){return new t(e.certificate,e.rootKey,e.canisterId,e.blsVerify??r6.blsVerify,e.maxAgeInMinutes,e.disableTimeVerification,e.agent)}constructor(e,r,n,o,s=a6,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=P_.decode(e),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(e){return Au(e,this.cert.tree)}lookup_subtree(e){return $p(e,this.cert.tree)}async verify(){let e=await Ea(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=f6(r),s=(0,go.concatBytes)(oi("ic-state-root"),e),i=jp(this.lookup_path(["time"]));if(!i)throw me.ProtocolError.fromCode(new me.CertificateVerificationErrorCode("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*B_,d=new Date,p=d.getTime()+a,l=p-c,u=p+c6*B_,f=(0,n6.decodeTime)(i),h=f.getTime()<l,m=f.getTime()>u;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw me.TrustError.fromCode(new me.CertificateTimeErrorCode(this._maxAgeInMinutes,f,d,a,"past"));if(m)throw this.#t?.hasSyncedTime()?me.UnknownError.fromCode(new me.UnexpectedErrorCode("System time has been synced with the IC network, but certificate is still too far in the future.")):me.TrustError.fromCode(new me.CertificateTimeErrorCode(5,f,d,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw me.TrustError.fromCode(new me.CertificateVerificationErrorCode("Invalid signature"))}catch(a){throw me.TrustError.fromCode(new me.CertificateVerificationErrorCode("Signature verification failed",a))}}async _checkDelegationAndGetKey(e){if(!e)return this._rootKey;let r=t.createUnverified({certificate:e.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:u6,agent:this.#t});if(r.cert.delegation)throw me.ProtocolError.fromCode(new me.CertificateHasTooManyDelegationsErrorCode);await r.verify();let n=e.subnet_id,o=Mp.Principal.fromUint8Array(n);if(!V_({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw me.TrustError.fromCode(new me.CertificateNotAuthorizedErrorCode(this._canisterId,o));let i=jp(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw me.TrustError.fromCode(new me.MissingLookupValueErrorCode(`Could not find subnet key for subnet ID ${o.toText()}`));return i}};Ue.Certificate=kp;var wa=(0,go.hexToBytes)("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),l6=96;function f6(t){let e=wa.byteLength+l6;if(t.byteLength!==e)throw me.ProtocolError.fromCode(new me.DerKeyLengthMismatchErrorCode(e,t.byteLength));let r=t.slice(0,wa.byteLength);if(!(0,D_.uint8Equals)(r,wa))throw me.ProtocolError.fromCode(new me.DerPrefixMismatchErrorCode(wa,r));return t.slice(wa.byteLength)}function jp(t){if(t.status===nn.Found&&t.value instanceof Uint8Array)return t.value}async function Ea(t){switch(t[0]){case Ze.Empty:return(0,Iu.sha256)(oi("ic-hashtree-empty"));case Ze.Pruned:return t[1];case Ze.Leaf:return(0,Iu.sha256)((0,go.concatBytes)(oi("ic-hashtree-leaf"),t[1]));case Ze.Labeled:return(0,Iu.sha256)((0,go.concatBytes)(oi("ic-hashtree-labeled"),t[1],await Ea(t[2])));case Ze.Fork:return(0,Iu.sha256)((0,go.concatBytes)(oi("ic-hashtree-fork"),await Ea(t[1]),await Ea(t[2])));default:throw me.UNREACHABLE_ERROR}}function oi(t){let e=new Uint8Array([t.length]),r=new TextEncoder().encode(t);return(0,go.concatBytes)(e,r)}function F_(t){return typeof t[0]=="string"?(0,go.utf8ToBytes)(t[0]):t[0]}var nn;(function(t){t.Unknown="Unknown",t.Absent="Absent",t.Found="Found",t.Error="Error"})(nn||(Ue.LookupPathStatus=nn={}));var Ta;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found"})(Ta||(Ue.LookupSubtreeStatus=Ta={}));var He;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found",t.Less="Less",t.Greater="Greater"})(He||(Ue.LookupLabelStatus=He={}));function Au(t,e){if(t.length===0)switch(e[0]){case Ze.Empty:return{status:nn.Absent};case Ze.Leaf:{if(!e[1])throw me.UnknownError.fromCode(new me.HashTreeDecodeErrorCode("Invalid tree structure for leaf"));if(e[1]instanceof Uint8Array)return{status:nn.Found,value:e[1].slice(e[1].byteOffset,e[1].byteLength+e[1].byteOffset)};throw me.UNREACHABLE_ERROR}case Ze.Pruned:return{status:nn.Unknown};case Ze.Labeled:case Ze.Fork:return{status:nn.Error};default:throw me.UNREACHABLE_ERROR}let r=F_(t),n=si(r,e);switch(n.status){case He.Found:return Au(t.slice(1),n.value);case He.Absent:case He.Greater:case He.Less:return{status:nn.Absent};case He.Unknown:return{status:nn.Unknown};default:throw me.UNREACHABLE_ERROR}}function $p(t,e){if(t.length===0)return{status:Ta.Found,value:e};let r=F_(t),n=si(r,e);switch(n.status){case He.Found:return $p(t.slice(1),n.value);case He.Unknown:return{status:Ta.Unknown};case He.Absent:case He.Greater:case He.Less:return{status:Ta.Absent};default:throw me.UNREACHABLE_ERROR}}function Hp(t){switch(t[0]){case Ze.Empty:return[];case Ze.Fork:return Hp(t[1]).concat(Hp(t[2]));default:return[t]}}function si(t,e){switch(e[0]){case Ze.Labeled:return d6(t,e[1])?{status:He.Greater}:(0,D_.uint8Equals)(t,e[1])?{status:He.Found,value:e[2]}:{status:He.Less};case Ze.Fork:{let r=si(t,e[1]);switch(r.status){case He.Greater:{let n=si(t,e[2]);return n.status===He.Less?{status:He.Absent}:n}case He.Unknown:{let n=si(t,e[2]);return n.status===He.Less?{status:He.Unknown}:n}default:return r}}case Ze.Pruned:return{status:He.Unknown};default:return{status:He.Absent}}}function V_(t){let{canisterId:e,subnetId:r,tree:n}=t,o=Au(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==nn.Found)throw me.ProtocolError.fromCode(new me.LookupErrorCode(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw me.ProtocolError.fromCode(new me.MalformedLookupFoundValueErrorCode(`Could not find canister ranges for subnet ${r.toText()}`));return P_.decode(o.value).map(c=>[Mp.Principal.fromUint8Array(c[0]),Mp.Principal.fromUint8Array(c[1])]).some(c=>c[0].ltEq(e)&&c[1].gtEq(e))}});var Bu=z(ft=>{"use strict";var p6=ft&&ft.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),h6=ft&&ft.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),m6=ft&&ft.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&p6(r,e,n[o]);return h6(r,e),r}})();Object.defineProperty(ft,"__esModule",{value:!0});ft.encodePath=ft.fetchNodeKeys=ft.request=ft.CustomPath=void 0;var xo=Rr(),ot=sr(),wo=ii(),Gp=m6(da()),U_=Ru(),Qt=dt(),Kp=class{constructor(e,r,n){this.key=e,this.path=r,this.decodeStrategy=n}};ft.CustomPath=Kp;var y6=async t=>{let{agent:e,paths:r,disableCertificateTimeVerification:n=!1}=t,o=xo.Principal.from(t.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,d)=>{let p=(0,ft.encodePath)(c,o);return(async()=>{try{if(e.rootKey===null)throw ot.ExternalError.fromCode(new ot.MissingRootKeyErrorCode);let l=e.rootKey,u=await e.readState(o,{paths:[p]}),f=await wo.Certificate.create({certificate:u.certificate,rootKey:l,canisterId:o,disableTimeVerification:n,agent:e}),h=(y,x)=>{if(x==="subnet"){let _=(0,ft.fetchNodeKeys)(u.certificate,o,l);return{path:x,data:_}}else return{path:x,data:(0,wo.lookupResultToBuffer)(y.lookup_path(p))}},{path:m,data:b}=h(f,s[d]);if(!b)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?i.set(m,null):i.set(m.key,null);else switch(m){case"time":{i.set(m,(0,U_.decodeTime)(b));break}case"controllers":{i.set(m,g6(b));break}case"module_hash":{i.set(m,(0,Qt.bytesToHex)(b));break}case"subnet":{i.set(m,b);break}case"candid":{i.set(m,new TextDecoder().decode(b));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":i.set(m.key,b);break;case"leb128":{i.set(m.key,(0,U_.decodeLeb128)(b));break}case"cbor":{i.set(m.key,Gp.decode(b));break}case"hex":{i.set(m.key,(0,Qt.bytesToHex)(b));break}case"utf-8":i.set(m.key,new TextDecoder().decode(b))}}}catch(l){if(l instanceof ot.AgentError&&(l.hasCode(ot.CertificateVerificationErrorCode)||l.hasCode(ot.CertificateTimeErrorCode)))throw l;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(l),console.groupEnd()}})()});return await Promise.all(a),i};ft.request=y6;var _6=(t,e,r)=>{if(!e._isPrincipal)throw ot.InputError.fromCode(new ot.UnexpectedErrorCode("Invalid canisterId"));let n=Gp.decode(t),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=xo.Principal.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=xo.Principal.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=xo.Principal.selfAuthenticating(xo.Principal.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!(0,wo.check_canister_ranges)({canisterId:e,subnetId:i,tree:o}))throw ot.TrustError.fromCode(new ot.CertificateNotAuthorizedErrorCode(e,i));let c=(0,wo.lookup_subtree)(["subnet",s.subnet_id,"node"],o);if(c.status!==wo.LookupSubtreeStatus.Found)throw ot.ProtocolError.fromCode(new ot.LookupErrorCode("Node not found",c.status));if(c.value instanceof Uint8Array)throw ot.UnknownError.fromCode(new ot.HashTreeDecodeErrorCode("Invalid node tree"));let d=(0,wo.flatten_forks)(c.value),p=new Map;return d.forEach(l=>{let u=xo.Principal.from(l[1]).toText(),f=(0,wo.lookup_path)(["public_key"],l[2]);if(f.status!==wo.LookupPathStatus.Found)throw ot.ProtocolError.fromCode(new ot.LookupErrorCode("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ot.ProtocolError.fromCode(new ot.DerKeyLengthMismatchErrorCode(44,h.byteLength));p.set(u,h)}),{subnetId:xo.Principal.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}};ft.fetchNodeKeys=_6;var b6=(t,e)=>{let r=e.toUint8Array();switch(t){case"time":return[(0,Qt.utf8ToBytes)("time")];case"controllers":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("controllers")];case"module_hash":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("module_hash")];case"subnet":return[(0,Qt.utf8ToBytes)("subnet")];case"candid":return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("metadata"),(0,Qt.utf8ToBytes)("candid:service")];default:if("key"in t&&"path"in t)if(typeof t.path=="string"||t.path instanceof Uint8Array){let n=t.path,o=typeof n=="string"?(0,Qt.utf8ToBytes)(n):n;return[(0,Qt.utf8ToBytes)("canister"),r,(0,Qt.utf8ToBytes)("metadata"),o]}else return t.path}throw ot.UnknownError.fromCode(new ot.UnexpectedErrorCode(`Error while encoding your path for canister status. Please ensure that your path ${t} was formatted correctly.`))};ft.encodePath=b6;var g6=t=>Gp.decode(t).map(r=>xo.Principal.fromUint8Array(r))});var M_=z(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.PrimeEdwardsPoint=void 0;is.edwards=L_;is.eddsa=q_;is.twistedEdwards=N6;var Oe=Ir(),ss=ma(),x6=Qr(),Eo=BigInt(0),pt=BigInt(1),Zp=BigInt(2),w6=BigInt(8);function E6(t,e,r,n){let o=t.sqr(r),s=t.sqr(n),i=t.add(t.mul(e.a,o),s),a=t.add(t.ONE,t.mul(e.d,t.mul(o,s)));return t.eql(i,a)}function L_(t,e={}){let r=(0,ss._createCurveFields)("edwards",t,e,e.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;(0,Oe._validateObject)(e,{},{uvRatio:"function"});let a=Zp<<BigInt(o.BYTES*8)-pt,c=b=>n.create(b),d=e.uvRatio||((b,y)=>{try{return{isValid:!0,value:n.sqrt(n.div(b,y))}}catch{return{isValid:!1,value:Eo}}});if(!E6(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(b,y,x=!1){let _=x?pt:Eo;return(0,Oe.aInRange)("coordinate "+b,y,_,a),y}function l(b){if(!(b instanceof h))throw new Error("ExtendedPoint expected")}let u=(0,Oe.memoized)((b,y)=>{let{X:x,Y:_,Z:T}=b,N=b.is0();y==null&&(y=N?w6:n.inv(T));let R=c(x*y),v=c(_*y),A=n.mul(T,y);if(N)return{x:Eo,y:pt};if(A!==pt)throw new Error("invZ was invalid");return{x:R,y:v}}),f=(0,Oe.memoized)(b=>{let{a:y,d:x}=s;if(b.is0())throw new Error("bad point: ZERO");let{X:_,Y:T,Z:N,T:R}=b,v=c(_*_),A=c(T*T),E=c(N*N),S=c(E*E),V=c(v*y),C=c(E*c(V+A)),g=c(S+c(x*c(v*A)));if(C!==g)throw new Error("bad point: equation left != right (1)");let w=c(_*T),O=c(N*R);if(w!==O)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(y,x,_,T){this.X=p("x",y),this.Y=p("y",x),this.Z=p("z",_,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof h)throw new Error("extended point not allowed");let{x,y:_}=y||{};return p("x",x),p("y",_),new h(x,_,pt,c(x*_))}static fromBytes(y,x=!1){let _=n.BYTES,{a:T,d:N}=s;y=(0,Oe.copyBytes)((0,Oe._abytes2)(y,_,"point")),(0,Oe._abool2)(x,"zip215");let R=(0,Oe.copyBytes)(y),v=y[_-1];R[_-1]=v&-129;let A=(0,Oe.bytesToNumberLE)(R),E=x?a:n.ORDER;(0,Oe.aInRange)("point.y",A,Eo,E);let S=c(A*A),V=c(S-pt),C=c(N*S-T),{isValid:g,value:w}=d(V,C);if(!g)throw new Error("bad point: invalid y coordinate");let O=(w&pt)===pt,P=(v&128)!==0;if(!x&&w===Eo&&P)throw new Error("bad point: x=0 and x_0=1");return P!==O&&(w=c(-w)),h.fromAffine({x:w,y:A})}static fromHex(y,x=!1){return h.fromBytes((0,Oe.ensureBytes)("point",y),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,x=!0){return m.createCache(this,y),x||this.multiply(Zp),this}assertValidity(){f(this)}equals(y){l(y);let{X:x,Y:_,Z:T}=this,{X:N,Y:R,Z:v}=y,A=c(x*v),E=c(N*T),S=c(_*v),V=c(R*T);return A===E&&S===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:y}=s,{X:x,Y:_,Z:T}=this,N=c(x*x),R=c(_*_),v=c(Zp*c(T*T)),A=c(y*N),E=x+_,S=c(c(E*E)-N-R),V=A+R,C=V-v,g=A-R,w=c(S*C),O=c(V*g),P=c(S*g),L=c(C*V);return new h(w,O,L,P)}add(y){l(y);let{a:x,d:_}=s,{X:T,Y:N,Z:R,T:v}=this,{X:A,Y:E,Z:S,T:V}=y,C=c(T*A),g=c(N*E),w=c(v*_*V),O=c(R*S),P=c((T+N)*(A+E)-C-g),L=O-w,I=O+w,B=c(g-x*C),F=c(P*L),U=c(I*B),q=c(P*B),H=c(L*I);return new h(F,U,H,q)}subtract(y){return this.add(y.negate())}multiply(y){if(!o.isValidNot0(y))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:_}=m.cached(this,y,T=>(0,ss.normalizeZ)(h,T));return(0,ss.normalizeZ)(h,[x,_])[0]}multiplyUnsafe(y,x=h.ZERO){if(!o.isValid(y))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return y===Eo?h.ZERO:this.is0()||y===pt?this:m.unsafe(this,y,_=>(0,ss.normalizeZ)(h,_),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return m.unsafe(this,s.n).is0()}toAffine(y){return u(this,y)}clearCofactor(){return i===pt?this:this.multiplyUnsafe(i)}toBytes(){let{x:y,y:x}=this.toAffine(),_=n.toBytes(x);return _[_.length-1]|=y&pt?128:0,_}toHex(){return(0,Oe.bytesToHex)(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(y){return(0,ss.normalizeZ)(h,y)}static msm(y,x){return(0,ss.pippenger)(h,o,y,x)}_setWindowSize(y){this.precompute(y)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,pt,c(s.Gx*s.Gy)),h.ZERO=new h(Eo,pt,pt,Eo),h.Fp=n,h.Fn=o;let m=new ss.wNAF(h,o.BITS);return h.BASE.precompute(8),h}var zp=class{constructor(e){this.ep=e}static fromBytes(e){(0,Oe.notImplemented)()}static fromHex(e){(0,Oe.notImplemented)()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return(0,Oe.bytesToHex)(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,r){return this.init(this.ep.precompute(e,r))}toRawBytes(){return this.toBytes()}};is.PrimeEdwardsPoint=zp;function q_(t,e,r={}){if(typeof e!="function")throw new Error('"hash" function param is required');(0,Oe._validateObject)(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=t,a=r.randomBytes||Oe.randomBytes,c=r.adjustScalarBytes||(E=>E),d=r.domain||((E,S,V)=>{if((0,Oe._abool2)(V,"phflag"),S.length||V)throw new Error("Contexts/pre-hash are not supported");return E});function p(E){return i.create((0,Oe.bytesToNumberLE)(E))}function l(E){let S=_.secretKey;E=(0,Oe.ensureBytes)("private key",E,S);let V=(0,Oe.ensureBytes)("hashed private key",e(E),2*S),C=c(V.slice(0,S)),g=V.slice(S,2*S),w=p(C);return{head:C,prefix:g,scalar:w}}function u(E){let{head:S,prefix:V,scalar:C}=l(E),g=o.multiply(C),w=g.toBytes();return{head:S,prefix:V,scalar:C,point:g,pointBytes:w}}function f(E){return u(E).pointBytes}function h(E=Uint8Array.of(),...S){let V=(0,Oe.concatBytes)(...S);return p(e(d(V,(0,Oe.ensureBytes)("context",E),!!n)))}function m(E,S,V={}){E=(0,Oe.ensureBytes)("message",E),n&&(E=n(E));let{prefix:C,scalar:g,pointBytes:w}=u(S),O=h(V.context,C,E),P=o.multiply(O).toBytes(),L=h(V.context,P,w,E),I=i.create(O+L*g);if(!i.isValid(I))throw new Error("sign failed: invalid s");let B=(0,Oe.concatBytes)(P,i.toBytes(I));return(0,Oe._abytes2)(B,_.signature,"result")}let b={zip215:!0};function y(E,S,V,C=b){let{context:g,zip215:w}=C,O=_.signature;E=(0,Oe.ensureBytes)("signature",E,O),S=(0,Oe.ensureBytes)("message",S),V=(0,Oe.ensureBytes)("publicKey",V,_.publicKey),w!==void 0&&(0,Oe._abool2)(w,"zip215"),n&&(S=n(S));let P=O/2,L=E.subarray(0,P),I=(0,Oe.bytesToNumberLE)(E.subarray(P,O)),B,F,U;try{B=t.fromBytes(V,w),F=t.fromBytes(L,w),U=o.multiplyUnsafe(I)}catch{return!1}if(!w&&B.isSmallOrder())return!1;let q=h(g,F.toBytes(),B.toBytes(),S);return F.add(B.multiplyUnsafe(q)).subtract(U).clearCofactor().is0()}let x=s.BYTES,_={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(E=a(_.seed)){return(0,Oe._abytes2)(E,_.seed,"seed")}function N(E){let S=A.randomSecretKey(E);return{secretKey:S,publicKey:f(S)}}function R(E){return(0,Oe.isBytes)(E)&&E.length===i.BYTES}function v(E,S){try{return!!t.fromBytes(E,S)}catch{return!1}}let A={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:v,toMontgomery(E){let{y:S}=t.fromBytes(E),V=_.publicKey,C=V===32;if(!C&&V!==57)throw new Error("only defined for 25519 and 448");let g=C?s.div(pt+S,pt-S):s.div(S-pt,S+pt);return s.toBytes(g)},toMontgomerySecret(E){let S=_.secretKey;(0,Oe._abytes2)(E,S);let V=e(E.subarray(0,S));return c(V).subarray(0,S)},randomPrivateKey:T,precompute(E=8,S=t.BASE){return S.precompute(E,!1)}};return Object.freeze({keygen:N,getPublicKey:f,sign:m,verify:y,utils:A,Point:t,lengths:_})}function T6(t){let e={a:t.a,d:t.d,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=(0,x6.Field)(e.n,t.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:t.uvRatio},s={randomBytes:t.randomBytes,adjustScalarBytes:t.adjustScalarBytes,domain:t.domain,prehash:t.prehash,mapToCurve:t.mapToCurve};return{CURVE:e,curveOpts:o,hash:t.hash,eddsaOpts:s}}function O6(t,e){let r=e.Point;return Object.assign({},e,{ExtendedPoint:r,CURVE:t,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function N6(t){let{CURVE:e,curveOpts:r,hash:n,eddsaOpts:o}=T6(t),s=L_(e,r),i=q_(s,n,o);return O6(t,i)}});var k_=z(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.montgomery=I6;var on=Ir(),v6=Qr(),Oa=BigInt(0),ai=BigInt(1),Cu=BigInt(2);function R6(t){return(0,on._validateObject)(t,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...t})}function I6(t){let e=R6(t),{P:r,type:n,adjustScalarBytes:o,powPminus2:s,randomBytes:i}=e,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");let c=i||on.randomBytes,d=a?255:448,p=a?32:56,l=BigInt(a?9:5),u=BigInt(a?121665:39081),f=a?Cu**BigInt(254):Cu**BigInt(447),h=a?BigInt(8)*Cu**BigInt(251)-ai:BigInt(4)*Cu**BigInt(445)-ai,m=f+h+ai,b=g=>(0,v6.mod)(g,r),y=x(l);function x(g){return(0,on.numberToBytesLE)(b(g),p)}function _(g){let w=(0,on.ensureBytes)("u coordinate",g,p);return a&&(w[31]&=127),b((0,on.bytesToNumberLE)(w))}function T(g){return(0,on.bytesToNumberLE)(o((0,on.ensureBytes)("scalar",g,p)))}function N(g,w){let O=A(_(w),T(g));if(O===Oa)throw new Error("invalid private or public key received");return x(O)}function R(g){return N(g,y)}function v(g,w,O){let P=b(g*(w-O));return w=b(w-P),O=b(O+P),{x_2:w,x_3:O}}function A(g,w){(0,on.aInRange)("u",g,Oa,r),(0,on.aInRange)("scalar",w,f,m);let O=w,P=g,L=ai,I=Oa,B=g,F=ai,U=Oa;for(let H=BigInt(d-1);H>=Oa;H--){let Y=O>>H&ai;U^=Y,{x_2:L,x_3:B}=v(U,L,B),{x_2:I,x_3:F}=v(U,I,F),U=Y;let G=L+I,ie=b(G*G),ae=L-I,Ce=b(ae*ae),ee=ie-Ce,ce=B+F,lr=B-F,vr=b(lr*G),fr=b(ce*ae),wn=vr+fr,io=vr-fr;B=b(wn*wn),F=b(P*b(io*io)),L=b(ie*Ce),I=b(ee*(ie+b(u*ee)))}({x_2:L,x_3:B}=v(U,L,B)),{x_2:I,x_3:F}=v(U,I,F);let q=s(I);return b(L*q)}let E={secretKey:p,publicKey:p,seed:p},S=(g=c(p))=>((0,on.abytes)(g,E.seed),g);function V(g){let w=S(g);return{secretKey:w,publicKey:R(w)}}return{keygen:V,getSharedSecret:(g,w)=>N(g,w),getPublicKey:g=>R(g),scalarMult:N,scalarMultBase:R,utils:{randomSecretKey:S,randomPrivateKey:S},GuBytes:y.slice(),lengths:E}}});var Q_=z(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.hash_to_ristretto255=ne.hashToRistretto255=ne.encodeToCurve=ne.hashToCurve=ne.RistrettoPoint=ne.edwardsToMontgomery=ne.ED25519_TORSION_SUBGROUP=ne.ristretto255_hasher=ne.ristretto255=ne.ed25519_hasher=ne.x25519=ne.ed25519ph=ne.ed25519ctx=ne.ed25519=void 0;ne.edwardsToMontgomeryPub=J_;ne.edwardsToMontgomeryPriv=j6;var Na=Ks(),Du=dt(),S6=ma(),Vu=M_(),Pu=_u(),Ae=Qr(),A6=k_(),as=Ir(),B6=BigInt(0),sn=BigInt(1),Fu=BigInt(2),K_=BigInt(3),G_=BigInt(5),Qp=BigInt(8),Pn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),va={p:Pn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Qp,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Z_(t){let e=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Pn,a=t*t%s*t%s,c=(0,Ae.pow2)(a,Fu,s)*a%s,d=(0,Ae.pow2)(c,sn,s)*t%s,p=(0,Ae.pow2)(d,G_,s)*d%s,l=(0,Ae.pow2)(p,e,s)*p%s,u=(0,Ae.pow2)(l,r,s)*l%s,f=(0,Ae.pow2)(u,n,s)*u%s,h=(0,Ae.pow2)(f,o,s)*f%s,m=(0,Ae.pow2)(h,o,s)*f%s,b=(0,Ae.pow2)(m,e,s)*p%s;return{pow_p_5_8:(0,Ae.pow2)(b,Fu,s)*t%s,b2:a}}function z_(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var Wp=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function eh(t,e){let r=Pn,n=(0,Ae.mod)(e*e*e,r),o=(0,Ae.mod)(n*n*e,r),s=Z_(t*o).pow_p_5_8,i=(0,Ae.mod)(t*n*s,r),a=(0,Ae.mod)(e*i*i,r),c=i,d=(0,Ae.mod)(i*Wp,r),p=a===t,l=a===(0,Ae.mod)(-t,r),u=a===(0,Ae.mod)(-t*Wp,r);return p&&(i=c),(l||u)&&(i=d),(0,Ae.isNegativeLE)(i,r)&&(i=(0,Ae.mod)(-i,r)),{isValid:p||l,value:i}}var K=(0,Ae.Field)(va.p,{isLE:!0}),Y_=(0,Ae.Field)(va.n,{isLE:!0}),th={...va,Fp:K,hash:Na.sha512,adjustScalarBytes:z_,uvRatio:eh};ne.ed25519=(0,Vu.twistedEdwards)(th);function W_(t,e,r){if(e.length>255)throw new Error("Context is too big");return(0,Du.concatBytes)((0,Du.utf8ToBytes)("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}ne.ed25519ctx=(0,Vu.twistedEdwards)({...th,domain:W_});ne.ed25519ph=(0,Vu.twistedEdwards)(Object.assign({},th,{domain:W_,prehash:Na.sha512}));ne.x25519=(()=>{let t=K.ORDER;return(0,A6.montgomery)({P:t,type:"x25519",powPminus2:e=>{let{pow_p_5_8:r,b2:n}=Z_(e);return(0,Ae.mod)((0,Ae.pow2)(r,K_,t)*n,t)},adjustScalarBytes:z_})})();var C6=(Pn+K_)/Qp,P6=K.pow(Fu,C6),j_=K.sqrt(K.neg(K.ONE));function D6(t){let e=(Pn-G_)/Qp,r=BigInt(486662),n=K.sqr(t);n=K.mul(n,Fu);let o=K.add(n,K.ONE),s=K.neg(r),i=K.sqr(o),a=K.mul(i,o),c=K.mul(n,r);c=K.mul(c,s),c=K.add(c,i),c=K.mul(c,s);let d=K.sqr(a);i=K.sqr(d),d=K.mul(d,a),d=K.mul(d,c),i=K.mul(i,d);let p=K.pow(i,e);p=K.mul(p,d);let l=K.mul(p,j_);i=K.sqr(p),i=K.mul(i,a);let u=K.eql(i,c),f=K.cmov(l,p,u),h=K.mul(s,n),m=K.mul(p,t);m=K.mul(m,P6);let b=K.mul(m,j_),y=K.mul(c,n);i=K.sqr(m),i=K.mul(i,a);let x=K.eql(i,y),_=K.cmov(b,m,x);i=K.sqr(f),i=K.mul(i,a);let T=K.eql(i,c),N=K.cmov(h,s,T),R=K.cmov(_,f,T),v=K.isOdd(R);return R=K.cmov(R,K.neg(R),T!==v),{xMn:N,xMd:o,yMn:R,yMd:sn}}var F6=(0,Ae.FpSqrtEven)(K,K.neg(BigInt(486664)));function V6(t){let{xMn:e,xMd:r,yMn:n,yMd:o}=D6(t),s=K.mul(e,o);s=K.mul(s,F6);let i=K.mul(r,n),a=K.sub(e,r),c=K.add(e,r),d=K.mul(i,c),p=K.eql(d,K.ZERO);s=K.cmov(s,K.ZERO,p),i=K.cmov(i,K.ONE,p),a=K.cmov(a,K.ONE,p),c=K.cmov(c,K.ONE,p);let[l,u]=(0,Ae.FpInvertBatch)(K,[i,c],!0);return{x:K.mul(s,l),y:K.mul(a,u)}}ne.ed25519_hasher=(0,Pu.createHasher)(ne.ed25519.Point,t=>V6(t[0]),{DST:"edwards25519_XMD:SHA-512_ELL2_RO_",encodeDST:"edwards25519_XMD:SHA-512_ELL2_NU_",p:Pn,m:1,k:128,expand:"xmd",hash:Na.sha512});var Xp=Wp,U6=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),L6=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),q6=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),M6=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),H_=t=>eh(sn,t),k6=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Jp=t=>ne.ed25519.Point.Fp.create((0,as.bytesToNumberLE)(t)&k6);function $_(t){let{d:e}=va,r=Pn,n=y=>K.create(y),o=n(Xp*t*t),s=n((o+sn)*q6),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:d}=eh(s,a),p=n(d*t);(0,Ae.isNegativeLE)(p,r)||(p=n(-p)),c||(d=p),c||(i=o);let l=n(i*(o-sn)*M6-a),u=d*d,f=n((d+d)*a),h=n(l*U6),m=n(sn-u),b=n(sn+u);return new ne.ed25519.Point(n(f*b),n(m*h),n(h*b),n(f*m))}function X_(t){(0,Du.abytes)(t,64);let e=Jp(t.subarray(0,32)),r=$_(e),n=Jp(t.subarray(32,64)),o=$_(n);return new Br(r.add(o))}var Br=class t extends Vu.PrimeEdwardsPoint{constructor(e){super(e)}static fromAffine(e){return new t(ne.ed25519.Point.fromAffine(e))}assertSame(e){if(!(e instanceof t))throw new Error("RistrettoPoint expected")}init(e){return new t(e)}static hashToCurve(e){return X_((0,as.ensureBytes)("ristrettoHash",e,64))}static fromBytes(e){(0,Du.abytes)(e,32);let{a:r,d:n}=va,o=Pn,s=T=>K.create(T),i=Jp(e);if(!(0,as.equalBytes)(K.toBytes(i),e)||(0,Ae.isNegativeLE)(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(sn+r*a),d=s(sn-r*a),p=s(c*c),l=s(d*d),u=s(r*n*p-l),{isValid:f,value:h}=H_(s(u*l)),m=s(h*d),b=s(h*m*u),y=s((i+i)*m);(0,Ae.isNegativeLE)(y,o)&&(y=s(-y));let x=s(c*b),_=s(y*x);if(!f||(0,Ae.isNegativeLE)(_,o)||x===B6)throw new Error("invalid ristretto255 encoding 2");return new t(new ne.ed25519.Point(y,x,sn,_))}static fromHex(e){return t.fromBytes((0,as.ensureBytes)("ristrettoHex",e,32))}static msm(e,r){return(0,S6.pippenger)(t,ne.ed25519.Point.Fn,e,r)}toBytes(){let{X:e,Y:r,Z:n,T:o}=this.ep,s=Pn,i=b=>K.create(b),a=i(i(n+r)*i(n-r)),c=i(e*r),d=i(c*c),{value:p}=H_(i(a*d)),l=i(p*a),u=i(p*c),f=i(l*u*o),h;if((0,Ae.isNegativeLE)(o*f,s)){let b=i(r*Xp),y=i(e*Xp);e=b,r=y,h=i(l*L6)}else h=u;(0,Ae.isNegativeLE)(e*f,s)&&(r=i(-r));let m=i((n-r)*h);return(0,Ae.isNegativeLE)(m,s)&&(m=i(-m)),K.toBytes(m)}equals(e){this.assertSame(e);let{X:r,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=d=>K.create(d),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(t.ZERO)}};Br.BASE=new Br(ne.ed25519.Point.BASE);Br.ZERO=new Br(ne.ed25519.Point.ZERO);Br.Fp=K;Br.Fn=Y_;ne.ristretto255={Point:Br};ne.ristretto255_hasher={hashToCurve(t,e){let r=e?.DST||"ristretto255_XMD:SHA-512_R255MAP_RO_",n=(0,Pu.expand_message_xmd)(t,r,64,Na.sha512);return X_(n)},hashToScalar(t,e={DST:Pu._DST_scalar}){let r=(0,Pu.expand_message_xmd)(t,e.DST,64,Na.sha512);return Y_.create((0,as.bytesToNumberLE)(r))}};ne.ED25519_TORSION_SUBGROUP=["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"];function J_(t){return ne.ed25519.utils.toMontgomery((0,as.ensureBytes)("pub",t))}ne.edwardsToMontgomery=J_;function j6(t){return ne.ed25519.utils.toMontgomerySecret((0,as.ensureBytes)("pub",t))}ne.RistrettoPoint=Br;ne.hashToCurve=ne.ed25519_hasher.hashToCurve;ne.encodeToCurve=ne.ed25519_hasher.encodeToCurve;ne.hashToRistretto255=ne.ristretto255_hasher.hashToCurve;ne.hash_to_ristretto255=ne.ristretto255_hasher.hashToCurve});var rb=z(Uu=>{"use strict";var eb,tb;Object.defineProperty(Uu,"__esModule",{value:!0});Uu.ExpirableMap=void 0;var rh=class{static{eb=Symbol.iterator,tb=Symbol.toStringTag}#e;#t;constructor(e={}){this[eb]=this.entries.bind(this),this[tb]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=e,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let e=Date.now();for(let[r,n]of this.#e.entries())e-n.timestamp>this.#t&&this.#e.delete(r);return this}set(e,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(e,n),this}get(e){let r=this.#e.get(e);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(e);return}return r.value}}clear(){this.#e.clear()}entries(){let e=this.#e.entries();return function*(){for(let[n,o]of e)yield[n,o.value]}()}values(){let e=this.#e.values();return function*(){for(let n of e)yield n.value}()}keys(){return this.#e.keys()}forEach(e,r){for(let[n,o]of this.#e.entries())e.call(r,o.value,n,this)}has(e){return this.#e.has(e)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}};Uu.ExpirableMap=rh});var nh=z(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.unwrapDER=Fe.BLS12_381_G2_OID=Fe.SECP256K1_OID=Fe.ED25519_OID=Fe.DER_COSE_OID=Fe.decodeLen=Fe.decodeLenBytes=Fe.encodeLen=Fe.encodeLenBytes=void 0;Fe.wrapDER=z6;var St=sr(),H6=Js(),$6=t=>{if(t<=127)return 1;if(t<=255)return 2;if(t<=65535)return 3;if(t<=16777215)return 4;throw St.InputError.fromCode(new St.DerEncodeErrorCode("Length too long (> 4 bytes)"))};Fe.encodeLenBytes=$6;var K6=(t,e,r)=>{if(r<=127)return t[e]=r,1;if(r<=255)return t[e]=129,t[e+1]=r,2;if(r<=65535)return t[e]=130,t[e+1]=r>>8,t[e+2]=r,3;if(r<=16777215)return t[e]=131,t[e+1]=r>>16,t[e+2]=r>>8,t[e+3]=r,4;throw St.InputError.fromCode(new St.DerEncodeErrorCode("Length too long (> 4 bytes)"))};Fe.encodeLen=K6;var G6=(t,e)=>{if(t[e]<128)return 1;if(t[e]===128)throw St.InputError.fromCode(new St.DerDecodeErrorCode("Invalid length 0"));if(t[e]===129)return 2;if(t[e]===130)return 3;if(t[e]===131)return 4;throw St.InputError.fromCode(new St.DerDecodeErrorCode("Length too long (> 4 bytes)"))};Fe.decodeLenBytes=G6;var Z6=(t,e)=>{let r=(0,Fe.decodeLenBytes)(t,e);if(r===1)return t[e];if(r===2)return t[e+1];if(r===3)return(t[e+1]<<8)+t[e+2];if(r===4)return(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];throw St.InputError.fromCode(new St.DerDecodeErrorCode("Length too long (> 4 bytes)"))};Fe.decodeLen=Z6;Fe.DER_COSE_OID=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]);Fe.ED25519_OID=Uint8Array.from([48,5,6,3,43,101,112]);Fe.SECP256K1_OID=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]);Fe.BLS12_381_G2_OID=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 z6(t,e){let r=2+(0,Fe.encodeLenBytes)(t.byteLength+1),n=e.byteLength+r+t.byteLength,o=0,s=new Uint8Array(1+(0,Fe.encodeLenBytes)(n)+n);return s[o++]=48,o+=(0,Fe.encodeLen)(s,o,n),s.set(e,o),o+=e.byteLength,s[o++]=3,o+=(0,Fe.encodeLen)(s,o,t.byteLength+1),s[o++]=0,s.set(new Uint8Array(t),o),s}var Y6=(t,e)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw St.InputError.fromCode(new St.DerDecodeErrorCode(`Expected ${c} at offset ${r}`))},o=new Uint8Array(t);if(n(48,"sequence"),r+=(0,Fe.decodeLenBytes)(o,r),!(0,H6.uint8Equals)(o.slice(r,r+e.byteLength),e))throw St.InputError.fromCode(new St.DerDecodeErrorCode("Not the expected OID."));r+=e.byteLength,n(3,"bit string");let s=(0,Fe.decodeLen)(o,r)-1;r+=(0,Fe.decodeLenBytes)(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw St.InputError.fromCode(new St.DerDecodeLengthMismatchErrorCode(s,i.length));return i};Fe.unwrapDER=Y6});var sh=z(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.Ed25519PublicKey=void 0;var Lu=nh(),qu=sr(),oh=class t{static from(e){return this.fromDer(e.toDer())}static fromRaw(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){return(0,Lu.wrapDER)(e,Lu.ED25519_OID)}static derDecode(e){let r=(0,Lu.unwrapDER)(e,Lu.ED25519_OID);if(r.length!==this.RAW_KEY_LENGTH)throw qu.InputError.fromCode(new qu.DerDecodeErrorCode("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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw qu.InputError.fromCode(new qu.DerDecodeErrorCode("An Ed25519 public key must be exactly 32 bytes long"));this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}};Mu.Ed25519PublicKey=oh});var ah=z(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.ObservableLog=ci.Observable=void 0;var ku=class{constructor(){this.observers=[]}subscribe(e){this.observers.push(e)}unsubscribe(e){this.observers=this.observers.filter(r=>r!==e)}notify(e,...r){this.observers.forEach(n=>n(e,...r))}};ci.Observable=ku;var ih=class extends ku{constructor(){super()}print(e,...r){this.notify({message:e,level:"info"},...r)}warn(e,...r){this.notify({message:e,level:"warn"},...r)}error(e,r,...n){this.notify({message:e,level:"error",error:r},...n)}};ci.ObservableLog=ih});var ub=z(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.ExponentialBackoff=void 0;Ia.exponentialBackoff=W6;var nb=.5,ob=1.5,sb=500,ib=6e4,ab=9e5,cb=10,Ra=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a=0;static{this.default={initialInterval:sb,randomizationFactor:nb,multiplier:ob,maxInterval:ib,maxElapsedTime:ab,maxIterations:cb,date:Date}}constructor(e=t.default){let{initialInterval:r=sb,randomizationFactor:n=nb,multiplier:o=ob,maxInterval:s=ib,maxElapsedTime:i=ab,maxIterations:a=cb,date:c=Date}=e;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#d=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let e=this.#t*this.#e,r=this.#e-e,n=this.#e+e;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};Ia.ExponentialBackoff=Ra;function*W6(t=Ra.default){let e=new Ra(t),r=e.next();for(;r;)yield r,r=e.next()}});var Hu=z($e=>{"use strict";var yb=$e&&$e.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),X6=$e&&$e.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),J6=$e&&$e.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&yb(r,e,n[o]);return X6(r,e),r}})(),Q6=$e&&$e.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yb(e,t,r)};Object.defineProperty($e,"__esModule",{value:!0});$e.HttpAgent=$e.MANAGEMENT_CANISTER_ID=$e.IC_ROOT_KEY=$e.RequestStatusResponseStatus=$e.makeNonce=void 0;$e.calculateIngressExpiry=ju;var Dn=Rr(),Z=sr(),db=ip(),To=J6(da()),Sa=nu(),lb=Tl(),ui=lu(),Fn=Qs(),fb=Bu(),pb=ii(),e4=Q_(),t4=rb(),r4=sh(),n4=ah(),o4=ub(),s4=Ru(),hb=dt(),ch=Js(),i4=ou();Q6(lu(),$e);var a4=Qs();Object.defineProperty($e,"makeNonce",{enumerable:!0,get:function(){return a4.makeNonce}});var mb;(function(t){t.Received="received",t.Processing="processing",t.Replied="replied",t.Rejected="rejected",t.Unknown="unknown",t.Done="done"})(mb||($e.RequestStatusResponseStatus=mb={}));var dh=60*1e3,c4=1e6,u4=0;$e.IC_ROOT_KEY="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";$e.MANAGEMENT_CANISTER_ID="aaaaa-aa";var d4="ic0.app",l4=".ic0.app",f4="icp0.io",p4=".icp0.io",h4="icp-api.io",m4=".icp-api.io",uh=200,y4=202,_4=404;function b4(){let t;if(typeof window<"u")if(window.fetch)t=window.fetch.bind(window);else throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("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)t=global.fetch.bind(global);else throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("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&&(t=self.fetch.bind(self));if(t)return t;throw Z.ExternalError.fromCode(new Z.HttpDefaultFetchErrorCode("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function g4(t){let e;if(t!==void 0)!t.match(/^[a-z]+:/)&&typeof window<"u"?e=new URL(window.location.protocol+"//"+t):e=new URL(t);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?e=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):e=new URL("https://icp-api.io")}return e.toString()}var lh=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a;#g;#s;#l;#f;#u;get#T(){return this.#u*dh}#p;#h;#m;#y;constructor(e={}){this.#e=null,this.#t=!1,this.#r=u4,this.#c=!1,this.#i=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new n4.ObservableLog,this.#p=[],this.#h=[],this.#m=new t4.ExpirableMap({expirationTime:5*dh}),this.#y=!0,this.#w=(o,s)=>{if(this.#y===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let d of a){let{timestamp:p,identity:l}=d,u=Dn.Principal.fromUint8Array(l).toText(),f;if(i===lb.QueryResponseStatus.Replied){let{reply:x}=o;f=(0,Sa.hashOfMap)({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===lb.QueryResponseStatus.Rejected){let{reject_code:x,reject_message:_,error_code:T}=o;f=(0,Sa.hashOfMap)({status:i,reject_code:x,reject_message:_,error_code:T,timestamp:BigInt(p),request_id:c})}else throw Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(`Unknown status: ${i}`));let h=(0,hb.concatBytes)(i4.IC_RESPONSE_DOMAIN_SEPARATOR,f),m=s.nodeKeys.get(u);if(!m)throw Z.ProtocolError.fromCode(new Z.MalformedPublicKeyErrorCode);let b=r4.Ed25519PublicKey.fromDer(m).rawKey;if(e4.ed25519.verify(d.signature,h,b))return o;throw Z.TrustError.fromCode(new Z.QuerySignatureVerificationFailedErrorCode(u))}return o},this.config=e,this.#o=e.fetch||b4()||fetch.bind(global),this.#a=e.fetchOptions,this.#g=e.callOptions,this.#t=e.shouldFetchRootKey??!1,this.#d=e.shouldSyncTime??!1,e.rootKey?this.rootKey=e.rootKey:this.#t?this.rootKey=null:this.rootKey=(0,hb.hexToBytes)($e.IC_ROOT_KEY);let r=g4(e.host);this.host=new URL(r),e.verifyQuerySignatures!==void 0&&(this.#y=e.verifyQuerySignatures),this.#l=e.retryTimes??3;let n=()=>new o4.ExponentialBackoff({maxIterations:this.#l});if(this.#f=e.backoffStrategy||n,this.host.hostname.endsWith(l4)?this.host.hostname=d4:this.host.hostname.endsWith(p4)?this.host.hostname=f4:this.host.hostname.endsWith(m4)&&(this.host.hostname=h4),e.credentials){let{name:o,password:s}=e.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(e.identity||new db.AnonymousIdentity),e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes>5)throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode("The maximum ingress expiry time is 5 minutes.",e.ingressExpiryInMinutes));if(e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes<=0)throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode("Ingress expiry time must be greater than 0.",e.ingressExpiryInMinutes));this.#u=e.ingressExpiryInMinutes||5,this.addTransform("update",(0,ui.makeNonceTransform)(Fn.makeNonce)),e.useQueryNonces&&this.addTransform("query",(0,ui.makeNonceTransform)(Fn.makeNonce)),e.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(e={}){return new this({...e})}static async create(e={}){let r=t.createSync(e);return await r.#b(),r}static async from(e){try{return"config"in e?await t.create(e.config):await t.create({fetch:e._fetch,fetchOptions:e._fetchOptions,callOptions:e._callOptions,host:e._host.toString(),identity:e._identity??void 0})}catch{throw Z.InputError.fromCode(new Z.CreateHttpAgentErrorCode)}}isLocal(){let e=this.host.hostname;return e==="127.0.0.1"||e.endsWith("127.0.0.1")}addTransform(e,r,n=r.priority||0){if(e==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(e==="query"){let o=this.#p.findIndex(s=>(s.priority||0)<n);this.#p.splice(o>=0?o:this.#p.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);return(await this.#n).getPrincipal()}async call(e,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let i=Dn.Principal.from(e),a=r.effectiveCanisterId?Dn.Principal.from(r.effectiveCanisterId):i;await this.#b(a);let c=s.getPrincipal(),d=ju(this.#u,this.#r),p={request_type:Fn.SubmitRequestType.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:d},l=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.Call,body:p}),u;r?.nonce?u=f(r.nonce):l.body.nonce?u=f(l.body.nonce):u=void 0,p.nonce=u;function f(y){return Object.assign(y,{__nonce__:void 0})}l=await s.transformRequest(l);let h=To.encode(l.body),m=this.#f(),b=(0,Sa.requestIdOf)(p);try{let _=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})),{responseBodyBytes:T,...N}=await this.#_({requestFn:_,backoff:m,tries:0}),R=T.byteLength>0?To.decode(T):null;return{requestId:b,response:{...N,body:R},requestDetails:p}}catch(y){let x;if(y instanceof Z.AgentError){if(y.hasCode(Z.HttpV3ApiNotSupportedErrorCode))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(e,{...r,callSync:!1},n);if(y.hasCode(Z.IngressExpiryInvalidErrorCode)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);y.code.requestContext={requestId:b,senderPubKey:l.body.sender_pubkey,senderSignature:l.body.sender_sig,ingressExpiry:l.body.content.ingress_expiry},x=y}else x=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(y));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#x(e){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=e,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw Z.UnknownError.fromCode(new Z.TimeoutWaitingForResponseErrorCode(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let d;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===uh)d={...To.decode((0,ch.uint8FromBufLike)(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:(0,ui.httpHeadersTransform)(f.headers)},requestId:s};else throw Z.ProtocolError.fromCode(new Z.HttpErrorCode(f.status,f.statusText,(0,ui.httpHeadersTransform)(f.headers),await f.text()))}catch(f){if(a<this.#l)return this.log.warn(`Caught exception while attempting to make query:
|
|
66
66
|
${f}
|
|
67
|
-
Retrying query.`),await this.#x({...e,tries:a+1});throw f instanceof Z.AgentError?f:Z.TransportError.fromCode(new Z.HttpFetchErrorCode(f))}if(!this.#
|
|
67
|
+
Retrying query.`),await this.#x({...e,tries:a+1});throw f instanceof Z.AgentError?f:Z.TransportError.fromCode(new Z.HttpFetchErrorCode(f))}if(!this.#y)return d;let p=d.signatures?.[0]?.timestamp;if(!p)throw Z.ProtocolError.fromCode(new Z.MalformedSignatureErrorCode("Timestamp not found in query response. This suggests a malformed or malicious response."));let l=Number(BigInt(p)/BigInt(c4));if(Date.now()+this.#r-l>this.#T){if(a<this.#l)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:s,signatureTimestampMs:l}),await this.#x({...e,tries:a+1});throw Z.TrustError.fromCode(new Z.CertificateOutdatedErrorCode(this.#u,s,a))}return d}async#_(e){let{requestFn:r,backoff:n,tries:o}=e,s=o===0?0:n.next();if(s===null)throw Z.ProtocolError.fromCode(new Z.TimeoutWaitingForResponseErrorCode(`Retry strategy exhausted after ${o} attempts.`));s>0&&await new Promise(p=>setTimeout(p,s));let i,a=new Uint8Array;try{i=await r(),i.status===uh&&(a=(0,ch.uint8FromBufLike)(await i.clone().arrayBuffer()))}catch(p){if(o<this.#l)return this.log.warn(`Caught exception while attempting to make request:
|
|
68
68
|
${p}
|
|
69
|
-
Retrying request.`),await this.#_({requestFn:r,backoff:n,tries:o+1});throw Z.TransportError.fromCode(new Z.HttpFetchErrorCode(p))}let c=(0,di.httpHeadersTransform)(i.headers);if(i.status===uh||i.status===_4)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let d=await i.text();if(i.status===b4&&i.url.includes("api/v3"))throw Z.ProtocolError.fromCode(new Z.HttpV3ApiNotSupportedErrorCode);if(d.startsWith("Invalid request expiry: "))throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode(d,this.#u));if(o<this.#l)return await this.#_({requestFn:r,backoff:n,tries:o+1});throw Z.ProtocolError.fromCode(new Z.HttpErrorCode(i.status,i.statusText,c,d))}async query(e,r,n){let o=this.#f(),s=r.effectiveCanisterId?Dn.Principal.from(r.effectiveCanisterId):Dn.Principal.from(e);await this.#b(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${e.toString()}`);let i,a=await(n??this.#n);if(!a)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let c=Dn.Principal.from(e),d=a.getPrincipal(),p=ju(this.#u,this.#r),l={request_type:Fn.ReadRequestType.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:d,ingress_expiry:p},u=(0,Aa.requestIdOf)(l);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.Query,body:l}),i=await a.transformRequest(i);let f=To.encode(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:u,backoff:o,tries:0},y=async()=>{let m=await this.#x(h);return{requestDetails:l,...m}},b=async()=>{let m=this.#y.get(s.toString());if(m)return m;await this.fetchSubnetKeys(s.toString());let x=this.#y.get(s.toString());if(!x)throw Z.TrustError.fromCode(new Z.MissingSignatureErrorCode);return x};try{if(!this.#m)return await y();let[m,x]=await Promise.all([y(),b()]);try{return this.#w(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#y.delete(s.toString());let _=await b();return this.#w(m,_)}}catch(m){let x;throw m instanceof Z.AgentError?(m.code.requestContext={requestId:u,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=m):x=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(m)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(e,r){await this.#b();let n=await(r??this.#n);if(!n)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.ReadState,body:{request_type:Fn.ReadRequestType.ReadState,paths:e.paths,sender:o,ingress_expiry:ju(this.#u,this.#r)}});return n.transformRequest(s)}async readState(e,r,n,o){await this.#E();let s=Dn.Principal.from(e);function i(p){for(let l of p.paths){let[u,f]=l,h=new TextEncoder().encode("request_status");if((0,ch.uint8Equals)(u,h))return f}}let a,c;if(o)a=o,c=(0,Aa.requestIdOf)(a);else{c=i(r);let p=await this.#n;if(!p)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let d=this.#f();try{let{responseBodyBytes:p}=await this.#_({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:To.encode(a.body)}),backoff:d,tries:0}),l=To.decode(p);return this.log.print("Read state response:",l),l}catch(p){let l;throw p instanceof Z.AgentError?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},l=p):l=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(p)),this.log.error(`Error while making read state: ${l.message}`,l),l}}parseTimeFromResponse(e){let r;if(e.certificate){let n=To.decode(e.certificate);if(n&&"tree"in n)r=n.tree;else throw Z.ProtocolError.fromCode(new Z.HashTreeDecodeErrorCode("Could not decode time from response"));let o=(0,hb.lookup_path)(["time"],r);if(o.status!==hb.LookupPathStatus.Found)throw Z.ProtocolError.fromCode(new Z.LookupErrorCode("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 Z.ProtocolError.fromCode(new Z.MalformedLookupFoundValueErrorCode("Time was not in its expected format."));let s=(0,i4.decodeTime)(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(e){this.#i=this.#i??(async()=>{await this.#E();let r=Date.now();try{e||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=e??Dn.Principal.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=t.createSync({identity:new lb.AnonymousIdentity,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await(0,pb.request)({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof Z.AgentError?n:Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let e=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#f(),{responseBodyBytes:n}=await this.#_({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:e,...this.#a}),tries:0});return To.decode(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let e=await this.status();return this.rootKey=e.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#b(e){await Promise.all([this.#E(),this.#O(e)])}async#E(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Z.ExternalError.fromCode(new Z.MissingRootKeyErrorCode(this.#t))}async#O(e){this.#d&&!this.hasSyncedTime()&&await this.syncTime(e)}invalidateIdentity(){this.#n=null}replaceIdentity(e){this.#n=Promise.resolve(e)}async fetchSubnetKeys(e){let r=Dn.Principal.from(e);await this.#b(r);let o=(await(0,pb.request)({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#y.set(r.toText(),o),o}_transform(e){let r=Promise.resolve(e);if(e.endpoint===Fn.Endpoint.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#p)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};$e.HttpAgent=lh;function ju(t,e){let r=t*dh;return di.Expiry.fromDeltaInMilliseconds(r,e)}});var fa=z(Oo=>{"use strict";var w4=Oo&&Oo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bb=Oo&&Oo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&w4(e,t,r)};Object.defineProperty(Oo,"__esModule",{value:!0});bb(Tl(),Oo);bb(Hu(),Oo)});var Ku=z(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.defaultStrategy=T4;an.once=gb;an.conditionalDelay=xb;an.maxAttempts=O4;an.throttle=N4;an.timeout=wb;an.backoff=Eb;an.chain=Tb;var $u=sr(),E4=300*1e3;function T4(){return Tb(xb(gb(),1e3),Eb(1e3,1.2),wb(E4))}function gb(){let t=!0;return async()=>t?(t=!1,!0):!1}function xb(t,e){return async(r,n,o)=>{if(await t(r,n,o))return new Promise(s=>setTimeout(s,e))}}function O4(t){let e=t;return async(r,n,o)=>{if(--e<=0)throw $u.ProtocolError.fromCode(new $u.TimeoutWaitingForResponseErrorCode(`Failed to retrieve a reply for request after ${t} attempts`,n,o))}}function N4(t){return()=>new Promise(e=>setTimeout(e,t))}function wb(t){let e=Date.now()+t;return async(r,n,o)=>{if(Date.now()>e)throw $u.ProtocolError.fromCode(new $u.TimeoutWaitingForResponseErrorCode(`Request timed out after ${t} msec`,n,o))}}function Eb(t,e){let r=t;return()=>new Promise(n=>setTimeout(()=>{r*=e,n()},r))}function Tb(...t){return async(e,r,n)=>{for(let o of t)await o(e,r,n)}}});var Gu=z(At=>{"use strict";var v4=At&&At.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),R4=At&&At.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),I4=At&&At.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&v4(r,e,n[o]);return R4(r,e),r}})();Object.defineProperty(At,"__esModule",{value:!0});At.DEFAULT_POLLING_OPTIONS=At.defaultStrategy=At.strategy=void 0;At.pollForResponse=Ib;At.constructRequest=Sb;var li=ai(),Vn=sr();At.strategy=I4(Ku());var vb=Ku(),S4=ei(),cs=fa(),Ob=dt(),A4=Ku();Object.defineProperty(At,"defaultStrategy",{enumerable:!0,get:function(){return A4.defaultStrategy}});At.DEFAULT_POLLING_OPTIONS={strategy:(0,vb.defaultStrategy)(),preSignReadStateRequest:!1};function Rb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function fh(t,e){return t!==null&&typeof t=="object"&&Rb(t,e)}function B4(t,e){return Rb(t,e)&&typeof t[e]=="function"}function Nb(t){return fh(t,"body")&&fh(t.body,"content")&&t.body.content.request_type===S4.ReadRequestType.ReadState&&fh(t.body.content,"ingress_expiry")&&typeof t.body.content.ingress_expiry=="object"&&t.body.content.ingress_expiry!==null&&B4(t.body.content.ingress_expiry,"toHash")}async function Ib(t,e,r,n={}){let o=[(0,Ob.utf8ToBytes)("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await Sb({paths:[o],agent:t,pollingOptions:n}),s=await t.readState(e,{paths:[o]},void 0,i)):s=await t.readState(e,{paths:[o]}),t.rootKey==null)throw Vn.ExternalError.fromCode(new Vn.MissingRootKeyErrorCode);let c=await li.Certificate.create({certificate:s.certificate,rootKey:t.rootKey,canisterId:e,blsVerify:n.blsVerify,agent:t}),d=(0,li.lookupResultToBuffer)(c.lookup_path([...o,(0,Ob.utf8ToBytes)("status")])),p;switch(typeof d>"u"?p=cs.RequestStatusResponseStatus.Unknown:p=new TextDecoder().decode(d),p){case cs.RequestStatusResponseStatus.Replied:return{reply:(0,li.lookupResultToBuffer)(c.lookup_path([...o,"reply"])),certificate:c};case cs.RequestStatusResponseStatus.Received:case cs.RequestStatusResponseStatus.Unknown:case cs.RequestStatusResponseStatus.Processing:return await(n.strategy??(0,vb.defaultStrategy)())(e,r,p),Ib(t,e,r,{...n,request:i});case cs.RequestStatusResponseStatus.Rejected:{let l=new Uint8Array((0,li.lookupResultToBuffer)(c.lookup_path([...o,"reject_code"])))[0],u=new TextDecoder().decode((0,li.lookupResultToBuffer)(c.lookup_path([...o,"reject_message"]))),f=(0,li.lookupResultToBuffer)(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Vn.RejectError.fromCode(new Vn.CertifiedRejectErrorCode(r,l,u,h))}case cs.RequestStatusResponseStatus.Done:throw Vn.UnknownError.fromCode(new Vn.RequestStatusDoneNoReplyErrorCode(r))}throw Vn.UNREACHABLE_ERROR}async function Sb(t){let{paths:e,agent:r,pollingOptions:n}=t;if(n.request&&Nb(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:e},void 0);if(!Nb(o))throw Vn.InputError.fromCode(new Vn.InvalidReadStateRequestErrorCode(o));return o}});var hh=z(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.ACTOR_METHOD_WITH_CERTIFICATE=ar.ACTOR_METHOD_WITH_HTTP_DETAILS=ar.Actor=void 0;var Zu=fa(),er=sr(),zu=ca(),Bb=Gu(),Ba=Rr(),fi=ai(),Ab=Hu(),C4=dt(),_r=Symbol.for("ic-agent-metadata"),ph=class t{static agentOf(e){return e[_r].config.agent}static interfaceOf(e){return e[_r].service}static canisterIdOf(e){return Ba.Principal.from(e[_r].config.canisterId)}static createActorClass(e,r){let n=e({IDL:zu.IDL});class o extends t{constructor(i){if(!i.canisterId)throw er.InputError.fromCode(new er.MissingCanisterIdErrorCode(i.canisterId));let a=typeof i.canisterId=="string"?Ba.Principal.fromText(i.canisterId):i.canisterId;super({config:{...Cb,...i,canisterId:a},service:n});for(let[c,d]of n._fields)r?.httpDetails&&d.annotations.push(ar.ACTOR_METHOD_WITH_HTTP_DETAILS),r?.certificate&&d.annotations.push(ar.ACTOR_METHOD_WITH_CERTIFICATE),this[c]=P4(this,c,d,i.blsVerify)}}return o}static createActor(e,r){if(!r.canisterId)throw er.InputError.fromCode(new er.MissingCanisterIdErrorCode(r.canisterId));return new(this.createActorClass(e))(r)}static createActorWithHttpDetails(e,r){return new(this.createActorClass(e,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(e,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(e,n))(r)}constructor(e){this[_r]=Object.freeze(e)}};ar.Actor=ph;function pi(t,e){let r=zu.IDL.decode(t,e);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Cb={pollingOptions:Bb.DEFAULT_POLLING_OPTIONS};ar.ACTOR_METHOD_WITH_HTTP_DETAILS="http-details";ar.ACTOR_METHOD_WITH_CERTIFICATE="certificate";function P4(t,e,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...t[_r].config.queryTransform?.(e,a,{...t[_r].config,...i})};let c=i.agent||t[_r].config.agent||new Ab.HttpAgent,d=Ba.Principal.from(i.canisterId||t[_r].config.canisterId),p=zu.IDL.encode(r.argTypes,a),l=await c.query(d,{methodName:e,arg:p,effectiveCanisterId:i.effectiveCanisterId}),u={...l.httpDetails,requestDetails:l.requestDetails};switch(l.status){case Zu.QueryResponseStatus.Rejected:{let f=new er.UncertifiedRejectErrorCode(l.requestId,l.reject_code,l.reject_message,l.error_code,l.signatures);throw f.callContext={canisterId:d,methodName:e,httpDetails:u},er.RejectError.fromCode(f)}case Zu.QueryResponseStatus.Replied:return r.annotations.includes(ar.ACTOR_METHOD_WITH_HTTP_DETAILS)?{httpDetails:u,result:pi(r.retTypes,l.reply.arg)}:pi(r.retTypes,l.reply.arg)}}:o=async(i,...a)=>{i={...i,...t[_r].config.callTransform?.(e,a,{...t[_r].config,...i})};let c=i.agent||t[_r].config.agent||Ab.HttpAgent.createSync(),{canisterId:d,effectiveCanisterId:p,pollingOptions:l}={...Cb,...t[_r].config,...i},u=Ba.Principal.from(d),f=p!==void 0?Ba.Principal.from(p):u,h=zu.IDL.encode(r.argTypes,a),{requestId:y,response:b,requestDetails:m}=await c.call(u,{methodName:e,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,_;if((0,Zu.isV3ResponseBody)(b.body)){if(c.rootKey==null)throw er.ExternalError.fromCode(new er.MissingRootKeyErrorCode);let v=b.body.certificate;_=await fi.Certificate.create({certificate:v,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let A=[(0,C4.utf8ToBytes)("request_status"),y];switch(new TextDecoder().decode((0,fi.lookupResultToBuffer)(_.lookup_path([...A,"status"])))){case"replied":x=(0,fi.lookupResultToBuffer)(_.lookup_path([...A,"reply"]));break;case"rejected":{let S=new Uint8Array((0,fi.lookupResultToBuffer)(_.lookup_path([...A,"reject_code"])))[0],V=new TextDecoder().decode((0,fi.lookupResultToBuffer)(_.lookup_path([...A,"reject_message"]))),C=(0,fi.lookupResultToBuffer)(_.lookup_path([...A,"error_code"])),g=C?new TextDecoder().decode(C):void 0,w=new er.CertifiedRejectErrorCode(y,S,V,g);throw w.callContext={canisterId:u,methodName:e,httpDetails:b},er.RejectError.fromCode(w)}}}else if((0,Zu.isV2ResponseBody)(b.body)){let{reject_code:v,reject_message:A,error_code:E}=b.body,S=new er.UncertifiedRejectUpdateErrorCode(y,v,A,E);throw S.callContext={canisterId:u,methodName:e,httpDetails:b},er.RejectError.fromCode(S)}if(b.status===202){let v={...l,blsVerify:n},A=await(0,Bb.pollForResponse)(c,f,y,v);_=A.certificate,x=A.reply}let T=r.annotations.includes(ar.ACTOR_METHOD_WITH_HTTP_DETAILS),N=r.annotations.includes(ar.ACTOR_METHOD_WITH_CERTIFICATE),R={...b,requestDetails:m};if(x!==void 0)return T&&N?{httpDetails:R,certificate:_,result:pi(r.retTypes,x)}:N?{certificate:_,result:pi(r.retTypes,x)}:T?{httpDetails:R,result:pi(r.retTypes,x)}:pi(r.retTypes,x);{let v=new er.UnexpectedErrorCode(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(A=>A.display()).join(",")}].`);throw v.callContext={canisterId:u,methodName:e,httpDetails:R},er.UnknownError.fromCode(v)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}});var Pb=z(Un=>{"use strict";var D4=Un&&Un.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F4=Un&&Un.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),V4=Un&&Un.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&D4(r,e,n[o]);return F4(r,e),r}})();Object.defineProperty(Un,"__esModule",{value:!0});Un.fetchCandid=k4;var U4=Rr(),L4=V4(Bu()),q4=Hu(),M4=hh();async function k4(t,e){e||(e=await q4.HttpAgent.create());let n=(await L4.request({agent:e,canisterId:U4.Principal.fromText(t),paths:["candid"]})).get("candid");if(n)return n;let o=({IDL:i})=>i.Service({__get_candid_interface_tmp_hack:i.Func([],[i.Text],["query"])});return await M4.Actor.createActor(o,{agent:e,canisterId:t}).__get_candid_interface_tmp_hack()}});var mh=z(_e=>{"use strict";var Db=_e&&_e.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),j4=_e&&_e.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Bt=_e&&_e.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Db(e,t,r)},Fb=_e&&_e.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Db(r,e,n[o]);return j4(r,e),r}})();Object.defineProperty(_e,"__esModule",{value:!0});_e.ToCborValue=_e.Cbor=_e.CanisterStatus=_e.polling=_e.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=_e.IC_RESPONSE_DOMAIN_SEPARATOR=_e.IC_REQUEST_DOMAIN_SEPARATOR=void 0;Bt(hh(),_e);Bt(fa(),_e);Bt(lu(),_e);Bt(ei(),_e);Bt(ip(),_e);Bt(ai(),_e);var yh=ou();Object.defineProperty(_e,"IC_REQUEST_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return yh.IC_REQUEST_DOMAIN_SEPARATOR}});Object.defineProperty(_e,"IC_RESPONSE_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return yh.IC_RESPONSE_DOMAIN_SEPARATOR}});Object.defineProperty(_e,"IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return yh.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR}});Bt(nh(),_e);Bt(sr(),_e);Bt(Pb(),_e);Bt(ah(),_e);Bt(sh(),_e);Bt(nu(),_e);Bt(qp(),_e);Bt(Qs(),_e);Bt(cp(),_e);_e.polling=Fb(Gu());var H4=Fb(Bu());_e.CanisterStatus=H4;var Vb=la();Object.defineProperty(_e,"Cbor",{enumerable:!0,get:function(){return Vb.Cbor}});Object.defineProperty(_e,"ToCborValue",{enumerable:!0,get:function(){return Vb.ToCborValue}});Bt(Gu(),_e)});var Pe=z((V5,eg)=>{"use strict";var Eh=Object.defineProperty,$4=Object.getOwnPropertyDescriptor,K4=Object.getOwnPropertyNames,G4=Object.prototype.hasOwnProperty,Z4=(t,e)=>{for(var r in e)Eh(t,r,{get:e[r],enumerable:!0})},z4=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of K4(e))!G4.call(t,o)&&o!==r&&Eh(t,o,{get:()=>e[o],enumerable:!(n=$4(e,o))||n.enumerable});return t},Y4=t=>z4(Eh({},"__esModule",{value:!0}),t),Mb={};Z4(Mb,{AgentManager:()=>sO,Canister:()=>rO,FromStringToTokenError:()=>kb,ICPToken:()=>Q4,InvalidPercentageError:()=>Zb,NullishError:()=>zb,TokenAmount:()=>eO,TokenAmountV2:()=>tO,arrayBufferToUint8Array:()=>fO,arrayOfNumberToUint8Array:()=>hO,asNonNullish:()=>aO,asciiStringToByteArray:()=>yO,assertNonNullish:()=>Va,assertPercentageNumber:()=>cO,base64ToUint8Array:()=>EO,bigEndianCrc32:()=>NO,bigIntToUint8Array:()=>dO,candidNumberArrayToBigInt:()=>bO,convertStringToE8s:()=>jb,createAgent:()=>Kb,createServices:()=>iO,debounce:()=>PO,decodeBase32:()=>xO,defaultAgent:()=>$b,encodeBase32:()=>gO,fromDefinedNullable:()=>FO,fromNullable:()=>Th,fromNullishNullable:()=>VO,hashObject:()=>RO,hashText:()=>Xb,hexStringToUint8Array:()=>mO,isEmptyString:()=>nO,isNullish:()=>Fa,jsonReplacer:()=>Wb,jsonReviver:()=>vO,nonNullish:()=>cn,notEmptyString:()=>Hb,nowInBigIntNanoSeconds:()=>BO,numberToUint8Array:()=>lO,principalToSubAccount:()=>UO,queryAndUpdate:()=>oO,secondsToDuration:()=>SO,smallerVersion:()=>LO,toBigIntNanoSeconds:()=>CO,toNullable:()=>DO,uint8ArrayToArrayOfNumber:()=>pO,uint8ArrayToBase64:()=>wO,uint8ArrayToBigInt:()=>uO,uint8ArrayToHexString:()=>Yb,uint8ArraysEqual:()=>_O});eg.exports=Y4(Mb);var kb=(t=>(t[t.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",t[t.InvalidFormat=1]="InvalidFormat",t[t.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",t))(kb||{}),W4=BigInt(1e8),X4=8,jb=t=>{let e=t.includes("e")?Number(t).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):t;e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,o]=e.split("."),s=BigInt(0);if(n)try{s+=BigInt(n)*W4}catch{return 1}if(o){if(o.length>8)return 0;try{s+=BigInt(o.padEnd(8,"0"))}catch{return 1}}return s},J4=({amount:t,decimals:e})=>{t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,o]=t.split("."),s=0n,i=10n**BigInt(e);if(n)try{s+=BigInt(n)*i}catch{return 1}if(o){if(o.length>e)return 2;try{s+=BigInt(o.padEnd(e,"0"))}catch{return 1}}return s},Q4={symbol:"ICP",name:"Internet Computer",decimals:8},eO=class Pa{constructor(e,r){if(this.e8s=e,this.token=r,r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:e,token:r}){return new Pa(e,r)}static fromString({amount:e,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=jb(e);return typeof n=="bigint"?new Pa(n,r):n}static fromNumber({amount:e,token:r}){let n=Pa.fromString({amount:e.toString(),token:r});if(n instanceof Pa)return n;throw n===0?new Error(`Number ${e} has more than 8 decimals`):new Error(`Invalid number ${e}`)}toE8s(){return this.e8s}},tO=class Da{constructor(e,r){this.ulps=e,this.token=r}static fromUlps({amount:e,token:r}){return new Da(e,r)}static fromString({amount:e,token:r}){let n=J4({amount:e,decimals:r.decimals});return typeof n=="bigint"?new Da(n,r):n}static fromNumber({amount:e,token:r}){let n=Da.fromString({amount:e.toFixed(Math.min(X4,r.decimals)),token:r});if(n instanceof Da)return n;throw n===2?new Error(`Number ${e} has more than ${r.decimals} decimals`):new Error(`Invalid number ${e}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}},rO=class{constructor(t,e,r){this.id=t,this.service=e,this.certifiedService=r}get canisterId(){return this.id}caller=({certified:t=!0})=>t?this.certifiedService:this.service},Fa=t=>t==null,cn=t=>!Fa(t),Hb=t=>cn(t)&&t!=="",nO=t=>!Hb(t),oO=async({request:t,onLoad:e,onQueryError:r,onUpdateError:n,strategy:o="query_and_update",identity:s,resolution:i="race"})=>{let a=!1,c=p=>t({certified:p,identity:s}).then(l=>{a||e({certified:p,response:l})}).catch(l=>{p||r==null||r({error:l,identity:s}),!a&&(Fa(n)||(console.error(l),p&&n({error:l,identity:s})))}).finally(()=>a=a||p),d=o==="query"?[c(!1)]:o==="update"?[c(!0)]:[c(!1),c(!0)];await(i==="all_settled"?Promise.allSettled(d):Promise.race(d))},Ub=mh(),_h=mh(),$b=()=>_h.HttpAgent.createSync({host:"https://icp-api.io",identity:new _h.AnonymousIdentity}),Kb=async({identity:t,host:e,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:o})=>await _h.HttpAgent.create({identity:t,...cn(e)&&{host:e},verifyQuerySignatures:n,...cn(o)&&{retryTimes:o},shouldFetchRootKey:r}),sO=class Gb{constructor(e){this.config=e}agents=void 0;static create(e){return new Gb(e)}getAgent=async({identity:e})=>{let r=e.getPrincipal().toText();if(Fa(this.agents)||Fa(this.agents[r])){let n=await Kb({identity:e,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]};clearAgents=()=>{this.agents=null}},iO=({options:{canisterId:t,serviceOverride:e,certifiedServiceOverride:r,agent:n,callTransform:o,queryTransform:s},idlFactory:i,certifiedIdlFactory:a})=>{let c=n??$b(),d=e??Ub.Actor.createActor(i,{agent:c,canisterId:t,callTransform:o,queryTransform:s}),p=r??Ub.Actor.createActor(a,{agent:c,canisterId:t,callTransform:o,queryTransform:s});return{service:d,certifiedService:p,agent:c,canisterId:t}},Zb=class extends Error{},zb=class extends Error{},Va=(t,e)=>{if(t==null)throw new zb(e)},aO=(t,e)=>(Va(t,e),t),cO=t=>{if(t<0||t>100)throw new Zb(`${t} is not a valid percentage number.`)},uO=t=>{let e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(typeof e.getBigUint64=="function")return e.getBigUint64(0);let r=BigInt(e.getUint32(0)),n=BigInt(e.getUint32(4));return(r<<BigInt(32))+n},dO=t=>{let e=new ArrayBuffer(8),r=new DataView(e);if(typeof r.setBigUint64=="function")r.setBigUint64(0,t);else{let n=Number(t>>BigInt(32)),o=Number(t&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,o)}return new Uint8Array(e)},lO=t=>{let e=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)e.setUint8(r,t%256),t=t>>8;return new Uint8Array(e.buffer)},fO=t=>new Uint8Array(t),pO=t=>Array.from(t),hO=t=>new Uint8Array(t),yO=t=>Array.from(t).map(e=>e.charCodeAt(0)),mO=t=>{let e=t.match(/.{1,2}/g);return Va(e,"Invalid hex string."),Uint8Array.from(e.map(r=>parseInt(r,16)))},_O=({a:t,b:e})=>t.length===e.length&&t.every((r,n)=>r===e[n]),Yb=t=>(t instanceof Uint8Array||(t=Uint8Array.from(t)),t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"")),bO=t=>{let e=0n;for(let r=t.length-1;r>=0;r--)e=(e<<32n)+BigInt(t[r]);return e},Yu="abcdefghijklmnopqrstuvwxyz234567",hi=Object.create(null);for(let t=0;t<Yu.length;t++)hi[Yu[t]]=t;hi[0]=hi.o;hi[1]=hi.i;var gO=t=>{let e=0,r=0,n="",o=s=>(e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Yu[r>>3],e+=5),0));for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Yu[r>>3]:"")},xO=t=>{let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0,s=i=>{let a=hi[i.toLowerCase()];Va(a,`Invalid character: ${JSON.stringify(i)}`),a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)};for(let i of t)s(i);return n.slice(0,o)},wO=t=>btoa(String.fromCharCode(...new Uint8Array(t))),EO=t=>Uint8Array.from(atob(t),e=>e.charCodeAt(0)),TO=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]),OO=t=>{let e=-1;for(let r=0;r<t.length;r++){let n=(t[r]^e)&255;e=TO[n]^e>>>8}return(e^-1)>>>0},NO=t=>{let e=new ArrayBuffer(4);return new DataView(e).setUint32(0,OO(t),!1),new Uint8Array(e)},bh=Rr(),gh="__bigint__",xh="__principal__",wh="__uint8array__",Wb=(t,e)=>typeof e=="bigint"?{[gh]:`${e}`}:cn(e)&&bh.Principal.isPrincipal(e)?{[xh]:bh.Principal.from(e).toText()}:cn(e)&&e instanceof Uint8Array?{[wh]:Array.from(e)}:e,vO=(t,e)=>{let r=n=>e[n];return cn(e)&&typeof e=="object"&&gh in e?BigInt(r(gh)):cn(e)&&typeof e=="object"&&xh in e?bh.Principal.fromText(r(xh)):cn(e)&&typeof e=="object"&&wh in e?Uint8Array.from(r(wh)):e},RO=async t=>{let e=JSON.stringify(t,Wb);return await Xb(e)},Xb=async t=>{let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Yb(new Uint8Array(r))},IO={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},SO=({seconds:t,i18n:e=IO})=>{let r=t/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let o=n/BigInt(24);n-=o*BigInt(24);let s=AO(o);return o-=Jb(s),[Ca({labelKey:"year",amount:s}),Ca({labelKey:"day",amount:o}),Ca({labelKey:"hour",amount:n}),Ca({labelKey:"minute",amount:r}),...t>BigInt(0)&&t<BigInt(60)?[Ca({labelKey:"second",amount:t})]:[]].filter(({amount:i})=>i>0).slice(0,2).map(i=>`${i.amount} ${i.amount===1?e[i.labelKey]:e[`${i.labelKey}_plural`]}`).join(", ")},AO=t=>{let e=t/BigInt(365);for(;Jb(e)>t;)e--;return e},Jb=t=>{let e=t/BigInt(4);return t*BigInt(365)+e},Ca=({labelKey:t,amount:e})=>({labelKey:t,amount:Number(e)}),Qb=1000000n,BO=()=>BigInt(Date.now())*Qb,CO=t=>BigInt(t.getTime())*Qb,PO=(t,e)=>{let r;return(...n)=>{let o=()=>t(...n);r&&clearTimeout(r),r=setTimeout(o,e!==void 0&&e>0?e:300)}},DO=t=>cn(t)?[t]:[],Th=t=>t?.[0],FO=t=>{let e=Th(t);return Va(e),e},VO=t=>Th(t??[]),UO=t=>{let e=t.toUint8Array(),r=new Uint8Array(32);return r[0]=e.length,r.set(e,1),r},Lb=({nums:t,amountZeros:e})=>e>t.length?[...t,...[...Array(e-t.length).keys()].map(()=>0)]:t,qb=t=>{if(!Number.isNaN(Number(t)))return Number(t);let e=t.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(e)},LO=({minVersion:t,currentVersion:e})=>{let r=Lb({nums:t.split(".").map(qb),amountZeros:3}).join(".");return Lb({nums:e.split(".").map(qb),amountZeros:3}).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0}});var U1=De(Pe(),1);var pw=De(Pe(),1);var tg;(function(t){t[t.SysFatal=1]="SysFatal",t[t.SysTransient=2]="SysTransient",t[t.DestinationInvalid=3]="DestinationInvalid",t[t.CanisterReject=4]="CanisterReject",t[t.CanisterError=5]="CanisterError"})(tg||(tg={}));var No;(function(t){t.Replied="replied",t.Rejected="rejected"})(No||(No={}));function rg(t){return t!=null&&"reject_code"in t}function ng(t){return t!=null&&"certificate"in t}var Wu="abcdefghijklmnopqrstuvwxyz234567",yi=Object.create(null);for(let t=0;t<Wu.length;t++)yi[Wu[t]]=t;yi[0]=yi.o;yi[1]=yi.i;function og(t){let e=0,r=0,n="";function o(s){return e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Wu[r>>3],e+=5),0)}for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Wu[r>>3]:"")}function sg(t){let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0;function s(i){let a=yi[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)}for(let i of t)s(i);return n.slice(0,o)}var qO=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 ig(t){let e=-1;for(let r=0;r<t.length;r++){let o=(t[r]^e)&255;e=qO[o]^e>>>8}return(e^-1)>>>0}import*as Ln from"node:crypto";var us=Ln&&typeof Ln=="object"&&"webcrypto"in Ln?Ln.webcrypto:Ln&&typeof Ln=="object"&&"randomBytes"in Ln?Ln:void 0;function un(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Oh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Xe(t,...e){if(!un(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Nh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function cg(t,e){Xe(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ds(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Ju(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Cr(t,e){return t<<32-e|t>>>e}var ug=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",MO=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function de(t){if(Xe(t),ug)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=MO[t[r]];return e}var qn={_0:48,_9:57,A:65,F:70,a:97,f:102};function ag(t){if(t>=qn._0&&t<=qn._9)return t-qn._0;if(t>=qn.A&&t<=qn.F)return t-(qn.A-10);if(t>=qn.a&&t<=qn.f)return t-(qn.a-10)}function ht(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(ug)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=ag(t.charCodeAt(s)),a=ag(t.charCodeAt(s+1));if(i===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ve(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function vh(t){return typeof t=="string"&&(t=Ve(t)),Xe(t),t}function fe(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];Xe(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}var Xu=class{};function Qu(t){let e=n=>t().update(vh(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function mi(t=32){if(us&&typeof us.getRandomValues=="function")return us.getRandomValues(new Uint8Array(t));if(us&&typeof us.randomBytes=="function")return Uint8Array.from(us.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function kO(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,d=n?0:4;t.setUint32(e+c,i,n),t.setUint32(e+d,a,n)}function dg(t,e,r){return t&e^~t&r}function lg(t,e,r){return t&e^t&r^e&r}var Ua=class extends Xu{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Ju(this.buffer)}update(e){Nh(this),e=vh(e),Xe(e);let{view:r,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Ju(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Nh(this),cg(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,ds(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;kO(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Ju(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=c/4,p=this.get();if(d>p.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)a.setUint32(4*l,p[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Mn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kn=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var wt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ed=BigInt(4294967295),fg=BigInt(32);function jO(t,e=!1){return e?{h:Number(t&ed),l:Number(t>>fg&ed)}:{h:Number(t>>fg&ed)|0,l:Number(t&ed)|0}}function pg(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=jO(t[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var Rh=(t,e,r)=>t>>>r,Ih=(t,e,r)=>t<<32-r|e>>>r,ls=(t,e,r)=>t>>>r|e<<32-r,fs=(t,e,r)=>t<<32-r|e>>>r,La=(t,e,r)=>t<<64-r|e>>>r-32,qa=(t,e,r)=>t>>>r-32|e<<64-r;function dn(t,e,r,n){let o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:o|0}}var hg=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),yg=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,mg=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),_g=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0,bg=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0),gg=(t,e,r,n,o,s)=>e+r+n+o+s+(t/2**32|0)|0;var $O=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]),vo=new Uint32Array(64),td=class extends Ua{constructor(e=32){super(64,e,8,!1),this.A=Mn[0]|0,this.B=Mn[1]|0,this.C=Mn[2]|0,this.D=Mn[3]|0,this.E=Mn[4]|0,this.F=Mn[5]|0,this.G=Mn[6]|0,this.H=Mn[7]|0}get(){let{A:e,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,r,n,o,s,i,a,c]}set(e,r,n,o,s,i,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)vo[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let u=vo[l-15],f=vo[l-2],h=Cr(u,7)^Cr(u,18)^u>>>3,y=Cr(f,17)^Cr(f,19)^f>>>10;vo[l]=y+vo[l-7]+h+vo[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:d,H:p}=this;for(let l=0;l<64;l++){let u=Cr(a,6)^Cr(a,11)^Cr(a,25),f=p+u+dg(a,c,d)+$O[l]+vo[l]|0,y=(Cr(n,2)^Cr(n,13)^Cr(n,22))+lg(n,o,s)|0;p=d,d=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+y|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,d=d+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,d,p)}roundClean(){ds(vo)}destroy(){this.set(0,0,0,0,0,0,0,0),ds(this.buffer)}},Sh=class extends td{constructor(){super(28),this.A=kn[0]|0,this.B=kn[1]|0,this.C=kn[2]|0,this.D=kn[3]|0,this.E=kn[4]|0,this.F=kn[5]|0,this.G=kn[6]|0,this.H=kn[7]|0}},xg=pg(["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(t=>BigInt(t))),KO=xg[0],GO=xg[1],Ro=new Uint32Array(80),Io=new Uint32Array(80),Ah=class extends Ua{constructor(e=64){super(128,e,16,!1),this.Ah=wt[0]|0,this.Al=wt[1]|0,this.Bh=wt[2]|0,this.Bl=wt[3]|0,this.Ch=wt[4]|0,this.Cl=wt[5]|0,this.Dh=wt[6]|0,this.Dl=wt[7]|0,this.Eh=wt[8]|0,this.El=wt[9]|0,this.Fh=wt[10]|0,this.Fl=wt[11]|0,this.Gh=wt[12]|0,this.Gl=wt[13]|0,this.Hh=wt[14]|0,this.Hl=wt[15]|0}get(){let{Ah:e,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:d,El:p,Fh:l,Fl:u,Gh:f,Gl:h,Hh:y,Hl:b}=this;return[e,r,n,o,s,i,a,c,d,p,l,u,f,h,y,b]}set(e,r,n,o,s,i,a,c,d,p,l,u,f,h,y,b){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=d|0,this.El=p|0,this.Fh=l|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=y|0,this.Hl=b|0}process(e,r){for(let _=0;_<16;_++,r+=4)Ro[_]=e.getUint32(r),Io[_]=e.getUint32(r+=4);for(let _=16;_<80;_++){let T=Ro[_-15]|0,N=Io[_-15]|0,R=ls(T,N,1)^ls(T,N,8)^Rh(T,N,7),v=fs(T,N,1)^fs(T,N,8)^Ih(T,N,7),A=Ro[_-2]|0,E=Io[_-2]|0,S=ls(A,E,19)^La(A,E,61)^Rh(A,E,6),V=fs(A,E,19)^qa(A,E,61)^Ih(A,E,6),C=mg(v,V,Io[_-7],Io[_-16]),g=_g(C,R,S,Ro[_-7],Ro[_-16]);Ro[_]=g|0,Io[_]=C|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:d,Dl:p,Eh:l,El:u,Fh:f,Fl:h,Gh:y,Gl:b,Hh:m,Hl:x}=this;for(let _=0;_<80;_++){let T=ls(l,u,14)^ls(l,u,18)^La(l,u,41),N=fs(l,u,14)^fs(l,u,18)^qa(l,u,41),R=l&f^~l&y,v=u&h^~u&b,A=bg(x,N,v,GO[_],Io[_]),E=gg(A,m,T,R,KO[_],Ro[_]),S=A|0,V=ls(n,o,28)^La(n,o,34)^La(n,o,39),C=fs(n,o,28)^qa(n,o,34)^qa(n,o,39),g=n&s^n&a^s&a,w=o&i^o&c^i&c;m=y|0,x=b|0,y=f|0,b=h|0,f=l|0,h=u|0,{h:l,l:u}=dn(d|0,p|0,E|0,S|0),d=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let O=hg(S,C,w);n=yg(O,E,V,g),o=O|0}({h:n,l:o}=dn(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=dn(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=dn(this.Ch|0,this.Cl|0,a|0,c|0),{h:d,l:p}=dn(this.Dh|0,this.Dl|0,d|0,p|0),{h:l,l:u}=dn(this.Eh|0,this.El|0,l|0,u|0),{h:f,l:h}=dn(this.Fh|0,this.Fl|0,f|0,h|0),{h:y,l:b}=dn(this.Gh|0,this.Gl|0,y|0,b|0),{h:m,l:x}=dn(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,s,i,a,c,d,p,l,u,f,h,y,b,m,x)}roundClean(){ds(Ro,Io)}destroy(){ds(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ct=Qu(()=>new td),wg=Qu(()=>new Sh),Eg=Qu(()=>new Ah);var rd="__principal__",ZO=2,Tg=4,zO="aaaaa-aa",oe=class t{static anonymous(){return new this(new Uint8Array([Tg]))}static managementCanister(){return this.fromText(zO)}static selfAuthenticating(e){let r=wg(e);return new this(new Uint8Array([...r,ZO]))}static from(e){if(typeof e=="string")return t.fromText(e);if(Object.getPrototypeOf(e)===Uint8Array.prototype)return new t(e);if(t.isPrincipal(e))return new t(e._arr);throw new Error(`Impossible to convert ${JSON.stringify(e)} to Principal.`)}static fromHex(e){return new this(ht(e))}static fromText(e){let r=e;if(e.includes(rd)){let i=JSON.parse(e);rd in i&&(r=i[rd])}let n=r.toLowerCase().replace(/-/g,""),o=sg(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(e){return new this(e)}static isPrincipal(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isPrincipal"in e&&e._isPrincipal===!0&&"_arr"in e&&e._arr instanceof Uint8Array}constructor(e){this._arr=e,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Tg}toUint8Array(){return this._arr}toHex(){return de(this._arr).toUpperCase()}toText(){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,ig(this._arr));let n=new Uint8Array(e),o=new Uint8Array([...n,...this._arr]),i=og(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[rd]:this.toText()}}compareTo(e){for(let r=0;r<Math.min(this._arr.length,e._arr.length);r++){if(this._arr[r]<e._arr[r])return"lt";if(this._arr[r]>e._arr[r])return"gt"}return this._arr.length<e._arr.length?"lt":this._arr.length>e._arr.length?"gt":"eq"}ltEq(e){let r=this.compareTo(e);return r=="lt"||r=="eq"}gtEq(e){let r=this.compareTo(e);return r=="gt"||r=="eq"}};var jn;(function(t){t.Trust="Trust",t.Protocol="Protocol",t.Reject="Reject",t.Transport="Transport",t.External="External",t.Limit="Limit",t.Input="Input",t.Unknown="Unknown"})(jn||(jn={}));var be=class{constructor(e=!1){this.isCertified=e}toString(){let e=this.toErrorMessage();return this.requestContext&&(e+=`
|
|
69
|
+
Retrying request.`),await this.#_({requestFn:r,backoff:n,tries:o+1});throw Z.TransportError.fromCode(new Z.HttpFetchErrorCode(p))}let c=(0,ui.httpHeadersTransform)(i.headers);if(i.status===uh||i.status===y4)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let d=await i.text();if(i.status===_4&&i.url.includes("api/v3"))throw Z.ProtocolError.fromCode(new Z.HttpV3ApiNotSupportedErrorCode);if(d.startsWith("Invalid request expiry: "))throw Z.InputError.fromCode(new Z.IngressExpiryInvalidErrorCode(d,this.#u));if(o<this.#l)return await this.#_({requestFn:r,backoff:n,tries:o+1});throw Z.ProtocolError.fromCode(new Z.HttpErrorCode(i.status,i.statusText,c,d))}async query(e,r,n){let o=this.#f(),s=r.effectiveCanisterId?Dn.Principal.from(r.effectiveCanisterId):Dn.Principal.from(e);await this.#b(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${e.toString()}`);let i,a=await(n??this.#n);if(!a)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let c=Dn.Principal.from(e),d=a.getPrincipal(),p=ju(this.#u,this.#r),l={request_type:Fn.ReadRequestType.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:d,ingress_expiry:p},u=(0,Sa.requestIdOf)(l);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.Query,body:l}),i=await a.transformRequest(i);let f=To.encode(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:u,backoff:o,tries:0},m=async()=>{let y=await this.#x(h);return{requestDetails:l,...y}},b=async()=>{let y=this.#m.get(s.toString());if(y)return y;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Z.TrustError.fromCode(new Z.MissingSignatureErrorCode);return x};try{if(!this.#y)return await m();let[y,x]=await Promise.all([m(),b()]);try{return this.#w(y,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let _=await b();return this.#w(y,_)}}catch(y){let x;throw y instanceof Z.AgentError?(y.code.requestContext={requestId:u,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=y):x=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(y)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(e,r){await this.#b();let n=await(r??this.#n);if(!n)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Fn.Endpoint.ReadState,body:{request_type:Fn.ReadRequestType.ReadState,paths:e.paths,sender:o,ingress_expiry:ju(this.#u,this.#r)}});return n.transformRequest(s)}async readState(e,r,n,o){await this.#E();let s=Dn.Principal.from(e);function i(p){for(let l of p.paths){let[u,f]=l,h=new TextEncoder().encode("request_status");if((0,ch.uint8Equals)(u,h))return f}}let a,c;if(o)a=o,c=(0,Sa.requestIdOf)(a);else{c=i(r);let p=await this.#n;if(!p)throw Z.ExternalError.fromCode(new Z.IdentityInvalidErrorCode);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let d=this.#f();try{let{responseBodyBytes:p}=await this.#_({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:To.encode(a.body)}),backoff:d,tries:0}),l=To.decode(p);return this.log.print("Read state response:",l),l}catch(p){let l;throw p instanceof Z.AgentError?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},l=p):l=Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(p)),this.log.error(`Error while making read state: ${l.message}`,l),l}}parseTimeFromResponse(e){let r;if(e.certificate){let n=To.decode(e.certificate);if(n&&"tree"in n)r=n.tree;else throw Z.ProtocolError.fromCode(new Z.HashTreeDecodeErrorCode("Could not decode time from response"));let o=(0,pb.lookup_path)(["time"],r);if(o.status!==pb.LookupPathStatus.Found)throw Z.ProtocolError.fromCode(new Z.LookupErrorCode("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 Z.ProtocolError.fromCode(new Z.MalformedLookupFoundValueErrorCode("Time was not in its expected format."));let s=(0,s4.decodeTime)(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(e){this.#i=this.#i??(async()=>{await this.#E();let r=Date.now();try{e||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=e??Dn.Principal.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=t.createSync({identity:new db.AnonymousIdentity,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await(0,fb.request)({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof Z.AgentError?n:Z.UnknownError.fromCode(new Z.UnexpectedErrorCode(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let e=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#f(),{responseBodyBytes:n}=await this.#_({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:e,...this.#a}),tries:0});return To.decode(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let e=await this.status();return this.rootKey=e.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#b(e){await Promise.all([this.#E(),this.#O(e)])}async#E(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Z.ExternalError.fromCode(new Z.MissingRootKeyErrorCode(this.#t))}async#O(e){this.#d&&!this.hasSyncedTime()&&await this.syncTime(e)}invalidateIdentity(){this.#n=null}replaceIdentity(e){this.#n=Promise.resolve(e)}async fetchSubnetKeys(e){let r=Dn.Principal.from(e);await this.#b(r);let o=(await(0,fb.request)({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(e){let r=Promise.resolve(e);if(e.endpoint===Fn.Endpoint.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#p)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};$e.HttpAgent=lh;function ju(t,e){let r=t*dh;return ui.Expiry.fromDeltaInMilliseconds(r,e)}});var la=z(Oo=>{"use strict";var x4=Oo&&Oo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),_b=Oo&&Oo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&x4(e,t,r)};Object.defineProperty(Oo,"__esModule",{value:!0});_b(Tl(),Oo);_b(Hu(),Oo)});var Ku=z(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.defaultStrategy=E4;an.once=bb;an.conditionalDelay=gb;an.maxAttempts=T4;an.throttle=O4;an.timeout=xb;an.backoff=wb;an.chain=Eb;var $u=sr(),w4=300*1e3;function E4(){return Eb(gb(bb(),1e3),wb(1e3,1.2),xb(w4))}function bb(){let t=!0;return async()=>t?(t=!1,!0):!1}function gb(t,e){return async(r,n,o)=>{if(await t(r,n,o))return new Promise(s=>setTimeout(s,e))}}function T4(t){let e=t;return async(r,n,o)=>{if(--e<=0)throw $u.ProtocolError.fromCode(new $u.TimeoutWaitingForResponseErrorCode(`Failed to retrieve a reply for request after ${t} attempts`,n,o))}}function O4(t){return()=>new Promise(e=>setTimeout(e,t))}function xb(t){let e=Date.now()+t;return async(r,n,o)=>{if(Date.now()>e)throw $u.ProtocolError.fromCode(new $u.TimeoutWaitingForResponseErrorCode(`Request timed out after ${t} msec`,n,o))}}function wb(t,e){let r=t;return()=>new Promise(n=>setTimeout(()=>{r*=e,n()},r))}function Eb(...t){return async(e,r,n)=>{for(let o of t)await o(e,r,n)}}});var Gu=z(At=>{"use strict";var N4=At&&At.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),v4=At&&At.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),R4=At&&At.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&N4(r,e,n[o]);return v4(r,e),r}})();Object.defineProperty(At,"__esModule",{value:!0});At.DEFAULT_POLLING_OPTIONS=At.defaultStrategy=At.strategy=void 0;At.pollForResponse=vb;At.constructRequest=Rb;var di=ii(),Vn=sr();At.strategy=R4(Ku());var I4=Ku(),S4=Qs(),cs=la(),Tb=dt(),A4=Ku();Object.defineProperty(At,"defaultStrategy",{enumerable:!0,get:function(){return A4.defaultStrategy}});At.DEFAULT_POLLING_OPTIONS={preSignReadStateRequest:!1};function Nb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function fh(t,e){return t!==null&&typeof t=="object"&&Nb(t,e)}function B4(t,e){return Nb(t,e)&&typeof t[e]=="function"}function Ob(t){return fh(t,"body")&&fh(t.body,"content")&&t.body.content.request_type===S4.ReadRequestType.ReadState&&fh(t.body.content,"ingress_expiry")&&typeof t.body.content.ingress_expiry=="object"&&t.body.content.ingress_expiry!==null&&B4(t.body.content.ingress_expiry,"toHash")}async function vb(t,e,r,n={}){let o=[(0,Tb.utf8ToBytes)("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await Rb({paths:[o],agent:t,pollingOptions:n}),s=await t.readState(e,{paths:[o]},void 0,i)):s=await t.readState(e,{paths:[o]}),t.rootKey==null)throw Vn.ExternalError.fromCode(new Vn.MissingRootKeyErrorCode);let c=await di.Certificate.create({certificate:s.certificate,rootKey:t.rootKey,canisterId:e,blsVerify:n.blsVerify,agent:t}),d=(0,di.lookupResultToBuffer)(c.lookup_path([...o,(0,Tb.utf8ToBytes)("status")])),p;switch(typeof d>"u"?p=cs.RequestStatusResponseStatus.Unknown:p=new TextDecoder().decode(d),p){case cs.RequestStatusResponseStatus.Replied:return{reply:(0,di.lookupResultToBuffer)(c.lookup_path([...o,"reply"])),certificate:c};case cs.RequestStatusResponseStatus.Received:case cs.RequestStatusResponseStatus.Unknown:case cs.RequestStatusResponseStatus.Processing:{let l=n.strategy??(0,I4.defaultStrategy)();return await l(e,r,p),vb(t,e,r,{...n,strategy:l,request:i})}case cs.RequestStatusResponseStatus.Rejected:{let l=new Uint8Array((0,di.lookupResultToBuffer)(c.lookup_path([...o,"reject_code"])))[0],u=new TextDecoder().decode((0,di.lookupResultToBuffer)(c.lookup_path([...o,"reject_message"]))),f=(0,di.lookupResultToBuffer)(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Vn.RejectError.fromCode(new Vn.CertifiedRejectErrorCode(r,l,u,h))}case cs.RequestStatusResponseStatus.Done:throw Vn.UnknownError.fromCode(new Vn.RequestStatusDoneNoReplyErrorCode(r))}throw Vn.UNREACHABLE_ERROR}async function Rb(t){let{paths:e,agent:r,pollingOptions:n}=t;if(n.request&&Ob(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:e},void 0);if(!Ob(o))throw Vn.InputError.fromCode(new Vn.InvalidReadStateRequestErrorCode(o));return o}});var hh=z(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.ACTOR_METHOD_WITH_CERTIFICATE=ar.ACTOR_METHOD_WITH_HTTP_DETAILS=ar.Actor=void 0;var Zu=la(),er=sr(),zu=aa(),Sb=Gu(),Aa=Rr(),li=ii(),Ib=Hu(),C4=dt(),_r=Symbol.for("ic-agent-metadata"),ph=class t{static agentOf(e){return e[_r].config.agent}static interfaceOf(e){return e[_r].service}static canisterIdOf(e){return Aa.Principal.from(e[_r].config.canisterId)}static createActorClass(e,r){let n=e({IDL:zu.IDL});class o extends t{constructor(i){if(!i.canisterId)throw er.InputError.fromCode(new er.MissingCanisterIdErrorCode(i.canisterId));let a=typeof i.canisterId=="string"?Aa.Principal.fromText(i.canisterId):i.canisterId;super({config:{...Ab,...i,canisterId:a},service:n});for(let[c,d]of n._fields)r?.httpDetails&&d.annotations.push(ar.ACTOR_METHOD_WITH_HTTP_DETAILS),r?.certificate&&d.annotations.push(ar.ACTOR_METHOD_WITH_CERTIFICATE),this[c]=P4(this,c,d,i.blsVerify)}}return o}static createActor(e,r){if(!r.canisterId)throw er.InputError.fromCode(new er.MissingCanisterIdErrorCode(r.canisterId));return new(this.createActorClass(e))(r)}static createActorWithHttpDetails(e,r){return new(this.createActorClass(e,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(e,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(e,n))(r)}constructor(e){this[_r]=Object.freeze(e)}};ar.Actor=ph;function fi(t,e){let r=zu.IDL.decode(t,e);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Ab={pollingOptions:Sb.DEFAULT_POLLING_OPTIONS};ar.ACTOR_METHOD_WITH_HTTP_DETAILS="http-details";ar.ACTOR_METHOD_WITH_CERTIFICATE="certificate";function P4(t,e,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...t[_r].config.queryTransform?.(e,a,{...t[_r].config,...i})};let c=i.agent||t[_r].config.agent||new Ib.HttpAgent,d=Aa.Principal.from(i.canisterId||t[_r].config.canisterId),p=zu.IDL.encode(r.argTypes,a),l=await c.query(d,{methodName:e,arg:p,effectiveCanisterId:i.effectiveCanisterId}),u={...l.httpDetails,requestDetails:l.requestDetails};switch(l.status){case Zu.QueryResponseStatus.Rejected:{let f=new er.UncertifiedRejectErrorCode(l.requestId,l.reject_code,l.reject_message,l.error_code,l.signatures);throw f.callContext={canisterId:d,methodName:e,httpDetails:u},er.RejectError.fromCode(f)}case Zu.QueryResponseStatus.Replied:return r.annotations.includes(ar.ACTOR_METHOD_WITH_HTTP_DETAILS)?{httpDetails:u,result:fi(r.retTypes,l.reply.arg)}:fi(r.retTypes,l.reply.arg)}}:o=async(i,...a)=>{i={...i,...t[_r].config.callTransform?.(e,a,{...t[_r].config,...i})};let c=i.agent||t[_r].config.agent||Ib.HttpAgent.createSync(),{canisterId:d,effectiveCanisterId:p,pollingOptions:l}={...Ab,...t[_r].config,...i},u=Aa.Principal.from(d),f=p!==void 0?Aa.Principal.from(p):u,h=zu.IDL.encode(r.argTypes,a),{requestId:m,response:b,requestDetails:y}=await c.call(u,{methodName:e,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,_;if((0,Zu.isV3ResponseBody)(b.body)){if(c.rootKey==null)throw er.ExternalError.fromCode(new er.MissingRootKeyErrorCode);let v=b.body.certificate;_=await li.Certificate.create({certificate:v,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let A=[(0,C4.utf8ToBytes)("request_status"),m];switch(new TextDecoder().decode((0,li.lookupResultToBuffer)(_.lookup_path([...A,"status"])))){case"replied":x=(0,li.lookupResultToBuffer)(_.lookup_path([...A,"reply"]));break;case"rejected":{let S=new Uint8Array((0,li.lookupResultToBuffer)(_.lookup_path([...A,"reject_code"])))[0],V=new TextDecoder().decode((0,li.lookupResultToBuffer)(_.lookup_path([...A,"reject_message"]))),C=(0,li.lookupResultToBuffer)(_.lookup_path([...A,"error_code"])),g=C?new TextDecoder().decode(C):void 0,w=new er.CertifiedRejectErrorCode(m,S,V,g);throw w.callContext={canisterId:u,methodName:e,httpDetails:b},er.RejectError.fromCode(w)}}}else if((0,Zu.isV2ResponseBody)(b.body)){let{reject_code:v,reject_message:A,error_code:E}=b.body,S=new er.UncertifiedRejectUpdateErrorCode(m,v,A,E);throw S.callContext={canisterId:u,methodName:e,httpDetails:b},er.RejectError.fromCode(S)}if(b.status===202){let v={...l,blsVerify:n},A=await(0,Sb.pollForResponse)(c,f,m,v);_=A.certificate,x=A.reply}let T=r.annotations.includes(ar.ACTOR_METHOD_WITH_HTTP_DETAILS),N=r.annotations.includes(ar.ACTOR_METHOD_WITH_CERTIFICATE),R={...b,requestDetails:y};if(x!==void 0)return T&&N?{httpDetails:R,certificate:_,result:fi(r.retTypes,x)}:N?{certificate:_,result:fi(r.retTypes,x)}:T?{httpDetails:R,result:fi(r.retTypes,x)}:fi(r.retTypes,x);{let v=new er.UnexpectedErrorCode(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(A=>A.display()).join(",")}].`);throw v.callContext={canisterId:u,methodName:e,httpDetails:R},er.UnknownError.fromCode(v)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}});var Bb=z(Un=>{"use strict";var D4=Un&&Un.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F4=Un&&Un.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),V4=Un&&Un.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&D4(r,e,n[o]);return F4(r,e),r}})();Object.defineProperty(Un,"__esModule",{value:!0});Un.fetchCandid=k4;var U4=Rr(),L4=V4(Bu()),q4=Hu(),M4=hh();async function k4(t,e){e||(e=await q4.HttpAgent.create());let n=(await L4.request({agent:e,canisterId:U4.Principal.fromText(t),paths:["candid"]})).get("candid");if(n)return n;let o=({IDL:i})=>i.Service({__get_candid_interface_tmp_hack:i.Func([],[i.Text],["query"])});return await M4.Actor.createActor(o,{agent:e,canisterId:t}).__get_candid_interface_tmp_hack()}});var yh=z(_e=>{"use strict";var Cb=_e&&_e.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),j4=_e&&_e.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Bt=_e&&_e.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Cb(e,t,r)},Pb=_e&&_e.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Cb(r,e,n[o]);return j4(r,e),r}})();Object.defineProperty(_e,"__esModule",{value:!0});_e.ToCborValue=_e.Cbor=_e.CanisterStatus=_e.polling=_e.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR=_e.IC_RESPONSE_DOMAIN_SEPARATOR=_e.IC_REQUEST_DOMAIN_SEPARATOR=void 0;Bt(hh(),_e);Bt(la(),_e);Bt(lu(),_e);Bt(Qs(),_e);Bt(ip(),_e);Bt(ii(),_e);var mh=ou();Object.defineProperty(_e,"IC_REQUEST_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return mh.IC_REQUEST_DOMAIN_SEPARATOR}});Object.defineProperty(_e,"IC_RESPONSE_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return mh.IC_RESPONSE_DOMAIN_SEPARATOR}});Object.defineProperty(_e,"IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR",{enumerable:!0,get:function(){return mh.IC_REQUEST_AUTH_DELEGATION_DOMAIN_SEPARATOR}});Bt(nh(),_e);Bt(sr(),_e);Bt(Bb(),_e);Bt(ah(),_e);Bt(sh(),_e);Bt(nu(),_e);Bt(qp(),_e);Bt(Js(),_e);Bt(cp(),_e);_e.polling=Pb(Gu());var H4=Pb(Bu());_e.CanisterStatus=H4;var Db=da();Object.defineProperty(_e,"Cbor",{enumerable:!0,get:function(){return Db.Cbor}});Object.defineProperty(_e,"ToCborValue",{enumerable:!0,get:function(){return Db.ToCborValue}});Bt(Gu(),_e)});var Pe=z((V5,Jb)=>{"use strict";var Eh=Object.defineProperty,$4=Object.getOwnPropertyDescriptor,K4=Object.getOwnPropertyNames,G4=Object.prototype.hasOwnProperty,Z4=(t,e)=>{for(var r in e)Eh(t,r,{get:e[r],enumerable:!0})},z4=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of K4(e))!G4.call(t,o)&&o!==r&&Eh(t,o,{get:()=>e[o],enumerable:!(n=$4(e,o))||n.enumerable});return t},Y4=t=>z4(Eh({},"__esModule",{value:!0}),t),Lb={};Z4(Lb,{AgentManager:()=>sO,Canister:()=>rO,FromStringToTokenError:()=>qb,ICPToken:()=>Q4,InvalidPercentageError:()=>Kb,NullishError:()=>Gb,TokenAmount:()=>eO,TokenAmountV2:()=>tO,arrayBufferToUint8Array:()=>fO,arrayOfNumberToUint8Array:()=>hO,asNonNullish:()=>aO,asciiStringToByteArray:()=>mO,assertNonNullish:()=>Fa,assertPercentageNumber:()=>cO,base64ToUint8Array:()=>EO,bigEndianCrc32:()=>NO,bigIntToUint8Array:()=>dO,candidNumberArrayToBigInt:()=>bO,convertStringToE8s:()=>Mb,createAgent:()=>Hb,createServices:()=>iO,debounce:()=>PO,decodeBase32:()=>xO,defaultAgent:()=>jb,encodeBase32:()=>gO,fromDefinedNullable:()=>FO,fromNullable:()=>Th,fromNullishNullable:()=>VO,hashObject:()=>RO,hashText:()=>Yb,hexStringToUint8Array:()=>yO,isEmptyString:()=>nO,isNullish:()=>Da,jsonReplacer:()=>zb,jsonReviver:()=>vO,nonNullish:()=>cn,notEmptyString:()=>kb,nowInBigIntNanoSeconds:()=>BO,numberToUint8Array:()=>lO,principalToSubAccount:()=>UO,queryAndUpdate:()=>oO,secondsToDuration:()=>SO,smallerVersion:()=>LO,toBigIntNanoSeconds:()=>CO,toNullable:()=>DO,uint8ArrayToArrayOfNumber:()=>pO,uint8ArrayToBase64:()=>wO,uint8ArrayToBigInt:()=>uO,uint8ArrayToHexString:()=>Zb,uint8ArraysEqual:()=>_O});Jb.exports=Y4(Lb);var qb=(t=>(t[t.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",t[t.InvalidFormat=1]="InvalidFormat",t[t.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",t))(qb||{}),W4=BigInt(1e8),X4=8,Mb=t=>{let e=t.includes("e")?Number(t).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):t;e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,o]=e.split("."),s=BigInt(0);if(n)try{s+=BigInt(n)*W4}catch{return 1}if(o){if(o.length>8)return 0;try{s+=BigInt(o.padEnd(8,"0"))}catch{return 1}}return s},J4=({amount:t,decimals:e})=>{t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,o]=t.split("."),s=0n,i=10n**BigInt(e);if(n)try{s+=BigInt(n)*i}catch{return 1}if(o){if(o.length>e)return 2;try{s+=BigInt(o.padEnd(e,"0"))}catch{return 1}}return s},Q4={symbol:"ICP",name:"Internet Computer",decimals:8},eO=class Ca{constructor(e,r){if(this.e8s=e,this.token=r,r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:e,token:r}){return new Ca(e,r)}static fromString({amount:e,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=Mb(e);return typeof n=="bigint"?new Ca(n,r):n}static fromNumber({amount:e,token:r}){let n=Ca.fromString({amount:e.toString(),token:r});if(n instanceof Ca)return n;throw n===0?new Error(`Number ${e} has more than 8 decimals`):new Error(`Invalid number ${e}`)}toE8s(){return this.e8s}},tO=class Pa{constructor(e,r){this.ulps=e,this.token=r}static fromUlps({amount:e,token:r}){return new Pa(e,r)}static fromString({amount:e,token:r}){let n=J4({amount:e,decimals:r.decimals});return typeof n=="bigint"?new Pa(n,r):n}static fromNumber({amount:e,token:r}){let n=Pa.fromString({amount:e.toFixed(Math.min(X4,r.decimals)),token:r});if(n instanceof Pa)return n;throw n===2?new Error(`Number ${e} has more than ${r.decimals} decimals`):new Error(`Invalid number ${e}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}},rO=class{constructor(t,e,r){this.id=t,this.service=e,this.certifiedService=r}get canisterId(){return this.id}caller=({certified:t=!0})=>t?this.certifiedService:this.service},Da=t=>t==null,cn=t=>!Da(t),kb=t=>cn(t)&&t!=="",nO=t=>!kb(t),oO=async({request:t,onLoad:e,onQueryError:r,onUpdateError:n,strategy:o="query_and_update",identity:s,resolution:i="race"})=>{let a=!1,c=p=>t({certified:p,identity:s}).then(l=>{a||e({certified:p,response:l})}).catch(l=>{p||r==null||r({error:l,identity:s}),!a&&(Da(n)||(console.error(l),p&&n({error:l,identity:s})))}).finally(()=>a=a||p),d=o==="query"?[c(!1)]:o==="update"?[c(!0)]:[c(!1),c(!0)];await(i==="all_settled"?Promise.allSettled(d):Promise.race(d))},Fb=yh(),_h=yh(),jb=()=>_h.HttpAgent.createSync({host:"https://icp-api.io",identity:new _h.AnonymousIdentity}),Hb=async({identity:t,host:e,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:o})=>await _h.HttpAgent.create({identity:t,...cn(e)&&{host:e},verifyQuerySignatures:n,...cn(o)&&{retryTimes:o},shouldFetchRootKey:r}),sO=class $b{constructor(e){this.config=e}agents=void 0;static create(e){return new $b(e)}getAgent=async({identity:e})=>{let r=e.getPrincipal().toText();if(Da(this.agents)||Da(this.agents[r])){let n=await Hb({identity:e,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]};clearAgents=()=>{this.agents=null}},iO=({options:{canisterId:t,serviceOverride:e,certifiedServiceOverride:r,agent:n,callTransform:o,queryTransform:s},idlFactory:i,certifiedIdlFactory:a})=>{let c=n??jb(),d=e??Fb.Actor.createActor(i,{agent:c,canisterId:t,callTransform:o,queryTransform:s}),p=r??Fb.Actor.createActor(a,{agent:c,canisterId:t,callTransform:o,queryTransform:s});return{service:d,certifiedService:p,agent:c,canisterId:t}},Kb=class extends Error{},Gb=class extends Error{},Fa=(t,e)=>{if(t==null)throw new Gb(e)},aO=(t,e)=>(Fa(t,e),t),cO=t=>{if(t<0||t>100)throw new Kb(`${t} is not a valid percentage number.`)},uO=t=>{let e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(typeof e.getBigUint64=="function")return e.getBigUint64(0);let r=BigInt(e.getUint32(0)),n=BigInt(e.getUint32(4));return(r<<BigInt(32))+n},dO=t=>{let e=new ArrayBuffer(8),r=new DataView(e);if(typeof r.setBigUint64=="function")r.setBigUint64(0,t);else{let n=Number(t>>BigInt(32)),o=Number(t&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,o)}return new Uint8Array(e)},lO=t=>{let e=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)e.setUint8(r,t%256),t=t>>8;return new Uint8Array(e.buffer)},fO=t=>new Uint8Array(t),pO=t=>Array.from(t),hO=t=>new Uint8Array(t),mO=t=>Array.from(t).map(e=>e.charCodeAt(0)),yO=t=>{let e=t.match(/.{1,2}/g);return Fa(e,"Invalid hex string."),Uint8Array.from(e.map(r=>parseInt(r,16)))},_O=({a:t,b:e})=>t.length===e.length&&t.every((r,n)=>r===e[n]),Zb=t=>(t instanceof Uint8Array||(t=Uint8Array.from(t)),t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"")),bO=t=>{let e=0n;for(let r=t.length-1;r>=0;r--)e=(e<<32n)+BigInt(t[r]);return e},Yu="abcdefghijklmnopqrstuvwxyz234567",pi=Object.create(null);for(let t=0;t<Yu.length;t++)pi[Yu[t]]=t;pi[0]=pi.o;pi[1]=pi.i;var gO=t=>{let e=0,r=0,n="",o=s=>(e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Yu[r>>3],e+=5),0));for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Yu[r>>3]:"")},xO=t=>{let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0,s=i=>{let a=pi[i.toLowerCase()];Fa(a,`Invalid character: ${JSON.stringify(i)}`),a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)};for(let i of t)s(i);return n.slice(0,o)},wO=t=>btoa(String.fromCharCode(...new Uint8Array(t))),EO=t=>Uint8Array.from(atob(t),e=>e.charCodeAt(0)),TO=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]),OO=t=>{let e=-1;for(let r=0;r<t.length;r++){let n=(t[r]^e)&255;e=TO[n]^e>>>8}return(e^-1)>>>0},NO=t=>{let e=new ArrayBuffer(4);return new DataView(e).setUint32(0,OO(t),!1),new Uint8Array(e)},bh=Rr(),gh="__bigint__",xh="__principal__",wh="__uint8array__",zb=(t,e)=>typeof e=="bigint"?{[gh]:`${e}`}:cn(e)&&bh.Principal.isPrincipal(e)?{[xh]:bh.Principal.from(e).toText()}:cn(e)&&e instanceof Uint8Array?{[wh]:Array.from(e)}:e,vO=(t,e)=>{let r=n=>e[n];return cn(e)&&typeof e=="object"&&gh in e?BigInt(r(gh)):cn(e)&&typeof e=="object"&&xh in e?bh.Principal.fromText(r(xh)):cn(e)&&typeof e=="object"&&wh in e?Uint8Array.from(r(wh)):e},RO=async t=>{let e=JSON.stringify(t,zb);return await Yb(e)},Yb=async t=>{let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Zb(new Uint8Array(r))},IO={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},SO=({seconds:t,i18n:e=IO})=>{let r=t/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let o=n/BigInt(24);n-=o*BigInt(24);let s=AO(o);return o-=Wb(s),[Ba({labelKey:"year",amount:s}),Ba({labelKey:"day",amount:o}),Ba({labelKey:"hour",amount:n}),Ba({labelKey:"minute",amount:r}),...t>BigInt(0)&&t<BigInt(60)?[Ba({labelKey:"second",amount:t})]:[]].filter(({amount:i})=>i>0).slice(0,2).map(i=>`${i.amount} ${i.amount===1?e[i.labelKey]:e[`${i.labelKey}_plural`]}`).join(", ")},AO=t=>{let e=t/BigInt(365);for(;Wb(e)>t;)e--;return e},Wb=t=>{let e=t/BigInt(4);return t*BigInt(365)+e},Ba=({labelKey:t,amount:e})=>({labelKey:t,amount:Number(e)}),Xb=1000000n,BO=()=>BigInt(Date.now())*Xb,CO=t=>BigInt(t.getTime())*Xb,PO=(t,e)=>{let r;return(...n)=>{let o=()=>t(...n);r&&clearTimeout(r),r=setTimeout(o,e!==void 0&&e>0?e:300)}},DO=t=>cn(t)?[t]:[],Th=t=>t?.[0],FO=t=>{let e=Th(t);return Fa(e),e},VO=t=>Th(t??[]),UO=t=>{let e=t.toUint8Array(),r=new Uint8Array(32);return r[0]=e.length,r.set(e,1),r},Vb=({nums:t,amountZeros:e})=>e>t.length?[...t,...[...Array(e-t.length).keys()].map(()=>0)]:t,Ub=t=>{if(!Number.isNaN(Number(t)))return Number(t);let e=t.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(e)},LO=({minVersion:t,currentVersion:e})=>{let r=Vb({nums:t.split(".").map(Ub),amountZeros:3}).join(".");return Vb({nums:e.split(".").map(Ub),amountZeros:3}).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0}});var V1=De(Pe(),1);var fw=De(Pe(),1);var Qb;(function(t){t[t.SysFatal=1]="SysFatal",t[t.SysTransient=2]="SysTransient",t[t.DestinationInvalid=3]="DestinationInvalid",t[t.CanisterReject=4]="CanisterReject",t[t.CanisterError=5]="CanisterError"})(Qb||(Qb={}));var No;(function(t){t.Replied="replied",t.Rejected="rejected"})(No||(No={}));function eg(t){return t!=null&&"reject_code"in t}function tg(t){return t!=null&&"certificate"in t}var Wu="abcdefghijklmnopqrstuvwxyz234567",hi=Object.create(null);for(let t=0;t<Wu.length;t++)hi[Wu[t]]=t;hi[0]=hi.o;hi[1]=hi.i;function rg(t){let e=0,r=0,n="";function o(s){return e<0?r|=s>>-e:r=s<<e&248,e>3?(e-=8,1):(e<4&&(n+=Wu[r>>3],e+=5),0)}for(let s=0;s<t.length;)s+=o(t[s]);return n+(e<0?Wu[r>>3]:"")}function ng(t){let e=0,r=0,n=new Uint8Array(t.length*4/3|0),o=0;function s(i){let a=hi[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>e,e+=5,e>=8&&(n[o++]=r,e-=8,e>0?r=a<<5-e&255:r=0)}for(let i of t)s(i);return n.slice(0,o)}var qO=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 og(t){let e=-1;for(let r=0;r<t.length;r++){let o=(t[r]^e)&255;e=qO[o]^e>>>8}return(e^-1)>>>0}import*as Ln from"node:crypto";var us=Ln&&typeof Ln=="object"&&"webcrypto"in Ln?Ln.webcrypto:Ln&&typeof Ln=="object"&&"randomBytes"in Ln?Ln:void 0;function un(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Oh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Xe(t,...e){if(!un(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Nh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ig(t,e){Xe(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ds(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Ju(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Cr(t,e){return t<<32-e|t>>>e}var ag=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",MO=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function de(t){if(Xe(t),ag)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=MO[t[r]];return e}var qn={_0:48,_9:57,A:65,F:70,a:97,f:102};function sg(t){if(t>=qn._0&&t<=qn._9)return t-qn._0;if(t>=qn.A&&t<=qn.F)return t-(qn.A-10);if(t>=qn.a&&t<=qn.f)return t-(qn.a-10)}function ht(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(ag)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=sg(t.charCodeAt(s)),a=sg(t.charCodeAt(s+1));if(i===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ve(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function vh(t){return typeof t=="string"&&(t=Ve(t)),Xe(t),t}function fe(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];Xe(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}var Xu=class{};function Qu(t){let e=n=>t().update(vh(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function mi(t=32){if(us&&typeof us.getRandomValues=="function")return us.getRandomValues(new Uint8Array(t));if(us&&typeof us.randomBytes=="function")return Uint8Array.from(us.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function kO(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,d=n?0:4;t.setUint32(e+c,i,n),t.setUint32(e+d,a,n)}function cg(t,e,r){return t&e^~t&r}function ug(t,e,r){return t&e^t&r^e&r}var Va=class extends Xu{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Ju(this.buffer)}update(e){Nh(this),e=vh(e),Xe(e);let{view:r,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Ju(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Nh(this),ig(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,ds(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;kO(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Ju(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=c/4,p=this.get();if(d>p.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)a.setUint32(4*l,p[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Mn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kn=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var wt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ed=BigInt(4294967295),dg=BigInt(32);function jO(t,e=!1){return e?{h:Number(t&ed),l:Number(t>>dg&ed)}:{h:Number(t>>dg&ed)|0,l:Number(t&ed)|0}}function lg(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=jO(t[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var Rh=(t,e,r)=>t>>>r,Ih=(t,e,r)=>t<<32-r|e>>>r,ls=(t,e,r)=>t>>>r|e<<32-r,fs=(t,e,r)=>t<<32-r|e>>>r,Ua=(t,e,r)=>t<<64-r|e>>>r-32,La=(t,e,r)=>t>>>r-32|e<<64-r;function dn(t,e,r,n){let o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:o|0}}var fg=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),pg=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,hg=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),mg=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0,yg=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0),_g=(t,e,r,n,o,s)=>e+r+n+o+s+(t/2**32|0)|0;var $O=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]),vo=new Uint32Array(64),td=class extends Va{constructor(e=32){super(64,e,8,!1),this.A=Mn[0]|0,this.B=Mn[1]|0,this.C=Mn[2]|0,this.D=Mn[3]|0,this.E=Mn[4]|0,this.F=Mn[5]|0,this.G=Mn[6]|0,this.H=Mn[7]|0}get(){let{A:e,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,r,n,o,s,i,a,c]}set(e,r,n,o,s,i,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)vo[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let u=vo[l-15],f=vo[l-2],h=Cr(u,7)^Cr(u,18)^u>>>3,m=Cr(f,17)^Cr(f,19)^f>>>10;vo[l]=m+vo[l-7]+h+vo[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:d,H:p}=this;for(let l=0;l<64;l++){let u=Cr(a,6)^Cr(a,11)^Cr(a,25),f=p+u+cg(a,c,d)+$O[l]+vo[l]|0,m=(Cr(n,2)^Cr(n,13)^Cr(n,22))+ug(n,o,s)|0;p=d,d=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,d=d+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,d,p)}roundClean(){ds(vo)}destroy(){this.set(0,0,0,0,0,0,0,0),ds(this.buffer)}},Sh=class extends td{constructor(){super(28),this.A=kn[0]|0,this.B=kn[1]|0,this.C=kn[2]|0,this.D=kn[3]|0,this.E=kn[4]|0,this.F=kn[5]|0,this.G=kn[6]|0,this.H=kn[7]|0}},bg=lg(["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(t=>BigInt(t))),KO=bg[0],GO=bg[1],Ro=new Uint32Array(80),Io=new Uint32Array(80),Ah=class extends Va{constructor(e=64){super(128,e,16,!1),this.Ah=wt[0]|0,this.Al=wt[1]|0,this.Bh=wt[2]|0,this.Bl=wt[3]|0,this.Ch=wt[4]|0,this.Cl=wt[5]|0,this.Dh=wt[6]|0,this.Dl=wt[7]|0,this.Eh=wt[8]|0,this.El=wt[9]|0,this.Fh=wt[10]|0,this.Fl=wt[11]|0,this.Gh=wt[12]|0,this.Gl=wt[13]|0,this.Hh=wt[14]|0,this.Hl=wt[15]|0}get(){let{Ah:e,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:d,El:p,Fh:l,Fl:u,Gh:f,Gl:h,Hh:m,Hl:b}=this;return[e,r,n,o,s,i,a,c,d,p,l,u,f,h,m,b]}set(e,r,n,o,s,i,a,c,d,p,l,u,f,h,m,b){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=d|0,this.El=p|0,this.Fh=l|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=b|0}process(e,r){for(let _=0;_<16;_++,r+=4)Ro[_]=e.getUint32(r),Io[_]=e.getUint32(r+=4);for(let _=16;_<80;_++){let T=Ro[_-15]|0,N=Io[_-15]|0,R=ls(T,N,1)^ls(T,N,8)^Rh(T,N,7),v=fs(T,N,1)^fs(T,N,8)^Ih(T,N,7),A=Ro[_-2]|0,E=Io[_-2]|0,S=ls(A,E,19)^Ua(A,E,61)^Rh(A,E,6),V=fs(A,E,19)^La(A,E,61)^Ih(A,E,6),C=hg(v,V,Io[_-7],Io[_-16]),g=mg(C,R,S,Ro[_-7],Ro[_-16]);Ro[_]=g|0,Io[_]=C|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:d,Dl:p,Eh:l,El:u,Fh:f,Fl:h,Gh:m,Gl:b,Hh:y,Hl:x}=this;for(let _=0;_<80;_++){let T=ls(l,u,14)^ls(l,u,18)^Ua(l,u,41),N=fs(l,u,14)^fs(l,u,18)^La(l,u,41),R=l&f^~l&m,v=u&h^~u&b,A=yg(x,N,v,GO[_],Io[_]),E=_g(A,y,T,R,KO[_],Ro[_]),S=A|0,V=ls(n,o,28)^Ua(n,o,34)^Ua(n,o,39),C=fs(n,o,28)^La(n,o,34)^La(n,o,39),g=n&s^n&a^s&a,w=o&i^o&c^i&c;y=m|0,x=b|0,m=f|0,b=h|0,f=l|0,h=u|0,{h:l,l:u}=dn(d|0,p|0,E|0,S|0),d=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let O=fg(S,C,w);n=pg(O,E,V,g),o=O|0}({h:n,l:o}=dn(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=dn(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=dn(this.Ch|0,this.Cl|0,a|0,c|0),{h:d,l:p}=dn(this.Dh|0,this.Dl|0,d|0,p|0),{h:l,l:u}=dn(this.Eh|0,this.El|0,l|0,u|0),{h:f,l:h}=dn(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:b}=dn(this.Gh|0,this.Gl|0,m|0,b|0),{h:y,l:x}=dn(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,o,s,i,a,c,d,p,l,u,f,h,m,b,y,x)}roundClean(){ds(Ro,Io)}destroy(){ds(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ct=Qu(()=>new td),gg=Qu(()=>new Sh),xg=Qu(()=>new Ah);var rd="__principal__",ZO=2,wg=4,zO="aaaaa-aa",oe=class t{static anonymous(){return new this(new Uint8Array([wg]))}static managementCanister(){return this.fromText(zO)}static selfAuthenticating(e){let r=gg(e);return new this(new Uint8Array([...r,ZO]))}static from(e){if(typeof e=="string")return t.fromText(e);if(Object.getPrototypeOf(e)===Uint8Array.prototype)return new t(e);if(t.isPrincipal(e))return new t(e._arr);throw new Error(`Impossible to convert ${JSON.stringify(e)} to Principal.`)}static fromHex(e){return new this(ht(e))}static fromText(e){let r=e;if(e.includes(rd)){let i=JSON.parse(e);rd in i&&(r=i[rd])}let n=r.toLowerCase().replace(/-/g,""),o=ng(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(e){return new this(e)}static isPrincipal(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isPrincipal"in e&&e._isPrincipal===!0&&"_arr"in e&&e._arr instanceof Uint8Array}constructor(e){this._arr=e,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===wg}toUint8Array(){return this._arr}toHex(){return de(this._arr).toUpperCase()}toText(){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,og(this._arr));let n=new Uint8Array(e),o=new Uint8Array([...n,...this._arr]),i=rg(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[rd]:this.toText()}}compareTo(e){for(let r=0;r<Math.min(this._arr.length,e._arr.length);r++){if(this._arr[r]<e._arr[r])return"lt";if(this._arr[r]>e._arr[r])return"gt"}return this._arr.length<e._arr.length?"lt":this._arr.length>e._arr.length?"gt":"eq"}ltEq(e){let r=this.compareTo(e);return r=="lt"||r=="eq"}gtEq(e){let r=this.compareTo(e);return r=="gt"||r=="eq"}};var jn;(function(t){t.Trust="Trust",t.Protocol="Protocol",t.Reject="Reject",t.Transport="Transport",t.External="External",t.Limit="Limit",t.Input="Input",t.Unknown="Unknown"})(jn||(jn={}));var be=class{constructor(e=!1){this.isCertified=e}toString(){let e=this.toErrorMessage();return this.requestContext&&(e+=`
|
|
70
70
|
Request context:
|
|
71
71
|
Request ID (hex): ${this.requestContext.requestId?de(this.requestContext.requestId):"undefined"}
|
|
72
72
|
Sender pubkey (hex): ${de(this.requestContext.senderPubKey)}
|
|
@@ -75,12 +75,12 @@ Request context:
|
|
|
75
75
|
Call context:
|
|
76
76
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
77
77
|
Method name: ${this.callContext.methodName}
|
|
78
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),e}},Pr=class t extends Error{get code(){return this.cause.code}set code(e){this.cause.code=e}get kind(){return this.cause.kind}set kind(e){this.cause.kind=e}get isCertified(){return this.code.isCertified}constructor(e,r){super(e.toString()),this.name="AgentError",this.cause={code:e,kind:r},Object.setPrototypeOf(this,t.prototype)}hasCode(e){return this.code instanceof e}toString(){return`${this.name} (${this.kind}): ${this.message}`}},Hn=class extends Pr{static fromCode(e){return new this(e)}},Lt=class t extends Hn{constructor(e){super(e,jn.Trust),this.name="TrustError",Object.setPrototypeOf(this,t.prototype)}},Me=class t extends Hn{constructor(e){super(e,jn.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,t.prototype)}},So=class t extends Hn{constructor(e){super(e,jn.Reject),this.name="RejectError",Object.setPrototypeOf(this,t.prototype)}},
|
|
78
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),e}},Pr=class t extends Error{get code(){return this.cause.code}set code(e){this.cause.code=e}get kind(){return this.cause.kind}set kind(e){this.cause.kind=e}get isCertified(){return this.code.isCertified}constructor(e,r){super(e.toString()),this.name="AgentError",this.cause={code:e,kind:r},Object.setPrototypeOf(this,t.prototype)}hasCode(e){return this.code instanceof e}toString(){return`${this.name} (${this.kind}): ${this.message}`}},Hn=class extends Pr{static fromCode(e){return new this(e)}},Lt=class t extends Hn{constructor(e){super(e,jn.Trust),this.name="TrustError",Object.setPrototypeOf(this,t.prototype)}},Me=class t extends Hn{constructor(e){super(e,jn.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,t.prototype)}},So=class t extends Hn{constructor(e){super(e,jn.Reject),this.name="RejectError",Object.setPrototypeOf(this,t.prototype)}},qa=class t extends Hn{constructor(e){super(e,jn.Transport),this.name="TransportError",Object.setPrototypeOf(this,t.prototype)}},mt=class t extends Hn{constructor(e){super(e,jn.External),this.name="ExternalError",Object.setPrototypeOf(this,t.prototype)}};var Ne=class t extends Hn{constructor(e){super(e,jn.Input),this.name="InputError",Object.setPrototypeOf(this,t.prototype)}},st=class t extends Hn{constructor(e){super(e,jn.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,t.prototype)}},Ao=class t extends be{constructor(e,r){super(),this.reason=e,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=this.reason;return this.error&&(e+=`: ${Ga(this.error)}`),`Certificate verification error: "${e}"`}},ps=class t extends be{constructor(e,r,n,o,s){super(),this.maxAgeInMinutes=e,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=s,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,t.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`}},nd=class t extends be{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},yi=class t extends be{constructor(e,r){super(),this.canisterId=e,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,t.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()}`}},$n=class t extends be{constructor(e,r){super(),this.message=e,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},_i=class t extends be{constructor(e){super(),this.message=e,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.message}},od=class t extends be{constructor(e){super(),this.message=e,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.message}},bi=class t extends be{constructor(e,r){super(),this.expectedLength=e,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},sd=class t extends be{constructor(e,r){super(),this.expectedPrefix=e,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${de(this.expectedPrefix)}, but got ${de(this.actualPrefix)}`}},id=class t extends be{constructor(e,r){super(),this.expectedLength=e,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},Dr=class t extends be{constructor(e){super(),this.error=e,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Ma=class t extends be{constructor(e){super(),this.error=e,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},ad=class t extends be{constructor(e,r){super(),this.error=e,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Ga(this.error)}, input: ${de(this.input)}`}},cd=class t extends be{constructor(e,r){super(),this.error=e,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Ga(this.error)}, input: ${this.value}`}};var hs=class t extends be{constructor(e,r,n){super(),this.message=e,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`${this.message}
|
|
79
79
|
`;return this.requestId&&(e+=` Request ID: ${de(this.requestId)}
|
|
80
80
|
`),this.status&&(e+=` Request status: ${this.status}
|
|
81
81
|
`),e}},ud=class t extends be{constructor(e,r,n){super(),this.maxIngressExpiryInMinutes=e,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
82
82
|
Request ID: ${de(this.requestId)}
|
|
83
|
-
`;return this.retryTimes!==void 0&&(e+=` Retried ${this.retryTimes} times.`),e}},
|
|
83
|
+
`;return this.retryTimes!==void 0&&(e+=` Retried ${this.retryTimes} times.`),e}},gi=class t extends be{constructor(e,r,n,o){super(!0),this.requestId=e,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
84
84
|
Request ID: ${de(this.requestId)}
|
|
85
85
|
Reject code: ${this.rejectCode}
|
|
86
86
|
Reject text: ${this.rejectMessage}
|
|
@@ -97,29 +97,29 @@ Call context:
|
|
|
97
97
|
Error code: ${this.rejectErrorCode}
|
|
98
98
|
`}},fd=class t extends be{constructor(e){super(),this.requestId=e,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
99
99
|
Request ID: ${de(this.requestId)}
|
|
100
|
-
`}},ln=class t extends be{constructor(e){super(),this.shouldFetchRootKey=e,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,t.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.`}},pd=class t extends be{constructor(e){super(),this.value=e,this.name="HashValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},
|
|
100
|
+
`}},ln=class t extends be{constructor(e){super(),this.shouldFetchRootKey=e,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,t.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.`}},pd=class t extends be{constructor(e){super(),this.value=e,this.name="HashValueErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},xi=class t extends be{constructor(e){super(),this.error=e,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return this.error}},Bo=class t extends be{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},ms=class t extends be{constructor(e,r){super(),this.message=e,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},hd=class t extends be{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},md=class t extends be{constructor(e){super(),this.error=e,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},yd=class t extends be{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},_d=class t extends be{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},bd=class t extends be{constructor(e){super(),this.nodeId=e,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},qt=class t extends be{constructor(e){super(),this.error=e,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Unexpected error: ${Ga(this.error)}`}},Co=class t extends be{constructor(e){super(),this.error=e,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},ka=class t extends be{constructor(e,r,n,o){super(),this.status=e,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){let e=`HTTP request failed:
|
|
101
101
|
Status: ${this.status} (${this.statusText})
|
|
102
102
|
Headers: ${JSON.stringify(this.headers)}
|
|
103
103
|
`;return this.bodyText&&(e+=` Body: ${this.bodyText}
|
|
104
|
-
`),e}},Ha=class t extends be{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},$a=class t extends be{constructor(e){super(),this.error=e,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Za(this.error)}`}},Ka=class t extends be{constructor(e){super(),this.receivedCanisterId=e,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,t.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.`}},gd=class t extends be{constructor(e){super(),this.request=e,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Ga=class t extends be{constructor(e){super(),this.error=e,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Za(t){if(t instanceof Error)return t.stack??t.message;try{return JSON.stringify(t)}catch{return String(t)}}var Po=new Error("unreachable");var gs={};$1(gs,{Bool:()=>Cg,BoolClass:()=>Od,ConstructType:()=>hn,Empty:()=>Ag,EmptyClass:()=>Ya,FixedIntClass:()=>Zn,FixedNatClass:()=>pn,Float32:()=>Ug,Float64:()=>Lg,FloatClass:()=>Ja,Func:()=>ex,FuncClass:()=>bs,Int:()=>Fg,Int16:()=>Mg,Int32:()=>kg,Int64:()=>jg,Int8:()=>qg,IntClass:()=>Wa,Nat:()=>Vg,Nat16:()=>$g,Nat32:()=>Kg,Nat64:()=>Gg,Nat8:()=>Hg,NatClass:()=>Xa,Null:()=>Pg,NullClass:()=>ms,Opt:()=>Wg,OptClass:()=>Vo,PrimitiveType:()=>tr,Principal:()=>Zg,PrincipalClass:()=>Rd,Rec:()=>Qg,RecClass:()=>br,Record:()=>Xg,RecordClass:()=>_s,Reserved:()=>Bg,ReservedClass:()=>yn,Service:()=>tx,ServiceClass:()=>Ni,Text:()=>Dg,TextClass:()=>Nd,Tuple:()=>zg,TupleClass:()=>vd,Type:()=>Ei,Unknown:()=>JO,UnknownClass:()=>Td,Variant:()=>Jg,VariantClass:()=>Oi,Vec:()=>Yg,VecClass:()=>Ti,Visitor:()=>Uh,decode:()=>XO,encode:()=>WO,resetSubtypeCache:()=>Lh,subtype:()=>Mh});function Re(...t){let e=new Uint8Array(t.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of t)e.set(n,r),r+=n.byteLength;return e}var Fr=class{save(){return this._view}restore(e){if(!(e instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=e}constructor(e,r=e?.byteLength||0){if(e&&!(e instanceof Uint8Array))try{e=fn(e)}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(e&&r>e.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=e||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(e){let r=this._view.subarray(0,e);return this._view=this._view.subarray(e),r.slice()}readUint8(){if(this._view.byteLength===0)return;let e=this._view[0];return this._view=this._view.subarray(1),e}write(e){if(!(e instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+e.byteLength>=this._buffer.byteLength?this.alloc(e.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+e.byteLength),this._view.set(e,r)}get end(){return this._view.byteLength===0}alloc(e){if(e<=0||!Number.isInteger(e))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+e)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+e);n.set(this._view),this._buffer=r,this._view=n}};function fn(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?fn(t.buffer):new Uint8Array(t)}function Bh(t,e){if(t.byteLength!==e.byteLength)return t.byteLength-e.byteLength;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]-e[r];return 0}function Og(t,e){return Bh(t,e)===0}function Ng(t){if(!(t instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(t.buffer,t.byteOffset,t.byteLength)}function YO(t){let r=new TextEncoder().encode(t),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Mt(t){if(/^_\d+_$/.test(t)||/^_0x[0-9a-fA-F]+_$/.test(t)){let e=+t.slice(1,-1);if(Number.isSafeInteger(e)&&e>=0&&e<2**32)return e}return YO(t)}function Ch(t){let e=BigInt(t);if(t<=0)throw new RangeError("Input must be positive");return e.toString(2).length-1}function xd(t){let e=BigInt(t);if(t<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<e}function vg(){throw new Error("unexpected end of buffer")}function Fo(t,e){return t.byteLength<e&&vg(),t.read(e)}function Do(t){let e=t.readUint8();return e===void 0&&vg(),e}function ke(t){if(typeof t=="number"&&(t=BigInt(t)),t<BigInt(0))throw new Error("Cannot leb encode negative values.");let e=(t===BigInt(0)?0:Ch(t))+1,r=new Fr(new Uint8Array(e),0);for(;;){let n=Number(t&BigInt(127));if(t/=BigInt(128),t===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function tt(t){let e=BigInt(1),r=BigInt(0),n;do n=Do(t),r+=BigInt(n&127).valueOf()*e,e*=BigInt(128);while(n>=128);return r}function rt(t){typeof t=="number"&&(t=BigInt(t));let e=t<BigInt(0);e&&(t=-t-BigInt(1));let r=(t===BigInt(0)?0:Ch(t))+1,n=new Fr(new Uint8Array(r),0);for(;;){let s=o(t);if(t/=BigInt(128),e&&t===BigInt(0)&&(s&64)!==0||!e&&t===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(e?BigInt(128)-i-BigInt(1):i)}return n.buffer}function Kn(t){let e=new Uint8Array(t.buffer),r=0;for(;r<e.byteLength;r++)if(e[r]<128){if((e[r]&64)===0)return tt(t);break}let n=new Uint8Array(Fo(t,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Rg(t,e){if(BigInt(t)<BigInt(0))throw new Error("Cannot write negative values.");return Ph(t,e)}function Ph(t,e){t=BigInt(t);let r=new Fr(new Uint8Array(Math.min(1,e)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(t%o);for(r.write(new Uint8Array([i]));++n<e;)t<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((t/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function Dh(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=BigInt(Do(t)),n=BigInt(1),o=0;for(;++o<e;){n*=BigInt(256);let s=BigInt(Do(t));r=r+n*s}return r}function Ig(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=Dh(t,e),n=BigInt(2)**(BigInt(8)*BigInt(e-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Be;(function(t){t[t.Null=-1]="Null",t[t.Bool=-2]="Bool",t[t.Nat=-3]="Nat",t[t.Int=-4]="Int",t[t.Float32=-13]="Float32",t[t.Float64=-14]="Float64",t[t.Text=-15]="Text",t[t.Reserved=-16]="Reserved",t[t.Empty=-17]="Empty",t[t.Opt=-18]="Opt",t[t.Vector=-19]="Vector",t[t.Record=-20]="Record",t[t.Variant=-21]="Variant",t[t.Func=-22]="Func",t[t.Service=-23]="Service",t[t.Principal=-24]="Principal"})(Be||(Be={}));var wd="DIDL",Sg=400;function za(t,e,r){return t.map((n,o)=>r(n,e[o]))}var Vh=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(e){return this._idx.has(e.name)}add(e,r){let n=this._typs.length;this._idx.set(e.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(e,r){let n=this._idx.get(e.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+e);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(e){return this._idxRefCount.get(e)||0}_compactFromEnd(){for(;this._typs.length>0;){let e=this._typs.length-1;if(this._getIdxRefCount(e)>0)break;this._typs.pop(),this._idxRefCount.delete(e)}}encode(){let e=ke(this._typs.length),r=Re(...this._typs);return Re(e,r)}indexOf(e){if(!this._idx.has(e))throw new Error("Missing type index for "+e);return rt(this._idx.get(e)||0)}},Uh=class{visitType(e,r){throw new Error("Not implemented")}visitPrimitive(e,r){return this.visitType(e,r)}visitEmpty(e,r){return this.visitPrimitive(e,r)}visitBool(e,r){return this.visitPrimitive(e,r)}visitNull(e,r){return this.visitPrimitive(e,r)}visitReserved(e,r){return this.visitPrimitive(e,r)}visitText(e,r){return this.visitPrimitive(e,r)}visitNumber(e,r){return this.visitPrimitive(e,r)}visitInt(e,r){return this.visitNumber(e,r)}visitNat(e,r){return this.visitNumber(e,r)}visitFloat(e,r){return this.visitPrimitive(e,r)}visitFixedInt(e,r){return this.visitNumber(e,r)}visitFixedNat(e,r){return this.visitNumber(e,r)}visitPrincipal(e,r){return this.visitPrimitive(e,r)}visitConstruct(e,r){return this.visitType(e,r)}visitVec(e,r,n){return this.visitConstruct(e,n)}visitOpt(e,r,n){return this.visitConstruct(e,n)}visitRecord(e,r,n){return this.visitConstruct(e,n)}visitTuple(e,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(e,o,n)}visitVariant(e,r,n){return this.visitConstruct(e,n)}visitRec(e,r,n){return this.visitConstruct(r,n)}visitFunc(e,r){return this.visitConstruct(e,r)}visitService(e,r){return this.visitConstruct(e,r)}},pe;(function(t){t.EmptyClass="__IDL_EmptyClass__",t.UnknownClass="__IDL_UnknownClass__",t.BoolClass="__IDL_BoolClass__",t.NullClass="__IDL_NullClass__",t.ReservedClass="__IDL_ReservedClass__",t.TextClass="__IDL_TextClass__",t.IntClass="__IDL_IntClass__",t.NatClass="__IDL_NatClass__",t.FloatClass="__IDL_FloatClass__",t.FixedIntClass="__IDL_FixedIntClass__",t.FixedNatClass="__IDL_FixedNatClass__",t.VecClass="__IDL_VecClass__",t.OptClass="__IDL_OptClass__",t.RecordClass="__IDL_RecordClass__",t.TupleClass="__IDL_TupleClass__",t.VariantClass="__IDL_VariantClass__",t.RecClass="__IDL_RecClass__",t.PrincipalClass="__IDL_PrincipalClass__",t.FuncClass="__IDL_FuncClass__",t.ServiceClass="__IDL_ServiceClass__"})(pe||(pe={}));var Ei=class{display(){return this.name}valueToString(e){return Je(e)}buildTypeTable(e){e.has(this)||this._buildTypeTableImpl(e)}},tr=class extends Ei{checkType(e){if(this.name!==e.name)throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`);return e}_buildTypeTableImpl(e){}},hn=class extends Ei{checkType(e){if(e instanceof br){let r=e.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`)}encodeType(e){return e.indexOf(this.name)}},Ya=class extends tr{get typeName(){return pe.EmptyClass}static[Symbol.hasInstance](e){return e.typeName===pe.EmptyClass}accept(e,r){return e.visitEmpty(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return rt(Be.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Td=class extends Ei{get typeName(){return pe.UnknownClass}static[Symbol.hasInstance](e){return e.typeName===pe.UnknownClass}checkType(e){throw new Error("Method not implemented for unknown.")}accept(e,r){throw e.visitType(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}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(e,r){let n=r.decodeValue(e,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof br?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"}},Od=class extends tr{get typeName(){return pe.BoolClass}static[Symbol.hasInstance](e){return e.typeName===pe.BoolClass}accept(e,r){return e.visitBool(this,r)}covariant(e){if(typeof e=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return new Uint8Array([e?1:0])}encodeType(){return rt(Be.Bool)}decodeValue(e,r){switch(this.checkType(r),Do(e)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},ms=class extends tr{get typeName(){return pe.NullClass}static[Symbol.hasInstance](e){return e.typeName===pe.NullClass}accept(e,r){return e.visitNull(this,r)}covariant(e){if(e===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return rt(Be.Null)}decodeValue(e,r){return this.checkType(r),null}get name(){return"null"}},yn=class extends tr{get typeName(){return pe.ReservedClass}static[Symbol.hasInstance](e){return e.typeName===pe.ReservedClass}accept(e,r){return e.visitReserved(this,r)}covariant(e){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return rt(Be.Reserved)}decodeValue(e,r){return r.name!==this.name&&r.decodeValue(e,r),null}get name(){return"reserved"}},Nd=class extends tr{get typeName(){return pe.TextClass}static[Symbol.hasInstance](e){return e.typeName===pe.TextClass}accept(e,r){return e.visitText(this,r)}covariant(e){if(typeof e=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=new TextEncoder().encode(e),n=ke(r.byteLength);return Re(n,r)}encodeType(){return rt(Be.Text)}decodeValue(e,r){this.checkType(r);let n=tt(e),o=Fo(e,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(e){return'"'+e+'"'}},Wa=class extends tr{get typeName(){return pe.IntClass}static[Symbol.hasInstance](e){return e.typeName===pe.IntClass}accept(e,r){return e.visitInt(this,r)}covariant(e){if(typeof e=="bigint"||Number.isInteger(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return rt(e)}encodeType(){return rt(Be.Int)}decodeValue(e,r){return this.checkType(r),Kn(e)}get name(){return"int"}valueToString(e){return e.toString()}},Xa=class extends tr{get typeName(){return pe.NatClass}static[Symbol.hasInstance](e){return e.typeName===pe.NatClass}accept(e,r){return e.visitNat(this,r)}covariant(e){if(typeof e=="bigint"&&e>=BigInt(0)||Number.isInteger(e)&&e>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return ke(e)}encodeType(){return rt(Be.Nat)}decodeValue(e,r){return this.checkType(r),tt(e)}get name(){return"nat"}valueToString(e){return e.toString()}},Ja=class extends tr{get typeName(){return pe.FloatClass}static[Symbol.hasInstance](e){return e.typeName===pe.FloatClass}constructor(e){if(super(),this._bits=e,e!==32&&e!==64)throw new Error("not a valid float type")}accept(e,r){return e.visitFloat(this,r)}covariant(e){if(typeof e=="number"||e instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,e,!0):n.setFloat64(0,e,!0),new Uint8Array(r)}encodeType(){let e=this._bits===32?Be.Float32:Be.Float64;return rt(e)}decodeValue(e,r){this.checkType(r);let n=Fo(e,this._bits/8),o=Ng(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(e){return e.toString()}},Zn=class extends tr{get typeName(){return pe.FixedIntClass}static[Symbol.hasInstance](e){return e.typeName===pe.FixedIntClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedInt(this,r)}covariant(e){let r=xd(this._bits-1)*BigInt(-1),n=xd(this._bits-1)-BigInt(1),o=!1;if(typeof e=="bigint")o=e>=r&&e<=n;else if(Number.isInteger(e)){let s=BigInt(e);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return Ph(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return rt(-9-e)}decodeValue(e,r){this.checkType(r);let n=Ig(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(e){return e.toString()}},pn=class extends tr{get typeName(){return pe.FixedNatClass}static[Symbol.hasInstance](e){return e.typeName===pe.FixedNatClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedNat(this,r)}covariant(e){let r=xd(this._bits),n=!1;if(typeof e=="bigint"&&e>=BigInt(0)?n=e<r:Number.isInteger(e)&&e>=0?n=BigInt(e)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return Rg(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return rt(-5-e)}decodeValue(e,r){this.checkType(r);let n=Dh(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(e){return e.toString()}},Ti=class t extends hn{get typeName(){return pe.VecClass}static[Symbol.hasInstance](e){return e.typeName===pe.VecClass}constructor(e){super(),this._type=e,this._blobOptimization=!1,e instanceof pn&&e._bits===8&&(this._blobOptimization=!0)}accept(e,r){return e.visitVec(this,this._type,r)}covariant(e){let r=this._type instanceof pn?this._type._bits:this._type instanceof Zn?this._type._bits:0;if(ArrayBuffer.isView(e)&&r==e.BYTES_PER_ELEMENT*8||Array.isArray(e)&&e.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
104
|
+
`),e}},ja=class t extends be{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},Ha=class t extends be{constructor(e){super(),this.error=e,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Ga(this.error)}`}},$a=class t extends be{constructor(e){super(),this.receivedCanisterId=e,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,t.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.`}},gd=class t extends be{constructor(e){super(),this.request=e,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Ka=class t extends be{constructor(e){super(),this.error=e,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,t.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Ga(t){if(t instanceof Error)return t.stack??t.message;try{return JSON.stringify(t)}catch{return String(t)}}var Po=new Error("unreachable");var gs={};H1(gs,{Bool:()=>Ag,BoolClass:()=>Od,ConstructType:()=>hn,Empty:()=>Ig,EmptyClass:()=>za,FixedIntClass:()=>Zn,FixedNatClass:()=>pn,Float32:()=>Fg,Float64:()=>Vg,FloatClass:()=>Xa,Func:()=>Jg,FuncClass:()=>bs,Int:()=>Pg,Int16:()=>Lg,Int32:()=>qg,Int64:()=>Mg,Int8:()=>Ug,IntClass:()=>Ya,Nat:()=>Dg,Nat16:()=>jg,Nat32:()=>Hg,Nat64:()=>$g,Nat8:()=>kg,NatClass:()=>Wa,Null:()=>Bg,NullClass:()=>ys,Opt:()=>zg,OptClass:()=>Vo,PrimitiveType:()=>tr,Principal:()=>Kg,PrincipalClass:()=>Rd,Rec:()=>Xg,RecClass:()=>br,Record:()=>Yg,RecordClass:()=>_s,Reserved:()=>Sg,ReservedClass:()=>mn,Service:()=>Qg,ServiceClass:()=>Oi,Text:()=>Cg,TextClass:()=>Nd,Tuple:()=>Gg,TupleClass:()=>vd,Type:()=>wi,Unknown:()=>JO,UnknownClass:()=>Td,Variant:()=>Wg,VariantClass:()=>Ti,Vec:()=>Zg,VecClass:()=>Ei,Visitor:()=>Uh,decode:()=>XO,encode:()=>WO,resetSubtypeCache:()=>Lh,subtype:()=>Mh});function Re(...t){let e=new Uint8Array(t.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of t)e.set(n,r),r+=n.byteLength;return e}var Fr=class{save(){return this._view}restore(e){if(!(e instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=e}constructor(e,r=e?.byteLength||0){if(e&&!(e instanceof Uint8Array))try{e=fn(e)}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(e&&r>e.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=e||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(e){let r=this._view.subarray(0,e);return this._view=this._view.subarray(e),r.slice()}readUint8(){if(this._view.byteLength===0)return;let e=this._view[0];return this._view=this._view.subarray(1),e}write(e){if(!(e instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+e.byteLength>=this._buffer.byteLength?this.alloc(e.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+e.byteLength),this._view.set(e,r)}get end(){return this._view.byteLength===0}alloc(e){if(e<=0||!Number.isInteger(e))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+e)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+e);n.set(this._view),this._buffer=r,this._view=n}};function fn(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?fn(t.buffer):new Uint8Array(t)}function Bh(t,e){if(t.byteLength!==e.byteLength)return t.byteLength-e.byteLength;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]-e[r];return 0}function Eg(t,e){return Bh(t,e)===0}function Tg(t){if(!(t instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(t.buffer,t.byteOffset,t.byteLength)}function YO(t){let r=new TextEncoder().encode(t),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Mt(t){if(/^_\d+_$/.test(t)||/^_0x[0-9a-fA-F]+_$/.test(t)){let e=+t.slice(1,-1);if(Number.isSafeInteger(e)&&e>=0&&e<2**32)return e}return YO(t)}function Ch(t){let e=BigInt(t);if(t<=0)throw new RangeError("Input must be positive");return e.toString(2).length-1}function xd(t){let e=BigInt(t);if(t<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<e}function Og(){throw new Error("unexpected end of buffer")}function Fo(t,e){return t.byteLength<e&&Og(),t.read(e)}function Do(t){let e=t.readUint8();return e===void 0&&Og(),e}function ke(t){if(typeof t=="number"&&(t=BigInt(t)),t<BigInt(0))throw new Error("Cannot leb encode negative values.");let e=(t===BigInt(0)?0:Ch(t))+1,r=new Fr(new Uint8Array(e),0);for(;;){let n=Number(t&BigInt(127));if(t/=BigInt(128),t===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function tt(t){let e=BigInt(1),r=BigInt(0),n;do n=Do(t),r+=BigInt(n&127).valueOf()*e,e*=BigInt(128);while(n>=128);return r}function rt(t){typeof t=="number"&&(t=BigInt(t));let e=t<BigInt(0);e&&(t=-t-BigInt(1));let r=(t===BigInt(0)?0:Ch(t))+1,n=new Fr(new Uint8Array(r),0);for(;;){let s=o(t);if(t/=BigInt(128),e&&t===BigInt(0)&&(s&64)!==0||!e&&t===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(e?BigInt(128)-i-BigInt(1):i)}return n.buffer}function Kn(t){let e=new Uint8Array(t.buffer),r=0;for(;r<e.byteLength;r++)if(e[r]<128){if((e[r]&64)===0)return tt(t);break}let n=new Uint8Array(Fo(t,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Ng(t,e){if(BigInt(t)<BigInt(0))throw new Error("Cannot write negative values.");return Ph(t,e)}function Ph(t,e){t=BigInt(t);let r=new Fr(new Uint8Array(Math.min(1,e)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(t%o);for(r.write(new Uint8Array([i]));++n<e;)t<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((t/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function Dh(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=BigInt(Do(t)),n=BigInt(1),o=0;for(;++o<e;){n*=BigInt(256);let s=BigInt(Do(t));r=r+n*s}return r}function vg(t,e){if(e<=0||!Number.isInteger(e))throw new Error("Byte length must be a positive integer");let r=Dh(t,e),n=BigInt(2)**(BigInt(8)*BigInt(e-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Be;(function(t){t[t.Null=-1]="Null",t[t.Bool=-2]="Bool",t[t.Nat=-3]="Nat",t[t.Int=-4]="Int",t[t.Float32=-13]="Float32",t[t.Float64=-14]="Float64",t[t.Text=-15]="Text",t[t.Reserved=-16]="Reserved",t[t.Empty=-17]="Empty",t[t.Opt=-18]="Opt",t[t.Vector=-19]="Vector",t[t.Record=-20]="Record",t[t.Variant=-21]="Variant",t[t.Func=-22]="Func",t[t.Service=-23]="Service",t[t.Principal=-24]="Principal"})(Be||(Be={}));var wd="DIDL",Rg=400;function Za(t,e,r){return t.map((n,o)=>r(n,e[o]))}var Vh=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(e){return this._idx.has(e.name)}add(e,r){let n=this._typs.length;this._idx.set(e.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(e,r){let n=this._idx.get(e.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+e);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(e){return this._idxRefCount.get(e)||0}_compactFromEnd(){for(;this._typs.length>0;){let e=this._typs.length-1;if(this._getIdxRefCount(e)>0)break;this._typs.pop(),this._idxRefCount.delete(e)}}encode(){let e=ke(this._typs.length),r=Re(...this._typs);return Re(e,r)}indexOf(e){if(!this._idx.has(e))throw new Error("Missing type index for "+e);return rt(this._idx.get(e)||0)}},Uh=class{visitType(e,r){throw new Error("Not implemented")}visitPrimitive(e,r){return this.visitType(e,r)}visitEmpty(e,r){return this.visitPrimitive(e,r)}visitBool(e,r){return this.visitPrimitive(e,r)}visitNull(e,r){return this.visitPrimitive(e,r)}visitReserved(e,r){return this.visitPrimitive(e,r)}visitText(e,r){return this.visitPrimitive(e,r)}visitNumber(e,r){return this.visitPrimitive(e,r)}visitInt(e,r){return this.visitNumber(e,r)}visitNat(e,r){return this.visitNumber(e,r)}visitFloat(e,r){return this.visitPrimitive(e,r)}visitFixedInt(e,r){return this.visitNumber(e,r)}visitFixedNat(e,r){return this.visitNumber(e,r)}visitPrincipal(e,r){return this.visitPrimitive(e,r)}visitConstruct(e,r){return this.visitType(e,r)}visitVec(e,r,n){return this.visitConstruct(e,n)}visitOpt(e,r,n){return this.visitConstruct(e,n)}visitRecord(e,r,n){return this.visitConstruct(e,n)}visitTuple(e,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(e,o,n)}visitVariant(e,r,n){return this.visitConstruct(e,n)}visitRec(e,r,n){return this.visitConstruct(r,n)}visitFunc(e,r){return this.visitConstruct(e,r)}visitService(e,r){return this.visitConstruct(e,r)}},pe;(function(t){t.EmptyClass="__IDL_EmptyClass__",t.UnknownClass="__IDL_UnknownClass__",t.BoolClass="__IDL_BoolClass__",t.NullClass="__IDL_NullClass__",t.ReservedClass="__IDL_ReservedClass__",t.TextClass="__IDL_TextClass__",t.IntClass="__IDL_IntClass__",t.NatClass="__IDL_NatClass__",t.FloatClass="__IDL_FloatClass__",t.FixedIntClass="__IDL_FixedIntClass__",t.FixedNatClass="__IDL_FixedNatClass__",t.VecClass="__IDL_VecClass__",t.OptClass="__IDL_OptClass__",t.RecordClass="__IDL_RecordClass__",t.TupleClass="__IDL_TupleClass__",t.VariantClass="__IDL_VariantClass__",t.RecClass="__IDL_RecClass__",t.PrincipalClass="__IDL_PrincipalClass__",t.FuncClass="__IDL_FuncClass__",t.ServiceClass="__IDL_ServiceClass__"})(pe||(pe={}));var wi=class{display(){return this.name}valueToString(e){return Je(e)}buildTypeTable(e){e.has(this)||this._buildTypeTableImpl(e)}},tr=class extends wi{checkType(e){if(this.name!==e.name)throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`);return e}_buildTypeTableImpl(e){}},hn=class extends wi{checkType(e){if(e instanceof br){let r=e.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${e.name}, expect type ${this.name}`)}encodeType(e){return e.indexOf(this.name)}},za=class extends tr{get typeName(){return pe.EmptyClass}static[Symbol.hasInstance](e){return e.typeName===pe.EmptyClass}accept(e,r){return e.visitEmpty(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return rt(Be.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Td=class extends wi{get typeName(){return pe.UnknownClass}static[Symbol.hasInstance](e){return e.typeName===pe.UnknownClass}checkType(e){throw new Error("Method not implemented for unknown.")}accept(e,r){throw e.visitType(this,r)}covariant(e){throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}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(e,r){let n=r.decodeValue(e,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof br?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"}},Od=class extends tr{get typeName(){return pe.BoolClass}static[Symbol.hasInstance](e){return e.typeName===pe.BoolClass}accept(e,r){return e.visitBool(this,r)}covariant(e){if(typeof e=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return new Uint8Array([e?1:0])}encodeType(){return rt(Be.Bool)}decodeValue(e,r){switch(this.checkType(r),Do(e)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},ys=class extends tr{get typeName(){return pe.NullClass}static[Symbol.hasInstance](e){return e.typeName===pe.NullClass}accept(e,r){return e.visitNull(this,r)}covariant(e){if(e===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return rt(Be.Null)}decodeValue(e,r){return this.checkType(r),null}get name(){return"null"}},mn=class extends tr{get typeName(){return pe.ReservedClass}static[Symbol.hasInstance](e){return e.typeName===pe.ReservedClass}accept(e,r){return e.visitReserved(this,r)}covariant(e){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return rt(Be.Reserved)}decodeValue(e,r){return r.name!==this.name&&r.decodeValue(e,r),null}get name(){return"reserved"}},Nd=class extends tr{get typeName(){return pe.TextClass}static[Symbol.hasInstance](e){return e.typeName===pe.TextClass}accept(e,r){return e.visitText(this,r)}covariant(e){if(typeof e=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=new TextEncoder().encode(e),n=ke(r.byteLength);return Re(n,r)}encodeType(){return rt(Be.Text)}decodeValue(e,r){this.checkType(r);let n=tt(e),o=Fo(e,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(e){return'"'+e+'"'}},Ya=class extends tr{get typeName(){return pe.IntClass}static[Symbol.hasInstance](e){return e.typeName===pe.IntClass}accept(e,r){return e.visitInt(this,r)}covariant(e){if(typeof e=="bigint"||Number.isInteger(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return rt(e)}encodeType(){return rt(Be.Int)}decodeValue(e,r){return this.checkType(r),Kn(e)}get name(){return"int"}valueToString(e){return e.toString()}},Wa=class extends tr{get typeName(){return pe.NatClass}static[Symbol.hasInstance](e){return e.typeName===pe.NatClass}accept(e,r){return e.visitNat(this,r)}covariant(e){if(typeof e=="bigint"&&e>=BigInt(0)||Number.isInteger(e)&&e>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return ke(e)}encodeType(){return rt(Be.Nat)}decodeValue(e,r){return this.checkType(r),tt(e)}get name(){return"nat"}valueToString(e){return e.toString()}},Xa=class extends tr{get typeName(){return pe.FloatClass}static[Symbol.hasInstance](e){return e.typeName===pe.FloatClass}constructor(e){if(super(),this._bits=e,e!==32&&e!==64)throw new Error("not a valid float type")}accept(e,r){return e.visitFloat(this,r)}covariant(e){if(typeof e=="number"||e instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,e,!0):n.setFloat64(0,e,!0),new Uint8Array(r)}encodeType(){let e=this._bits===32?Be.Float32:Be.Float64;return rt(e)}decodeValue(e,r){this.checkType(r);let n=Fo(e,this._bits/8),o=Tg(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(e){return e.toString()}},Zn=class extends tr{get typeName(){return pe.FixedIntClass}static[Symbol.hasInstance](e){return e.typeName===pe.FixedIntClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedInt(this,r)}covariant(e){let r=xd(this._bits-1)*BigInt(-1),n=xd(this._bits-1)-BigInt(1),o=!1;if(typeof e=="bigint")o=e>=r&&e<=n;else if(Number.isInteger(e)){let s=BigInt(e);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return Ph(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return rt(-9-e)}decodeValue(e,r){this.checkType(r);let n=vg(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(e){return e.toString()}},pn=class extends tr{get typeName(){return pe.FixedNatClass}static[Symbol.hasInstance](e){return e.typeName===pe.FixedNatClass}constructor(e){super(),this._bits=e}accept(e,r){return e.visitFixedNat(this,r)}covariant(e){let r=xd(this._bits),n=!1;if(typeof e=="bigint"&&e>=BigInt(0)?n=e<r:Number.isInteger(e)&&e>=0?n=BigInt(e)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return Ng(e,this._bits/8)}encodeType(){let e=Math.log2(this._bits)-3;return rt(-5-e)}decodeValue(e,r){this.checkType(r);let n=Dh(e,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(e){return e.toString()}},Ei=class t extends hn{get typeName(){return pe.VecClass}static[Symbol.hasInstance](e){return e.typeName===pe.VecClass}constructor(e){super(),this._type=e,this._blobOptimization=!1,e instanceof pn&&e._bits===8&&(this._blobOptimization=!0)}accept(e,r){return e.visitVec(this,this._type,r)}covariant(e){let r=this._type instanceof pn?this._type._bits:this._type instanceof Zn?this._type._bits:0;if(ArrayBuffer.isView(e)&&r==e.BYTES_PER_ELEMENT*8||Array.isArray(e)&&e.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
105
105
|
|
|
106
106
|
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=ke(e.length);if(this._blobOptimization)return Re(r,new Uint8Array(e));if(ArrayBuffer.isView(e))if(e instanceof Int16Array||e instanceof Uint16Array){let o=new DataView(new ArrayBuffer(e.length*2));for(let s=0;s<e.length;s++)e instanceof Int16Array?o.setInt16(s*2,e[s],!0):o.setUint16(s*2,e[s],!0);return Re(r,new Uint8Array(o.buffer))}else if(e instanceof Int32Array||e instanceof Uint32Array){let o=new DataView(new ArrayBuffer(e.length*4));for(let s=0;s<e.length;s++)e instanceof Int32Array?o.setInt32(s*4,e[s],!0):o.setUint32(s*4,e[s],!0);return Re(r,new Uint8Array(o.buffer))}else if(e instanceof BigInt64Array||e instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(e.length*8));for(let s=0;s<e.length;s++)e instanceof BigInt64Array?o.setBigInt64(s*8,e[s],!0):o.setBigUint64(s*8,e[s],!0);return Re(r,new Uint8Array(o.buffer))}else return Re(r,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));let n=new Fr(new Uint8Array(r.byteLength+e.length),0);n.write(r);for(let o of e){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=rt(Be.Vector),n=this._type.encodeType(e);e.add(this,Re(r,n))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a vector type");let o=Number(tt(e));if(this._type instanceof pn){if(this._type._bits==8)return new Uint8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=e.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(e.read(o*8).buffer)}if(this._type instanceof Zn){if(this._type._bits==8)return new Int8Array(e.read(o));if(this._type._bits==16){let i=e.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int16Array(o);for(let d=0;d<o;d++)c[d]=a.getInt16(d*2,!0);return c}if(this._type._bits==32){let i=e.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int32Array(o);for(let d=0;d<o;d++)c[d]=a.getInt32(d*4,!0);return c}if(this._type._bits==64){let i=e.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let d=0;d<o;d++)c[d]=a.getBigInt64(d*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(e,n._type));return s}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(e){return"vec {"+e.map(n=>this._type.valueToString(n)).join("; ")+"}"}},Vo=class t extends hn{get typeName(){return pe.OptClass}static[Symbol.hasInstance](e){return e.typeName===pe.OptClass}constructor(e){super(),this._type=e}accept(e,r){return e.visitOpt(this,this._type,r)}covariant(e){try{if(Array.isArray(e)&&(e.length===0||e.length===1&&this._type.covariant(e[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${Je(e)}
|
|
107
107
|
|
|
108
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return e.length===0?new Uint8Array([0]):Re(new Uint8Array([1]),this._type.encodeValue(e[0]))}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=rt(Be.Opt),n=this._type.encodeType(e);e.add(this,Re(r,n))}decodeValue(e,r){if(r instanceof
|
|
108
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){return e.length===0?new Uint8Array([0]):Re(new Uint8Array([1]),this._type.encodeValue(e[0]))}_buildTypeTableImpl(e){this._type.buildTypeTable(e);let r=rt(Be.Opt),n=this._type.encodeType(e);e.add(this,Re(r,n))}decodeValue(e,r){if(r instanceof ys)return[];if(r instanceof mn)return[];let n=r;if(r instanceof br){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof t)switch(Do(e)){case 0:return[];case 1:{let o=e.save();try{return[this._type.decodeValue(e,n._type)]}catch{return e.restore(o),n._type.decodeValue(e,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof ys||this._type instanceof t||this._type instanceof mn)return n.decodeValue(e,n),[];{let o=e.save();try{return[this._type.decodeValue(e,r)]}catch{return e.restore(o),n.decodeValue(e,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(e){return e.length===0?"null":`opt ${this._type.valueToString(e[0])}`}},_s=class t extends hn{get typeName(){return pe.RecordClass}static[Symbol.hasInstance](e){return e.typeName===pe.RecordClass||e.typeName===pe.TupleClass}constructor(e={}){super(),this._fields=Object.entries(e).sort((r,n)=>Mt(r[0])-Mt(n[0]))}accept(e,r){return e.visitRecord(this,this._fields,r)}tryAsTuple(){let e=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;e.push(o)}return e}covariant(e){if(typeof e=="object"&&this._fields.every(([r,n])=>{if(!e.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(e[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
109
109
|
|
|
110
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=this._fields.map(([o])=>e[o]),n=
|
|
110
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=this._fields.map(([o])=>e[o]),n=Za(this._fields,r,([,o],s)=>o.encodeValue(s));return Re(...n)}_buildTypeTableImpl(e){this._fields.forEach(([s,i])=>i.buildTypeTable(e));let r=rt(Be.Record),n=ke(this._fields.length),o=this._fields.map(([s,i])=>Re(ke(Mt(s)),i.encodeType(e)));e.add(this,Re(r,n,Re(...o)))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a record type");let o={},s=0,i=0;for(;i<n._fields.length;){let[a,c]=n._fields[i];if(s>=this._fields.length){c.decodeValue(e,c),i++;continue}let[d,p]=this._fields[s],l=Mt(this._fields[s][0]),u=Mt(a);if(l===u)o[d]=p.decodeValue(e,c),s++,i++;else if(u>l)if(p instanceof Vo||p instanceof mn)o[d]=[],s++;else throw new Error("Cannot find required field "+d);else c.decodeValue(e,c),i++}for(let[a,c]of this._fields.slice(s))if(c instanceof Vo||c instanceof mn)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let e={};for(let[r,n]of this._fields)e[Mt(r)]=n;return e}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(e){let r=this._fields.map(([o])=>e[o]);return`record {${Za(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}},vd=class t extends _s{get typeName(){return pe.TupleClass}static[Symbol.hasInstance](e){return e.typeName===pe.TupleClass}constructor(e){let r={};e.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=e}accept(e,r){return e.visitTuple(this,this._components,r)}covariant(e){if(Array.isArray(e)&&e.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(e[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
111
111
|
|
|
112
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=
|
|
112
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=Za(this._components,e,(n,o)=>n.encodeValue(o));return Re(...r)}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[s,i]of n._components.entries())s>=this._components.length?i.decodeValue(e,i):o.push(this._components[s].decodeValue(e,i));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(e){return`record {${Za(this._components,e,(n,o)=>n.valueToString(o)).join("; ")}}`}},Ti=class t extends hn{get typeName(){return pe.VariantClass}static[Symbol.hasInstance](e){return e.typeName===pe.VariantClass}constructor(e={}){super(),this._fields=Object.entries(e).sort((r,n)=>Mt(r[0])-Mt(n[0]))}accept(e,r){return e.visitVariant(this,this._fields,r)}covariant(e){if(typeof e=="object"&&Object.entries(e).length===1&&this._fields.every(([r,n])=>{try{return!e.hasOwnProperty(r)||n.covariant(e[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
113
113
|
|
|
114
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(e.hasOwnProperty(n)){let s=ke(r),i=o.encodeValue(e[n]);return Re(s,i)}}throw Error("Variant has no data: "+e)}_buildTypeTableImpl(e){this._fields.forEach(([,s])=>{s.buildTypeTable(e)});let r=rt(Be.Variant),n=ke(this._fields.length),o=this._fields.map(([s,i])=>Re(ke(Mt(s)),i.encodeType(e)));e.add(this,Re(r,n,...o))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a variant type");let o=Number(tt(e));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if(Mt(s)===Mt(a)){let d=c.decodeValue(e,i);return{[a]:d}}throw new Error("Cannot find field hash "+s)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(e){for(let[r,n]of this._fields)if(e.hasOwnProperty(r)){let o=n.valueToString(e[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+e)}get alternativesAsObject(){let e={};for(let[r,n]of this._fields)e[Mt(r)]=n;return e}},br=class t extends hn{constructor(){super(...arguments),this._id=t._counter++}get typeName(){return pe.RecClass}static{this._counter=0}static[Symbol.hasInstance](e){return e.typeName===pe.RecClass}accept(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return e.visitRec(this,this._type,r)}fill(e){this._type=e}getType(){return this._type}covariant(e){if(this._type&&this._type.covariant(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(e)}_buildTypeTableImpl(e){if(!this._type)throw Error("Recursive type uninitialized.");e.add(this,new Uint8Array([])),this._type.buildTypeTable(e),e.merge(this,this._type.name)}decodeValue(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(e,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(e)}};function qh(t){if(Do(t)!==1)throw new Error("Cannot decode principal");let r=Number(tt(t));return oe.fromUint8Array(new Uint8Array(Fo(t,r)))}var Rd=class extends tr{get typeName(){return pe.PrincipalClass}static[Symbol.hasInstance](e){return e.typeName===pe.PrincipalClass}accept(e,r){return e.visitPrincipal(this,r)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=e.toUint8Array(),n=ke(r.byteLength);return Re(new Uint8Array([1]),n,r)}encodeType(){return rt(Be.Principal)}decodeValue(e,r){return this.checkType(r),qh(e)}get name(){return"principal"}valueToString(e){return`${this.name} "${e.toText()}"`}},bs=class extends hn{get typeName(){return pe.FuncClass}static[Symbol.hasInstance](e){return e.typeName===pe.FuncClass}static argsToString(e,r){if(e.length!==r.length)throw new Error("arity mismatch");return"("+e.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(e,r,n=[]){super(),this.argTypes=e,this.retTypes=r,this.annotations=n}accept(e,r){return e.visitFunc(this,r)}covariant(e){if(Array.isArray(e)&&e.length===2&&e[0]&&e[0]._isPrincipal&&typeof e[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue([e,r]){let n=e.toUint8Array(),o=ke(n.byteLength),s=Re(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=ke(i.byteLength);return Re(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(e){this.argTypes.forEach(d=>d.buildTypeTable(e)),this.retTypes.forEach(d=>d.buildTypeTable(e));let r=rt(Be.Func),n=ke(this.argTypes.length),o=Re(...this.argTypes.map(d=>d.encodeType(e))),s=ke(this.retTypes.length),i=Re(...this.retTypes.map(d=>d.encodeType(e))),a=ke(this.annotations.length),c=Re(...this.annotations.map(d=>this.encodeAnnotation(d)));e.add(this,Re(r,n,o,s,i,a,c))}decodeValue(e,r){let n=r instanceof br?r.getType()??r:r;if(!Mh(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Do(e)!==1)throw new Error("Cannot decode function reference");let s=qh(e),i=Number(tt(e)),a=Fo(e,i),d=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,d]}get name(){let e=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${e}) -> (${r})${n}`}valueToString([e,r]){return`func "${e.toText()}".${r}`}display(){let e=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${e}) \u2192 (${r})${n}`}encodeAnnotation(e){if(e==="query")return new Uint8Array([1]);if(e==="oneway")return new Uint8Array([2]);if(e==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},
|
|
114
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(e.hasOwnProperty(n)){let s=ke(r),i=o.encodeValue(e[n]);return Re(s,i)}}throw Error("Variant has no data: "+e)}_buildTypeTableImpl(e){this._fields.forEach(([,s])=>{s.buildTypeTable(e)});let r=rt(Be.Variant),n=ke(this._fields.length),o=this._fields.map(([s,i])=>Re(ke(Mt(s)),i.encodeType(e)));e.add(this,Re(r,n,...o))}decodeValue(e,r){let n=this.checkType(r);if(!(n instanceof t))throw new Error("Not a variant type");let o=Number(tt(e));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if(Mt(s)===Mt(a)){let d=c.decodeValue(e,i);return{[a]:d}}throw new Error("Cannot find field hash "+s)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(e){for(let[r,n]of this._fields)if(e.hasOwnProperty(r)){let o=n.valueToString(e[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+e)}get alternativesAsObject(){let e={};for(let[r,n]of this._fields)e[Mt(r)]=n;return e}},br=class t extends hn{constructor(){super(...arguments),this._id=t._counter++}get typeName(){return pe.RecClass}static{this._counter=0}static[Symbol.hasInstance](e){return e.typeName===pe.RecClass}accept(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return e.visitRec(this,this._type,r)}fill(e){this._type=e}getType(){return this._type}covariant(e){if(this._type&&this._type.covariant(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(e)}_buildTypeTableImpl(e){if(!this._type)throw Error("Recursive type uninitialized.");e.add(this,new Uint8Array([])),this._type.buildTypeTable(e),e.merge(this,this._type.name)}decodeValue(e,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(e,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(e)}};function qh(t){if(Do(t)!==1)throw new Error("Cannot decode principal");let r=Number(tt(t));return oe.fromUint8Array(new Uint8Array(Fo(t,r)))}var Rd=class extends tr{get typeName(){return pe.PrincipalClass}static[Symbol.hasInstance](e){return e.typeName===pe.PrincipalClass}accept(e,r){return e.visitPrincipal(this,r)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=e.toUint8Array(),n=ke(r.byteLength);return Re(new Uint8Array([1]),n,r)}encodeType(){return rt(Be.Principal)}decodeValue(e,r){return this.checkType(r),qh(e)}get name(){return"principal"}valueToString(e){return`${this.name} "${e.toText()}"`}},bs=class extends hn{get typeName(){return pe.FuncClass}static[Symbol.hasInstance](e){return e.typeName===pe.FuncClass}static argsToString(e,r){if(e.length!==r.length)throw new Error("arity mismatch");return"("+e.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(e,r,n=[]){super(),this.argTypes=e,this.retTypes=r,this.annotations=n}accept(e,r){return e.visitFunc(this,r)}covariant(e){if(Array.isArray(e)&&e.length===2&&e[0]&&e[0]._isPrincipal&&typeof e[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue([e,r]){let n=e.toUint8Array(),o=ke(n.byteLength),s=Re(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=ke(i.byteLength);return Re(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(e){this.argTypes.forEach(d=>d.buildTypeTable(e)),this.retTypes.forEach(d=>d.buildTypeTable(e));let r=rt(Be.Func),n=ke(this.argTypes.length),o=Re(...this.argTypes.map(d=>d.encodeType(e))),s=ke(this.retTypes.length),i=Re(...this.retTypes.map(d=>d.encodeType(e))),a=ke(this.annotations.length),c=Re(...this.annotations.map(d=>this.encodeAnnotation(d)));e.add(this,Re(r,n,o,s,i,a,c))}decodeValue(e,r){let n=r instanceof br?r.getType()??r:r;if(!Mh(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Do(e)!==1)throw new Error("Cannot decode function reference");let s=qh(e),i=Number(tt(e)),a=Fo(e,i),d=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,d]}get name(){let e=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${e}) -> (${r})${n}`}valueToString([e,r]){return`func "${e.toText()}".${r}`}display(){let e=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${e}) \u2192 (${r})${n}`}encodeAnnotation(e){if(e==="query")return new Uint8Array([1]);if(e==="oneway")return new Uint8Array([2]);if(e==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},Oi=class extends hn{get typeName(){return pe.ServiceClass}static[Symbol.hasInstance](e){return e.typeName===pe.ServiceClass}constructor(e){super(),this._fields=Object.entries(e).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(e,r){return e.visitService(this,r)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${Je(e)}`)}encodeValue(e){let r=e.toUint8Array(),n=ke(r.length);return Re(new Uint8Array([1]),n,r)}_buildTypeTableImpl(e){this._fields.forEach(([s,i])=>i.buildTypeTable(e));let r=rt(Be.Service),n=ke(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=ke(a.length);return Re(c,a,i.encodeType(e))});e.add(this,Re(r,n,...o))}decodeValue(e,r){let n=r instanceof br?r.getType()??r:r;if(!Mh(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return qh(e)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(e){return`service "${e.toText()}"`}fieldsAsObject(){let e={};for(let[r,n]of this._fields)e[r]=n;return e}};function Je(t){let e=JSON.stringify(t,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return e&&e.length>Rg?e.substring(0,Rg-3)+"...":e}function WO(t,e){if(e.length<t.length)throw Error("Wrong number of message arguments");let r=new Vh;t.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(wd),o=r.encode(),s=ke(e.length),i=Re(...t.map(c=>c.encodeType(r))),a=Re(...Za(t,e,(c,d)=>{try{c.covariant(d)}catch(p){throw new Error(p.message+`
|
|
115
115
|
|
|
116
|
-
`)}return c.encodeValue(d)}));return Re(n,o,s,i,a)}function XO(t,e){let r=new Fr(e);if(e.byteLength<wd.length)throw new Error("Message length smaller than magic number");let n=Fo(r,wd.length),o=new TextDecoder().decode(n);if(o!==wd)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(u){let f=[],h=Number(tt(u));for(let
|
|
117
|
-
`;return e}addNames(e,r,n){let o=this.rels.get(e);if(o==null){let s=new Map;s.set(r,n),this.rels.set(e,s)}else o.set(r,n)}},Ed=new Id;function Lh(){Ed=new Id}function QO(t,e){let r=new Set(t.annotations),n=new Set(e.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Fh(t){return t instanceof Vo||t instanceof
|
|
118
|
-
ic-request`),jh=new TextEncoder().encode("\vic-response"),Hh=new TextEncoder().encode("ic-request-auth-delegation");var mn=class{getPrincipal(){return this._principal||(this._principal=oe.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(e){let{body:r,...n}=e,o=zn(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(fe(ec,o))}}}},gr=class{getPrincipal(){return oe.anonymous()}async transformRequest(e){return{...e,body:{content:e.body}}}};var Yn=class extends Error{constructor(e){super(e),this.name="DecodingError"}},ox=55799,sx=Symbol("CBOR_STOP_CODE"),Lr=(t=>(t[t.False=20]="False",t[t.True=21]="True",t[t.Null=22]="Null",t[t.Undefined=23]="Undefined",t[t.Break=31]="Break",t))(Lr||{}),at=(t=>(t[t.UnsignedInteger=0]="UnsignedInteger",t[t.NegativeInteger=1]="NegativeInteger",t[t.ByteString=2]="ByteString",t[t.TextString=3]="TextString",t[t.Array=4]="Array",t[t.Map=5]="Map",t[t.Tag=6]="Tag",t[t.Simple=7]="Simple",t))(at||{}),e8=23,t8=255,r8=65535,n8=4294967295,o8=BigInt("0xffffffffffffffff"),Ur=(t=>(t[t.Value=23]="Value",t[t.OneByte=24]="OneByte",t[t.TwoBytes=25]="TwoBytes",t[t.FourBytes=26]="FourBytes",t[t.EightBytes=27]="EightBytes",t[t.Indefinite=31]="Indefinite",t))(Ur||{}),Ri=!1;function s8(t){return t==null}function ix(t,e){let r=new Uint8Array(e);return r.set(t),r}var i8=new TextDecoder;function a8(t){return(t&224)>>5}function c8(t){return t&31}var nc=new Uint8Array,tc,qr=0;function ax(t,e){nc=t,qr=0;let r=ws(e);return e?.(r)??r}function ws(t){let[e,r]=Sd();switch(e){case at.UnsignedInteger:return Ii(r);case at.NegativeInteger:return f8(r);case at.ByteString:return cx(r);case at.TextString:return Kh(r);case at.Array:return u8(r,t);case at.Map:return l8(r,t);case at.Tag:return p8(r,t);case at.Simple:return d8(r)}throw new Yn(`Unsupported major type: ${e}`)}function Sd(){let t=nc.at(qr);if(s8(t))throw new Yn("Provided CBOR data is empty");let e=a8(t),r=c8(t);return qr++,[e,r]}function u8(t,e){let r=Ii(t);if(r===1/0){let o=[],s=ws(e);for(;s!==sx;)o.push(e?.(s)??s),s=ws(e);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=ws(e);n[o]=e?.(s)??s}return n}function d8(t){switch(t){case Lr.False:return!1;case Lr.True:return!0;case Lr.Null:return null;case Lr.Undefined:return;case Lr.Break:return sx}throw new Yn(`Unrecognized simple type: ${t.toString(2)}`)}function l8(t,e){let r=Ii(t),n={};if(r===1/0){let[o,s]=Sd();for(;o!==at.Simple&&s!==Lr.Break;){let i=Kh(s),a=ws(e);n[i]=e?.(a,i)??a,[o,s]=Sd()}return n}for(let o=0;o<r;o++){let[s,i]=Sd();if(s!==at.TextString)throw new Yn("Map keys must be text strings");let a=Kh(i),c=ws(e);n[a]=e?.(c,a)??c}return n}function Ii(t){if(t<=Ur.Value)return t;switch(tc=new DataView(nc.buffer,nc.byteOffset+qr),t){case Ur.OneByte:return qr++,tc.getUint8(0);case Ur.TwoBytes:return qr+=2,tc.getUint16(0,Ri);case Ur.FourBytes:return qr+=4,tc.getUint32(0,Ri);case Ur.EightBytes:return qr+=8,tc.getBigUint64(0,Ri);case Ur.Indefinite:return 1/0;default:throw new Yn(`Unsupported integer info: ${t.toString(2)}`)}}function f8(t){let e=Ii(t);return typeof e=="number"?-1-e:-1n-e}function cx(t){let e=Ii(t);if(e>Number.MAX_SAFE_INTEGER)throw new Yn("Byte length is too large");let r=Number(e);return qr+=r,nc.slice(qr-r,qr)}function Kh(t){let e=cx(t);return i8.decode(e)}function p8(t,e){let r=Ii(t);if(r===ox)return ws(e);throw new Yn(`Unsupported tag: ${r}.`)}var oc=class extends Error{constructor(e){super(e),this.name="SerializationError"}},h8=2*1024,y8=100,m8=new TextEncoder;function rc(t){return t<<5}var cr=new Uint8Array(h8),Vr=new DataView(cr.buffer),it=0,$h=[];function ux(t,e){it=0;let r=e?.(t)??t;return O8(ox,r,e),cr.slice(0,it)}function Gh(t,e){if(it>cr.length-y8&&(cr=ix(cr,cr.length*2),Vr=new DataView(cr.buffer)),t===!1||t===!0||t===null||t===void 0){g8(t);return}if(typeof t=="number"||typeof t=="bigint"){T8(t);return}if(typeof t=="string"){fx(t);return}if(t instanceof Uint8Array){nx(t);return}if(t instanceof ArrayBuffer){nx(new Uint8Array(t));return}if(Array.isArray(t)){_8(t,e);return}if(typeof t=="object"){b8(t,e);return}throw new oc(`Unsupported type: ${typeof t}`)}function _8(t,e){Si(at.Array,t.length),t.forEach((r,n)=>{Gh(e?.(r,n.toString())??r,e)})}function b8(t,e){$h=Object.entries(t),Si(at.Map,$h.length),$h.forEach(([r,n])=>{fx(r),Gh(e?.(n,r)??n,e)})}function Si(t,e){if(e<=e8){Vr.setUint8(it++,rc(t)|Number(e));return}if(e<=t8){Vr.setUint8(it++,rc(t)|Ur.OneByte),Vr.setUint8(it,Number(e)),it+=1;return}if(e<=r8){Vr.setUint8(it++,rc(t)|Ur.TwoBytes),Vr.setUint16(it,Number(e),Ri),it+=2;return}if(e<=n8){Vr.setUint8(it++,rc(t)|Ur.FourBytes),Vr.setUint32(it,Number(e),Ri),it+=4;return}if(e<=o8){Vr.setUint8(it++,rc(t)|Ur.EightBytes),Vr.setBigUint64(it,BigInt(e),Ri),it+=8;return}throw new oc(`Value too large to encode: ${e}`)}function g8(t){Si(at.Simple,x8(t))}function x8(t){if(t===!1)return Lr.False;if(t===!0)return Lr.True;if(t===null)return Lr.Null;if(t===void 0)return Lr.Undefined;throw new oc(`Unrecognized simple value: ${t.toString()}`)}function dx(t,e){Si(t,e.length),it>cr.length-e.length&&(cr=ix(cr,cr.length+e.length),Vr=new DataView(cr.buffer)),cr.set(e,it),it+=e.length}function lx(t,e){Si(t,e)}function w8(t){lx(at.UnsignedInteger,t)}function E8(t){lx(at.NegativeInteger,typeof t=="bigint"?-1n-t:-1-t)}function T8(t){t>=0?w8(t):E8(t)}function fx(t){dx(at.TextString,m8.encode(t))}function nx(t){dx(at.ByteString,t)}function O8(t,e,r){Si(at.Tag,t),Gh(e,r)}function v8(t){return typeof t=="object"&&t!==null&&"toCborValue"in t}function sc(t){try{return ux(t,e=>oe.isPrincipal(e)?e.toUint8Array():Ai.isExpiry(e)?e.toBigInt():v8(e)?e.toCborValue():e)}catch(e){throw Ne.fromCode(new cd(e,t))}}function rr(t){try{return ax(t)}catch(e){throw Ne.fromCode(new ad(e,t))}}var Ad={encode:sc,decode:rr};var ic=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let t=new Uint32Array(1);return window.crypto.getRandomValues(t),t[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(1);return crypto.getRandomValues(t),t[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Wn;(function(t){t.Query="read",t.ReadState="read_state",t.Call="call"})(Wn||(Wn={}));var Bd;(function(t){t.Call="call"})(Bd||(Bd={}));var Es;(function(t){t.Query="query",t.ReadState="read_state"})(Es||(Es={}));function ac(){let t=new ArrayBuffer(16),e=new DataView(t),r=ic(),n=ic(),o=ic(),s=ic();return e.setUint32(0,r),e.setUint32(4,n),e.setUint32(8,o),e.setUint32(12,s),Object.assign(new Uint8Array(t),{__nonce__:void 0})}var Cd="__expiry__",zh=BigInt(1e3),R8=BigInt(1e6),px=BigInt(60),I8=BigInt(90)*zh;function hx(t){return t/zh}function S8(t){return hx(t)/px}var Ai=class t{constructor(e){this.__expiry__=e,this._isExpiry=!0}static fromDeltaInMilliseconds(e,r=0){let n=BigInt(e),o=BigInt(Date.now())+n+BigInt(r),s;return n<I8?s=hx(o):s=S8(o)*px,new t(s*zh*R8)}toBigInt(){return this.__expiry__}toHash(){return ke(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Cd]:this.toString()}}static fromJSON(e){let r=JSON.parse(e);if(r[Cd])try{let n=BigInt(r[Cd]);return new t(n)}catch(n){throw new Ne(new Ga(`Not a valid BigInt: ${n}`))}throw new Ne(new Ga(`The input does not contain the key ${Cd}`))}static isExpiry(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isExpiry"in e&&e._isExpiry===!0&&"__expiry__"in e&&typeof e.__expiry__=="bigint"}};function Yh(t=ac){return async e=>{let r=e.request.headers;e.request.headers=r,e.endpoint===Wn.Call&&(e.body.nonce=t())}}function Pd(t){let e=[];return t.forEach((r,n)=>{e.push([n,r])}),e}var Xh=BigInt(0),Dd=BigInt(1);function Ts(t,e=""){if(typeof t!="boolean"){let r=e&&`"${e}"`;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function Uo(t,e,r=""){let n=un(t),o=t?.length,s=e!==void 0;if(!n||s&&o!==e){let i=r&&`"${r}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return t}function yx(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Xh:BigInt("0x"+t)}function nr(t){return yx(de(t))}function Xn(t){return Xe(t),yx(de(Uint8Array.from(t).reverse()))}function ct(t,e){return ht(t.toString(16).padStart(e*2,"0"))}function Jh(t,e){return ct(t,e).reverse()}function ze(t,e,r){let n;if(typeof e=="string")try{n=ht(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(un(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function mx(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Qh(t){return Uint8Array.from(t)}var Wh=t=>typeof t=="bigint"&&Xh<=t;function e0(t,e,r){return Wh(t)&&Wh(e)&&Wh(r)&&e<=t&&t<r}function Fd(t,e,r,n){if(!e0(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function Jn(t){let e;for(e=0;t>Xh;t>>=Dd,e+=1);return e}function _x(t,e){return t>>BigInt(e)&Dd}var Mr=t=>(Dd<<BigInt(t))-Dd;function bx(t){return typeof t=="function"&&Number.isSafeInteger(t.outputLen)}function Qn(t,e,r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(o,s,i){let a=t[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(e).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var Bi=()=>{throw new Error("not implemented")};function Lo(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let s=t(r,...n);return e.set(r,s),s}}var kt=BigInt(0),mt=BigInt(1),Os=BigInt(2),xx=BigInt(3),wx=BigInt(4),Ex=BigInt(5),A8=BigInt(7),Tx=BigInt(8),B8=BigInt(9),Ox=BigInt(16);function Ke(t,e){let r=t%e;return r>=kt?r:e+r}function kr(t,e,r){let n=t;for(;e-- >kt;)n*=n,n%=r;return n}function gx(t,e){if(t===kt)throw new Error("invert: expected non-zero number");if(e<=kt)throw new Error("invert: expected positive modulus, got "+e);let r=Ke(t,e),n=e,o=kt,s=mt,i=mt,a=kt;for(;r!==kt;){let d=n/r,p=n%r,l=o-i*d,u=s-a*d;n=r,r=p,o=i,s=a,i=l,a=u}if(n!==mt)throw new Error("invert: does not exist");return Ke(o,e)}function t0(t,e,r){if(!t.eql(t.sqr(e),r))throw new Error("Cannot find square root")}function Nx(t,e){let r=(t.ORDER+mt)/wx,n=t.pow(e,r);return t0(t,n,e),n}function C8(t,e){let r=(t.ORDER-Ex)/Tx,n=t.mul(e,Os),o=t.pow(n,r),s=t.mul(e,o),i=t.mul(t.mul(s,Os),o),a=t.mul(s,t.sub(i,t.ONE));return t0(t,a,e),a}function P8(t){let e=jt(t),r=vx(t),n=r(e,e.neg(e.ONE)),o=r(e,n),s=r(e,e.neg(n)),i=(t+A8)/Ox;return(a,c)=>{let d=a.pow(c,i),p=a.mul(d,n),l=a.mul(d,o),u=a.mul(d,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(l),c);d=a.cmov(d,p,f),p=a.cmov(u,l,h);let y=a.eql(a.sqr(p),c),b=a.cmov(d,p,y);return t0(a,b,c),b}}function vx(t){if(t<xx)throw new Error("sqrt is not defined for small field");let e=t-mt,r=0;for(;e%Os===kt;)e/=Os,r++;let n=Os,o=jt(t);for(;cc(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Nx;let s=o.pow(n,e),i=(e+mt)/Os;return function(c,d){if(c.is0(d))return d;if(cc(c,d)!==1)throw new Error("Cannot find square root");let p=r,l=c.mul(c.ONE,s),u=c.pow(d,e),f=c.pow(d,i);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,y=c.sqr(u);for(;!c.eql(y,c.ONE);)if(h++,y=c.sqr(y),h===p)throw new Error("Cannot find square root");let b=mt<<BigInt(p-h-1),m=c.pow(l,b);p=h,l=c.sqr(m),u=c.mul(u,l),f=c.mul(f,m)}return f}}function D8(t){return t%wx===xx?Nx:t%Tx===Ex?C8:t%Ox===B8?P8(t):vx(t)}var eo=(t,e)=>(Ke(t,e)&mt)===mt,F8=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Vd(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=F8.reduce((n,o)=>(n[o]="function",n),e);return Qn(t,r),t}function uc(t,e,r){if(r<kt)throw new Error("invalid exponent, negatives unsupported");if(r===kt)return t.ONE;if(r===mt)return e;let n=t.ONE,o=e;for(;r>kt;)r&mt&&(n=t.mul(n,o)),o=t.sqr(o),r>>=mt;return n}function xr(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((i,a,c)=>t.is0(a)?i:(n[c]=i,t.mul(i,a)),t.ONE),s=t.inv(o);return e.reduceRight((i,a,c)=>t.is0(a)?i:(n[c]=t.mul(i,n[c]),t.mul(i,a)),s),n}function cc(t,e){let r=(t.ORDER-mt)/Os,n=t.pow(e,r),o=t.eql(n,t.ONE),s=t.eql(n,t.ZERO),i=t.eql(n,t.neg(t.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function r0(t,e){e!==void 0&&Oh(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function jt(t,e,r=!1,n={}){if(t<=kt)throw new Error("invalid field: expected ORDER > 0, got "+t);let o,s,i=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=e;u.BITS&&(o=u.BITS),u.sqrt&&(s=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(i=u.modFromBytes),a=u.allowedLengths}else typeof e=="number"&&(o=e),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:d}=r0(t,o);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,l=Object.freeze({ORDER:t,isLE:r,BITS:c,BYTES:d,MASK:Mr(c),ZERO:kt,ONE:mt,allowedLengths:a,create:u=>Ke(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return kt<=u&&u<t},is0:u=>u===kt,isValidNot0:u=>!l.is0(u)&&l.isValid(u),isOdd:u=>(u&mt)===mt,neg:u=>Ke(-u,t),eql:(u,f)=>u===f,sqr:u=>Ke(u*u,t),add:(u,f)=>Ke(u+f,t),sub:(u,f)=>Ke(u-f,t),mul:(u,f)=>Ke(u*f,t),pow:(u,f)=>uc(l,u,f),div:(u,f)=>Ke(u*gx(f,t),t),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>gx(u,t),sqrt:s||(u=>(p||(p=D8(t)),p(l,u))),toBytes:u=>r?Jh(u,d):ct(u,d),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>d)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let y=new Uint8Array(d);y.set(u,r?0:y.length-u.length),u=y}if(u.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+u.length);let h=r?Xn(u):nr(u);if(i&&(h=Ke(h,t)),!f&&!l.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>xr(l,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(l)}function Rx(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Ud(t){let e=Rx(t);return e+Math.ceil(e/2)}function n0(t,e,r=!1){let n=t.length,o=Rx(e),s=Ud(e);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Xn(t):nr(t),a=Ke(i,e-mt)+mt;return r?Jh(a,o):ct(a,o)}var Ci=BigInt(0),Ns=BigInt(1);function dc(t,e){let r=e.negate();return t?r:e}function wr(t,e){let r=xr(t.Fp,e.map(n=>n.Z));return e.map((n,o)=>t.fromAffine(n.toAffine(r[o])))}function Bx(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function o0(t,e){Bx(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,s=Mr(t),i=BigInt(t);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Ix(t,e,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(t&o),c=t>>i;a>n&&(a-=s,c+=Ns);let d=e*n,p=d+Math.abs(a)-1,l=a===0,u=a<0,f=e%2!==0;return{nextN:c,offset:p,isZero:l,isNeg:u,isNegF:f,offsetF:d}}function U8(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function L8(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var s0=new WeakMap,Cx=new WeakMap;function i0(t){return Cx.get(t)||1}function Sx(t){if(t!==Ci)throw new Error("invalid wNAF")}var Pi=class{constructor(e,r){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=r}_unsafeLadder(e,r,n=this.ZERO){let o=e;for(;r>Ci;)r&Ns&&(n=n.add(o)),o=o.double(),r>>=Ns;return n}precomputeWindow(e,r){let{windows:n,windowSize:o}=o0(r,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let d=1;d<o;d++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=o0(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:d,isZero:p,isNeg:l,isNegF:u,offsetF:f}=Ix(n,a,i);n=c,p?s=s.add(dc(u,r[f])):o=o.add(dc(l,r[d]))}return Sx(n),{p:o,f:s}}wNAFUnsafe(e,r,n,o=this.ZERO){let s=o0(e,this.bits);for(let i=0;i<s.windows&&n!==Ci;i++){let{nextN:a,offset:c,isZero:d,isNeg:p}=Ix(n,i,s);if(n=a,!d){let l=r[c];o=o.add(p?l.negate():l)}}return Sx(n),o}getPrecomputes(e,r,n){let o=s0.get(r);return o||(o=this.precomputeWindow(r,e),e!==1&&(typeof n=="function"&&(o=n(o)),s0.set(r,o))),o}cached(e,r,n){let o=i0(e);return this.wNAF(o,this.getPrecomputes(o,e,n),r)}unsafe(e,r,n,o){let s=i0(e);return s===1?this._unsafeLadder(e,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),r,o)}createCache(e,r){Bx(r,this.bits),Cx.set(e,r),s0.delete(e)}hasCache(e){return i0(e)!==1}};function Px(t,e,r,n){let o=e,s=t.ZERO,i=t.ZERO;for(;r>Ci||n>Ci;)r&Ns&&(s=s.add(o)),n&Ns&&(i=i.add(o)),o=o.double(),r>>=Ns,n>>=Ns;return{p1:s,p2:i}}function Di(t,e,r,n){U8(r,t),L8(n,e);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,a=Jn(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let d=Mr(c),p=new Array(Number(d)+1).fill(i),l=Math.floor((e.BITS-1)/c)*c,u=i;for(let f=l;f>=0;f-=c){p.fill(i);for(let y=0;y<s;y++){let b=n[y],m=Number(b>>BigInt(f)&d);p[m]=p[m].add(r[y])}let h=i;for(let y=p.length-1,b=i;y>0;y--)b=b.add(p[y]),h=h.add(b);if(u=u.add(h),f!==0)for(let y=0;y<c;y++)u=u.double()}return u}function Ax(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Vd(e),e}else return jt(t,{isLE:r})}function Ld(t,e,r={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let d=e[c];if(!(typeof d=="bigint"&&d>Ci))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Ax(e.p,r.Fp,n),s=Ax(e.n,r.Fn,n),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}var q8=nr;function qo(t,e){if(lc(t),lc(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function M8(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function lc(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function Dx(t){if(!un(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or string");return typeof t=="string"?Ve(t):t}function k8(t,e,r,n){Xe(t),lc(r),e=Dx(e),e.length>255&&(e=n(fe(Ve("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=fe(e,qo(e.length,1)),c=qo(0,s),d=qo(r,2),p=new Array(i),l=n(fe(c,t,d,qo(0,1),a));p[0]=n(fe(l,qo(1,1),a));for(let f=1;f<=i;f++){let h=[M8(l,p[f-1]),qo(f+1,1),a];p[f]=n(fe(...h))}return fe(...p).slice(0,r)}function j8(t,e,r,n,o){if(Xe(t),lc(r),e=Dx(e),e.length>255){let s=Math.ceil(2*n/8);e=o.create({dkLen:s}).update(Ve("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(qo(r,2)).update(e).update(qo(e.length,1)).digest()}function a0(t,e,r){Qn(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!bx(r.hash))throw new Error("expected valid hash");Xe(t),lc(e);let d=n.toString(2).length,p=Math.ceil((d+o)/8),l=e*s*p,u;if(a==="xmd")u=k8(t,c,l,i);else if(a==="xof")u=j8(t,c,l,o,i);else if(a==="_internal_pass")u=t;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(e);for(let h=0;h<e;h++){let y=new Array(s);for(let b=0;b<s;b++){let m=p*(b+h*s),x=u.subarray(m,m+p);y[b]=Ke(q8(x),n)}f[h]=y}return f}function c0(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(l=>l.reduce((u,f)=>t.add(t.mul(u,n),f))),[d,p]=xr(t,[i,c],!0);return n=t.mul(s,d),o=t.mul(o,t.mul(a,p)),{x:n,y:o}}}var H8=Ve("HashToScalar-");function u0(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(s){return t.fromAffine(e(s))}function o(s){let i=s.clearCofactor();return i.equals(t.ZERO)?t.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=a0(s,2,a),d=n(c[0]),p=n(c[1]);return o(d.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),d=a0(s,1,c),p=n(d[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=t.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:H8},i);return a0(s,1,c)[0][0]}}}var Fx=(t,e)=>(t+(t>=0?e:-e)/to)/e;function $8(t,e,r){let[[n,o],[s,i]]=e,a=Fx(i*t,r),c=Fx(-o*t,r),d=t-a*n-c*s,p=-a*o-c*i,l=d<vs,u=p<vs;l&&(d=-d),u&&(p=-p);let f=Mr(Math.ceil(Jn(r)/2))+Ht;if(d<vs||d>=f||p<vs||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:l,k1:d,k2neg:u,k2:p}}var vs=BigInt(0),Ht=BigInt(1),to=BigInt(2),Fi=BigInt(3),d0=BigInt(4);function fc(t,e){let{BYTES:r}=t,n;if(typeof e=="bigint")n=e;else{let o=ze("private key",e);try{n=t.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function K8(t,e={}){let r=Ld("weierstrass",t,e),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Qn(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=z8(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(C,g,w){let{x:O,y:P}=g.toAffine(),L=n.toBytes(O);if(Ts(w,"isCompressed"),w){p();let I=!n.isOdd(P);return fe(G8(I),L)}else return fe(Uint8Array.of(4),L,n.toBytes(P))}function u(C){Uo(C,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=d,O=C.length,P=C[0],L=C.subarray(1);if(O===g&&(P===2||P===3)){let I=n.fromBytes(L);if(!n.isValid(I))throw new Error("bad point: is not on curve, wrong x");let B=y(I),F;try{F=n.sqrt(B)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}p();let U=n.isOdd(F);return(P&1)===1!==U&&(F=n.neg(F)),{x:I,y:F}}else if(O===w&&P===4){let I=n.BYTES,B=n.fromBytes(L.subarray(0,I)),F=n.fromBytes(L.subarray(I,I*2));if(!b(B,F))throw new Error("bad point: is not on curve");return{x:B,y:F}}else throw new Error(`bad point: got length ${O}, expected compressed=${g} or uncompressed=${w}`)}let f=e.toBytes||l,h=e.fromBytes||u;function y(C){let g=n.sqr(C),w=n.mul(g,C);return n.add(n.add(w,n.mul(C,s.a)),s.b)}function b(C,g){let w=n.sqr(g),O=y(C);return n.eql(w,O)}if(!b(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,Fi),d0),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function _(C,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${C}`);return g}function T(C){if(!(C instanceof E))throw new Error("ProjectivePoint expected")}function N(C){if(!c||!c.basises)throw new Error("no endo");return $8(C,c.basises,o.ORDER)}let R=Lo((C,g)=>{let{X:w,Y:O,Z:P}=C;if(n.eql(P,n.ONE))return{x:w,y:O};let L=C.is0();g==null&&(g=L?n.ONE:n.inv(P));let I=n.mul(w,g),B=n.mul(O,g),F=n.mul(P,g);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}),v=Lo(C=>{if(C.is0()){if(e.allowInfinityPoint&&!n.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:g,y:w}=C.toAffine();if(!n.isValid(g)||!n.isValid(w))throw new Error("bad point: x or y not field elements");if(!b(g,w))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function A(C,g,w,O,P){return w=new E(n.mul(w.X,C),w.Y,w.Z),g=dc(O,g),w=dc(P,w),g.add(w)}class E{constructor(g,w,O){this.X=_("x",g),this.Y=_("y",w,!0),this.Z=_("z",O),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:O}=g||{};if(!g||!n.isValid(w)||!n.isValid(O))throw new Error("invalid affine point");if(g instanceof E)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(O)?E.ZERO:new E(w,O,n.ONE)}static fromBytes(g){let w=E.fromAffine(h(Uo(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return E.fromBytes(ze("pointHex",g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return V.createCache(this,g),w||this.multiply(Fi),this}assertValidity(){v(this)}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.eql(n.mul(w,B),n.mul(L,P)),U=n.eql(n.mul(O,B),n.mul(I,P));return F&&U}negate(){return new E(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,O=n.mul(w,Fi),{X:P,Y:L,Z:I}=this,B=n.ZERO,F=n.ZERO,U=n.ZERO,q=n.mul(P,P),H=n.mul(L,L),Y=n.mul(I,I),G=n.mul(P,L);return G=n.add(G,G),U=n.mul(P,I),U=n.add(U,U),B=n.mul(g,U),F=n.mul(O,Y),F=n.add(B,F),B=n.sub(H,F),F=n.add(H,F),F=n.mul(B,F),B=n.mul(G,B),U=n.mul(O,U),Y=n.mul(g,Y),G=n.sub(q,Y),G=n.mul(g,G),G=n.add(G,U),U=n.add(q,q),q=n.add(U,q),q=n.add(q,Y),q=n.mul(q,G),F=n.add(F,q),Y=n.mul(L,I),Y=n.add(Y,Y),q=n.mul(Y,G),B=n.sub(B,q),U=n.mul(Y,H),U=n.add(U,U),U=n.add(U,U),new E(B,F,U)}add(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.ZERO,U=n.ZERO,q=n.ZERO,H=s.a,Y=n.mul(s.b,Fi),G=n.mul(w,L),ie=n.mul(O,I),ae=n.mul(P,B),Ce=n.add(w,O),ee=n.add(L,I);Ce=n.mul(Ce,ee),ee=n.add(G,ie),Ce=n.sub(Ce,ee),ee=n.add(w,P);let ce=n.add(L,B);return ee=n.mul(ee,ce),ce=n.add(G,ae),ee=n.sub(ee,ce),ce=n.add(O,P),F=n.add(I,B),ce=n.mul(ce,F),F=n.add(ie,ae),ce=n.sub(ce,F),q=n.mul(H,ee),F=n.mul(Y,ae),q=n.add(F,q),F=n.sub(ie,q),q=n.add(ie,q),U=n.mul(F,q),ie=n.add(G,G),ie=n.add(ie,G),ae=n.mul(H,ae),ee=n.mul(Y,ee),ie=n.add(ie,ae),ae=n.sub(G,ae),ae=n.mul(H,ae),ee=n.add(ee,ae),G=n.mul(ie,ee),U=n.add(U,G),G=n.mul(ce,ee),F=n.mul(Ce,F),F=n.sub(F,G),G=n.mul(Ce,ie),q=n.mul(ce,q),q=n.add(q,G),new E(F,U,q)}subtract(g){return this.add(g.negate())}is0(){return this.equals(E.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new Error("invalid scalar: out of range");let O,P,L=I=>V.cached(this,I,B=>wr(E,B));if(w){let{k1neg:I,k1:B,k2neg:F,k2:U}=N(g),{p:q,f:H}=L(B),{p:Y,f:G}=L(U);P=H.add(G),O=A(w.beta,q,Y,I,F)}else{let{p:I,f:B}=L(g);O=I,P=B}return wr(E,[O,P])[0]}multiplyUnsafe(g){let{endo:w}=e,O=this;if(!o.isValid(g))throw new Error("invalid scalar: out of range");if(g===vs||O.is0())return E.ZERO;if(g===Ht)return O;if(V.hasCache(this))return this.multiply(g);if(w){let{k1neg:P,k1:L,k2neg:I,k2:B}=N(g),{p1:F,p2:U}=Px(E,O,L,B);return A(w.beta,F,U,P,I)}else return V.unsafe(O,g)}multiplyAndAddUnsafe(g,w,O){let P=this.multiplyUnsafe(w).add(g.multiplyUnsafe(O));return P.is0()?void 0:P}toAffine(g){return R(this,g)}isTorsionFree(){let{isTorsionFree:g}=e;return i===Ht?!0:g?g(E,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===Ht?this:g?g(E,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(g=!0){return Ts(g,"isCompressed"),this.assertValidity(),f(E,this,g)}toHex(g=!0){return de(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(g=!0){return this.toBytes(g)}_setWindowSize(g){this.precompute(g)}static normalizeZ(g){return wr(E,g)}static msm(g,w){return Di(E,o,g,w)}static fromPrivateKey(g){return E.BASE.multiply(fc(o,g))}}E.BASE=new E(s.Gx,s.Gy,n.ONE),E.ZERO=new E(n.ZERO,n.ONE,n.ZERO),E.Fp=n,E.Fn=o;let S=o.BITS,V=new Pi(E,e.endo?Math.ceil(S/2):S);return E.BASE.precompute(8),E}function G8(t){return Uint8Array.of(t?2:3)}function Z8(t,e){let r=t.ORDER,n=vs;for(let h=r-Ht;h%to===vs;h/=to)n+=Ht;let o=n,s=to<<o-Ht-Ht,i=s*to,a=(r-Ht)/i,c=(a-Ht)/to,d=i-Ht,p=s,l=t.pow(e,a),u=t.pow(e,(a+Ht)/to),f=(h,y)=>{let b=l,m=t.pow(y,d),x=t.sqr(m);x=t.mul(x,y);let _=t.mul(h,x);_=t.pow(_,c),_=t.mul(_,m),m=t.mul(_,y),x=t.mul(_,h);let T=t.mul(x,m);_=t.pow(T,p);let N=t.eql(_,t.ONE);m=t.mul(x,u),_=t.mul(T,b),x=t.cmov(m,x,N),T=t.cmov(_,T,N);for(let R=o;R>Ht;R--){let v=R-to;v=to<<v-Ht;let A=t.pow(T,v),E=t.eql(A,t.ONE);m=t.mul(x,b),b=t.mul(b,b),A=t.mul(T,b),x=t.cmov(m,x,E),T=t.cmov(A,T,E)}return{isValid:N,value:x}};if(t.ORDER%d0===Fi){let h=(t.ORDER-Fi)/d0,y=t.sqrt(t.neg(e));f=(b,m)=>{let x=t.sqr(m),_=t.mul(b,m);x=t.mul(x,_);let T=t.pow(x,h);T=t.mul(T,_);let N=t.mul(T,y),R=t.mul(t.sqr(T),m),v=t.eql(R,b),A=t.cmov(N,T,v);return{isValid:v,value:A}}}return f}function l0(t,e){Vd(t);let{A:r,B:n,Z:o}=e;if(!t.isValid(r)||!t.isValid(n)||!t.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=Z8(t,o);if(!t.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,d,p,l,u,f,h;a=t.sqr(i),a=t.mul(a,o),c=t.sqr(a),c=t.add(c,a),d=t.add(c,t.ONE),d=t.mul(d,n),p=t.cmov(o,t.neg(c),!t.eql(c,t.ZERO)),p=t.mul(p,r),c=t.sqr(d),u=t.sqr(p),l=t.mul(u,r),c=t.add(c,l),c=t.mul(c,d),u=t.mul(u,p),l=t.mul(u,n),c=t.add(c,l),f=t.mul(a,d);let{isValid:y,value:b}=s(c,u);h=t.mul(a,i),h=t.mul(h,b),f=t.cmov(f,d,y),h=t.cmov(h,b,y);let m=t.isOdd(i)===t.isOdd(h);h=t.cmov(t.neg(h),h,m);let x=xr(t,[p],!0)[0];return f=t.mul(f,x),{x:f,y:h}}}function z8(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function f0(t){let{CURVE:e,curveOpts:r}=Y8(t),n=K8(e,r);return X8(t,n)}function Y8(t){let e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=jt(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:s}}function W8(t,e,r){function n(o){let s=t.sqr(o),i=t.mul(s,o);return t.add(t.add(i,t.mul(o,e)),r)}return n}function X8(t,e){let{Fp:r,Fn:n}=e;function o(i){return e0(i,Ht,n.ORDER)}let s=W8(r,t.a,t.b);return Object.assign({},{CURVE:t,Point:e,ProjectivePoint:e,normPrivateKeyToScalar:i=>fc(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var J8=BigInt(0),qd=BigInt(1),Vx=BigInt(2),Vi=BigInt(3);function Q8(t){let e=[];for(;t>qd;t>>=qd)(t&qd)===J8?e.unshift(0):(t&Vi)===Vi?(e.unshift(-1),t+=qd):e.unshift(1);return e}function p0(t){if(!Array.isArray(t)||t.length===0)throw new Error("expected non-empty array")}function e3(t,e,r,n){let{Fp2:o,Fp12:s}=t,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:d}=n,p;if(i==="multiplicative")p=(_,T,N,R,v,A)=>s.mul014(R,_,o.mul(T,v),o.mul(N,A));else if(i==="divisive")p=(_,T,N,R,v,A)=>s.mul034(R,o.mul(N,A),o.mul(T,v),_);else throw new Error("bls: unknown twist type");let l=o.div(o.ONE,o.mul(o.ONE,Vx));function u(_,T,N,R){let v=o.sqr(N),A=o.sqr(R),E=o.mulByB(o.mul(A,Vi)),S=o.mul(E,Vi),V=o.sub(o.sub(o.sqr(o.add(N,R)),A),v),C=o.sub(E,v),g=o.mul(o.sqr(T),Vi),w=o.neg(V);return _.push([C,g,w]),T=o.mul(o.mul(o.mul(o.sub(v,S),T),N),l),N=o.sub(o.sqr(o.mul(o.add(v,S),l)),o.mul(o.sqr(E),Vi)),R=o.mul(v,V),{Rx:T,Ry:N,Rz:R}}function f(_,T,N,R,v,A){let E=o.sub(N,o.mul(A,R)),S=o.sub(T,o.mul(v,R)),V=o.sub(o.mul(E,v),o.mul(S,A)),C=o.neg(E),g=S;_.push([V,C,g]);let w=o.sqr(S),O=o.mul(w,S),P=o.mul(w,T),L=o.add(o.sub(O,o.mul(P,Vx)),o.mul(o.sqr(E),R));return T=o.mul(S,L),N=o.sub(o.mul(o.sub(P,L),E),o.mul(O,N)),R=o.mul(R,O),{Rx:T,Ry:N,Rz:R}}let h=Q8(a),y=Lo(_=>{let T=_,{x:N,y:R}=T.toAffine(),v=N,A=R,E=o.neg(R),S=v,V=A,C=o.ONE,g=[];for(let w of h){let O=[];({Rx:S,Ry:V,Rz:C}=u(O,S,V,C)),w&&({Rx:S,Ry:V,Rz:C}=f(O,S,V,C,v,w===-1?E:A)),g.push(O)}if(d){let w=g[g.length-1];d(S,V,C,v,A,f.bind(null,w))}return g});function b(_,T=!1){let N=s.ONE;if(_.length){let R=_[0][0].length;for(let v=0;v<R;v++){N=s.sqr(N);for(let[A,E,S]of _)for(let[V,C,g]of A[v])N=p(V,C,g,N,E,S)}}return c&&(N=s.conjugate(N)),T?s.finalExponentiate(N):N}function m(_,T=!0){let N=[];wr(e,_.map(({g1:R})=>R)),wr(r,_.map(({g2:R})=>R));for(let{g1:R,g2:v}of _){if(R.is0()||v.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),v.assertValidity();let A=R.toAffine();N.push([y(v),A.x,A.y])}return b(N,T)}function x(_,T,N=!0){return m([{g1:_,g2:T}],N)}return{Fp12:s,millerLoopBatch:b,pairing:x,pairingBatch:m,calcPairingPrecomputes:y}}function Ux(t,e,r,n,o){let{Fp12:s,pairingBatch:i}=t;function a(l){return l instanceof e.Point?l:e.Point.fromHex(l)}function c(l){return l instanceof r.Point?l:r.Point.fromHex(l)}function d(l){if(!(l instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return l}let p=o?(l,u)=>({g1:u,g2:l}):(l,u)=>({g1:l,g2:u});return{getPublicKey(l){let u=fc(e.Point.Fn,l);return e.Point.BASE.multiply(u)},sign(l,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=fc(e.Point.Fn,u);return d(l).assertValidity(),l.multiply(h)},verify(l,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");l=c(l),f=a(f);let y=f.negate(),b=e.Point.BASE,m=d(u),x=l,_=i([p(y,m),p(b,x)]);return s.eql(_,s.ONE)},verifyBatch(l,u,f){if(p0(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(l),y=u,b=f.map(a),m=new Map;for(let T=0;T<b.length;T++){let N=b[T],R=y[T],v=m.get(R);v===void 0&&(v=[],m.set(R,v)),v.push(N)}let x=[],_=e.Point.BASE;try{for(let[T,N]of m){let R=N.reduce((v,A)=>v.add(A));x.push(p(R,T))}return x.push(p(_.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(l){p0(l),l=l.map(f=>a(f));let u=l.reduce((f,h)=>f.add(h),e.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(l){p0(l),l=l.map(f=>c(f));let u=l.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(l,u){Xe(l);let f=u?{DST:u}:void 0;return r.hashToCurve(l,f)},Signature:n}}function Lx(t){let{Fp:e,Fr:r,Fp2:n,Fp6:o,Fp12:s}=t.fields,i=f0(t.G1),a=Object.assign(i,u0(i.Point,t.G1.mapToCurve,{...t.htfDefaults,...t.G1.htfDefaults})),c=f0(t.G2),d=Object.assign(c,u0(c.Point,t.G2.mapToCurve,{...t.htfDefaults,...t.G2.htfDefaults})),p=e3(t.fields,a.Point,d.Point,{...t.params,postPrecompute:t.postPrecompute}),{millerLoopBatch:l,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,y=Ux(p,a,d,t.G2.Signature,!1),b=Ux(p,d,a,t.G1.ShortSignature,!0),m=t.randomBytes||mi,x=()=>{let I=Ud(r.ORDER);return n0(m(I),r.ORDER)},_={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=t.G1,{Signature:N}=t.G2;function R(I,B){return I instanceof a.Point?I:b.hash(ze("point",I),B?.DST)}function v(I,B){return I instanceof d.Point?I:y.hash(ze("point",I),B?.DST)}function A(I){return y.getPublicKey(I).toBytes(!0)}function E(I){return b.getPublicKey(I).toBytes(!0)}function S(I,B,F){let U=v(I,F),q=y.sign(U,B);return I instanceof d.Point?q:N.toBytes(q)}function V(I,B,F){let U=R(I,F),q=b.sign(U,B);return I instanceof a.Point?q:T.toBytes(q)}function C(I,B,F,U){let q=v(B,U);return y.verify(I,q,F)}function g(I,B,F,U){let q=R(B,U);return b.verify(I,q,F)}function w(I){let B=y.aggregatePublicKeys(I);return I[0]instanceof a.Point?B:B.toBytes(!0)}function O(I){let B=y.aggregateSignatures(I);return I[0]instanceof d.Point?B:N.toBytes(B)}function P(I){let B=b.aggregateSignatures(I);return I[0]instanceof a.Point?B:T.toBytes(B)}function L(I,B,F,U){let q=B.map(H=>v(H,U));return y.verifyBatch(I,q,F)}return a.Point.BASE.precompute(4),{longSignatures:y,shortSignatures:b,millerLoopBatch:l,pairing:u,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:e,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:t.params.ateLoopSize,twistType:t.params.twistType,r:t.params.r,G1b:t.G1.b,G2b:t.G2.b},utils:_,getPublicKey:A,getPublicKeyForShortSignatures:E,sign:S,signShortSignature:V,verify:C,verifyShortSignature:g,aggregatePublicKeys:w,aggregateSignatures:O,aggregateShortSignatures:P,G1:a,G2:d,Signature:N,ShortSignature:T}}var qx=BigInt(0),ro=BigInt(1),$t=BigInt(2),Mx=BigInt(3);function _0(t,e,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let d=0;d<o;d++){let p=BigInt(d+1),l=[];for(let u=0,f=ro;u<n;u++){let h=(p*f-p)/i%a;l.push(t.pow(e,h)),f*=r}c.push(l)}return c}function jx(t,e,r){let n=e.pow(r,(t.ORDER-ro)/Mx),o=e.pow(r,(t.ORDER-ro)/$t);function s(u,f){let h=e.mul(e.frobeniusMap(u,1),n),y=e.mul(e.frobeniusMap(f,1),o);return[h,y]}let i=e.pow(r,(t.ORDER**$t-ro)/Mx),a=e.pow(r,(t.ORDER**$t-ro)/$t);if(!e.eql(a,e.neg(e.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[e.mul(u,i),e.neg(f)]}let d=u=>(f,h)=>{let y=h.toAffine(),b=u(y.x,y.y);return f.fromAffine({x:b[0],y:b[1]})},p=d(s),l=d(c);return{psi:s,psi2:c,G2psi:p,G2psi2:l,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var kx=(t,e)=>{if(e.length!==2)throw new Error("invalid tuple");let r=e.map(n=>t.create(n));return{c0:r[0],c1:r[1]}},h0=class{constructor(e,r={}){this.MASK=ro;let n=e.ORDER,o=n*n;this.Fp=e,this.ORDER=o,this.BITS=Jn(o),this.BYTES=Math.ceil(Jn(o)/8),this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.Fp_NONRESIDUE=e.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=e.div(e.ONE,$t),this.NONRESIDUE=kx(e,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=_0(e,this.Fp_NONRESIDUE,e.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(e){return kx(this.Fp,e)}create(e){return e}isValid({c0:e,c1:r}){function n(o,s){return typeof o=="bigint"&&qx<=o&&o<s}return n(e,this.ORDER)&&n(r,this.ORDER)}is0({c0:e,c1:r}){return this.Fp.is0(e)&&this.Fp.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}eql({c0:e,c1:r},{c0:n,c1:o}){return this.Fp.eql(e,n)&&this.Fp.eql(r,o)}neg({c0:e,c1:r}){return{c0:this.Fp.neg(e),c1:this.Fp.neg(r)}}pow(e,r){return uc(this,e,r)}invertBatch(e){return xr(this,e)}add(e,r){let{c0:n,c1:o}=e,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:e,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(e,n),c1:this.Fp.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i),d=o.sub(a,c),p=o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c));return{c0:d,c1:p}}sqr({c0:e,c1:r}){let{Fp:n}=this,o=n.add(e,r),s=n.sub(e,r),i=n.add(e,e);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}div(e,r){let{Fp:n}=this;return this.mul(e,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:e,c1:r}){let{Fp:n}=this,o=n.inv(n.create(e*e+r*r));return{c0:n.mul(o,n.create(e)),c1:n.mul(o,n.create(-r))}}sqrt(e){let{Fp:r}=this,n=this,{c0:o,c1:s}=e;if(r.is0(s))return cc(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);cc(r,a)===-1&&(a=r.sub(a,i));let d=r.sqrt(a),p=n.create({c0:d,c1:r.div(r.mul(s,this.Fp_div2),d)});if(!n.eql(n.sqr(p),e))throw new Error("Cannot find square root");let l=p,u=n.neg(l),{re:f,im:h}=n.reim(l),{re:y,im:b}=n.reim(u);return h>b||h===b&&f>y?l:u}isOdd(e){let{re:r,im:n}=this.reim(e),o=r%$t,s=r===qx,i=n%$t;return BigInt(o||s&&i)==ro}fromBytes(e){let{Fp:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){return fe(this.Fp.toBytes(e),this.Fp.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(e,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:e,c1:r}){return{re:e,im:r}}Fp4Square(e,r){let n=this,o=n.sqr(e),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(e,r)),o),s)}}mulByNonresidue({c0:e,c1:r}){return this.mul({c0:e,c1:r},this.NONRESIDUE)}frobeniusMap({c0:e,c1:r},n){return{c0:e,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},y0=class{constructor(e){this.MASK=ro,this.Fp2=e,this.ORDER=e.ORDER,this.BITS=3*e.BITS,this.BYTES=3*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO,c2:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO,c2:e.ZERO};let{Fp:r}=e,n=_0(e,e.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(e,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(e,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,d=s.mul(e,i),p=s.mul(r,a),l=s.mul(n,c);return{c0:s.add(d,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,l)))),c1:s.add(s.sub(s.mul(s.add(e,r),s.add(i,a)),s.add(d,p)),s.mulByNonresidue(l)),c2:s.sub(s.add(p,s.mul(s.add(e,n),s.add(i,c))),s.add(d,l))}}sqr({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(e),i=o.mul(o.mul(e,r),$t),a=o.mul(o.mul(r,n),$t),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(e,r),n))),a),s),c)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}create(e){return e}isValid({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(e)&&o.isValid(r)&&o.isValid(n)}is0({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(e)&&o.is0(r)&&o.is0(n)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(e),c1:o.neg(r),c2:o.neg(n)}}eql({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(e,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(e){return Bi()}div(e,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(e,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(e,r){return uc(this,e,r)}invertBatch(e){return xr(this,e)}inv({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(e),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(e,r)),a=o.sub(o.sqr(r),o.mul(e,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(e,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(e){let{Fp2:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);let n=r.BYTES;return{c0:r.fromBytes(e.subarray(0,n)),c1:r.fromBytes(e.subarray(n,n*2)),c2:r.fromBytes(e.subarray(2*n))}}toBytes({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return fe(o.toBytes(e),o.toBytes(r),o.toBytes(n))}cmov({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(e,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(e){let{Fp2:r}=this;if(!Array.isArray(e)||e.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(e.slice(0,2)),c1:r.fromBigTuple(e.slice(2,4)),c2:r.fromBigTuple(e.slice(4,6))}}frobeniusMap({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(e,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:e,c2:r}}mul1({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(e,o),c2:s.mul(r,o)}}mul01({c0:e,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(e,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(e,r)),a),c),c2:i.add(i.sub(i.mul(i.add(e,n),o),a),c)}}},m0=class{constructor(e,r){this.MASK=ro;let{Fp2:n}=e,{Fp:o}=n;this.Fp6=e,this.ORDER=n.ORDER,this.BITS=2*e.BITS,this.BYTES=2*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.FROBENIUS_COEFFICIENTS=_0(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(e){return e}isValid({c0:e,c1:r}){let{Fp6:n}=this;return n.isValid(e)&&n.isValid(r)}is0({c0:e,c1:r}){let{Fp6:n}=this;return n.is0(e)&&n.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r}){let{Fp6:n}=this;return{c0:n.neg(e),c1:n.neg(r)}}eql({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(e,n)&&s.eql(r,o)}sqrt(e){Bi()}inv({c0:e,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(e),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(e,o),c1:n.neg(n.mul(r,o))}}div(e,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(e,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(e,r){return uc(this,e,r)}invertBatch(e){return xr(this,e)}add({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(e,n),c1:s.add(r,o)}}sub({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(e,n),c1:s.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c))}}sqr({c0:e,c1:r}){let{Fp6:n}=this,o=n.mul(e,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),e),n.add(e,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}fromBytes(e){let{Fp6:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){let{Fp6:n}=this;return fe(n.toBytes(e),n.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(e,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(e){let{Fp6:r}=this;return{c0:r.fromBigSix(e.slice(0,6)),c1:r.fromBigSix(e.slice(6,12))}}frobeniusMap(e,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(e.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(e.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:e,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(e,n),c1:o.mulByFp2(r,n)}}conjugate({c0:e,c1:r}){return{c0:e,c1:this.Fp6.neg(r)}}mul014({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(e,n,o),d=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(i.sub(i.mul01(i.add(r,e),n,a.add(o,s)),c),d)}}mul034({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(e.c0,n),c1:a.mul(e.c1,n),c2:a.mul(e.c2,n)}),d=i.mul01(r,o,s),p=i.mul01(i.add(e,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(p,i.add(c,d))}}_cyclotomicSquare({c0:e,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=e,{c0:c,c1:d,c2:p}=r,{first:l,second:u}=o.Fp4Square(s,d),{first:f,second:h}=o.Fp4Square(c,a),{first:y,second:b}=o.Fp4Square(i,p),m=o.mulByNonresidue(b);return{c0:n.create({c0:o.add(o.mul(o.sub(l,s),$t),l),c1:o.add(o.mul(o.sub(f,i),$t),f),c2:o.add(o.mul(o.sub(y,a),$t),y)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$t),m),c1:o.add(o.mul(o.add(u,d),$t),u),c2:o.add(o.mul(o.add(h,p),$t),h)})}}_cyclotomicExp(e,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),_x(r,o)&&(n=this.mul(n,e));return n}};function Hx(t){let e=jt(t.ORDER),r=new h0(e,t),n=new y0(r),o=new m0(n,t);return{Fp:e,Fp2:r,Fp6:n,Fp12:o}}var Pt=BigInt(0),Md=BigInt(1),Er=BigInt(2),kd=BigInt(3),pc=BigInt(4),Mo=BigInt("0xd201000000010000"),t3=Jn(Mo),Rs={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Pt,b:pc,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},r3=jt(Rs.n,{modFromBytes:!0,isLE:!0}),{Fp:J,Fp2:we,Fp6:n3,Fp12:Ie}=Hx({ORDER:Rs.p,X_LEN:t3,FP2_NONRESIDUE:[Md,Md],Fp2mulByB:({c0:t,c1:e})=>{let r=J.mul(t,pc),n=J.mul(e,pc);return{c0:J.sub(r,n),c1:J.add(r,n)}},Fp12finalExponentiate:t=>{let e=Mo,r=Ie.div(Ie.frobeniusMap(t,6),t),n=Ie.mul(Ie.frobeniusMap(r,2),r),o=Ie.conjugate(Ie._cyclotomicExp(n,e)),s=Ie.mul(Ie.conjugate(Ie._cyclotomicSquare(n)),o),i=Ie.conjugate(Ie._cyclotomicExp(s,e)),a=Ie.conjugate(Ie._cyclotomicExp(i,e)),c=Ie.mul(Ie.conjugate(Ie._cyclotomicExp(a,e)),Ie._cyclotomicSquare(o)),d=Ie.conjugate(Ie._cyclotomicExp(c,e)),p=Ie.frobeniusMap(Ie.mul(o,a),2),l=Ie.frobeniusMap(Ie.mul(i,n),3),u=Ie.frobeniusMap(Ie.mul(c,Ie.conjugate(n)),1),f=Ie.mul(Ie.mul(d,Ie.conjugate(s)),n);return Ie.mul(Ie.mul(Ie.mul(p,l),u),f)}}),{G2psi:$x,G2psi2:o3}=jx(J,we,we.div(we.ONE,we.NONRESIDUE)),b0=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:J.ORDER,m:2,k:128,expand:"xmd",hash:Ct}),w0={p:we.ORDER,n:Rs.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:we.ZERO,b:we.fromBigTuple([pc,pc]),Gx:we.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:we.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},jd=hc(J.toBytes(Pt),{infinity:!0,compressed:!0});function Hd(t){t=t.slice();let e=t[0]&224,r=!!(e>>7&1),n=!!(e>>6&1),o=!!(e>>5&1);return t[0]&=31,{compressed:r,infinity:n,sort:o,value:t}}function hc(t,e){if(t[0]&224)throw new Error("setMask: non-empty mask");return e.compressed&&(t[0]|=128),e.infinity&&(t[0]|=64),e.sort&&(t[0]|=32),t}function s3(t,e,r){let{BYTES:n,ORDER:o}=J,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return jd.slice();let c=!!(a*Er/o);return hc(ct(i,n),{compressed:!0,sort:c})}else return s?fe(Uint8Array.of(64),new Uint8Array(2*n-1)):fe(ct(i,n),ct(a,n))}function g0(t){t.assertValidity();let{BYTES:e,ORDER:r}=J,{x:n,y:o}=t.toAffine();if(t.is0())return jd.slice();let s=!!(o*Er/r);return hc(ct(n,e),{compressed:!0,sort:s})}function i3(t){let{compressed:e,infinity:r,sort:n,value:o}=Hd(t),{BYTES:s,ORDER:i}=J;if(o.length===48&&e){let a=nr(o),c=J.create(a&Mr(J.BITS));if(r){if(c!==Pt)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Pt,y:Pt}}let d=J.add(J.pow(c,kd),J.create(Rs.b)),p=J.sqrt(d);if(!p)throw new Error("invalid G1 point: compressed point");return p*Er/i!==BigInt(n)&&(p=J.neg(p)),{x:J.create(c),y:J.create(p)}}else if(o.length===96&&!e){let a=nr(o.subarray(0,s)),c=nr(o.subarray(s));if(r){if(a!==Pt||c!==Pt)throw new Error("G1: non-empty point at infinity");return yc.G1.Point.ZERO.toAffine()}return{x:J.create(a),y:J.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Kx(t){let{infinity:e,sort:r,value:n}=Hd(ze("signatureHex",t,48)),o=J.ORDER,s=yc.G1.Point,i=nr(n);if(e)return s.ZERO;let a=J.create(i&Mr(J.BITS)),c=J.add(J.pow(a,kd),J.create(Rs.b)),d=J.sqrt(c);if(!d)throw new Error("invalid G1 point: compressed");let p=BigInt(r);d*Er/o!==p&&(d=J.neg(d));let l=s.fromAffine({x:a,y:d});return l.assertValidity(),l}function a3(t,e,r){let{BYTES:n,ORDER:o}=J,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return fe(jd,ct(Pt,n));let c=!!(a.c1===Pt?a.c0*Er/o:a.c1*Er/o);return fe(hc(ct(i.c1,n),{compressed:!0,sort:c}),ct(i.c0,n))}else{if(s)return fe(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:d}=we.reim(i),{re:p,im:l}=we.reim(a);return fe(ct(d,n),ct(c,n),ct(l,n),ct(p,n))}}function x0(t){t.assertValidity();let{BYTES:e}=J;if(t.is0())return fe(jd,ct(Pt,e));let{x:r,y:n}=t.toAffine(),{re:o,im:s}=we.reim(r),{re:i,im:a}=we.reim(n),d=!!((a>Pt?a*Er:i*Er)/J.ORDER&Md),p=o;return fe(hc(ct(s,e),{sort:d,compressed:!0}),ct(p,e))}function c3(t){let{BYTES:e,ORDER:r}=J,{compressed:n,infinity:o,sort:s,value:i}=Hd(t);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(t[0]&224));let a=(c,d,p)=>nr(c.slice(d,p));if(i.length===96&&n){if(o){if(i.reduce((h,y)=>h!==0?y+1:y,0)>0)throw new Error("invalid G2 point: compressed");return{x:we.ZERO,y:we.ZERO}}let c=a(i,0,e),d=a(i,e,2*e),p=we.create({c0:J.create(d),c1:J.create(c)}),l=we.add(we.pow(p,kd),w0.b),u=we.sqrt(l),f=u.c1===Pt?u.c0*Er/r:u.c1*Er/r?Md:Pt;return u=s&&f>0?u:we.neg(u),{x:p,y:u}}else if(i.length===192&&!n){if(o){if(i.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:we.ZERO,y:we.ZERO}}let c=a(i,0*e,1*e),d=a(i,1*e,2*e),p=a(i,2*e,3*e),l=a(i,3*e,4*e);return{x:we.fromBigTuple([d,c]),y:we.fromBigTuple([l,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Gx(t){let{ORDER:e}=J,{infinity:r,sort:n,value:o}=Hd(ze("signatureHex",t)),s=yc.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=nr(o.slice(0,i)),c=nr(o.slice(i));if(r)return s.ZERO;let d=J.create(a&Mr(J.BITS)),p=J.create(c),l=we.create({c0:p,c1:d}),u=we.add(we.pow(l,kd),w0.b),f=we.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:y}=we.reim(f),b=BigInt(n),m=y>Pt&&y*Er/e!==b,x=y===Pt&&h*Er/e!==b;(m||x)&&(f=we.neg(f));let _=s.fromAffine({x:l,y:f});return _.assertValidity(),_}var yc=Lx({fields:{Fp:J,Fp2:we,Fp6:n3,Fp12:Ie,Fr:r3},G1:{...Rs,Fp:J,htfDefaults:{...b0,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(t,e)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new t(J.mul(e.X,r),e.Y,e.Z);return e.multiplyUnsafe(Mo).negate().multiplyUnsafe(Mo).equals(n)},clearCofactor:(t,e)=>e.multiplyUnsafe(Mo).add(e),mapToCurve:p3,fromBytes:i3,toBytes:s3,ShortSignature:{fromBytes(t){return Xe(t),Kx(t)},fromHex(t){return Kx(t)},toBytes(t){return g0(t)},toRawBytes(t){return g0(t)},toHex(t){return de(g0(t))}}},G2:{...w0,Fp:we,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...b0},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:h3,isTorsionFree:(t,e)=>e.multiplyUnsafe(Mo).negate().equals($x(t,e)),clearCofactor:(t,e)=>{let r=Mo,n=e.multiplyUnsafe(r).negate(),o=$x(t,e),s=e.double();return s=o3(t,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(e)},fromBytes:c3,toBytes:a3,Signature:{fromBytes(t){return Xe(t),Gx(t)},fromHex(t){return Gx(t)},toBytes(t){return x0(t)},toRawBytes(t){return x0(t)},toHex(t){return de(x0(t))}}},params:{ateLoopSize:Mo,r:Rs.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:b0,hash:Ct}),u3=c0(we,[[["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(t=>t.map(e=>we.fromBigTuple(e.map(BigInt))))),d3=c0(J,[["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(t=>t.map(e=>BigInt(e)))),l3=l0(J,{A:J.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:J.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:J.create(BigInt(11))}),f3=l0(we,{A:we.create({c0:J.create(Pt),c1:J.create(BigInt(240))}),B:we.create({c0:J.create(BigInt(1012)),c1:J.create(BigInt(1012))}),Z:we.create({c0:J.create(BigInt(-2)),c1:J.create(BigInt(-1))})});function p3(t){let{x:e,y:r}=l3(J.create(t[0]));return d3(e,r)}function h3(t){let{x:e,y:r}=f3(we.fromBigTuple(t));return u3(e,r)}function Zx(t,e,r){let n=typeof t=="string"?t:de(t),o=typeof e=="string"?e:de(e),s=typeof r=="string"?r:de(r);return yc.verifyShortSignature(o,s,n)}var m3=BigInt(1e6),E0=t=>tt(new Fr(t)),Ui=t=>{let r=E0(t)/m3;return new Date(Number(r))};var zx=60*1e3,_3=60,b3=24,g3=b3*_3,x3=5,w3=5,E3=30*g3,Et;(function(t){t[t.Empty=0]="Empty",t[t.Fork=1]="Fork",t[t.Labeled=2]="Labeled",t[t.Leaf=3]="Leaf",t[t.Pruned=4]="Pruned"})(Et||(Et={}));function T3(t,e){for(let r=0;r<t.length;r++)if(t[r]>e[r])return!0;return!1}var ko=class t{#e=!1;#t=void 0;static async create(e){let r=t.createUnverified(e);return await r.verify(),r}static createUnverified(e){return new t(e.certificate,e.rootKey,e.canisterId,e.blsVerify??Zx,e.maxAgeInMinutes,e.disableTimeVerification,e.agent)}constructor(e,r,n,o,s=x3,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=rr(e),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(e){return Ss(e,this.cert.tree)}lookup_subtree(e){return Gd(e,this.cert.tree)}async verify(){let e=await $d(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=N3(r),s=fe(_c("ic-state-root"),e),i=Dt(this.lookup_path(["time"]));if(!i)throw Me.fromCode(new Ao("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*zx,d=new Date,p=d.getTime()+a,l=p-c,u=p+w3*zx,f=Ui(i),h=f.getTime()<l,y=f.getTime()>u;if((h||y)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Lt.fromCode(new ps(this._maxAgeInMinutes,f,d,a,"past"));if(y)throw this.#t?.hasSyncedTime()?st.fromCode(new qt("System time has been synced with the IC network, but certificate is still too far in the future.")):Lt.fromCode(new ps(5,f,d,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Lt.fromCode(new Ao("Invalid signature"))}catch(a){throw Lt.fromCode(new Ao("Signature verification failed",a))}}async _checkDelegationAndGetKey(e){if(!e)return this._rootKey;let r=t.createUnverified({certificate:e.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:E3,agent:this.#t});if(r.cert.delegation)throw Me.fromCode(new nd);await r.verify();let n=e.subnet_id,o=oe.fromUint8Array(n);if(!T0({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Lt.fromCode(new _i(this._canisterId,o));let i=Dt(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Lt.fromCode(new od(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},mc=ht("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),O3=96;function N3(t){let e=mc.byteLength+O3;if(t.byteLength!==e)throw Me.fromCode(new gi(e,t.byteLength));let r=t.slice(0,mc.byteLength);if(!xs(r,mc))throw Me.fromCode(new sd(mc,r));return t.slice(mc.byteLength)}function Dt(t){if(t.status===or.Found&&t.value instanceof Uint8Array)return t.value}async function $d(t){switch(t[0]){case Et.Empty:return Ct(_c("ic-hashtree-empty"));case Et.Pruned:return t[1];case Et.Leaf:return Ct(fe(_c("ic-hashtree-leaf"),t[1]));case Et.Labeled:return Ct(fe(_c("ic-hashtree-labeled"),t[1],await $d(t[2])));case Et.Fork:return Ct(fe(_c("ic-hashtree-fork"),await $d(t[1]),await $d(t[2])));default:throw Po}}function _c(t){let e=new Uint8Array([t.length]),r=new TextEncoder().encode(t);return fe(e,r)}function Yx(t){return typeof t[0]=="string"?Ve(t[0]):t[0]}var or;(function(t){t.Unknown="Unknown",t.Absent="Absent",t.Found="Found",t.Error="Error"})(or||(or={}));var Is;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found"})(Is||(Is={}));var Ge;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found",t.Less="Less",t.Greater="Greater"})(Ge||(Ge={}));function Ss(t,e){if(t.length===0)switch(e[0]){case Et.Empty:return{status:or.Absent};case Et.Leaf:{if(!e[1])throw st.fromCode(new Co("Invalid tree structure for leaf"));if(e[1]instanceof Uint8Array)return{status:or.Found,value:e[1].slice(e[1].byteOffset,e[1].byteLength+e[1].byteOffset)};throw Po}case Et.Pruned:return{status:or.Unknown};case Et.Labeled:case Et.Fork:return{status:or.Error};default:throw Po}let r=Yx(t),n=bc(r,e);switch(n.status){case Ge.Found:return Ss(t.slice(1),n.value);case Ge.Absent:case Ge.Greater:case Ge.Less:return{status:or.Absent};case Ge.Unknown:return{status:or.Unknown};default:throw Po}}function Gd(t,e){if(t.length===0)return{status:Is.Found,value:e};let r=Yx(t),n=bc(r,e);switch(n.status){case Ge.Found:return Gd(t.slice(1),n.value);case Ge.Unknown:return{status:Is.Unknown};case Ge.Absent:case Ge.Greater:case Ge.Less:return{status:Is.Absent};default:throw Po}}function Kd(t){switch(t[0]){case Et.Empty:return[];case Et.Fork:return Kd(t[1]).concat(Kd(t[2]));default:return[t]}}function bc(t,e){switch(e[0]){case Et.Labeled:return T3(t,e[1])?{status:Ge.Greater}:xs(t,e[1])?{status:Ge.Found,value:e[2]}:{status:Ge.Less};case Et.Fork:{let r=bc(t,e[1]);switch(r.status){case Ge.Greater:{let n=bc(t,e[2]);return n.status===Ge.Less?{status:Ge.Absent}:n}case Ge.Unknown:{let n=bc(t,e[2]);return n.status===Ge.Less?{status:Ge.Unknown}:n}default:return r}}case Et.Pruned:return{status:Ge.Unknown};default:return{status:Ge.Absent}}}function T0(t){let{canisterId:e,subnetId:r,tree:n}=t,o=Ss(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==or.Found)throw Me.fromCode(new $n(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw Me.fromCode(new bi(`Could not find canister ranges for subnet ${r.toText()}`));return rr(o.value).map(c=>[oe.fromUint8Array(c[0]),oe.fromUint8Array(c[1])]).some(c=>c[0].ltEq(e)&&c[1].gtEq(e))}var O0=async t=>{let{agent:e,paths:r,disableCertificateTimeVerification:n=!1}=t,o=oe.from(t.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,d)=>{let p=R3(c,o);return(async()=>{try{if(e.rootKey===null)throw yt.fromCode(new ln);let l=e.rootKey,u=await e.readState(o,{paths:[p]}),f=await ko.create({certificate:u.certificate,rootKey:l,canisterId:o,disableTimeVerification:n,agent:e}),h=(m,x)=>{if(x==="subnet"){let _=v3(u.certificate,o,l);return{path:x,data:_}}else return{path:x,data:Dt(m.lookup_path(p))}},{path:y,data:b}=h(f,s[d]);if(!b)console.warn(`Expected to find result for path ${y}, but instead found nothing.`),typeof y=="string"?i.set(y,null):i.set(y.key,null);else switch(y){case"time":{i.set(y,Ui(b));break}case"controllers":{i.set(y,I3(b));break}case"module_hash":{i.set(y,de(b));break}case"subnet":{i.set(y,b);break}case"candid":{i.set(y,new TextDecoder().decode(b));break}default:if(typeof y!="string"&&"key"in y&&"path"in y)switch(y.decodeStrategy){case"raw":i.set(y.key,b);break;case"leb128":{i.set(y.key,E0(b));break}case"cbor":{i.set(y.key,rr(b));break}case"hex":{i.set(y.key,de(b));break}case"utf-8":i.set(y.key,new TextDecoder().decode(b))}}}catch(l){if(l instanceof Pr&&(l.hasCode(Ao)||l.hasCode(ps)))throw l;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(l),console.groupEnd()}})()});return await Promise.all(a),i},v3=(t,e,r)=>{if(!e._isPrincipal)throw Ne.fromCode(new qt("Invalid canisterId"));let n=rr(t),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=oe.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=oe.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=oe.selfAuthenticating(oe.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!T0({canisterId:e,subnetId:i,tree:o}))throw Lt.fromCode(new _i(e,i));let c=Gd(["subnet",s.subnet_id,"node"],o);if(c.status!==Is.Found)throw Me.fromCode(new $n("Node not found",c.status));if(c.value instanceof Uint8Array)throw st.fromCode(new Co("Invalid node tree"));let d=Kd(c.value),p=new Map;return d.forEach(l=>{let u=oe.from(l[1]).toText(),f=Ss(["public_key"],l[2]);if(f.status!==or.Found)throw Me.fromCode(new $n("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw Me.fromCode(new gi(44,h.byteLength));p.set(u,h)}),{subnetId:oe.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},R3=(t,e)=>{let r=e.toUint8Array();switch(t){case"time":return[Ve("time")];case"controllers":return[Ve("canister"),r,Ve("controllers")];case"module_hash":return[Ve("canister"),r,Ve("module_hash")];case"subnet":return[Ve("subnet")];case"candid":return[Ve("canister"),r,Ve("metadata"),Ve("candid:service")];default:if("key"in t&&"path"in t)if(typeof t.path=="string"||t.path instanceof Uint8Array){let n=t.path,o=typeof n=="string"?Ve(n):n;return[Ve("canister"),r,Ve("metadata"),o]}else return t.path}throw st.fromCode(new qt(`Error while encoding your path for canister status. Please ensure that your path ${t} was formatted correctly.`))},I3=t=>rr(t).map(r=>oe.fromUint8Array(r));var jo=BigInt(0),_t=BigInt(1),N0=BigInt(2),S3=BigInt(8);function A3(t,e,r,n){let o=t.sqr(r),s=t.sqr(n),i=t.add(t.mul(e.a,o),s),a=t.add(t.ONE,t.mul(e.d,t.mul(o,s)));return t.eql(i,a)}function B3(t,e={}){let r=Ld("edwards",t,e,e.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Qn(e,{},{uvRatio:"function"});let a=N0<<BigInt(o.BYTES*8)-_t,c=b=>n.create(b),d=e.uvRatio||((b,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(b,m))}}catch{return{isValid:!1,value:jo}}});if(!A3(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(b,m,x=!1){let _=x?_t:jo;return Fd("coordinate "+b,m,_,a),m}function l(b){if(!(b instanceof h))throw new Error("ExtendedPoint expected")}let u=Lo((b,m)=>{let{X:x,Y:_,Z:T}=b,N=b.is0();m==null&&(m=N?S3:n.inv(T));let R=c(x*m),v=c(_*m),A=n.mul(T,m);if(N)return{x:jo,y:_t};if(A!==_t)throw new Error("invZ was invalid");return{x:R,y:v}}),f=Lo(b=>{let{a:m,d:x}=s;if(b.is0())throw new Error("bad point: ZERO");let{X:_,Y:T,Z:N,T:R}=b,v=c(_*_),A=c(T*T),E=c(N*N),S=c(E*E),V=c(v*m),C=c(E*c(V+A)),g=c(S+c(x*c(v*A)));if(C!==g)throw new Error("bad point: equation left != right (1)");let w=c(_*T),O=c(N*R);if(w!==O)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,_,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",_,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y:_}=m||{};return p("x",x),p("y",_),new h(x,_,_t,c(x*_))}static fromBytes(m,x=!1){let _=n.BYTES,{a:T,d:N}=s;m=Qh(Uo(m,_,"point")),Ts(x,"zip215");let R=Qh(m),v=m[_-1];R[_-1]=v&-129;let A=Xn(R),E=x?a:n.ORDER;Fd("point.y",A,jo,E);let S=c(A*A),V=c(S-_t),C=c(N*S-T),{isValid:g,value:w}=d(V,C);if(!g)throw new Error("bad point: invalid y coordinate");let O=(w&_t)===_t,P=(v&128)!==0;if(!x&&w===jo&&P)throw new Error("bad point: x=0 and x_0=1");return P!==O&&(w=c(-w)),h.fromAffine({x:w,y:A})}static fromHex(m,x=!1){return h.fromBytes(ze("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return y.createCache(this,m),x||this.multiply(N0),this}assertValidity(){f(this)}equals(m){l(m);let{X:x,Y:_,Z:T}=this,{X:N,Y:R,Z:v}=m,A=c(x*v),E=c(N*T),S=c(_*v),V=c(R*T);return A===E&&S===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=s,{X:x,Y:_,Z:T}=this,N=c(x*x),R=c(_*_),v=c(N0*c(T*T)),A=c(m*N),E=x+_,S=c(c(E*E)-N-R),V=A+R,C=V-v,g=A-R,w=c(S*C),O=c(V*g),P=c(S*g),L=c(C*V);return new h(w,O,L,P)}add(m){l(m);let{a:x,d:_}=s,{X:T,Y:N,Z:R,T:v}=this,{X:A,Y:E,Z:S,T:V}=m,C=c(T*A),g=c(N*E),w=c(v*_*V),O=c(R*S),P=c((T+N)*(A+E)-C-g),L=O-w,I=O+w,B=c(g-x*C),F=c(P*L),U=c(I*B),q=c(P*B),H=c(L*I);return new h(F,U,H,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=>wr(h,T));return wr(h,[x,_])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===jo?h.ZERO:this.is0()||m===_t?this:y.unsafe(this,m,_=>wr(h,_),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return i===_t?this:this.multiplyUnsafe(i)}toBytes(){let{x:m,y:x}=this.toAffine(),_=n.toBytes(x);return _[_.length-1]|=m&_t?128:0,_}toHex(){return de(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 wr(h,m)}static msm(m,x){return Di(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,_t,c(s.Gx*s.Gy)),h.ZERO=new h(jo,_t,_t,jo),h.Fp=n,h.Fn=o;let y=new Pi(h,o.BITS);return h.BASE.precompute(8),h}var Zd=class{constructor(e){this.ep=e}static fromBytes(e){Bi()}static fromHex(e){Bi()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return de(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,r){return this.init(this.ep.precompute(e,r))}toRawBytes(){return this.toBytes()}};function C3(t,e,r={}){if(typeof e!="function")throw new Error('"hash" function param is required');Qn(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=t,a=r.randomBytes||mi,c=r.adjustScalarBytes||(E=>E),d=r.domain||((E,S,V)=>{if(Ts(V,"phflag"),S.length||V)throw new Error("Contexts/pre-hash are not supported");return E});function p(E){return i.create(Xn(E))}function l(E){let S=_.secretKey;E=ze("private key",E,S);let V=ze("hashed private key",e(E),2*S),C=c(V.slice(0,S)),g=V.slice(S,2*S),w=p(C);return{head:C,prefix:g,scalar:w}}function u(E){let{head:S,prefix:V,scalar:C}=l(E),g=o.multiply(C),w=g.toBytes();return{head:S,prefix:V,scalar:C,point:g,pointBytes:w}}function f(E){return u(E).pointBytes}function h(E=Uint8Array.of(),...S){let V=fe(...S);return p(e(d(V,ze("context",E),!!n)))}function y(E,S,V={}){E=ze("message",E),n&&(E=n(E));let{prefix:C,scalar:g,pointBytes:w}=u(S),O=h(V.context,C,E),P=o.multiply(O).toBytes(),L=h(V.context,P,w,E),I=i.create(O+L*g);if(!i.isValid(I))throw new Error("sign failed: invalid s");let B=fe(P,i.toBytes(I));return Uo(B,_.signature,"result")}let b={zip215:!0};function m(E,S,V,C=b){let{context:g,zip215:w}=C,O=_.signature;E=ze("signature",E,O),S=ze("message",S),V=ze("publicKey",V,_.publicKey),w!==void 0&&Ts(w,"zip215"),n&&(S=n(S));let P=O/2,L=E.subarray(0,P),I=Xn(E.subarray(P,O)),B,F,U;try{B=t.fromBytes(V,w),F=t.fromBytes(L,w),U=o.multiplyUnsafe(I)}catch{return!1}if(!w&&B.isSmallOrder())return!1;let q=h(g,F.toBytes(),B.toBytes(),S);return F.add(B.multiplyUnsafe(q)).subtract(U).clearCofactor().is0()}let x=s.BYTES,_={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(E=a(_.seed)){return Uo(E,_.seed,"seed")}function N(E){let S=A.randomSecretKey(E);return{secretKey:S,publicKey:f(S)}}function R(E){return un(E)&&E.length===i.BYTES}function v(E,S){try{return!!t.fromBytes(E,S)}catch{return!1}}let A={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:v,toMontgomery(E){let{y:S}=t.fromBytes(E),V=_.publicKey,C=V===32;if(!C&&V!==57)throw new Error("only defined for 25519 and 448");let g=C?s.div(_t+S,_t-S):s.div(S-_t,S+_t);return s.toBytes(g)},toMontgomerySecret(E){let S=_.secretKey;Uo(E,S);let V=e(E.subarray(0,S));return c(V).subarray(0,S)},randomPrivateKey:T,precompute(E=8,S=t.BASE){return S.precompute(E,!1)}};return Object.freeze({keygen:N,getPublicKey:f,sign:y,verify:m,utils:A,Point:t,lengths:_})}function P3(t){let e={a:t.a,d:t.d,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=jt(e.n,t.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:t.uvRatio},s={randomBytes:t.randomBytes,adjustScalarBytes:t.adjustScalarBytes,domain:t.domain,prehash:t.prehash,mapToCurve:t.mapToCurve};return{CURVE:e,curveOpts:o,hash:t.hash,eddsaOpts:s}}function D3(t,e){let r=e.Point;return Object.assign({},e,{ExtendedPoint:r,CURVE:t,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Wx(t){let{CURVE:e,curveOpts:r,hash:n,eddsaOpts:o}=P3(t),s=B3(e,r),i=C3(s,n,o);return D3(t,i)}var F3=BigInt(0),no=BigInt(1),Xx=BigInt(2),eS=BigInt(3),V3=BigInt(5),U3=BigInt(8),Li=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),gc={p:Li,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:U3,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function L3(t){let e=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Li,a=t*t%s*t%s,c=kr(a,Xx,s)*a%s,d=kr(c,no,s)*t%s,p=kr(d,V3,s)*d%s,l=kr(p,e,s)*p%s,u=kr(l,r,s)*l%s,f=kr(u,n,s)*u%s,h=kr(f,o,s)*f%s,y=kr(h,o,s)*f%s,b=kr(y,e,s)*p%s;return{pow_p_5_8:kr(b,Xx,s)*t%s,b2:a}}function q3(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var v0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function S0(t,e){let r=Li,n=Ke(e*e*e,r),o=Ke(n*n*e,r),s=L3(t*o).pow_p_5_8,i=Ke(t*n*s,r),a=Ke(e*i*i,r),c=i,d=Ke(i*v0,r),p=a===t,l=a===Ke(-t,r),u=a===Ke(-t*v0,r);return p&&(i=c),(l||u)&&(i=d),eo(i,r)&&(i=Ke(-i,r)),{isValid:p||l,value:i}}var Ho=jt(gc.p,{isLE:!0}),M3=jt(gc.n,{isLE:!0}),k3={...gc,Fp:Ho,hash:Eg,adjustScalarBytes:q3,uvRatio:S0},Kt=Wx(k3);var R0=v0,j3=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),H3=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),$3=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),K3=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Jx=t=>S0(no,t),G3=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),I0=t=>Kt.Point.Fp.create(Xn(t)&G3);function Qx(t){let{d:e}=gc,r=Li,n=m=>Ho.create(m),o=n(R0*t*t),s=n((o+no)*$3),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:d}=S0(s,a),p=n(d*t);eo(p,r)||(p=n(-p)),c||(d=p),c||(i=o);let l=n(i*(o-no)*K3-a),u=d*d,f=n((d+d)*a),h=n(l*j3),y=n(no-u),b=n(no+u);return new Kt.Point(n(f*b),n(y*h),n(h*b),n(f*y))}function Z3(t){Xe(t,64);let e=I0(t.subarray(0,32)),r=Qx(e),n=I0(t.subarray(32,64)),o=Qx(n);return new oo(r.add(o))}var oo=class t extends Zd{constructor(e){super(e)}static fromAffine(e){return new t(Kt.Point.fromAffine(e))}assertSame(e){if(!(e instanceof t))throw new Error("RistrettoPoint expected")}init(e){return new t(e)}static hashToCurve(e){return Z3(ze("ristrettoHash",e,64))}static fromBytes(e){Xe(e,32);let{a:r,d:n}=gc,o=Li,s=T=>Ho.create(T),i=I0(e);if(!mx(Ho.toBytes(i),e)||eo(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(no+r*a),d=s(no-r*a),p=s(c*c),l=s(d*d),u=s(r*n*p-l),{isValid:f,value:h}=Jx(s(u*l)),y=s(h*d),b=s(h*y*u),m=s((i+i)*y);eo(m,o)&&(m=s(-m));let x=s(c*b),_=s(m*x);if(!f||eo(_,o)||x===F3)throw new Error("invalid ristretto255 encoding 2");return new t(new Kt.Point(m,x,no,_))}static fromHex(e){return t.fromBytes(ze("ristrettoHex",e,32))}static msm(e,r){return Di(t,Kt.Point.Fn,e,r)}toBytes(){let{X:e,Y:r,Z:n,T:o}=this.ep,s=Li,i=b=>Ho.create(b),a=i(i(n+r)*i(n-r)),c=i(e*r),d=i(c*c),{value:p}=Jx(i(a*d)),l=i(p*a),u=i(p*c),f=i(l*u*o),h;if(eo(o*f,s)){let b=i(r*R0),m=i(e*R0);e=b,r=m,h=i(l*H3)}else h=u;eo(e*f,s)&&(r=i(-r));let y=i((n-r)*h);return eo(y,s)&&(y=i(-y)),Ho.toBytes(y)}equals(e){this.assertSame(e);let{X:r,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=d=>Ho.create(d),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(t.ZERO)}};oo.BASE=new oo(Kt.Point.BASE);oo.ZERO=new oo(Kt.Point.ZERO);oo.Fp=Ho;oo.Fn=M3;var ew,tw,zd=class{static{ew=Symbol.iterator,tw=Symbol.toStringTag}#e;#t;constructor(e={}){this[ew]=this.entries.bind(this),this[tw]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=e,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let e=Date.now();for(let[r,n]of this.#e.entries())e-n.timestamp>this.#t&&this.#e.delete(r);return this}set(e,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(e,n),this}get(e){let r=this.#e.get(e);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(e);return}return r.value}}clear(){this.#e.clear()}entries(){let e=this.#e.entries();return function*(){for(let[n,o]of e)yield[n,o.value]}()}values(){let e=this.#e.values();return function*(){for(let n of e)yield n.value}()}keys(){return this.#e.keys()}forEach(e,r){for(let[n,o]of this.#e.entries())e.call(r,o.value,n,this)}has(e){return this.#e.has(e)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}};var rw=t=>{if(t<=127)return 1;if(t<=255)return 2;if(t<=65535)return 3;if(t<=16777215)return 4;throw Ne.fromCode(new ka("Length too long (> 4 bytes)"))},nw=(t,e,r)=>{if(r<=127)return t[e]=r,1;if(r<=255)return t[e]=129,t[e+1]=r,2;if(r<=65535)return t[e]=130,t[e+1]=r>>8,t[e+2]=r,3;if(r<=16777215)return t[e]=131,t[e+1]=r>>16,t[e+2]=r>>8,t[e+3]=r,4;throw Ne.fromCode(new ka("Length too long (> 4 bytes)"))},A0=(t,e)=>{if(t[e]<128)return 1;if(t[e]===128)throw Ne.fromCode(new Dr("Invalid length 0"));if(t[e]===129)return 2;if(t[e]===130)return 3;if(t[e]===131)return 4;throw Ne.fromCode(new Dr("Length too long (> 4 bytes)"))},z3=(t,e)=>{let r=A0(t,e);if(r===1)return t[e];if(r===2)return t[e+1];if(r===3)return(t[e+1]<<8)+t[e+2];if(r===4)return(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];throw Ne.fromCode(new Dr("Length too long (> 4 bytes)"))},xc=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),As=Uint8Array.from([48,5,6,3,43,101,112]),sS=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),iS=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 Bs(t,e){let r=2+rw(t.byteLength+1),n=e.byteLength+r+t.byteLength,o=0,s=new Uint8Array(1+rw(n)+n);return s[o++]=48,o+=nw(s,o,n),s.set(e,o),o+=e.byteLength,s[o++]=3,o+=nw(s,o,t.byteLength+1),s[o++]=0,s.set(new Uint8Array(t),o),s}var Cs=(t,e)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Ne.fromCode(new Dr(`Expected ${c} at offset ${r}`))},o=new Uint8Array(t);if(n(48,"sequence"),r+=A0(o,r),!xs(o.slice(r,r+e.byteLength),e))throw Ne.fromCode(new Dr("Not the expected OID."));r+=e.byteLength,n(3,"bit string");let s=z3(o,r)-1;r+=A0(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw Ne.fromCode(new id(s,i.length));return i};var Yd=class t{static from(e){return this.fromDer(e.toDer())}static fromRaw(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){return Bs(e,As)}static derDecode(e){let r=Cs(e,As);if(r.length!==this.RAW_KEY_LENGTH)throw Ne.fromCode(new Dr("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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw Ne.fromCode(new Dr("An Ed25519 public key must be exactly 32 bytes long"));this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var B0=class{constructor(){this.observers=[]}subscribe(e){this.observers.push(e)}unsubscribe(e){this.observers=this.observers.filter(r=>r!==e)}notify(e,...r){this.observers.forEach(n=>n(e,...r))}},Wd=class extends B0{constructor(){super()}print(e,...r){this.notify({message:e,level:"info"},...r)}warn(e,...r){this.notify({message:e,level:"warn"},...r)}error(e,r,...n){this.notify({message:e,level:"error",error:r},...n)}};var Xd=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(e=t.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=e;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#d=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let e=this.#t*this.#e,r=this.#e-e,n=this.#e+e;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var _n;(function(t){t.Received="received",t.Processing="processing",t.Replied="replied",t.Rejected="rejected",t.Unknown="unknown",t.Done="done"})(_n||(_n={}));var D0=60*1e3,Y3=1e6,W3=0,X3="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var J3="ic0.app",Q3=".ic0.app",eN="icp0.io",tN=".icp0.io",rN="icp-api.io",nN=".icp-api.io",C0=200,oN=202,sN=404;function iN(){let t;if(typeof window<"u")if(window.fetch)t=window.fetch.bind(window);else throw yt.fromCode(new wi("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)t=global.fetch.bind(global);else throw yt.fromCode(new wi("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&&(t=self.fetch.bind(self));if(t)return t;throw yt.fromCode(new wi("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function aN(t){let e;if(t!==void 0)!t.match(/^[a-z]+:/)&&typeof window<"u"?e=new URL(window.location.protocol+"//"+t):e=new URL(t);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?e=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):e=new URL("https://icp-api.io")}return e.toString()}var Ps=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a;#g;#s;#l;#f;#u;get#T(){return this.#u*D0}#p;#h;#y;#m;constructor(e={}){this.#e=null,this.#t=!1,this.#r=W3,this.#c=!1,this.#i=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new Wd,this.#p=[],this.#h=[],this.#y=new zd({expirationTime:5*D0}),this.#m=!0,this.#w=(o,s)=>{if(this.#m===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let d of a){let{timestamp:p,identity:l}=d,u=oe.fromUint8Array(l).toText(),f;if(i===No.Replied){let{reply:x}=o;f=Qa({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===No.Rejected){let{reject_code:x,reject_message:_,error_code:T}=o;f=Qa({status:i,reject_code:x,reject_message:_,error_code:T,timestamp:BigInt(p),request_id:c})}else throw st.fromCode(new qt(`Unknown status: ${i}`));let h=fe(jh,f),y=s.nodeKeys.get(u);if(!y)throw Me.fromCode(new _d);let b=Yd.fromDer(y).rawKey;if(Kt.verify(d.signature,h,b))return o;throw Lt.fromCode(new bd(u))}return o},this.config=e,this.#o=e.fetch||iN()||fetch.bind(global),this.#a=e.fetchOptions,this.#g=e.callOptions,this.#t=e.shouldFetchRootKey??!1,this.#d=e.shouldSyncTime??!1,e.rootKey?this.rootKey=e.rootKey:this.#t?this.rootKey=null:this.rootKey=ht(X3);let r=aN(e.host);this.host=new URL(r),e.verifyQuerySignatures!==void 0&&(this.#m=e.verifyQuerySignatures),this.#l=e.retryTimes??3;let n=()=>new Xd({maxIterations:this.#l});if(this.#f=e.backoffStrategy||n,this.host.hostname.endsWith(Q3)?this.host.hostname=J3:this.host.hostname.endsWith(tN)?this.host.hostname=eN:this.host.hostname.endsWith(nN)&&(this.host.hostname=rN),e.credentials){let{name:o,password:s}=e.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(e.identity||new gr),e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes>5)throw Ne.fromCode(new ys("The maximum ingress expiry time is 5 minutes.",e.ingressExpiryInMinutes));if(e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes<=0)throw Ne.fromCode(new ys("Ingress expiry time must be greater than 0.",e.ingressExpiryInMinutes));this.#u=e.ingressExpiryInMinutes||5,this.addTransform("update",Yh(ac)),e.useQueryNonces&&this.addTransform("query",Yh(ac)),e.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(e={}){return new this({...e})}static async create(e={}){let r=t.createSync(e);return await r.#b(),r}static async from(e){try{return"config"in e?await t.create(e.config):await t.create({fetch:e._fetch,fetchOptions:e._fetchOptions,callOptions:e._callOptions,host:e._host.toString(),identity:e._identity??void 0})}catch{throw Ne.fromCode(new hd)}}isLocal(){let e=this.host.hostname;return e==="127.0.0.1"||e.endsWith("127.0.0.1")}addTransform(e,r,n=r.priority||0){if(e==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(e==="query"){let o=this.#p.findIndex(s=>(s.priority||0)<n);this.#p.splice(o>=0?o:this.#p.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw yt.fromCode(new Bo);return(await this.#n).getPrincipal()}async call(e,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw yt.fromCode(new Bo);let i=oe.from(e),a=r.effectiveCanisterId?oe.from(r.effectiveCanisterId):i;await this.#b(a);let c=s.getPrincipal(),d=P0(this.#u,this.#r),p={request_type:Bd.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:d},l=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.Call,body:p}),u;r?.nonce?u=f(r.nonce):l.body.nonce?u=f(l.body.nonce):u=void 0,p.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}l=await s.transformRequest(l);let h=sc(l.body),y=this.#f(),b=zn(p);try{let _=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})),{responseBodyBytes:T,...N}=await this.#_({requestFn:_,backoff:y,tries:0}),R=T.byteLength>0?rr(T):null;return{requestId:b,response:{...N,body:R},requestDetails:p}}catch(m){let x;if(m instanceof Pr){if(m.hasCode(Ha))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(e,{...r,callSync:!1},n);if(m.hasCode(ys)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);m.code.requestContext={requestId:b,senderPubKey:l.body.sender_pubkey,senderSignature:l.body.sender_sig,ingressExpiry:l.body.content.ingress_expiry},x=m}else x=st.fromCode(new qt(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#x(e){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=e,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw st.fromCode(new hs(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let d;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===C0)d={...rr(vi(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Pd(f.headers)},requestId:s};else throw Me.fromCode(new ja(f.status,f.statusText,Pd(f.headers),await f.text()))}catch(f){if(a<this.#l)return this.log.warn(`Caught exception while attempting to make query:
|
|
116
|
+
`)}return c.encodeValue(d)}));return Re(n,o,s,i,a)}function XO(t,e){let r=new Fr(e);if(e.byteLength<wd.length)throw new Error("Message length smaller than magic number");let n=Fo(r,wd.length),o=new TextDecoder().decode(n);if(o!==wd)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(u){let f=[],h=Number(tt(u));for(let y=0;y<h;y++){let x=Number(Kn(u));switch(x){case Be.Opt:case Be.Vector:{let _=Number(Kn(u));f.push([x,_]);break}case Be.Record:case Be.Variant:{let _=[],T=Number(tt(u)),N;for(;T--;){let R=Number(tt(u));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof N=="number"&&N>=R)throw new Error("field id collision or not sorted");N=R;let v=Number(Kn(u));_.push([R,v])}f.push([x,_]);break}case Be.Func:{let _=[],T=Number(tt(u));for(;T--;)_.push(Number(Kn(u)));let N=[],R=Number(tt(u));for(;R--;)N.push(Number(Kn(u)));let v=[],A=Number(tt(u));for(;A--;)switch(Number(tt(u))){case 1:{v.push("query");break}case 2:{v.push("oneway");break}case 3:{v.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[_,N,v]]);break}case Be.Service:{let _=Number(tt(u)),T=[];for(;_--;){let N=Number(tt(u)),R=new TextDecoder().decode(Fo(u,N)),v=Kn(u);T.push([R,v])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],b=Number(tt(u));for(let y=0;y<b;y++)m.push(Number(Kn(u)));return[f,m]}let[i,a]=s(r);if(a.length<t.length)throw new Error("Wrong number of return values");let c=i.map(u=>Xg());function d(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return Bg;case-2:return Ag;case-3:return Dg;case-4:return Pg;case-5:return kg;case-6:return jg;case-7:return Hg;case-8:return $g;case-9:return Ug;case-10:return Lg;case-11:return qg;case-12:return Mg;case-13:return Fg;case-14:return Vg;case-15:return Cg;case-16:return Sg;case-17:return Ig;case-24:return Kg;default:throw new Error("Illegal op_code: "+u)}if(u>=i.length)throw new Error("type index out of range");return c[u]}function p(u){switch(u[0]){case Be.Vector:{let f=d(u[1]);return Zg(f)}case Be.Opt:{let f=d(u[1]);return zg(f)}case Be.Record:{let f={};for(let[b,y]of u[1]){let x=`_${b}_`;f[x]=d(y)}let h=Yg(f),m=h.tryAsTuple();return Array.isArray(m)?Gg(...m):h}case Be.Variant:{let f={};for(let[h,m]of u[1]){let b=`_${h}_`;f[b]=d(m)}return Wg(f)}case Be.Func:{let[f,h,m]=u[1];return Jg(f.map(b=>d(b)),h.map(b=>d(b)),m)}case Be.Service:{let f={},h=u[1];for(let[m,b]of h){let y=d(b);if(y instanceof br&&(y=y.getType()),!(y instanceof bs))throw new Error("Illegal service definition: services can only contain functions");f[m]=y}return Qg(f)}default:throw new Error("Illegal op_code: "+u[0])}}i.forEach((u,f)=>{if(u[0]===Be.Func){let h=p(u);c[f].fill(h)}}),i.forEach((u,f)=>{if(u[0]!==Be.Func){let h=p(u);c[f].fill(h)}}),Lh();let l=a.map(u=>d(u));try{let u=t.map((f,h)=>f.decodeValue(r,l[h]));for(let f=t.length;f<l.length;f++)l[f].decodeValue(r,l[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{Lh()}}var Ig=new za,Sg=new mn,JO=new Td,Ag=new Od,Bg=new ys,Cg=new Nd,Pg=new Ya,Dg=new Wa,Fg=new Xa(32),Vg=new Xa(64),Ug=new Zn(8),Lg=new Zn(16),qg=new Zn(32),Mg=new Zn(64),kg=new pn(8),jg=new pn(16),Hg=new pn(32),$g=new pn(64),Kg=new Rd;function Gg(...t){return new vd(t)}function Zg(t){return new Ei(t)}function zg(t){return new Vo(t)}function Yg(t){return new _s(t)}function Wg(t){return new Ti(t)}function Xg(){return new br}function Jg(t,e,r=[]){return new bs(t,e,r)}function Qg(t){return new Oi(t)}var Id=class t{constructor(e=new Map){this.rels=e}copy(){let e=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);e.set(r,o)}return new t(e)}known(e,r){return this.rels.get(e.name)?.get(r.name)}addNegative(e,r){this.addNames(e.name,r.name,!1)}add(e,r){this.addNames(e.name,r.name,!0)}display(){let e="";for(let[r,n]of this.rels)for(let[o,s]of n)e+=`${r} ${s?":<":"!<:"} ${o}
|
|
117
|
+
`;return e}addNames(e,r,n){let o=this.rels.get(e);if(o==null){let s=new Map;s.set(r,n),this.rels.set(e,s)}else o.set(r,n)}},Ed=new Id;function Lh(){Ed=new Id}function QO(t,e){let r=new Set(t.annotations),n=new Set(e.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Fh(t){return t instanceof Vo||t instanceof ys||t instanceof mn}function Mh(t,e){let r=Ed.copy(),n=Gn(r,t,e);return n?Ed.add(t,e):Ed.addNegative(t,e),n}function Gn(t,e,r){if(e.name===r.name)return!0;let n=t.known(e,r);if(n!==void 0)return n;if(t.add(e,r),r instanceof mn||e instanceof za||e instanceof Wa&&r instanceof Ya)return!0;if(e instanceof Ei&&r instanceof Ei)return Gn(t,e._type,r._type);if(r instanceof Vo)return!0;if(e instanceof _s&&r instanceof _s){let o=e.fieldsAsObject;for(let[s,i]of r._fields){let a=o[Mt(s)];if(a){if(!Gn(t,a,i))return!1}else if(!Fh(i))return!1}return!0}if(e instanceof bs&&r instanceof bs){if(!QO(e,r))return!1;for(let o=0;o<e.argTypes.length;o++){let s=e.argTypes[o];if(o<r.argTypes.length){if(!Gn(t,r.argTypes[o],s))return!1}else if(!Fh(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<e.retTypes.length){if(!Gn(t,e.retTypes[o],s))return!1}else if(!Fh(s))return!1}return!0}if(e instanceof Ti&&r instanceof Ti){let o=r.alternativesAsObject;for(let[s,i]of e._fields){let a=o[Mt(s)];if(!a||!Gn(t,i,a))return!1}return!0}if(e instanceof Oi&&r instanceof Oi){let o=e.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!Gn(t,a,i))return!1}return!0}return e instanceof br?Gn(t,e.getType(),r):r instanceof br?Gn(t,e,r.getType()):!1}function Ni(t){if(!t)throw new Error("Input cannot be null or undefined");return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):Array.isArray(t)?new Uint8Array(t):"buffer"in t?Ni(t.buffer):new Uint8Array(t)}function xs(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function kh(t){if(typeof t=="string")return ex(t);if(typeof t=="number")return Ct(ke(t));if(t instanceof Uint8Array||ArrayBuffer.isView(t))return Ct(Ni(t));if(Array.isArray(t)){let e=t.map(kh);return Ct(fe(...e))}else{if(t&&typeof t=="object"&&t._isPrincipal)return Ct(t.toUint8Array());if(typeof t=="object"&&t!==null&&typeof t.toHash=="function")return kh(t.toHash());if(typeof t=="object")return Ja(t);if(typeof t=="bigint")return Ct(ke(t))}throw Ne.fromCode(new pd(t))}var ex=t=>{let e=new TextEncoder().encode(t);return Ct(e)};function zn(t){return Ja(t)}function Ja(t){let n=Object.entries(t).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=ex(i),d=kh(a);return[c,d]}).sort(([i],[a])=>Bh(i,a)),o=fe(...n.map(i=>fe(...i)));return Ct(o)}var Qa=new TextEncoder().encode(`
|
|
118
|
+
ic-request`),jh=new TextEncoder().encode("\vic-response"),Hh=new TextEncoder().encode("ic-request-auth-delegation");var yn=class{getPrincipal(){return this._principal||(this._principal=oe.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(e){let{body:r,...n}=e,o=zn(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(fe(Qa,o))}}}},gr=class{getPrincipal(){return oe.anonymous()}async transformRequest(e){return{...e,body:{content:e.body}}}};var Yn=class extends Error{constructor(e){super(e),this.name="DecodingError"}},rx=55799,nx=Symbol("CBOR_STOP_CODE"),Lr=(t=>(t[t.False=20]="False",t[t.True=21]="True",t[t.Null=22]="Null",t[t.Undefined=23]="Undefined",t[t.Break=31]="Break",t))(Lr||{}),at=(t=>(t[t.UnsignedInteger=0]="UnsignedInteger",t[t.NegativeInteger=1]="NegativeInteger",t[t.ByteString=2]="ByteString",t[t.TextString=3]="TextString",t[t.Array=4]="Array",t[t.Map=5]="Map",t[t.Tag=6]="Tag",t[t.Simple=7]="Simple",t))(at||{}),e8=23,t8=255,r8=65535,n8=4294967295,o8=BigInt("0xffffffffffffffff"),Ur=(t=>(t[t.Value=23]="Value",t[t.OneByte=24]="OneByte",t[t.TwoBytes=25]="TwoBytes",t[t.FourBytes=26]="FourBytes",t[t.EightBytes=27]="EightBytes",t[t.Indefinite=31]="Indefinite",t))(Ur||{}),vi=!1;function s8(t){return t==null}function ox(t,e){let r=new Uint8Array(e);return r.set(t),r}var i8=new TextDecoder;function a8(t){return(t&224)>>5}function c8(t){return t&31}var rc=new Uint8Array,ec,qr=0;function sx(t,e){rc=t,qr=0;let r=ws(e);return e?.(r)??r}function ws(t){let[e,r]=Sd();switch(e){case at.UnsignedInteger:return Ri(r);case at.NegativeInteger:return f8(r);case at.ByteString:return ix(r);case at.TextString:return Kh(r);case at.Array:return u8(r,t);case at.Map:return l8(r,t);case at.Tag:return p8(r,t);case at.Simple:return d8(r)}throw new Yn(`Unsupported major type: ${e}`)}function Sd(){let t=rc.at(qr);if(s8(t))throw new Yn("Provided CBOR data is empty");let e=a8(t),r=c8(t);return qr++,[e,r]}function u8(t,e){let r=Ri(t);if(r===1/0){let o=[],s=ws(e);for(;s!==nx;)o.push(e?.(s)??s),s=ws(e);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=ws(e);n[o]=e?.(s)??s}return n}function d8(t){switch(t){case Lr.False:return!1;case Lr.True:return!0;case Lr.Null:return null;case Lr.Undefined:return;case Lr.Break:return nx}throw new Yn(`Unrecognized simple type: ${t.toString(2)}`)}function l8(t,e){let r=Ri(t),n={};if(r===1/0){let[o,s]=Sd();for(;o!==at.Simple&&s!==Lr.Break;){let i=Kh(s),a=ws(e);n[i]=e?.(a,i)??a,[o,s]=Sd()}return n}for(let o=0;o<r;o++){let[s,i]=Sd();if(s!==at.TextString)throw new Yn("Map keys must be text strings");let a=Kh(i),c=ws(e);n[a]=e?.(c,a)??c}return n}function Ri(t){if(t<=Ur.Value)return t;switch(ec=new DataView(rc.buffer,rc.byteOffset+qr),t){case Ur.OneByte:return qr++,ec.getUint8(0);case Ur.TwoBytes:return qr+=2,ec.getUint16(0,vi);case Ur.FourBytes:return qr+=4,ec.getUint32(0,vi);case Ur.EightBytes:return qr+=8,ec.getBigUint64(0,vi);case Ur.Indefinite:return 1/0;default:throw new Yn(`Unsupported integer info: ${t.toString(2)}`)}}function f8(t){let e=Ri(t);return typeof e=="number"?-1-e:-1n-e}function ix(t){let e=Ri(t);if(e>Number.MAX_SAFE_INTEGER)throw new Yn("Byte length is too large");let r=Number(e);return qr+=r,rc.slice(qr-r,qr)}function Kh(t){let e=ix(t);return i8.decode(e)}function p8(t,e){let r=Ri(t);if(r===rx)return ws(e);throw new Yn(`Unsupported tag: ${r}.`)}var nc=class extends Error{constructor(e){super(e),this.name="SerializationError"}},h8=2*1024,m8=100,y8=new TextEncoder;function tc(t){return t<<5}var cr=new Uint8Array(h8),Vr=new DataView(cr.buffer),it=0,$h=[];function ax(t,e){it=0;let r=e?.(t)??t;return O8(rx,r,e),cr.slice(0,it)}function Gh(t,e){if(it>cr.length-m8&&(cr=ox(cr,cr.length*2),Vr=new DataView(cr.buffer)),t===!1||t===!0||t===null||t===void 0){g8(t);return}if(typeof t=="number"||typeof t=="bigint"){T8(t);return}if(typeof t=="string"){dx(t);return}if(t instanceof Uint8Array){tx(t);return}if(t instanceof ArrayBuffer){tx(new Uint8Array(t));return}if(Array.isArray(t)){_8(t,e);return}if(typeof t=="object"){b8(t,e);return}throw new nc(`Unsupported type: ${typeof t}`)}function _8(t,e){Ii(at.Array,t.length),t.forEach((r,n)=>{Gh(e?.(r,n.toString())??r,e)})}function b8(t,e){$h=Object.entries(t),Ii(at.Map,$h.length),$h.forEach(([r,n])=>{dx(r),Gh(e?.(n,r)??n,e)})}function Ii(t,e){if(e<=e8){Vr.setUint8(it++,tc(t)|Number(e));return}if(e<=t8){Vr.setUint8(it++,tc(t)|Ur.OneByte),Vr.setUint8(it,Number(e)),it+=1;return}if(e<=r8){Vr.setUint8(it++,tc(t)|Ur.TwoBytes),Vr.setUint16(it,Number(e),vi),it+=2;return}if(e<=n8){Vr.setUint8(it++,tc(t)|Ur.FourBytes),Vr.setUint32(it,Number(e),vi),it+=4;return}if(e<=o8){Vr.setUint8(it++,tc(t)|Ur.EightBytes),Vr.setBigUint64(it,BigInt(e),vi),it+=8;return}throw new nc(`Value too large to encode: ${e}`)}function g8(t){Ii(at.Simple,x8(t))}function x8(t){if(t===!1)return Lr.False;if(t===!0)return Lr.True;if(t===null)return Lr.Null;if(t===void 0)return Lr.Undefined;throw new nc(`Unrecognized simple value: ${t.toString()}`)}function cx(t,e){Ii(t,e.length),it>cr.length-e.length&&(cr=ox(cr,cr.length+e.length),Vr=new DataView(cr.buffer)),cr.set(e,it),it+=e.length}function ux(t,e){Ii(t,e)}function w8(t){ux(at.UnsignedInteger,t)}function E8(t){ux(at.NegativeInteger,typeof t=="bigint"?-1n-t:-1-t)}function T8(t){t>=0?w8(t):E8(t)}function dx(t){cx(at.TextString,y8.encode(t))}function tx(t){cx(at.ByteString,t)}function O8(t,e,r){Ii(at.Tag,t),Gh(e,r)}function v8(t){return typeof t=="object"&&t!==null&&"toCborValue"in t}function oc(t){try{return ax(t,e=>oe.isPrincipal(e)?e.toUint8Array():Si.isExpiry(e)?e.toBigInt():v8(e)?e.toCborValue():e)}catch(e){throw Ne.fromCode(new cd(e,t))}}function rr(t){try{return sx(t)}catch(e){throw Ne.fromCode(new ad(e,t))}}var Ad={encode:oc,decode:rr};var sc=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let t=new Uint32Array(1);return window.crypto.getRandomValues(t),t[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(1);return crypto.getRandomValues(t),t[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Wn;(function(t){t.Query="read",t.ReadState="read_state",t.Call="call"})(Wn||(Wn={}));var Bd;(function(t){t.Call="call"})(Bd||(Bd={}));var Es;(function(t){t.Query="query",t.ReadState="read_state"})(Es||(Es={}));function ic(){let t=new ArrayBuffer(16),e=new DataView(t),r=sc(),n=sc(),o=sc(),s=sc();return e.setUint32(0,r),e.setUint32(4,n),e.setUint32(8,o),e.setUint32(12,s),Object.assign(new Uint8Array(t),{__nonce__:void 0})}var Cd="__expiry__",zh=BigInt(1e3),R8=BigInt(1e6),lx=BigInt(60),I8=BigInt(90)*zh;function fx(t){return t/zh}function S8(t){return fx(t)/lx}var Si=class t{constructor(e){this.__expiry__=e,this._isExpiry=!0}static fromDeltaInMilliseconds(e,r=0){let n=BigInt(e),o=BigInt(Date.now())+n+BigInt(r),s;return n<I8?s=fx(o):s=S8(o)*lx,new t(s*zh*R8)}toBigInt(){return this.__expiry__}toHash(){return ke(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Cd]:this.toString()}}static fromJSON(e){let r=JSON.parse(e);if(r[Cd])try{let n=BigInt(r[Cd]);return new t(n)}catch(n){throw new Ne(new Ka(`Not a valid BigInt: ${n}`))}throw new Ne(new Ka(`The input does not contain the key ${Cd}`))}static isExpiry(e){return e instanceof t||typeof e=="object"&&e!==null&&"_isExpiry"in e&&e._isExpiry===!0&&"__expiry__"in e&&typeof e.__expiry__=="bigint"}};function Yh(t=ic){return async e=>{let r=e.request.headers;e.request.headers=r,e.endpoint===Wn.Call&&(e.body.nonce=t())}}function Pd(t){let e=[];return t.forEach((r,n)=>{e.push([n,r])}),e}var Xh=BigInt(0),Dd=BigInt(1);function Ts(t,e=""){if(typeof t!="boolean"){let r=e&&`"${e}"`;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function Uo(t,e,r=""){let n=un(t),o=t?.length,s=e!==void 0;if(!n||s&&o!==e){let i=r&&`"${r}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return t}function px(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Xh:BigInt("0x"+t)}function nr(t){return px(de(t))}function Xn(t){return Xe(t),px(de(Uint8Array.from(t).reverse()))}function ct(t,e){return ht(t.toString(16).padStart(e*2,"0"))}function Jh(t,e){return ct(t,e).reverse()}function ze(t,e,r){let n;if(typeof e=="string")try{n=ht(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(un(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function hx(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Qh(t){return Uint8Array.from(t)}var Wh=t=>typeof t=="bigint"&&Xh<=t;function e0(t,e,r){return Wh(t)&&Wh(e)&&Wh(r)&&e<=t&&t<r}function Fd(t,e,r,n){if(!e0(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function Jn(t){let e;for(e=0;t>Xh;t>>=Dd,e+=1);return e}function mx(t,e){return t>>BigInt(e)&Dd}var Mr=t=>(Dd<<BigInt(t))-Dd;function yx(t){return typeof t=="function"&&Number.isSafeInteger(t.outputLen)}function Qn(t,e,r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(o,s,i){let a=t[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(e).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var Ai=()=>{throw new Error("not implemented")};function Lo(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let s=t(r,...n);return e.set(r,s),s}}var kt=BigInt(0),yt=BigInt(1),Os=BigInt(2),bx=BigInt(3),gx=BigInt(4),xx=BigInt(5),A8=BigInt(7),wx=BigInt(8),B8=BigInt(9),Ex=BigInt(16);function Ke(t,e){let r=t%e;return r>=kt?r:e+r}function kr(t,e,r){let n=t;for(;e-- >kt;)n*=n,n%=r;return n}function _x(t,e){if(t===kt)throw new Error("invert: expected non-zero number");if(e<=kt)throw new Error("invert: expected positive modulus, got "+e);let r=Ke(t,e),n=e,o=kt,s=yt,i=yt,a=kt;for(;r!==kt;){let d=n/r,p=n%r,l=o-i*d,u=s-a*d;n=r,r=p,o=i,s=a,i=l,a=u}if(n!==yt)throw new Error("invert: does not exist");return Ke(o,e)}function t0(t,e,r){if(!t.eql(t.sqr(e),r))throw new Error("Cannot find square root")}function Tx(t,e){let r=(t.ORDER+yt)/gx,n=t.pow(e,r);return t0(t,n,e),n}function C8(t,e){let r=(t.ORDER-xx)/wx,n=t.mul(e,Os),o=t.pow(n,r),s=t.mul(e,o),i=t.mul(t.mul(s,Os),o),a=t.mul(s,t.sub(i,t.ONE));return t0(t,a,e),a}function P8(t){let e=jt(t),r=Ox(t),n=r(e,e.neg(e.ONE)),o=r(e,n),s=r(e,e.neg(n)),i=(t+A8)/Ex;return(a,c)=>{let d=a.pow(c,i),p=a.mul(d,n),l=a.mul(d,o),u=a.mul(d,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(l),c);d=a.cmov(d,p,f),p=a.cmov(u,l,h);let m=a.eql(a.sqr(p),c),b=a.cmov(d,p,m);return t0(a,b,c),b}}function Ox(t){if(t<bx)throw new Error("sqrt is not defined for small field");let e=t-yt,r=0;for(;e%Os===kt;)e/=Os,r++;let n=Os,o=jt(t);for(;ac(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Tx;let s=o.pow(n,e),i=(e+yt)/Os;return function(c,d){if(c.is0(d))return d;if(ac(c,d)!==1)throw new Error("Cannot find square root");let p=r,l=c.mul(c.ONE,s),u=c.pow(d,e),f=c.pow(d,i);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,m=c.sqr(u);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let b=yt<<BigInt(p-h-1),y=c.pow(l,b);p=h,l=c.sqr(y),u=c.mul(u,l),f=c.mul(f,y)}return f}}function D8(t){return t%gx===bx?Tx:t%wx===xx?C8:t%Ex===B8?P8(t):Ox(t)}var eo=(t,e)=>(Ke(t,e)&yt)===yt,F8=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Vd(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=F8.reduce((n,o)=>(n[o]="function",n),e);return Qn(t,r),t}function cc(t,e,r){if(r<kt)throw new Error("invalid exponent, negatives unsupported");if(r===kt)return t.ONE;if(r===yt)return e;let n=t.ONE,o=e;for(;r>kt;)r&yt&&(n=t.mul(n,o)),o=t.sqr(o),r>>=yt;return n}function xr(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((i,a,c)=>t.is0(a)?i:(n[c]=i,t.mul(i,a)),t.ONE),s=t.inv(o);return e.reduceRight((i,a,c)=>t.is0(a)?i:(n[c]=t.mul(i,n[c]),t.mul(i,a)),s),n}function ac(t,e){let r=(t.ORDER-yt)/Os,n=t.pow(e,r),o=t.eql(n,t.ONE),s=t.eql(n,t.ZERO),i=t.eql(n,t.neg(t.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function r0(t,e){e!==void 0&&Oh(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function jt(t,e,r=!1,n={}){if(t<=kt)throw new Error("invalid field: expected ORDER > 0, got "+t);let o,s,i=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=e;u.BITS&&(o=u.BITS),u.sqrt&&(s=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(i=u.modFromBytes),a=u.allowedLengths}else typeof e=="number"&&(o=e),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:d}=r0(t,o);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,l=Object.freeze({ORDER:t,isLE:r,BITS:c,BYTES:d,MASK:Mr(c),ZERO:kt,ONE:yt,allowedLengths:a,create:u=>Ke(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return kt<=u&&u<t},is0:u=>u===kt,isValidNot0:u=>!l.is0(u)&&l.isValid(u),isOdd:u=>(u&yt)===yt,neg:u=>Ke(-u,t),eql:(u,f)=>u===f,sqr:u=>Ke(u*u,t),add:(u,f)=>Ke(u+f,t),sub:(u,f)=>Ke(u-f,t),mul:(u,f)=>Ke(u*f,t),pow:(u,f)=>cc(l,u,f),div:(u,f)=>Ke(u*_x(f,t),t),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>_x(u,t),sqrt:s||(u=>(p||(p=D8(t)),p(l,u))),toBytes:u=>r?Jh(u,d):ct(u,d),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>d)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let m=new Uint8Array(d);m.set(u,r?0:m.length-u.length),u=m}if(u.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+u.length);let h=r?Xn(u):nr(u);if(i&&(h=Ke(h,t)),!f&&!l.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>xr(l,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(l)}function Nx(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Ud(t){let e=Nx(t);return e+Math.ceil(e/2)}function n0(t,e,r=!1){let n=t.length,o=Nx(e),s=Ud(e);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Xn(t):nr(t),a=Ke(i,e-yt)+yt;return r?Jh(a,o):ct(a,o)}var Bi=BigInt(0),Ns=BigInt(1);function uc(t,e){let r=e.negate();return t?r:e}function wr(t,e){let r=xr(t.Fp,e.map(n=>n.Z));return e.map((n,o)=>t.fromAffine(n.toAffine(r[o])))}function Sx(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function o0(t,e){Sx(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,s=Mr(t),i=BigInt(t);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function vx(t,e,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(t&o),c=t>>i;a>n&&(a-=s,c+=Ns);let d=e*n,p=d+Math.abs(a)-1,l=a===0,u=a<0,f=e%2!==0;return{nextN:c,offset:p,isZero:l,isNeg:u,isNegF:f,offsetF:d}}function U8(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function L8(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var s0=new WeakMap,Ax=new WeakMap;function i0(t){return Ax.get(t)||1}function Rx(t){if(t!==Bi)throw new Error("invalid wNAF")}var Ci=class{constructor(e,r){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=r}_unsafeLadder(e,r,n=this.ZERO){let o=e;for(;r>Bi;)r&Ns&&(n=n.add(o)),o=o.double(),r>>=Ns;return n}precomputeWindow(e,r){let{windows:n,windowSize:o}=o0(r,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let d=1;d<o;d++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=o0(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:d,isZero:p,isNeg:l,isNegF:u,offsetF:f}=vx(n,a,i);n=c,p?s=s.add(uc(u,r[f])):o=o.add(uc(l,r[d]))}return Rx(n),{p:o,f:s}}wNAFUnsafe(e,r,n,o=this.ZERO){let s=o0(e,this.bits);for(let i=0;i<s.windows&&n!==Bi;i++){let{nextN:a,offset:c,isZero:d,isNeg:p}=vx(n,i,s);if(n=a,!d){let l=r[c];o=o.add(p?l.negate():l)}}return Rx(n),o}getPrecomputes(e,r,n){let o=s0.get(r);return o||(o=this.precomputeWindow(r,e),e!==1&&(typeof n=="function"&&(o=n(o)),s0.set(r,o))),o}cached(e,r,n){let o=i0(e);return this.wNAF(o,this.getPrecomputes(o,e,n),r)}unsafe(e,r,n,o){let s=i0(e);return s===1?this._unsafeLadder(e,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),r,o)}createCache(e,r){Sx(r,this.bits),Ax.set(e,r),s0.delete(e)}hasCache(e){return i0(e)!==1}};function Bx(t,e,r,n){let o=e,s=t.ZERO,i=t.ZERO;for(;r>Bi||n>Bi;)r&Ns&&(s=s.add(o)),n&Ns&&(i=i.add(o)),o=o.double(),r>>=Ns,n>>=Ns;return{p1:s,p2:i}}function Pi(t,e,r,n){U8(r,t),L8(n,e);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,a=Jn(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let d=Mr(c),p=new Array(Number(d)+1).fill(i),l=Math.floor((e.BITS-1)/c)*c,u=i;for(let f=l;f>=0;f-=c){p.fill(i);for(let m=0;m<s;m++){let b=n[m],y=Number(b>>BigInt(f)&d);p[y]=p[y].add(r[m])}let h=i;for(let m=p.length-1,b=i;m>0;m--)b=b.add(p[m]),h=h.add(b);if(u=u.add(h),f!==0)for(let m=0;m<c;m++)u=u.double()}return u}function Ix(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Vd(e),e}else return jt(t,{isLE:r})}function Ld(t,e,r={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let d=e[c];if(!(typeof d=="bigint"&&d>Bi))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Ix(e.p,r.Fp,n),s=Ix(e.n,r.Fn,n),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}var q8=nr;function qo(t,e){if(dc(t),dc(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function M8(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function dc(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function Cx(t){if(!un(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or string");return typeof t=="string"?Ve(t):t}function k8(t,e,r,n){Xe(t),dc(r),e=Cx(e),e.length>255&&(e=n(fe(Ve("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=fe(e,qo(e.length,1)),c=qo(0,s),d=qo(r,2),p=new Array(i),l=n(fe(c,t,d,qo(0,1),a));p[0]=n(fe(l,qo(1,1),a));for(let f=1;f<=i;f++){let h=[M8(l,p[f-1]),qo(f+1,1),a];p[f]=n(fe(...h))}return fe(...p).slice(0,r)}function j8(t,e,r,n,o){if(Xe(t),dc(r),e=Cx(e),e.length>255){let s=Math.ceil(2*n/8);e=o.create({dkLen:s}).update(Ve("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(qo(r,2)).update(e).update(qo(e.length,1)).digest()}function a0(t,e,r){Qn(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!yx(r.hash))throw new Error("expected valid hash");Xe(t),dc(e);let d=n.toString(2).length,p=Math.ceil((d+o)/8),l=e*s*p,u;if(a==="xmd")u=k8(t,c,l,i);else if(a==="xof")u=j8(t,c,l,o,i);else if(a==="_internal_pass")u=t;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(e);for(let h=0;h<e;h++){let m=new Array(s);for(let b=0;b<s;b++){let y=p*(b+h*s),x=u.subarray(y,y+p);m[b]=Ke(q8(x),n)}f[h]=m}return f}function c0(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(l=>l.reduce((u,f)=>t.add(t.mul(u,n),f))),[d,p]=xr(t,[i,c],!0);return n=t.mul(s,d),o=t.mul(o,t.mul(a,p)),{x:n,y:o}}}var H8=Ve("HashToScalar-");function u0(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(s){return t.fromAffine(e(s))}function o(s){let i=s.clearCofactor();return i.equals(t.ZERO)?t.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=a0(s,2,a),d=n(c[0]),p=n(c[1]);return o(d.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),d=a0(s,1,c),p=n(d[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=t.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:H8},i);return a0(s,1,c)[0][0]}}}var Px=(t,e)=>(t+(t>=0?e:-e)/to)/e;function $8(t,e,r){let[[n,o],[s,i]]=e,a=Px(i*t,r),c=Px(-o*t,r),d=t-a*n-c*s,p=-a*o-c*i,l=d<vs,u=p<vs;l&&(d=-d),u&&(p=-p);let f=Mr(Math.ceil(Jn(r)/2))+Ht;if(d<vs||d>=f||p<vs||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:l,k1:d,k2neg:u,k2:p}}var vs=BigInt(0),Ht=BigInt(1),to=BigInt(2),Di=BigInt(3),d0=BigInt(4);function lc(t,e){let{BYTES:r}=t,n;if(typeof e=="bigint")n=e;else{let o=ze("private key",e);try{n=t.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function K8(t,e={}){let r=Ld("weierstrass",t,e),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Qn(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=z8(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(C,g,w){let{x:O,y:P}=g.toAffine(),L=n.toBytes(O);if(Ts(w,"isCompressed"),w){p();let I=!n.isOdd(P);return fe(G8(I),L)}else return fe(Uint8Array.of(4),L,n.toBytes(P))}function u(C){Uo(C,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=d,O=C.length,P=C[0],L=C.subarray(1);if(O===g&&(P===2||P===3)){let I=n.fromBytes(L);if(!n.isValid(I))throw new Error("bad point: is not on curve, wrong x");let B=m(I),F;try{F=n.sqrt(B)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}p();let U=n.isOdd(F);return(P&1)===1!==U&&(F=n.neg(F)),{x:I,y:F}}else if(O===w&&P===4){let I=n.BYTES,B=n.fromBytes(L.subarray(0,I)),F=n.fromBytes(L.subarray(I,I*2));if(!b(B,F))throw new Error("bad point: is not on curve");return{x:B,y:F}}else throw new Error(`bad point: got length ${O}, expected compressed=${g} or uncompressed=${w}`)}let f=e.toBytes||l,h=e.fromBytes||u;function m(C){let g=n.sqr(C),w=n.mul(g,C);return n.add(n.add(w,n.mul(C,s.a)),s.b)}function b(C,g){let w=n.sqr(g),O=m(C);return n.eql(w,O)}if(!b(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(s.a,Di),d0),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(y,x)))throw new Error("bad curve params: a or b");function _(C,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${C}`);return g}function T(C){if(!(C instanceof E))throw new Error("ProjectivePoint expected")}function N(C){if(!c||!c.basises)throw new Error("no endo");return $8(C,c.basises,o.ORDER)}let R=Lo((C,g)=>{let{X:w,Y:O,Z:P}=C;if(n.eql(P,n.ONE))return{x:w,y:O};let L=C.is0();g==null&&(g=L?n.ONE:n.inv(P));let I=n.mul(w,g),B=n.mul(O,g),F=n.mul(P,g);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}),v=Lo(C=>{if(C.is0()){if(e.allowInfinityPoint&&!n.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:g,y:w}=C.toAffine();if(!n.isValid(g)||!n.isValid(w))throw new Error("bad point: x or y not field elements");if(!b(g,w))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function A(C,g,w,O,P){return w=new E(n.mul(w.X,C),w.Y,w.Z),g=uc(O,g),w=uc(P,w),g.add(w)}class E{constructor(g,w,O){this.X=_("x",g),this.Y=_("y",w,!0),this.Z=_("z",O),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:O}=g||{};if(!g||!n.isValid(w)||!n.isValid(O))throw new Error("invalid affine point");if(g instanceof E)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(O)?E.ZERO:new E(w,O,n.ONE)}static fromBytes(g){let w=E.fromAffine(h(Uo(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return E.fromBytes(ze("pointHex",g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return V.createCache(this,g),w||this.multiply(Di),this}assertValidity(){v(this)}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.eql(n.mul(w,B),n.mul(L,P)),U=n.eql(n.mul(O,B),n.mul(I,P));return F&&U}negate(){return new E(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,O=n.mul(w,Di),{X:P,Y:L,Z:I}=this,B=n.ZERO,F=n.ZERO,U=n.ZERO,q=n.mul(P,P),H=n.mul(L,L),Y=n.mul(I,I),G=n.mul(P,L);return G=n.add(G,G),U=n.mul(P,I),U=n.add(U,U),B=n.mul(g,U),F=n.mul(O,Y),F=n.add(B,F),B=n.sub(H,F),F=n.add(H,F),F=n.mul(B,F),B=n.mul(G,B),U=n.mul(O,U),Y=n.mul(g,Y),G=n.sub(q,Y),G=n.mul(g,G),G=n.add(G,U),U=n.add(q,q),q=n.add(U,q),q=n.add(q,Y),q=n.mul(q,G),F=n.add(F,q),Y=n.mul(L,I),Y=n.add(Y,Y),q=n.mul(Y,G),B=n.sub(B,q),U=n.mul(Y,H),U=n.add(U,U),U=n.add(U,U),new E(B,F,U)}add(g){T(g);let{X:w,Y:O,Z:P}=this,{X:L,Y:I,Z:B}=g,F=n.ZERO,U=n.ZERO,q=n.ZERO,H=s.a,Y=n.mul(s.b,Di),G=n.mul(w,L),ie=n.mul(O,I),ae=n.mul(P,B),Ce=n.add(w,O),ee=n.add(L,I);Ce=n.mul(Ce,ee),ee=n.add(G,ie),Ce=n.sub(Ce,ee),ee=n.add(w,P);let ce=n.add(L,B);return ee=n.mul(ee,ce),ce=n.add(G,ae),ee=n.sub(ee,ce),ce=n.add(O,P),F=n.add(I,B),ce=n.mul(ce,F),F=n.add(ie,ae),ce=n.sub(ce,F),q=n.mul(H,ee),F=n.mul(Y,ae),q=n.add(F,q),F=n.sub(ie,q),q=n.add(ie,q),U=n.mul(F,q),ie=n.add(G,G),ie=n.add(ie,G),ae=n.mul(H,ae),ee=n.mul(Y,ee),ie=n.add(ie,ae),ae=n.sub(G,ae),ae=n.mul(H,ae),ee=n.add(ee,ae),G=n.mul(ie,ee),U=n.add(U,G),G=n.mul(ce,ee),F=n.mul(Ce,F),F=n.sub(F,G),G=n.mul(Ce,ie),q=n.mul(ce,q),q=n.add(q,G),new E(F,U,q)}subtract(g){return this.add(g.negate())}is0(){return this.equals(E.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new Error("invalid scalar: out of range");let O,P,L=I=>V.cached(this,I,B=>wr(E,B));if(w){let{k1neg:I,k1:B,k2neg:F,k2:U}=N(g),{p:q,f:H}=L(B),{p:Y,f:G}=L(U);P=H.add(G),O=A(w.beta,q,Y,I,F)}else{let{p:I,f:B}=L(g);O=I,P=B}return wr(E,[O,P])[0]}multiplyUnsafe(g){let{endo:w}=e,O=this;if(!o.isValid(g))throw new Error("invalid scalar: out of range");if(g===vs||O.is0())return E.ZERO;if(g===Ht)return O;if(V.hasCache(this))return this.multiply(g);if(w){let{k1neg:P,k1:L,k2neg:I,k2:B}=N(g),{p1:F,p2:U}=Bx(E,O,L,B);return A(w.beta,F,U,P,I)}else return V.unsafe(O,g)}multiplyAndAddUnsafe(g,w,O){let P=this.multiplyUnsafe(w).add(g.multiplyUnsafe(O));return P.is0()?void 0:P}toAffine(g){return R(this,g)}isTorsionFree(){let{isTorsionFree:g}=e;return i===Ht?!0:g?g(E,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===Ht?this:g?g(E,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(g=!0){return Ts(g,"isCompressed"),this.assertValidity(),f(E,this,g)}toHex(g=!0){return de(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(g=!0){return this.toBytes(g)}_setWindowSize(g){this.precompute(g)}static normalizeZ(g){return wr(E,g)}static msm(g,w){return Pi(E,o,g,w)}static fromPrivateKey(g){return E.BASE.multiply(lc(o,g))}}E.BASE=new E(s.Gx,s.Gy,n.ONE),E.ZERO=new E(n.ZERO,n.ONE,n.ZERO),E.Fp=n,E.Fn=o;let S=o.BITS,V=new Ci(E,e.endo?Math.ceil(S/2):S);return E.BASE.precompute(8),E}function G8(t){return Uint8Array.of(t?2:3)}function Z8(t,e){let r=t.ORDER,n=vs;for(let h=r-Ht;h%to===vs;h/=to)n+=Ht;let o=n,s=to<<o-Ht-Ht,i=s*to,a=(r-Ht)/i,c=(a-Ht)/to,d=i-Ht,p=s,l=t.pow(e,a),u=t.pow(e,(a+Ht)/to),f=(h,m)=>{let b=l,y=t.pow(m,d),x=t.sqr(y);x=t.mul(x,m);let _=t.mul(h,x);_=t.pow(_,c),_=t.mul(_,y),y=t.mul(_,m),x=t.mul(_,h);let T=t.mul(x,y);_=t.pow(T,p);let N=t.eql(_,t.ONE);y=t.mul(x,u),_=t.mul(T,b),x=t.cmov(y,x,N),T=t.cmov(_,T,N);for(let R=o;R>Ht;R--){let v=R-to;v=to<<v-Ht;let A=t.pow(T,v),E=t.eql(A,t.ONE);y=t.mul(x,b),b=t.mul(b,b),A=t.mul(T,b),x=t.cmov(y,x,E),T=t.cmov(A,T,E)}return{isValid:N,value:x}};if(t.ORDER%d0===Di){let h=(t.ORDER-Di)/d0,m=t.sqrt(t.neg(e));f=(b,y)=>{let x=t.sqr(y),_=t.mul(b,y);x=t.mul(x,_);let T=t.pow(x,h);T=t.mul(T,_);let N=t.mul(T,m),R=t.mul(t.sqr(T),y),v=t.eql(R,b),A=t.cmov(N,T,v);return{isValid:v,value:A}}}return f}function l0(t,e){Vd(t);let{A:r,B:n,Z:o}=e;if(!t.isValid(r)||!t.isValid(n)||!t.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=Z8(t,o);if(!t.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,d,p,l,u,f,h;a=t.sqr(i),a=t.mul(a,o),c=t.sqr(a),c=t.add(c,a),d=t.add(c,t.ONE),d=t.mul(d,n),p=t.cmov(o,t.neg(c),!t.eql(c,t.ZERO)),p=t.mul(p,r),c=t.sqr(d),u=t.sqr(p),l=t.mul(u,r),c=t.add(c,l),c=t.mul(c,d),u=t.mul(u,p),l=t.mul(u,n),c=t.add(c,l),f=t.mul(a,d);let{isValid:m,value:b}=s(c,u);h=t.mul(a,i),h=t.mul(h,b),f=t.cmov(f,d,m),h=t.cmov(h,b,m);let y=t.isOdd(i)===t.isOdd(h);h=t.cmov(t.neg(h),h,y);let x=xr(t,[p],!0)[0];return f=t.mul(f,x),{x:f,y:h}}}function z8(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function f0(t){let{CURVE:e,curveOpts:r}=Y8(t),n=K8(e,r);return X8(t,n)}function Y8(t){let e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=jt(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:s}}function W8(t,e,r){function n(o){let s=t.sqr(o),i=t.mul(s,o);return t.add(t.add(i,t.mul(o,e)),r)}return n}function X8(t,e){let{Fp:r,Fn:n}=e;function o(i){return e0(i,Ht,n.ORDER)}let s=W8(r,t.a,t.b);return Object.assign({},{CURVE:t,Point:e,ProjectivePoint:e,normPrivateKeyToScalar:i=>lc(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var J8=BigInt(0),qd=BigInt(1),Dx=BigInt(2),Fi=BigInt(3);function Q8(t){let e=[];for(;t>qd;t>>=qd)(t&qd)===J8?e.unshift(0):(t&Fi)===Fi?(e.unshift(-1),t+=qd):e.unshift(1);return e}function p0(t){if(!Array.isArray(t)||t.length===0)throw new Error("expected non-empty array")}function e3(t,e,r,n){let{Fp2:o,Fp12:s}=t,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:d}=n,p;if(i==="multiplicative")p=(_,T,N,R,v,A)=>s.mul014(R,_,o.mul(T,v),o.mul(N,A));else if(i==="divisive")p=(_,T,N,R,v,A)=>s.mul034(R,o.mul(N,A),o.mul(T,v),_);else throw new Error("bls: unknown twist type");let l=o.div(o.ONE,o.mul(o.ONE,Dx));function u(_,T,N,R){let v=o.sqr(N),A=o.sqr(R),E=o.mulByB(o.mul(A,Fi)),S=o.mul(E,Fi),V=o.sub(o.sub(o.sqr(o.add(N,R)),A),v),C=o.sub(E,v),g=o.mul(o.sqr(T),Fi),w=o.neg(V);return _.push([C,g,w]),T=o.mul(o.mul(o.mul(o.sub(v,S),T),N),l),N=o.sub(o.sqr(o.mul(o.add(v,S),l)),o.mul(o.sqr(E),Fi)),R=o.mul(v,V),{Rx:T,Ry:N,Rz:R}}function f(_,T,N,R,v,A){let E=o.sub(N,o.mul(A,R)),S=o.sub(T,o.mul(v,R)),V=o.sub(o.mul(E,v),o.mul(S,A)),C=o.neg(E),g=S;_.push([V,C,g]);let w=o.sqr(S),O=o.mul(w,S),P=o.mul(w,T),L=o.add(o.sub(O,o.mul(P,Dx)),o.mul(o.sqr(E),R));return T=o.mul(S,L),N=o.sub(o.mul(o.sub(P,L),E),o.mul(O,N)),R=o.mul(R,O),{Rx:T,Ry:N,Rz:R}}let h=Q8(a),m=Lo(_=>{let T=_,{x:N,y:R}=T.toAffine(),v=N,A=R,E=o.neg(R),S=v,V=A,C=o.ONE,g=[];for(let w of h){let O=[];({Rx:S,Ry:V,Rz:C}=u(O,S,V,C)),w&&({Rx:S,Ry:V,Rz:C}=f(O,S,V,C,v,w===-1?E:A)),g.push(O)}if(d){let w=g[g.length-1];d(S,V,C,v,A,f.bind(null,w))}return g});function b(_,T=!1){let N=s.ONE;if(_.length){let R=_[0][0].length;for(let v=0;v<R;v++){N=s.sqr(N);for(let[A,E,S]of _)for(let[V,C,g]of A[v])N=p(V,C,g,N,E,S)}}return c&&(N=s.conjugate(N)),T?s.finalExponentiate(N):N}function y(_,T=!0){let N=[];wr(e,_.map(({g1:R})=>R)),wr(r,_.map(({g2:R})=>R));for(let{g1:R,g2:v}of _){if(R.is0()||v.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),v.assertValidity();let A=R.toAffine();N.push([m(v),A.x,A.y])}return b(N,T)}function x(_,T,N=!0){return y([{g1:_,g2:T}],N)}return{Fp12:s,millerLoopBatch:b,pairing:x,pairingBatch:y,calcPairingPrecomputes:m}}function Fx(t,e,r,n,o){let{Fp12:s,pairingBatch:i}=t;function a(l){return l instanceof e.Point?l:e.Point.fromHex(l)}function c(l){return l instanceof r.Point?l:r.Point.fromHex(l)}function d(l){if(!(l instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return l}let p=o?(l,u)=>({g1:u,g2:l}):(l,u)=>({g1:l,g2:u});return{getPublicKey(l){let u=lc(e.Point.Fn,l);return e.Point.BASE.multiply(u)},sign(l,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=lc(e.Point.Fn,u);return d(l).assertValidity(),l.multiply(h)},verify(l,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");l=c(l),f=a(f);let m=f.negate(),b=e.Point.BASE,y=d(u),x=l,_=i([p(m,y),p(b,x)]);return s.eql(_,s.ONE)},verifyBatch(l,u,f){if(p0(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(l),m=u,b=f.map(a),y=new Map;for(let T=0;T<b.length;T++){let N=b[T],R=m[T],v=y.get(R);v===void 0&&(v=[],y.set(R,v)),v.push(N)}let x=[],_=e.Point.BASE;try{for(let[T,N]of y){let R=N.reduce((v,A)=>v.add(A));x.push(p(R,T))}return x.push(p(_.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(l){p0(l),l=l.map(f=>a(f));let u=l.reduce((f,h)=>f.add(h),e.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(l){p0(l),l=l.map(f=>c(f));let u=l.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(l,u){Xe(l);let f=u?{DST:u}:void 0;return r.hashToCurve(l,f)},Signature:n}}function Vx(t){let{Fp:e,Fr:r,Fp2:n,Fp6:o,Fp12:s}=t.fields,i=f0(t.G1),a=Object.assign(i,u0(i.Point,t.G1.mapToCurve,{...t.htfDefaults,...t.G1.htfDefaults})),c=f0(t.G2),d=Object.assign(c,u0(c.Point,t.G2.mapToCurve,{...t.htfDefaults,...t.G2.htfDefaults})),p=e3(t.fields,a.Point,d.Point,{...t.params,postPrecompute:t.postPrecompute}),{millerLoopBatch:l,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Fx(p,a,d,t.G2.Signature,!1),b=Fx(p,d,a,t.G1.ShortSignature,!0),y=t.randomBytes||mi,x=()=>{let I=Ud(r.ORDER);return n0(y(I),r.ORDER)},_={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=t.G1,{Signature:N}=t.G2;function R(I,B){return I instanceof a.Point?I:b.hash(ze("point",I),B?.DST)}function v(I,B){return I instanceof d.Point?I:m.hash(ze("point",I),B?.DST)}function A(I){return m.getPublicKey(I).toBytes(!0)}function E(I){return b.getPublicKey(I).toBytes(!0)}function S(I,B,F){let U=v(I,F),q=m.sign(U,B);return I instanceof d.Point?q:N.toBytes(q)}function V(I,B,F){let U=R(I,F),q=b.sign(U,B);return I instanceof a.Point?q:T.toBytes(q)}function C(I,B,F,U){let q=v(B,U);return m.verify(I,q,F)}function g(I,B,F,U){let q=R(B,U);return b.verify(I,q,F)}function w(I){let B=m.aggregatePublicKeys(I);return I[0]instanceof a.Point?B:B.toBytes(!0)}function O(I){let B=m.aggregateSignatures(I);return I[0]instanceof d.Point?B:N.toBytes(B)}function P(I){let B=b.aggregateSignatures(I);return I[0]instanceof a.Point?B:T.toBytes(B)}function L(I,B,F,U){let q=B.map(H=>v(H,U));return m.verifyBatch(I,q,F)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:b,millerLoopBatch:l,pairing:u,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:e,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:t.params.ateLoopSize,twistType:t.params.twistType,r:t.params.r,G1b:t.G1.b,G2b:t.G2.b},utils:_,getPublicKey:A,getPublicKeyForShortSignatures:E,sign:S,signShortSignature:V,verify:C,verifyShortSignature:g,aggregatePublicKeys:w,aggregateSignatures:O,aggregateShortSignatures:P,G1:a,G2:d,Signature:N,ShortSignature:T}}var Ux=BigInt(0),ro=BigInt(1),$t=BigInt(2),Lx=BigInt(3);function _0(t,e,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let d=0;d<o;d++){let p=BigInt(d+1),l=[];for(let u=0,f=ro;u<n;u++){let h=(p*f-p)/i%a;l.push(t.pow(e,h)),f*=r}c.push(l)}return c}function Mx(t,e,r){let n=e.pow(r,(t.ORDER-ro)/Lx),o=e.pow(r,(t.ORDER-ro)/$t);function s(u,f){let h=e.mul(e.frobeniusMap(u,1),n),m=e.mul(e.frobeniusMap(f,1),o);return[h,m]}let i=e.pow(r,(t.ORDER**$t-ro)/Lx),a=e.pow(r,(t.ORDER**$t-ro)/$t);if(!e.eql(a,e.neg(e.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[e.mul(u,i),e.neg(f)]}let d=u=>(f,h)=>{let m=h.toAffine(),b=u(m.x,m.y);return f.fromAffine({x:b[0],y:b[1]})},p=d(s),l=d(c);return{psi:s,psi2:c,G2psi:p,G2psi2:l,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var qx=(t,e)=>{if(e.length!==2)throw new Error("invalid tuple");let r=e.map(n=>t.create(n));return{c0:r[0],c1:r[1]}},h0=class{constructor(e,r={}){this.MASK=ro;let n=e.ORDER,o=n*n;this.Fp=e,this.ORDER=o,this.BITS=Jn(o),this.BYTES=Math.ceil(Jn(o)/8),this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.Fp_NONRESIDUE=e.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=e.div(e.ONE,$t),this.NONRESIDUE=qx(e,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=_0(e,this.Fp_NONRESIDUE,e.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(e){return qx(this.Fp,e)}create(e){return e}isValid({c0:e,c1:r}){function n(o,s){return typeof o=="bigint"&&Ux<=o&&o<s}return n(e,this.ORDER)&&n(r,this.ORDER)}is0({c0:e,c1:r}){return this.Fp.is0(e)&&this.Fp.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}eql({c0:e,c1:r},{c0:n,c1:o}){return this.Fp.eql(e,n)&&this.Fp.eql(r,o)}neg({c0:e,c1:r}){return{c0:this.Fp.neg(e),c1:this.Fp.neg(r)}}pow(e,r){return cc(this,e,r)}invertBatch(e){return xr(this,e)}add(e,r){let{c0:n,c1:o}=e,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:e,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(e,n),c1:this.Fp.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i),d=o.sub(a,c),p=o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c));return{c0:d,c1:p}}sqr({c0:e,c1:r}){let{Fp:n}=this,o=n.add(e,r),s=n.sub(e,r),i=n.add(e,e);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}div(e,r){let{Fp:n}=this;return this.mul(e,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:e,c1:r}){let{Fp:n}=this,o=n.inv(n.create(e*e+r*r));return{c0:n.mul(o,n.create(e)),c1:n.mul(o,n.create(-r))}}sqrt(e){let{Fp:r}=this,n=this,{c0:o,c1:s}=e;if(r.is0(s))return ac(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);ac(r,a)===-1&&(a=r.sub(a,i));let d=r.sqrt(a),p=n.create({c0:d,c1:r.div(r.mul(s,this.Fp_div2),d)});if(!n.eql(n.sqr(p),e))throw new Error("Cannot find square root");let l=p,u=n.neg(l),{re:f,im:h}=n.reim(l),{re:m,im:b}=n.reim(u);return h>b||h===b&&f>m?l:u}isOdd(e){let{re:r,im:n}=this.reim(e),o=r%$t,s=r===Ux,i=n%$t;return BigInt(o||s&&i)==ro}fromBytes(e){let{Fp:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){return fe(this.Fp.toBytes(e),this.Fp.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(e,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:e,c1:r}){return{re:e,im:r}}Fp4Square(e,r){let n=this,o=n.sqr(e),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(e,r)),o),s)}}mulByNonresidue({c0:e,c1:r}){return this.mul({c0:e,c1:r},this.NONRESIDUE)}frobeniusMap({c0:e,c1:r},n){return{c0:e,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},m0=class{constructor(e){this.MASK=ro,this.Fp2=e,this.ORDER=e.ORDER,this.BITS=3*e.BITS,this.BYTES=3*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO,c2:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO,c2:e.ZERO};let{Fp:r}=e,n=_0(e,e.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(e,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(e,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,d=s.mul(e,i),p=s.mul(r,a),l=s.mul(n,c);return{c0:s.add(d,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,l)))),c1:s.add(s.sub(s.mul(s.add(e,r),s.add(i,a)),s.add(d,p)),s.mulByNonresidue(l)),c2:s.sub(s.add(p,s.mul(s.add(e,n),s.add(i,c))),s.add(d,l))}}sqr({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(e),i=o.mul(o.mul(e,r),$t),a=o.mul(o.mul(r,n),$t),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(e,r),n))),a),s),c)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}create(e){return e}isValid({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(e)&&o.isValid(r)&&o.isValid(n)}is0({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(e)&&o.is0(r)&&o.is0(n)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(e),c1:o.neg(r),c2:o.neg(n)}}eql({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(e,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(e){return Ai()}div(e,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(e,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(e,r){return cc(this,e,r)}invertBatch(e){return xr(this,e)}inv({c0:e,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(e),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(e,r)),a=o.sub(o.sqr(r),o.mul(e,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(e,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(e){let{Fp2:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);let n=r.BYTES;return{c0:r.fromBytes(e.subarray(0,n)),c1:r.fromBytes(e.subarray(n,n*2)),c2:r.fromBytes(e.subarray(2*n))}}toBytes({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return fe(o.toBytes(e),o.toBytes(r),o.toBytes(n))}cmov({c0:e,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(e,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(e){let{Fp2:r}=this;if(!Array.isArray(e)||e.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(e.slice(0,2)),c1:r.fromBigTuple(e.slice(2,4)),c2:r.fromBigTuple(e.slice(4,6))}}frobeniusMap({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(e,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(e,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:e,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:e,c2:r}}mul1({c0:e,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(e,o),c2:s.mul(r,o)}}mul01({c0:e,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(e,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(e,r)),a),c),c2:i.add(i.sub(i.mul(i.add(e,n),o),a),c)}}},y0=class{constructor(e,r){this.MASK=ro;let{Fp2:n}=e,{Fp:o}=n;this.Fp6=e,this.ORDER=n.ORDER,this.BITS=2*e.BITS,this.BYTES=2*e.BYTES,this.isLE=e.isLE,this.ZERO={c0:e.ZERO,c1:e.ZERO},this.ONE={c0:e.ONE,c1:e.ZERO},this.FROBENIUS_COEFFICIENTS=_0(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(e){return e}isValid({c0:e,c1:r}){let{Fp6:n}=this;return n.isValid(e)&&n.isValid(r)}is0({c0:e,c1:r}){let{Fp6:n}=this;return n.is0(e)&&n.is0(r)}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}neg({c0:e,c1:r}){let{Fp6:n}=this;return{c0:n.neg(e),c1:n.neg(r)}}eql({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(e,n)&&s.eql(r,o)}sqrt(e){Ai()}inv({c0:e,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(e),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(e,o),c1:n.neg(n.mul(r,o))}}div(e,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(e,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(e,r){return cc(this,e,r)}invertBatch(e){return xr(this,e)}add({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(e,n),c1:s.add(r,o)}}sub({c0:e,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(e,n),c1:s.sub(r,o)}}mul({c0:e,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(e,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(e,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(e,r),o.add(s,i)),o.add(a,c))}}sqr({c0:e,c1:r}){let{Fp6:n}=this,o=n.mul(e,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),e),n.add(e,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(e,r){return this.add(e,r)}subN(e,r){return this.sub(e,r)}mulN(e,r){return this.mul(e,r)}sqrN(e){return this.sqr(e)}fromBytes(e){let{Fp6:r}=this;if(e.length!==this.BYTES)throw new Error("fromBytes invalid length="+e.length);return{c0:r.fromBytes(e.subarray(0,r.BYTES)),c1:r.fromBytes(e.subarray(r.BYTES))}}toBytes({c0:e,c1:r}){let{Fp6:n}=this;return fe(n.toBytes(e),n.toBytes(r))}cmov({c0:e,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(e,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(e){let{Fp6:r}=this;return{c0:r.fromBigSix(e.slice(0,6)),c1:r.fromBigSix(e.slice(6,12))}}frobeniusMap(e,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(e.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(e.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:e,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(e,n),c1:o.mulByFp2(r,n)}}conjugate({c0:e,c1:r}){return{c0:e,c1:this.Fp6.neg(r)}}mul014({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(e,n,o),d=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(i.sub(i.mul01(i.add(r,e),n,a.add(o,s)),c),d)}}mul034({c0:e,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(e.c0,n),c1:a.mul(e.c1,n),c2:a.mul(e.c2,n)}),d=i.mul01(r,o,s),p=i.mul01(i.add(e,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(d),c),c1:i.sub(p,i.add(c,d))}}_cyclotomicSquare({c0:e,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=e,{c0:c,c1:d,c2:p}=r,{first:l,second:u}=o.Fp4Square(s,d),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:b}=o.Fp4Square(i,p),y=o.mulByNonresidue(b);return{c0:n.create({c0:o.add(o.mul(o.sub(l,s),$t),l),c1:o.add(o.mul(o.sub(f,i),$t),f),c2:o.add(o.mul(o.sub(m,a),$t),m)}),c1:n.create({c0:o.add(o.mul(o.add(y,c),$t),y),c1:o.add(o.mul(o.add(u,d),$t),u),c2:o.add(o.mul(o.add(h,p),$t),h)})}}_cyclotomicExp(e,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),mx(r,o)&&(n=this.mul(n,e));return n}};function kx(t){let e=jt(t.ORDER),r=new h0(e,t),n=new m0(r),o=new y0(n,t);return{Fp:e,Fp2:r,Fp6:n,Fp12:o}}var Pt=BigInt(0),Md=BigInt(1),Er=BigInt(2),kd=BigInt(3),fc=BigInt(4),Mo=BigInt("0xd201000000010000"),t3=Jn(Mo),Rs={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Pt,b:fc,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},r3=jt(Rs.n,{modFromBytes:!0,isLE:!0}),{Fp:J,Fp2:we,Fp6:n3,Fp12:Ie}=kx({ORDER:Rs.p,X_LEN:t3,FP2_NONRESIDUE:[Md,Md],Fp2mulByB:({c0:t,c1:e})=>{let r=J.mul(t,fc),n=J.mul(e,fc);return{c0:J.sub(r,n),c1:J.add(r,n)}},Fp12finalExponentiate:t=>{let e=Mo,r=Ie.div(Ie.frobeniusMap(t,6),t),n=Ie.mul(Ie.frobeniusMap(r,2),r),o=Ie.conjugate(Ie._cyclotomicExp(n,e)),s=Ie.mul(Ie.conjugate(Ie._cyclotomicSquare(n)),o),i=Ie.conjugate(Ie._cyclotomicExp(s,e)),a=Ie.conjugate(Ie._cyclotomicExp(i,e)),c=Ie.mul(Ie.conjugate(Ie._cyclotomicExp(a,e)),Ie._cyclotomicSquare(o)),d=Ie.conjugate(Ie._cyclotomicExp(c,e)),p=Ie.frobeniusMap(Ie.mul(o,a),2),l=Ie.frobeniusMap(Ie.mul(i,n),3),u=Ie.frobeniusMap(Ie.mul(c,Ie.conjugate(n)),1),f=Ie.mul(Ie.mul(d,Ie.conjugate(s)),n);return Ie.mul(Ie.mul(Ie.mul(p,l),u),f)}}),{G2psi:jx,G2psi2:o3}=Mx(J,we,we.div(we.ONE,we.NONRESIDUE)),b0=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:J.ORDER,m:2,k:128,expand:"xmd",hash:Ct}),w0={p:we.ORDER,n:Rs.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:we.ZERO,b:we.fromBigTuple([fc,fc]),Gx:we.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:we.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},jd=pc(J.toBytes(Pt),{infinity:!0,compressed:!0});function Hd(t){t=t.slice();let e=t[0]&224,r=!!(e>>7&1),n=!!(e>>6&1),o=!!(e>>5&1);return t[0]&=31,{compressed:r,infinity:n,sort:o,value:t}}function pc(t,e){if(t[0]&224)throw new Error("setMask: non-empty mask");return e.compressed&&(t[0]|=128),e.infinity&&(t[0]|=64),e.sort&&(t[0]|=32),t}function s3(t,e,r){let{BYTES:n,ORDER:o}=J,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return jd.slice();let c=!!(a*Er/o);return pc(ct(i,n),{compressed:!0,sort:c})}else return s?fe(Uint8Array.of(64),new Uint8Array(2*n-1)):fe(ct(i,n),ct(a,n))}function g0(t){t.assertValidity();let{BYTES:e,ORDER:r}=J,{x:n,y:o}=t.toAffine();if(t.is0())return jd.slice();let s=!!(o*Er/r);return pc(ct(n,e),{compressed:!0,sort:s})}function i3(t){let{compressed:e,infinity:r,sort:n,value:o}=Hd(t),{BYTES:s,ORDER:i}=J;if(o.length===48&&e){let a=nr(o),c=J.create(a&Mr(J.BITS));if(r){if(c!==Pt)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Pt,y:Pt}}let d=J.add(J.pow(c,kd),J.create(Rs.b)),p=J.sqrt(d);if(!p)throw new Error("invalid G1 point: compressed point");return p*Er/i!==BigInt(n)&&(p=J.neg(p)),{x:J.create(c),y:J.create(p)}}else if(o.length===96&&!e){let a=nr(o.subarray(0,s)),c=nr(o.subarray(s));if(r){if(a!==Pt||c!==Pt)throw new Error("G1: non-empty point at infinity");return hc.G1.Point.ZERO.toAffine()}return{x:J.create(a),y:J.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Hx(t){let{infinity:e,sort:r,value:n}=Hd(ze("signatureHex",t,48)),o=J.ORDER,s=hc.G1.Point,i=nr(n);if(e)return s.ZERO;let a=J.create(i&Mr(J.BITS)),c=J.add(J.pow(a,kd),J.create(Rs.b)),d=J.sqrt(c);if(!d)throw new Error("invalid G1 point: compressed");let p=BigInt(r);d*Er/o!==p&&(d=J.neg(d));let l=s.fromAffine({x:a,y:d});return l.assertValidity(),l}function a3(t,e,r){let{BYTES:n,ORDER:o}=J,s=e.is0(),{x:i,y:a}=e.toAffine();if(r){if(s)return fe(jd,ct(Pt,n));let c=!!(a.c1===Pt?a.c0*Er/o:a.c1*Er/o);return fe(pc(ct(i.c1,n),{compressed:!0,sort:c}),ct(i.c0,n))}else{if(s)return fe(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:d}=we.reim(i),{re:p,im:l}=we.reim(a);return fe(ct(d,n),ct(c,n),ct(l,n),ct(p,n))}}function x0(t){t.assertValidity();let{BYTES:e}=J;if(t.is0())return fe(jd,ct(Pt,e));let{x:r,y:n}=t.toAffine(),{re:o,im:s}=we.reim(r),{re:i,im:a}=we.reim(n),d=!!((a>Pt?a*Er:i*Er)/J.ORDER&Md),p=o;return fe(pc(ct(s,e),{sort:d,compressed:!0}),ct(p,e))}function c3(t){let{BYTES:e,ORDER:r}=J,{compressed:n,infinity:o,sort:s,value:i}=Hd(t);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(t[0]&224));let a=(c,d,p)=>nr(c.slice(d,p));if(i.length===96&&n){if(o){if(i.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:we.ZERO,y:we.ZERO}}let c=a(i,0,e),d=a(i,e,2*e),p=we.create({c0:J.create(d),c1:J.create(c)}),l=we.add(we.pow(p,kd),w0.b),u=we.sqrt(l),f=u.c1===Pt?u.c0*Er/r:u.c1*Er/r?Md:Pt;return u=s&&f>0?u:we.neg(u),{x:p,y:u}}else if(i.length===192&&!n){if(o){if(i.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:we.ZERO,y:we.ZERO}}let c=a(i,0*e,1*e),d=a(i,1*e,2*e),p=a(i,2*e,3*e),l=a(i,3*e,4*e);return{x:we.fromBigTuple([d,c]),y:we.fromBigTuple([l,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function $x(t){let{ORDER:e}=J,{infinity:r,sort:n,value:o}=Hd(ze("signatureHex",t)),s=hc.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=nr(o.slice(0,i)),c=nr(o.slice(i));if(r)return s.ZERO;let d=J.create(a&Mr(J.BITS)),p=J.create(c),l=we.create({c0:p,c1:d}),u=we.add(we.pow(l,kd),w0.b),f=we.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=we.reim(f),b=BigInt(n),y=m>Pt&&m*Er/e!==b,x=m===Pt&&h*Er/e!==b;(y||x)&&(f=we.neg(f));let _=s.fromAffine({x:l,y:f});return _.assertValidity(),_}var hc=Vx({fields:{Fp:J,Fp2:we,Fp6:n3,Fp12:Ie,Fr:r3},G1:{...Rs,Fp:J,htfDefaults:{...b0,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(t,e)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new t(J.mul(e.X,r),e.Y,e.Z);return e.multiplyUnsafe(Mo).negate().multiplyUnsafe(Mo).equals(n)},clearCofactor:(t,e)=>e.multiplyUnsafe(Mo).add(e),mapToCurve:p3,fromBytes:i3,toBytes:s3,ShortSignature:{fromBytes(t){return Xe(t),Hx(t)},fromHex(t){return Hx(t)},toBytes(t){return g0(t)},toRawBytes(t){return g0(t)},toHex(t){return de(g0(t))}}},G2:{...w0,Fp:we,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...b0},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:h3,isTorsionFree:(t,e)=>e.multiplyUnsafe(Mo).negate().equals(jx(t,e)),clearCofactor:(t,e)=>{let r=Mo,n=e.multiplyUnsafe(r).negate(),o=jx(t,e),s=e.double();return s=o3(t,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(e)},fromBytes:c3,toBytes:a3,Signature:{fromBytes(t){return Xe(t),$x(t)},fromHex(t){return $x(t)},toBytes(t){return x0(t)},toRawBytes(t){return x0(t)},toHex(t){return de(x0(t))}}},params:{ateLoopSize:Mo,r:Rs.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:b0,hash:Ct}),u3=c0(we,[[["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(t=>t.map(e=>we.fromBigTuple(e.map(BigInt))))),d3=c0(J,[["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(t=>t.map(e=>BigInt(e)))),l3=l0(J,{A:J.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:J.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:J.create(BigInt(11))}),f3=l0(we,{A:we.create({c0:J.create(Pt),c1:J.create(BigInt(240))}),B:we.create({c0:J.create(BigInt(1012)),c1:J.create(BigInt(1012))}),Z:we.create({c0:J.create(BigInt(-2)),c1:J.create(BigInt(-1))})});function p3(t){let{x:e,y:r}=l3(J.create(t[0]));return d3(e,r)}function h3(t){let{x:e,y:r}=f3(we.fromBigTuple(t));return u3(e,r)}function Kx(t,e,r){let n=typeof t=="string"?t:de(t),o=typeof e=="string"?e:de(e),s=typeof r=="string"?r:de(r);return hc.verifyShortSignature(o,s,n)}var y3=BigInt(1e6),E0=t=>tt(new Fr(t)),Vi=t=>{let r=E0(t)/y3;return new Date(Number(r))};var Gx=60*1e3,_3=60,b3=24,g3=b3*_3,x3=5,w3=5,E3=30*g3,Et;(function(t){t[t.Empty=0]="Empty",t[t.Fork=1]="Fork",t[t.Labeled=2]="Labeled",t[t.Leaf=3]="Leaf",t[t.Pruned=4]="Pruned"})(Et||(Et={}));function T3(t,e){for(let r=0;r<t.length;r++)if(t[r]>e[r])return!0;return!1}var ko=class t{#e=!1;#t=void 0;static async create(e){let r=t.createUnverified(e);return await r.verify(),r}static createUnverified(e){return new t(e.certificate,e.rootKey,e.canisterId,e.blsVerify??Kx,e.maxAgeInMinutes,e.disableTimeVerification,e.agent)}constructor(e,r,n,o,s=x3,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=rr(e),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(e){return Ss(e,this.cert.tree)}lookup_subtree(e){return Gd(e,this.cert.tree)}async verify(){let e=await $d(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=N3(r),s=fe(yc("ic-state-root"),e),i=Dt(this.lookup_path(["time"]));if(!i)throw Me.fromCode(new Ao("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Gx,d=new Date,p=d.getTime()+a,l=p-c,u=p+w3*Gx,f=Vi(i),h=f.getTime()<l,m=f.getTime()>u;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Lt.fromCode(new ps(this._maxAgeInMinutes,f,d,a,"past"));if(m)throw this.#t?.hasSyncedTime()?st.fromCode(new qt("System time has been synced with the IC network, but certificate is still too far in the future.")):Lt.fromCode(new ps(5,f,d,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Lt.fromCode(new Ao("Invalid signature"))}catch(a){throw Lt.fromCode(new Ao("Signature verification failed",a))}}async _checkDelegationAndGetKey(e){if(!e)return this._rootKey;let r=t.createUnverified({certificate:e.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:E3,agent:this.#t});if(r.cert.delegation)throw Me.fromCode(new nd);await r.verify();let n=e.subnet_id,o=oe.fromUint8Array(n);if(!T0({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Lt.fromCode(new yi(this._canisterId,o));let i=Dt(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Lt.fromCode(new od(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},mc=ht("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),O3=96;function N3(t){let e=mc.byteLength+O3;if(t.byteLength!==e)throw Me.fromCode(new bi(e,t.byteLength));let r=t.slice(0,mc.byteLength);if(!xs(r,mc))throw Me.fromCode(new sd(mc,r));return t.slice(mc.byteLength)}function Dt(t){if(t.status===or.Found&&t.value instanceof Uint8Array)return t.value}async function $d(t){switch(t[0]){case Et.Empty:return Ct(yc("ic-hashtree-empty"));case Et.Pruned:return t[1];case Et.Leaf:return Ct(fe(yc("ic-hashtree-leaf"),t[1]));case Et.Labeled:return Ct(fe(yc("ic-hashtree-labeled"),t[1],await $d(t[2])));case Et.Fork:return Ct(fe(yc("ic-hashtree-fork"),await $d(t[1]),await $d(t[2])));default:throw Po}}function yc(t){let e=new Uint8Array([t.length]),r=new TextEncoder().encode(t);return fe(e,r)}function Zx(t){return typeof t[0]=="string"?Ve(t[0]):t[0]}var or;(function(t){t.Unknown="Unknown",t.Absent="Absent",t.Found="Found",t.Error="Error"})(or||(or={}));var Is;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found"})(Is||(Is={}));var Ge;(function(t){t.Absent="Absent",t.Unknown="Unknown",t.Found="Found",t.Less="Less",t.Greater="Greater"})(Ge||(Ge={}));function Ss(t,e){if(t.length===0)switch(e[0]){case Et.Empty:return{status:or.Absent};case Et.Leaf:{if(!e[1])throw st.fromCode(new Co("Invalid tree structure for leaf"));if(e[1]instanceof Uint8Array)return{status:or.Found,value:e[1].slice(e[1].byteOffset,e[1].byteLength+e[1].byteOffset)};throw Po}case Et.Pruned:return{status:or.Unknown};case Et.Labeled:case Et.Fork:return{status:or.Error};default:throw Po}let r=Zx(t),n=_c(r,e);switch(n.status){case Ge.Found:return Ss(t.slice(1),n.value);case Ge.Absent:case Ge.Greater:case Ge.Less:return{status:or.Absent};case Ge.Unknown:return{status:or.Unknown};default:throw Po}}function Gd(t,e){if(t.length===0)return{status:Is.Found,value:e};let r=Zx(t),n=_c(r,e);switch(n.status){case Ge.Found:return Gd(t.slice(1),n.value);case Ge.Unknown:return{status:Is.Unknown};case Ge.Absent:case Ge.Greater:case Ge.Less:return{status:Is.Absent};default:throw Po}}function Kd(t){switch(t[0]){case Et.Empty:return[];case Et.Fork:return Kd(t[1]).concat(Kd(t[2]));default:return[t]}}function _c(t,e){switch(e[0]){case Et.Labeled:return T3(t,e[1])?{status:Ge.Greater}:xs(t,e[1])?{status:Ge.Found,value:e[2]}:{status:Ge.Less};case Et.Fork:{let r=_c(t,e[1]);switch(r.status){case Ge.Greater:{let n=_c(t,e[2]);return n.status===Ge.Less?{status:Ge.Absent}:n}case Ge.Unknown:{let n=_c(t,e[2]);return n.status===Ge.Less?{status:Ge.Unknown}:n}default:return r}}case Et.Pruned:return{status:Ge.Unknown};default:return{status:Ge.Absent}}}function T0(t){let{canisterId:e,subnetId:r,tree:n}=t,o=Ss(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==or.Found)throw Me.fromCode(new $n(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw Me.fromCode(new _i(`Could not find canister ranges for subnet ${r.toText()}`));return rr(o.value).map(c=>[oe.fromUint8Array(c[0]),oe.fromUint8Array(c[1])]).some(c=>c[0].ltEq(e)&&c[1].gtEq(e))}var O0=async t=>{let{agent:e,paths:r,disableCertificateTimeVerification:n=!1}=t,o=oe.from(t.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,d)=>{let p=R3(c,o);return(async()=>{try{if(e.rootKey===null)throw mt.fromCode(new ln);let l=e.rootKey,u=await e.readState(o,{paths:[p]}),f=await ko.create({certificate:u.certificate,rootKey:l,canisterId:o,disableTimeVerification:n,agent:e}),h=(y,x)=>{if(x==="subnet"){let _=v3(u.certificate,o,l);return{path:x,data:_}}else return{path:x,data:Dt(y.lookup_path(p))}},{path:m,data:b}=h(f,s[d]);if(!b)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?i.set(m,null):i.set(m.key,null);else switch(m){case"time":{i.set(m,Vi(b));break}case"controllers":{i.set(m,I3(b));break}case"module_hash":{i.set(m,de(b));break}case"subnet":{i.set(m,b);break}case"candid":{i.set(m,new TextDecoder().decode(b));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":i.set(m.key,b);break;case"leb128":{i.set(m.key,E0(b));break}case"cbor":{i.set(m.key,rr(b));break}case"hex":{i.set(m.key,de(b));break}case"utf-8":i.set(m.key,new TextDecoder().decode(b))}}}catch(l){if(l instanceof Pr&&(l.hasCode(Ao)||l.hasCode(ps)))throw l;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(l),console.groupEnd()}})()});return await Promise.all(a),i},v3=(t,e,r)=>{if(!e._isPrincipal)throw Ne.fromCode(new qt("Invalid canisterId"));let n=rr(t),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=oe.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=oe.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=oe.selfAuthenticating(oe.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!T0({canisterId:e,subnetId:i,tree:o}))throw Lt.fromCode(new yi(e,i));let c=Gd(["subnet",s.subnet_id,"node"],o);if(c.status!==Is.Found)throw Me.fromCode(new $n("Node not found",c.status));if(c.value instanceof Uint8Array)throw st.fromCode(new Co("Invalid node tree"));let d=Kd(c.value),p=new Map;return d.forEach(l=>{let u=oe.from(l[1]).toText(),f=Ss(["public_key"],l[2]);if(f.status!==or.Found)throw Me.fromCode(new $n("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw Me.fromCode(new bi(44,h.byteLength));p.set(u,h)}),{subnetId:oe.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},R3=(t,e)=>{let r=e.toUint8Array();switch(t){case"time":return[Ve("time")];case"controllers":return[Ve("canister"),r,Ve("controllers")];case"module_hash":return[Ve("canister"),r,Ve("module_hash")];case"subnet":return[Ve("subnet")];case"candid":return[Ve("canister"),r,Ve("metadata"),Ve("candid:service")];default:if("key"in t&&"path"in t)if(typeof t.path=="string"||t.path instanceof Uint8Array){let n=t.path,o=typeof n=="string"?Ve(n):n;return[Ve("canister"),r,Ve("metadata"),o]}else return t.path}throw st.fromCode(new qt(`Error while encoding your path for canister status. Please ensure that your path ${t} was formatted correctly.`))},I3=t=>rr(t).map(r=>oe.fromUint8Array(r));var jo=BigInt(0),_t=BigInt(1),N0=BigInt(2),S3=BigInt(8);function A3(t,e,r,n){let o=t.sqr(r),s=t.sqr(n),i=t.add(t.mul(e.a,o),s),a=t.add(t.ONE,t.mul(e.d,t.mul(o,s)));return t.eql(i,a)}function B3(t,e={}){let r=Ld("edwards",t,e,e.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Qn(e,{},{uvRatio:"function"});let a=N0<<BigInt(o.BYTES*8)-_t,c=b=>n.create(b),d=e.uvRatio||((b,y)=>{try{return{isValid:!0,value:n.sqrt(n.div(b,y))}}catch{return{isValid:!1,value:jo}}});if(!A3(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(b,y,x=!1){let _=x?_t:jo;return Fd("coordinate "+b,y,_,a),y}function l(b){if(!(b instanceof h))throw new Error("ExtendedPoint expected")}let u=Lo((b,y)=>{let{X:x,Y:_,Z:T}=b,N=b.is0();y==null&&(y=N?S3:n.inv(T));let R=c(x*y),v=c(_*y),A=n.mul(T,y);if(N)return{x:jo,y:_t};if(A!==_t)throw new Error("invZ was invalid");return{x:R,y:v}}),f=Lo(b=>{let{a:y,d:x}=s;if(b.is0())throw new Error("bad point: ZERO");let{X:_,Y:T,Z:N,T:R}=b,v=c(_*_),A=c(T*T),E=c(N*N),S=c(E*E),V=c(v*y),C=c(E*c(V+A)),g=c(S+c(x*c(v*A)));if(C!==g)throw new Error("bad point: equation left != right (1)");let w=c(_*T),O=c(N*R);if(w!==O)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(y,x,_,T){this.X=p("x",y),this.Y=p("y",x),this.Z=p("z",_,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof h)throw new Error("extended point not allowed");let{x,y:_}=y||{};return p("x",x),p("y",_),new h(x,_,_t,c(x*_))}static fromBytes(y,x=!1){let _=n.BYTES,{a:T,d:N}=s;y=Qh(Uo(y,_,"point")),Ts(x,"zip215");let R=Qh(y),v=y[_-1];R[_-1]=v&-129;let A=Xn(R),E=x?a:n.ORDER;Fd("point.y",A,jo,E);let S=c(A*A),V=c(S-_t),C=c(N*S-T),{isValid:g,value:w}=d(V,C);if(!g)throw new Error("bad point: invalid y coordinate");let O=(w&_t)===_t,P=(v&128)!==0;if(!x&&w===jo&&P)throw new Error("bad point: x=0 and x_0=1");return P!==O&&(w=c(-w)),h.fromAffine({x:w,y:A})}static fromHex(y,x=!1){return h.fromBytes(ze("point",y),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,x=!0){return m.createCache(this,y),x||this.multiply(N0),this}assertValidity(){f(this)}equals(y){l(y);let{X:x,Y:_,Z:T}=this,{X:N,Y:R,Z:v}=y,A=c(x*v),E=c(N*T),S=c(_*v),V=c(R*T);return A===E&&S===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:y}=s,{X:x,Y:_,Z:T}=this,N=c(x*x),R=c(_*_),v=c(N0*c(T*T)),A=c(y*N),E=x+_,S=c(c(E*E)-N-R),V=A+R,C=V-v,g=A-R,w=c(S*C),O=c(V*g),P=c(S*g),L=c(C*V);return new h(w,O,L,P)}add(y){l(y);let{a:x,d:_}=s,{X:T,Y:N,Z:R,T:v}=this,{X:A,Y:E,Z:S,T:V}=y,C=c(T*A),g=c(N*E),w=c(v*_*V),O=c(R*S),P=c((T+N)*(A+E)-C-g),L=O-w,I=O+w,B=c(g-x*C),F=c(P*L),U=c(I*B),q=c(P*B),H=c(L*I);return new h(F,U,H,q)}subtract(y){return this.add(y.negate())}multiply(y){if(!o.isValidNot0(y))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:_}=m.cached(this,y,T=>wr(h,T));return wr(h,[x,_])[0]}multiplyUnsafe(y,x=h.ZERO){if(!o.isValid(y))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return y===jo?h.ZERO:this.is0()||y===_t?this:m.unsafe(this,y,_=>wr(h,_),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return m.unsafe(this,s.n).is0()}toAffine(y){return u(this,y)}clearCofactor(){return i===_t?this:this.multiplyUnsafe(i)}toBytes(){let{x:y,y:x}=this.toAffine(),_=n.toBytes(x);return _[_.length-1]|=y&_t?128:0,_}toHex(){return de(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(y){return wr(h,y)}static msm(y,x){return Pi(h,o,y,x)}_setWindowSize(y){this.precompute(y)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,_t,c(s.Gx*s.Gy)),h.ZERO=new h(jo,_t,_t,jo),h.Fp=n,h.Fn=o;let m=new Ci(h,o.BITS);return h.BASE.precompute(8),h}var Zd=class{constructor(e){this.ep=e}static fromBytes(e){Ai()}static fromHex(e){Ai()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return de(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,r){return this.init(this.ep.precompute(e,r))}toRawBytes(){return this.toBytes()}};function C3(t,e,r={}){if(typeof e!="function")throw new Error('"hash" function param is required');Qn(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=t,a=r.randomBytes||mi,c=r.adjustScalarBytes||(E=>E),d=r.domain||((E,S,V)=>{if(Ts(V,"phflag"),S.length||V)throw new Error("Contexts/pre-hash are not supported");return E});function p(E){return i.create(Xn(E))}function l(E){let S=_.secretKey;E=ze("private key",E,S);let V=ze("hashed private key",e(E),2*S),C=c(V.slice(0,S)),g=V.slice(S,2*S),w=p(C);return{head:C,prefix:g,scalar:w}}function u(E){let{head:S,prefix:V,scalar:C}=l(E),g=o.multiply(C),w=g.toBytes();return{head:S,prefix:V,scalar:C,point:g,pointBytes:w}}function f(E){return u(E).pointBytes}function h(E=Uint8Array.of(),...S){let V=fe(...S);return p(e(d(V,ze("context",E),!!n)))}function m(E,S,V={}){E=ze("message",E),n&&(E=n(E));let{prefix:C,scalar:g,pointBytes:w}=u(S),O=h(V.context,C,E),P=o.multiply(O).toBytes(),L=h(V.context,P,w,E),I=i.create(O+L*g);if(!i.isValid(I))throw new Error("sign failed: invalid s");let B=fe(P,i.toBytes(I));return Uo(B,_.signature,"result")}let b={zip215:!0};function y(E,S,V,C=b){let{context:g,zip215:w}=C,O=_.signature;E=ze("signature",E,O),S=ze("message",S),V=ze("publicKey",V,_.publicKey),w!==void 0&&Ts(w,"zip215"),n&&(S=n(S));let P=O/2,L=E.subarray(0,P),I=Xn(E.subarray(P,O)),B,F,U;try{B=t.fromBytes(V,w),F=t.fromBytes(L,w),U=o.multiplyUnsafe(I)}catch{return!1}if(!w&&B.isSmallOrder())return!1;let q=h(g,F.toBytes(),B.toBytes(),S);return F.add(B.multiplyUnsafe(q)).subtract(U).clearCofactor().is0()}let x=s.BYTES,_={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(E=a(_.seed)){return Uo(E,_.seed,"seed")}function N(E){let S=A.randomSecretKey(E);return{secretKey:S,publicKey:f(S)}}function R(E){return un(E)&&E.length===i.BYTES}function v(E,S){try{return!!t.fromBytes(E,S)}catch{return!1}}let A={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:v,toMontgomery(E){let{y:S}=t.fromBytes(E),V=_.publicKey,C=V===32;if(!C&&V!==57)throw new Error("only defined for 25519 and 448");let g=C?s.div(_t+S,_t-S):s.div(S-_t,S+_t);return s.toBytes(g)},toMontgomerySecret(E){let S=_.secretKey;Uo(E,S);let V=e(E.subarray(0,S));return c(V).subarray(0,S)},randomPrivateKey:T,precompute(E=8,S=t.BASE){return S.precompute(E,!1)}};return Object.freeze({keygen:N,getPublicKey:f,sign:m,verify:y,utils:A,Point:t,lengths:_})}function P3(t){let e={a:t.a,d:t.d,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},r=t.Fp,n=jt(e.n,t.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:t.uvRatio},s={randomBytes:t.randomBytes,adjustScalarBytes:t.adjustScalarBytes,domain:t.domain,prehash:t.prehash,mapToCurve:t.mapToCurve};return{CURVE:e,curveOpts:o,hash:t.hash,eddsaOpts:s}}function D3(t,e){let r=e.Point;return Object.assign({},e,{ExtendedPoint:r,CURVE:t,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function zx(t){let{CURVE:e,curveOpts:r,hash:n,eddsaOpts:o}=P3(t),s=B3(e,r),i=C3(s,n,o);return D3(t,i)}var F3=BigInt(0),no=BigInt(1),Yx=BigInt(2),eS=BigInt(3),V3=BigInt(5),U3=BigInt(8),Ui=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),bc={p:Ui,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:U3,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function L3(t){let e=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Ui,a=t*t%s*t%s,c=kr(a,Yx,s)*a%s,d=kr(c,no,s)*t%s,p=kr(d,V3,s)*d%s,l=kr(p,e,s)*p%s,u=kr(l,r,s)*l%s,f=kr(u,n,s)*u%s,h=kr(f,o,s)*f%s,m=kr(h,o,s)*f%s,b=kr(m,e,s)*p%s;return{pow_p_5_8:kr(b,Yx,s)*t%s,b2:a}}function q3(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var v0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function S0(t,e){let r=Ui,n=Ke(e*e*e,r),o=Ke(n*n*e,r),s=L3(t*o).pow_p_5_8,i=Ke(t*n*s,r),a=Ke(e*i*i,r),c=i,d=Ke(i*v0,r),p=a===t,l=a===Ke(-t,r),u=a===Ke(-t*v0,r);return p&&(i=c),(l||u)&&(i=d),eo(i,r)&&(i=Ke(-i,r)),{isValid:p||l,value:i}}var Ho=jt(bc.p,{isLE:!0}),M3=jt(bc.n,{isLE:!0}),k3={...bc,Fp:Ho,hash:xg,adjustScalarBytes:q3,uvRatio:S0},Kt=zx(k3);var R0=v0,j3=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),H3=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),$3=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),K3=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wx=t=>S0(no,t),G3=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),I0=t=>Kt.Point.Fp.create(Xn(t)&G3);function Xx(t){let{d:e}=bc,r=Ui,n=y=>Ho.create(y),o=n(R0*t*t),s=n((o+no)*$3),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:d}=S0(s,a),p=n(d*t);eo(p,r)||(p=n(-p)),c||(d=p),c||(i=o);let l=n(i*(o-no)*K3-a),u=d*d,f=n((d+d)*a),h=n(l*j3),m=n(no-u),b=n(no+u);return new Kt.Point(n(f*b),n(m*h),n(h*b),n(f*m))}function Z3(t){Xe(t,64);let e=I0(t.subarray(0,32)),r=Xx(e),n=I0(t.subarray(32,64)),o=Xx(n);return new oo(r.add(o))}var oo=class t extends Zd{constructor(e){super(e)}static fromAffine(e){return new t(Kt.Point.fromAffine(e))}assertSame(e){if(!(e instanceof t))throw new Error("RistrettoPoint expected")}init(e){return new t(e)}static hashToCurve(e){return Z3(ze("ristrettoHash",e,64))}static fromBytes(e){Xe(e,32);let{a:r,d:n}=bc,o=Ui,s=T=>Ho.create(T),i=I0(e);if(!hx(Ho.toBytes(i),e)||eo(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(no+r*a),d=s(no-r*a),p=s(c*c),l=s(d*d),u=s(r*n*p-l),{isValid:f,value:h}=Wx(s(u*l)),m=s(h*d),b=s(h*m*u),y=s((i+i)*m);eo(y,o)&&(y=s(-y));let x=s(c*b),_=s(y*x);if(!f||eo(_,o)||x===F3)throw new Error("invalid ristretto255 encoding 2");return new t(new Kt.Point(y,x,no,_))}static fromHex(e){return t.fromBytes(ze("ristrettoHex",e,32))}static msm(e,r){return Pi(t,Kt.Point.Fn,e,r)}toBytes(){let{X:e,Y:r,Z:n,T:o}=this.ep,s=Ui,i=b=>Ho.create(b),a=i(i(n+r)*i(n-r)),c=i(e*r),d=i(c*c),{value:p}=Wx(i(a*d)),l=i(p*a),u=i(p*c),f=i(l*u*o),h;if(eo(o*f,s)){let b=i(r*R0),y=i(e*R0);e=b,r=y,h=i(l*H3)}else h=u;eo(e*f,s)&&(r=i(-r));let m=i((n-r)*h);return eo(m,s)&&(m=i(-m)),Ho.toBytes(m)}equals(e){this.assertSame(e);let{X:r,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=d=>Ho.create(d),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(t.ZERO)}};oo.BASE=new oo(Kt.Point.BASE);oo.ZERO=new oo(Kt.Point.ZERO);oo.Fp=Ho;oo.Fn=M3;var Jx,Qx,zd=class{static{Jx=Symbol.iterator,Qx=Symbol.toStringTag}#e;#t;constructor(e={}){this[Jx]=this.entries.bind(this),this[Qx]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=e,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let e=Date.now();for(let[r,n]of this.#e.entries())e-n.timestamp>this.#t&&this.#e.delete(r);return this}set(e,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(e,n),this}get(e){let r=this.#e.get(e);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(e);return}return r.value}}clear(){this.#e.clear()}entries(){let e=this.#e.entries();return function*(){for(let[n,o]of e)yield[n,o.value]}()}values(){let e=this.#e.values();return function*(){for(let n of e)yield n.value}()}keys(){return this.#e.keys()}forEach(e,r){for(let[n,o]of this.#e.entries())e.call(r,o.value,n,this)}has(e){return this.#e.has(e)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}};var ew=t=>{if(t<=127)return 1;if(t<=255)return 2;if(t<=65535)return 3;if(t<=16777215)return 4;throw Ne.fromCode(new Ma("Length too long (> 4 bytes)"))},tw=(t,e,r)=>{if(r<=127)return t[e]=r,1;if(r<=255)return t[e]=129,t[e+1]=r,2;if(r<=65535)return t[e]=130,t[e+1]=r>>8,t[e+2]=r,3;if(r<=16777215)return t[e]=131,t[e+1]=r>>16,t[e+2]=r>>8,t[e+3]=r,4;throw Ne.fromCode(new Ma("Length too long (> 4 bytes)"))},A0=(t,e)=>{if(t[e]<128)return 1;if(t[e]===128)throw Ne.fromCode(new Dr("Invalid length 0"));if(t[e]===129)return 2;if(t[e]===130)return 3;if(t[e]===131)return 4;throw Ne.fromCode(new Dr("Length too long (> 4 bytes)"))},z3=(t,e)=>{let r=A0(t,e);if(r===1)return t[e];if(r===2)return t[e+1];if(r===3)return(t[e+1]<<8)+t[e+2];if(r===4)return(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];throw Ne.fromCode(new Dr("Length too long (> 4 bytes)"))},gc=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),As=Uint8Array.from([48,5,6,3,43,101,112]),sS=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),iS=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 Bs(t,e){let r=2+ew(t.byteLength+1),n=e.byteLength+r+t.byteLength,o=0,s=new Uint8Array(1+ew(n)+n);return s[o++]=48,o+=tw(s,o,n),s.set(e,o),o+=e.byteLength,s[o++]=3,o+=tw(s,o,t.byteLength+1),s[o++]=0,s.set(new Uint8Array(t),o),s}var Cs=(t,e)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Ne.fromCode(new Dr(`Expected ${c} at offset ${r}`))},o=new Uint8Array(t);if(n(48,"sequence"),r+=A0(o,r),!xs(o.slice(r,r+e.byteLength),e))throw Ne.fromCode(new Dr("Not the expected OID."));r+=e.byteLength,n(3,"bit string");let s=z3(o,r)-1;r+=A0(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw Ne.fromCode(new id(s,i.length));return i};var Yd=class t{static from(e){return this.fromDer(e.toDer())}static fromRaw(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){return Bs(e,As)}static derDecode(e){let r=Cs(e,As);if(r.length!==this.RAW_KEY_LENGTH)throw Ne.fromCode(new Dr("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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw Ne.fromCode(new Dr("An Ed25519 public key must be exactly 32 bytes long"));this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var B0=class{constructor(){this.observers=[]}subscribe(e){this.observers.push(e)}unsubscribe(e){this.observers=this.observers.filter(r=>r!==e)}notify(e,...r){this.observers.forEach(n=>n(e,...r))}},Wd=class extends B0{constructor(){super()}print(e,...r){this.notify({message:e,level:"info"},...r)}warn(e,...r){this.notify({message:e,level:"warn"},...r)}error(e,r,...n){this.notify({message:e,level:"error",error:r},...n)}};var Xd=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(e=t.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=e;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#d=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let e=this.#t*this.#e,r=this.#e-e,n=this.#e+e;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var _n;(function(t){t.Received="received",t.Processing="processing",t.Replied="replied",t.Rejected="rejected",t.Unknown="unknown",t.Done="done"})(_n||(_n={}));var D0=60*1e3,Y3=1e6,W3=0,X3="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var J3="ic0.app",Q3=".ic0.app",eN="icp0.io",tN=".icp0.io",rN="icp-api.io",nN=".icp-api.io",C0=200,oN=202,sN=404;function iN(){let t;if(typeof window<"u")if(window.fetch)t=window.fetch.bind(window);else throw mt.fromCode(new xi("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)t=global.fetch.bind(global);else throw mt.fromCode(new xi("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&&(t=self.fetch.bind(self));if(t)return t;throw mt.fromCode(new xi("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function aN(t){let e;if(t!==void 0)!t.match(/^[a-z]+:/)&&typeof window<"u"?e=new URL(window.location.protocol+"//"+t):e=new URL(t);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?e=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):e=new URL("https://icp-api.io")}return e.toString()}var Ps=class t{#e;#t;#r;#c;#i;#d;#n;#o;#a;#g;#s;#l;#f;#u;get#T(){return this.#u*D0}#p;#h;#m;#y;constructor(e={}){this.#e=null,this.#t=!1,this.#r=W3,this.#c=!1,this.#i=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new Wd,this.#p=[],this.#h=[],this.#m=new zd({expirationTime:5*D0}),this.#y=!0,this.#w=(o,s)=>{if(this.#y===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let d of a){let{timestamp:p,identity:l}=d,u=oe.fromUint8Array(l).toText(),f;if(i===No.Replied){let{reply:x}=o;f=Ja({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===No.Rejected){let{reject_code:x,reject_message:_,error_code:T}=o;f=Ja({status:i,reject_code:x,reject_message:_,error_code:T,timestamp:BigInt(p),request_id:c})}else throw st.fromCode(new qt(`Unknown status: ${i}`));let h=fe(jh,f),m=s.nodeKeys.get(u);if(!m)throw Me.fromCode(new _d);let b=Yd.fromDer(m).rawKey;if(Kt.verify(d.signature,h,b))return o;throw Lt.fromCode(new bd(u))}return o},this.config=e,this.#o=e.fetch||iN()||fetch.bind(global),this.#a=e.fetchOptions,this.#g=e.callOptions,this.#t=e.shouldFetchRootKey??!1,this.#d=e.shouldSyncTime??!1,e.rootKey?this.rootKey=e.rootKey:this.#t?this.rootKey=null:this.rootKey=ht(X3);let r=aN(e.host);this.host=new URL(r),e.verifyQuerySignatures!==void 0&&(this.#y=e.verifyQuerySignatures),this.#l=e.retryTimes??3;let n=()=>new Xd({maxIterations:this.#l});if(this.#f=e.backoffStrategy||n,this.host.hostname.endsWith(Q3)?this.host.hostname=J3:this.host.hostname.endsWith(tN)?this.host.hostname=eN:this.host.hostname.endsWith(nN)&&(this.host.hostname=rN),e.credentials){let{name:o,password:s}=e.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(e.identity||new gr),e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes>5)throw Ne.fromCode(new ms("The maximum ingress expiry time is 5 minutes.",e.ingressExpiryInMinutes));if(e.ingressExpiryInMinutes&&e.ingressExpiryInMinutes<=0)throw Ne.fromCode(new ms("Ingress expiry time must be greater than 0.",e.ingressExpiryInMinutes));this.#u=e.ingressExpiryInMinutes||5,this.addTransform("update",Yh(ic)),e.useQueryNonces&&this.addTransform("query",Yh(ic)),e.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(e={}){return new this({...e})}static async create(e={}){let r=t.createSync(e);return await r.#b(),r}static async from(e){try{return"config"in e?await t.create(e.config):await t.create({fetch:e._fetch,fetchOptions:e._fetchOptions,callOptions:e._callOptions,host:e._host.toString(),identity:e._identity??void 0})}catch{throw Ne.fromCode(new hd)}}isLocal(){let e=this.host.hostname;return e==="127.0.0.1"||e.endsWith("127.0.0.1")}addTransform(e,r,n=r.priority||0){if(e==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(e==="query"){let o=this.#p.findIndex(s=>(s.priority||0)<n);this.#p.splice(o>=0?o:this.#p.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw mt.fromCode(new Bo);return(await this.#n).getPrincipal()}async call(e,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw mt.fromCode(new Bo);let i=oe.from(e),a=r.effectiveCanisterId?oe.from(r.effectiveCanisterId):i;await this.#b(a);let c=s.getPrincipal(),d=P0(this.#u,this.#r),p={request_type:Bd.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:d},l=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.Call,body:p}),u;r?.nonce?u=f(r.nonce):l.body.nonce?u=f(l.body.nonce):u=void 0,p.nonce=u;function f(y){return Object.assign(y,{__nonce__:void 0})}l=await s.transformRequest(l);let h=oc(l.body),m=this.#f(),b=zn(p);try{let _=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,l),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#g,...l.request,body:h})),{responseBodyBytes:T,...N}=await this.#_({requestFn:_,backoff:m,tries:0}),R=T.byteLength>0?rr(T):null;return{requestId:b,response:{...N,body:R},requestDetails:p}}catch(y){let x;if(y instanceof Pr){if(y.hasCode(ja))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(e,{...r,callSync:!1},n);if(y.hasCode(ms)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);y.code.requestContext={requestId:b,senderPubKey:l.body.sender_pubkey,senderSignature:l.body.sender_sig,ingressExpiry:l.body.content.ingress_expiry},x=y}else x=st.fromCode(new qt(y));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#x(e){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=e,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw st.fromCode(new hs(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let d;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===C0)d={...rr(Ni(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Pd(f.headers)},requestId:s};else throw Me.fromCode(new ka(f.status,f.statusText,Pd(f.headers),await f.text()))}catch(f){if(a<this.#l)return this.log.warn(`Caught exception while attempting to make query:
|
|
119
119
|
${f}
|
|
120
|
-
Retrying query.`),await this.#x({...e,tries:a+1});throw f instanceof Pr?f:
|
|
120
|
+
Retrying query.`),await this.#x({...e,tries:a+1});throw f instanceof Pr?f:qa.fromCode(new Ha(f))}if(!this.#y)return d;let p=d.signatures?.[0]?.timestamp;if(!p)throw Me.fromCode(new md("Timestamp not found in query response. This suggests a malformed or malicious response."));let l=Number(BigInt(p)/BigInt(Y3));if(Date.now()+this.#r-l>this.#T){if(a<this.#l)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:s,signatureTimestampMs:l}),await this.#x({...e,tries:a+1});throw Lt.fromCode(new ud(this.#u,s,a))}return d}async#_(e){let{requestFn:r,backoff:n,tries:o}=e,s=o===0?0:n.next();if(s===null)throw Me.fromCode(new hs(`Retry strategy exhausted after ${o} attempts.`));s>0&&await new Promise(p=>setTimeout(p,s));let i,a=new Uint8Array;try{i=await r(),i.status===C0&&(a=Ni(await i.clone().arrayBuffer()))}catch(p){if(o<this.#l)return this.log.warn(`Caught exception while attempting to make request:
|
|
121
121
|
${p}
|
|
122
|
-
Retrying request.`),await this.#_({requestFn:r,backoff:n,tries:o+1});throw Ma.fromCode(new $a(p))}let c=Pd(i.headers);if(i.status===C0||i.status===oN)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let d=await i.text();if(i.status===sN&&i.url.includes("api/v3"))throw Me.fromCode(new Ha);if(d.startsWith("Invalid request expiry: "))throw Ne.fromCode(new ys(d,this.#u));if(o<this.#l)return await this.#_({requestFn:r,backoff:n,tries:o+1});throw Me.fromCode(new ja(i.status,i.statusText,c,d))}async query(e,r,n){let o=this.#f(),s=r.effectiveCanisterId?oe.from(r.effectiveCanisterId):oe.from(e);await this.#b(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${e.toString()}`);let i,a=await(n??this.#n);if(!a)throw yt.fromCode(new Bo);let c=oe.from(e),d=a.getPrincipal(),p=P0(this.#u,this.#r),l={request_type:Es.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:d,ingress_expiry:p},u=zn(l);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.Query,body:l}),i=await a.transformRequest(i);let f=sc(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:u,backoff:o,tries:0},y=async()=>{let m=await this.#x(h);return{requestDetails:l,...m}},b=async()=>{let m=this.#y.get(s.toString());if(m)return m;await this.fetchSubnetKeys(s.toString());let x=this.#y.get(s.toString());if(!x)throw Lt.fromCode(new md);return x};try{if(!this.#m)return await y();let[m,x]=await Promise.all([y(),b()]);try{return this.#w(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#y.delete(s.toString());let _=await b();return this.#w(m,_)}}catch(m){let x;throw m instanceof Pr?(m.code.requestContext={requestId:u,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=m):x=st.fromCode(new qt(m)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(e,r){await this.#b();let n=await(r??this.#n);if(!n)throw yt.fromCode(new Bo);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.ReadState,body:{request_type:Es.ReadState,paths:e.paths,sender:o,ingress_expiry:P0(this.#u,this.#r)}});return n.transformRequest(s)}async readState(e,r,n,o){await this.#E();let s=oe.from(e);function i(p){for(let l of p.paths){let[u,f]=l,h=new TextEncoder().encode("request_status");if(xs(u,h))return f}}let a,c;if(o)a=o,c=zn(a);else{c=i(r);let p=await this.#n;if(!p)throw yt.fromCode(new Bo);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let d=this.#f();try{let{responseBodyBytes:p}=await this.#_({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:sc(a.body)}),backoff:d,tries:0}),l=rr(p);return this.log.print("Read state response:",l),l}catch(p){let l;throw p instanceof Pr?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},l=p):l=st.fromCode(new qt(p)),this.log.error(`Error while making read state: ${l.message}`,l),l}}parseTimeFromResponse(e){let r;if(e.certificate){let n=rr(e.certificate);if(n&&"tree"in n)r=n.tree;else throw Me.fromCode(new Co("Could not decode time from response"));let o=Ss(["time"],r);if(o.status!==or.Found)throw Me.fromCode(new $n("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 Me.fromCode(new bi("Time was not in its expected format."));let s=Ui(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(e){this.#i=this.#i??(async()=>{await this.#E();let r=Date.now();try{e||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=e??oe.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=t.createSync({identity:new gr,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await O0({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof Pr?n:st.fromCode(new qt(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let e=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#f(),{responseBodyBytes:n}=await this.#_({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:e,...this.#a}),tries:0});return rr(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let e=await this.status();return this.rootKey=e.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#b(e){await Promise.all([this.#E(),this.#O(e)])}async#E(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw yt.fromCode(new ln(this.#t))}async#O(e){this.#d&&!this.hasSyncedTime()&&await this.syncTime(e)}invalidateIdentity(){this.#n=null}replaceIdentity(e){this.#n=Promise.resolve(e)}async fetchSubnetKeys(e){let r=oe.from(e);await this.#b(r);let o=(await O0({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#y.set(r.toText(),o),o}_transform(e){let r=Promise.resolve(e);if(e.endpoint===Wn.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#p)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function P0(t,e){let r=t*D0;return Ai.fromDeltaInMilliseconds(r,e)}var cN=300*1e3;function F0(){return pN(dN(uN(),1e3),fN(1e3,1.2),lN(cN))}function uN(){let t=!0;return async()=>t?(t=!1,!0):!1}function dN(t,e){return async(r,n,o)=>{if(await t(r,n,o))return new Promise(s=>setTimeout(s,e))}}function lN(t){let e=Date.now()+t;return async(r,n,o)=>{if(Date.now()>e)throw Me.fromCode(new hs(`Request timed out after ${t} msec`,n,o))}}function fN(t,e){let r=t;return()=>new Promise(n=>setTimeout(()=>{r*=e,n()},r))}function pN(...t){return async(e,r,n)=>{for(let o of t)await o(e,r,n)}}var sw={strategy:F0(),preSignReadStateRequest:!1};function iw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function V0(t,e){return t!==null&&typeof t=="object"&&iw(t,e)}function yN(t,e){return iw(t,e)&&typeof t[e]=="function"}function ow(t){return V0(t,"body")&&V0(t.body,"content")&&t.body.content.request_type===Es.ReadState&&V0(t.body.content,"ingress_expiry")&&typeof t.body.content.ingress_expiry=="object"&&t.body.content.ingress_expiry!==null&&yN(t.body.content.ingress_expiry,"toHash")}async function U0(t,e,r,n={}){let o=[Ve("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await mN({paths:[o],agent:t,pollingOptions:n}),s=await t.readState(e,{paths:[o]},void 0,i)):s=await t.readState(e,{paths:[o]}),t.rootKey==null)throw yt.fromCode(new ln);let c=await ko.create({certificate:s.certificate,rootKey:t.rootKey,canisterId:e,blsVerify:n.blsVerify,agent:t}),d=Dt(c.lookup_path([...o,Ve("status")])),p;switch(typeof d>"u"?p=_n.Unknown:p=new TextDecoder().decode(d),p){case _n.Replied:return{reply:Dt(c.lookup_path([...o,"reply"])),certificate:c};case _n.Received:case _n.Unknown:case _n.Processing:return await(n.strategy??F0())(e,r,p),U0(t,e,r,{...n,request:i});case _n.Rejected:{let l=new Uint8Array(Dt(c.lookup_path([...o,"reject_code"])))[0],u=new TextDecoder().decode(Dt(c.lookup_path([...o,"reject_message"]))),f=Dt(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw So.fromCode(new xi(r,l,u,h))}case _n.Done:throw st.fromCode(new fd(r))}throw Po}async function mN(t){let{paths:e,agent:r,pollingOptions:n}=t;if(n.request&&ow(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:e},void 0);if(!ow(o))throw Ne.fromCode(new gd(o));return o}var Tr=Symbol.for("ic-agent-metadata"),Jd=class t{static agentOf(e){return e[Tr].config.agent}static interfaceOf(e){return e[Tr].service}static canisterIdOf(e){return oe.from(e[Tr].config.canisterId)}static createActorClass(e,r){let n=e({IDL:gs});class o extends t{constructor(i){if(!i.canisterId)throw Ne.fromCode(new Ka(i.canisterId));let a=typeof i.canisterId=="string"?oe.fromText(i.canisterId):i.canisterId;super({config:{...aw,...i,canisterId:a},service:n});for(let[c,d]of n._fields)r?.httpDetails&&d.annotations.push(L0),r?.certificate&&d.annotations.push(cw),this[c]=bN(this,c,d,i.blsVerify)}}return o}static createActor(e,r){if(!r.canisterId)throw Ne.fromCode(new Ka(r.canisterId));return new(this.createActorClass(e))(r)}static createActorWithHttpDetails(e,r){return new(this.createActorClass(e,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(e,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(e,n))(r)}constructor(e){this[Tr]=Object.freeze(e)}};function qi(t,e){let r=gs.decode(t,e);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var aw={pollingOptions:sw},L0="http-details",cw="certificate";function bN(t,e,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...t[Tr].config.queryTransform?.(e,a,{...t[Tr].config,...i})};let c=i.agent||t[Tr].config.agent||new Ps,d=oe.from(i.canisterId||t[Tr].config.canisterId),p=gs.encode(r.argTypes,a),l=await c.query(d,{methodName:e,arg:p,effectiveCanisterId:i.effectiveCanisterId}),u={...l.httpDetails,requestDetails:l.requestDetails};switch(l.status){case No.Rejected:{let f=new dd(l.requestId,l.reject_code,l.reject_message,l.error_code,l.signatures);throw f.callContext={canisterId:d,methodName:e,httpDetails:u},So.fromCode(f)}case No.Replied:return r.annotations.includes(L0)?{httpDetails:u,result:qi(r.retTypes,l.reply.arg)}:qi(r.retTypes,l.reply.arg)}}:o=async(i,...a)=>{i={...i,...t[Tr].config.callTransform?.(e,a,{...t[Tr].config,...i})};let c=i.agent||t[Tr].config.agent||Ps.createSync(),{canisterId:d,effectiveCanisterId:p,pollingOptions:l}={...aw,...t[Tr].config,...i},u=oe.from(d),f=p!==void 0?oe.from(p):u,h=gs.encode(r.argTypes,a),{requestId:y,response:b,requestDetails:m}=await c.call(u,{methodName:e,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,_;if(ng(b.body)){if(c.rootKey==null)throw yt.fromCode(new ln);let v=b.body.certificate;_=await ko.create({certificate:v,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let A=[Ve("request_status"),y];switch(new TextDecoder().decode(Dt(_.lookup_path([...A,"status"])))){case"replied":x=Dt(_.lookup_path([...A,"reply"]));break;case"rejected":{let S=new Uint8Array(Dt(_.lookup_path([...A,"reject_code"])))[0],V=new TextDecoder().decode(Dt(_.lookup_path([...A,"reject_message"]))),C=Dt(_.lookup_path([...A,"error_code"])),g=C?new TextDecoder().decode(C):void 0,w=new xi(y,S,V,g);throw w.callContext={canisterId:u,methodName:e,httpDetails:b},So.fromCode(w)}}}else if(rg(b.body)){let{reject_code:v,reject_message:A,error_code:E}=b.body,S=new ld(y,v,A,E);throw S.callContext={canisterId:u,methodName:e,httpDetails:b},So.fromCode(S)}if(b.status===202){let v={...l,blsVerify:n},A=await U0(c,f,y,v);_=A.certificate,x=A.reply}let T=r.annotations.includes(L0),N=r.annotations.includes(cw),R={...b,requestDetails:m};if(x!==void 0)return T&&N?{httpDetails:R,certificate:_,result:qi(r.retTypes,x)}:N?{certificate:_,result:qi(r.retTypes,x)}:T?{httpDetails:R,result:qi(r.retTypes,x)}:qi(r.retTypes,x);{let v=new qt(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(A=>A.display()).join(",")}].`);throw v.callContext={canisterId:u,methodName:e,httpDetails:R},st.fromCode(v)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var hw=De(Pe(),1);var Gt=De(Pe(),1),mw=De(Pe(),1),xw=De(Pe(),1),gN=({authData:t})=>{if(t.byteLength<37)return{invalidAuthData:null};if(t.byteLength<53)return{invalidAuthData:null};let e=t.slice(37,53),r=xN({bytes:e});return"aaguid"in r?{aaguidBytes:e,aaguidText:r.aaguid}:{unknownProvider:null}},xN=({bytes:t})=>{if(t.length!==16)return{invalidBytes:null};let e=(t instanceof Uint8Array?(0,pw.uint8ArrayToArrayOfNumber)(t):t).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return e==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:e}};function wN(t){let e=new DataView(new ArrayBuffer(2)),r=t.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>e.setUint8(s,o));let n=e.getUint16(0);return t.slice(55+n)}function EN(t){return Bs(t,xc)}var TN=class{constructor(t){this._cose=t,this.#e=EN(t)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},yw=class{#e;#t;constructor({rawId:t,cose:e}){this.#e=t,this.#t=new TN(e)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return(0,hw.uint8ArrayToBase64)(this.#e)}},ON=class extends yw{#e;#t;constructor({authData:t,...e}){super(e);let r=gN({authData:t});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}},NN=class extends yw{},vN=class extends Error{},RN=class extends Error{},IN=class extends Error{},SN=class extends Error{},AN=class extends Error{},BN=class extends Error{},CN=class extends Error{},uw=class extends Error{};var PN={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},DN=6e4,_w=()=>window.crypto.getRandomValues(new Uint8Array(16)),FN=()=>_w(),VN=()=>_w(),UN=()=>{let{location:{href:t}}=window,e=URL.parse(t);if((0,mw.isNullish)(e))throw new vN;let{hostname:r}=e;return r},bw=({appId:t})=>t?.id??UN(),LN=({appId:t,user:e}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:t?.name??r,id:bw({appId:t})}}),o=()=>({user:{id:VN(),name:e?.name??e?.displayName??r,displayName:e?.displayName??r}});return{attestation:"direct",challenge:FN(),...n(),...o(),pubKeyCredParams:Object.values(PN).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},qN=(t={})=>({rpId:bw(t),allowCredentials:[],userVerification:"required"}),q0=async({fn:t,step:e,onProgress:r})=>{r?.({step:e,state:"in_progress"});try{let n=await t();return r?.({step:e,state:"success"}),n}catch(n){throw r?.({step:e,state:"error"}),n}},$o=(t=>(t[t.RequestingUserCredential=0]="RequestingUserCredential",t[t.FinalizingCredential=1]="FinalizingCredential",t[t.Signing=2]="Signing",t))($o||{}),gw=({timeout:t})=>AbortSignal.timeout(t??DN),MN=async({challenge:t,credentialIds:e,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...qN(r),challenge:t.buffer,allowCredentials:(e??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:gw({timeout:n})}),dw=t=>{if(t.status!=="initialized")throw new RN},lw=t=>{if((0,Gt.isNullish)(t))throw new IN},fw=({type:t})=>{if(t!=="public-key")throw new SN},M0=class wc extends mn{#e;#t;constructor({onProgress:e,...r}){if(super(),this.#e=e,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=wc.#r({credential:new ON(r)})}static#r({credential:e}){return{status:"initialized",credential:e}}static async createWithNewCredential({passkeyOptions:e,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:LN(e),signal:gw({timeout:r})});lw(o),fw(o);let{response:{attestationObject:s},rawId:i}=o;if((0,Gt.isNullish)(s))throw new AN;let{authData:a}=Ad.decode((0,Gt.arrayBufferToUint8Array)(s)),c=wN(a);return new wc({...n,rawId:(0,Gt.arrayBufferToUint8Array)(i),cose:c,authData:a})}static async createWithExistingCredential(e){return new wc(e)}getPublicKey(){dw(this.#t);let{credential:e}=this.#t;return e.getPublicKey()}getCredential(){dw(this.#t);let{credential:e}=this.#t;return e}async sign(e){let r=await q0({fn:async()=>{let n=await MN({challenge:e,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return lw(n),fw(n),n},step:0,onProgress:this.#e});return await q0({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!(0,Gt.uint8ArraysEqual)({a:this.#t.credential.getCredentialId(),b:(0,Gt.arrayBufferToUint8Array)(n)}))throw new BN;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:(0,Gt.arrayBufferToUint8Array)(n)});this.#t=wc.#r({credential:new NN({rawId:(0,Gt.arrayBufferToUint8Array)(n),cose:s})})},step:1,onProgress:this.#e}),await q0({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if((0,Gt.isNullish)(s))throw new uw;if((0,Gt.isNullish)(i))throw new uw;let a=Ad.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:(0,Gt.arrayBufferToUint8Array)(i)});if((0,Gt.isNullish)(a))throw new CN;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},kN=async()=>(0,xw.nonNullish)(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var w1=De(Pe(),1);var Mi=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:r})=>r(e))}subscribe(e){let r=Symbol();return this.callbacks.push({id:r,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Or=class t extends Mi{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let r=super.subscribe(e);return e(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var k0=({message:t,detail:e})=>{let r=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(r)};var x1=De(Pe(),1);var el=De(Pe(),1);var Qd=De(Pe(),1);var j0=De(Pe(),1);var ki="http://127.0.0.1:5987",ww="rdmx6-jaaaa-aaaaa-aaadq-cai";var Ew=async({identity:t,container:e})=>{let n=(0,j0.nonNullish)(e)&&e!==!1?e===!0?ki:e:"https://icp-api.io",o=(0,j0.nonNullish)(e);return await Ps.create({identity:t,shouldFetchRootKey:o,host:n})};var ji=class t{static instance;#e=void 0;constructor(){}static getInstance(){return(0,Qd.isNullish)(t.instance)&&(t.instance=new t),t.instance}async getAgent({identity:e,...r}){let n=e.getPrincipal().toText();if((0,Qd.isNullish)(this.#e)||(0,Qd.isNullish)(this.#e[n])){let o=await Ew({identity:e,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Hi=class t{static instance;#e=void 0;constructor(){}static getInstance(){return(0,el.isNullish)(t.instance)&&(t.instance=new t),t.instance}async getActor({satelliteId:e,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${e};`;if((0,el.isNullish)(this.#e)||(0,el.isNullish)(this.#e[s])){let i=await this.createActor({satelliteId:e,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:e,satelliteId:r,...n}){let o=await ji.getInstance().getAgent(n);return Jd.createActor(e,{agent:o,canisterId:r})}};var Tw=t=>(t.preventDefault(),t.returnValue="Are you sure you want to exit?"),jN=()=>{window.addEventListener("beforeunload",Tw,{capture:!0})},HN=()=>{window.removeEventListener("beforeunload",Tw,{capture:!0})},H0=async({fn:t})=>{try{return jN(),await t()}finally{HN()}};var vc=De(Pe(),1);var ur=class t extends Mi{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}reset(){this.env=null}subscribe(e){let r=super.subscribe(e);return e(this.env),r}};var Ow=BigInt(144e11),Nw=!1,vw={width:576,height:576},Rw={width:505,height:705},Iw="internetcomputer.org";var $0=De(Pe(),1);var tl=De(Pe(),1),Sw=async t=>{let e=new Blob([JSON.stringify(t,tl.jsonReplacer)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},rl=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),tl.jsonReviver)},nl=()=>typeof window<"u";var ol=({width:t,height:e})=>{if(!nl()||(0,$0.isNullish)(window)||(0,$0.isNullish)(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-e/2,s=r/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${o}, left=${s}`};function Aw(t){return t!==null&&typeof t=="object"}var $i=class t{static from(e){if(typeof e=="string"){let r=ht(e);return this.fromRaw(r)}else if(Aw(e)){let r=e;if(Aw(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(fn(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(fn(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(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){let r=Bs(e,As);return r.__derEncodedPublicKey__=void 0,r}static derDecode(e){let r=Cs(e,As);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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}},Ds=class t extends mn{static generate(e){if(e&&e.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");e||(e=Kt.utils.randomPrivateKey()),Og(e,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]=e[o];let n=Kt.getPublicKey(r);return t.fromKeyPair(n,r)}static fromParsedJson(e){let[r,n]=e;return new t($i.fromDer(ht(r)),ht(n))}static fromJSON(e){let r=JSON.parse(e);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(e)}`)}static fromKeyPair(e,r){return new t($i.fromRaw(e),r)}static fromSecretKey(e){let r=Kt.getPublicKey(e);return t.fromKeyPair(r,e)}#e;#t;constructor(e,r){super(),this.#e=$i.from(e),this.#t=r}toJSON(){return[de(this.#e.toDer()),de(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(e){let r=Kt.sign(e,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(e,r,n){let[o,s,i]=[e,r,n].map(a=>(typeof a=="string"&&(a=ht(a)),fn(a)));return Kt.verify(o,s,i)}};var K0=class t extends Error{constructor(e){super(e),this.message=e,Object.setPrototypeOf(this,t.prototype)}};function Bw(t){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(t)return t;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new K0("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 Fs=class t extends mn{static async generate(e){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=e??{},s=Bw(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=fn(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(e,r){let n=Bw(r),o=fn(await n.exportKey("spki",e.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new t(e,o,n)}constructor(e,r,n){super(),this._keyPair=e,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let e=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return e},r}async sign(e){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=fn(await this._subtleCrypto.sign(r,this._keyPair.privateKey,e));return Object.assign(n,{__signature__:void 0}),n}};var sl=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 oe.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(e){this.#e=e}};function G0(t){if(typeof t!="string"||t.length<64)throw new Error("Invalid public key.");return ht(t)}var Ki=class{constructor(e,r,n){this.pubkey=e,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:de(this.pubkey),...this.targets&&{targets:this.targets.map(e=>e.toHex())}}}};async function $N(t,e,r,n){let o=new Ki(e.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Hh,...new Uint8Array(zn({...o}))]),i=await t.sign(s);return{delegation:o,signature:i}}var Vs=class t{static async create(e,r,n=new Date(Date.now()+900*1e3),o={}){let s=await $N(e,r,n,o.targets);return new t([...o.previous?.delegations||[],s],o.previous?.publicKey||e.getPublicKey().toDer())}static fromJSON(e){let{publicKey:r,delegations:n}=typeof e=="string"?JSON.parse(e):e;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:d,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Ki(G0(c),BigInt("0x"+d),p&&p.map(l=>{if(typeof l!="string")throw new Error("Invalid target.");return oe.fromHex(l)})),signature:G0(a)}});return new this(o,G0(r))}static fromDelegations(e,r){return new this(e,r)}constructor(e,r){this.delegations=e,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(e=>{let{delegation:r,signature:n}=e,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:de(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:de(n)}}),publicKey:de(this.publicKey)}}},Us=class extends mn{static fromDelegation(e,r){return new this(e,r)}constructor(e,r){super(),this._inner=e,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(e){return this._inner.sign(e)}async transformRequest(e){let{body:r,...n}=e,o=await zn(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ec,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ec=class t extends sl{#e;get delegation(){return this.#e}constructor(e,r){super(e),this.#e=r}static fromDelegation(e,r){return new t(e,r)}};function Z0(t,e){for(let{delegation:o}of t.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=e?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?oe.fromText(o):o)):r.push(typeof n=="string"?oe.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of t.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Cw=["mousedown","mousemove","keydown","touchstart","wheel"],Tc=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(e={}){return new this(e)}constructor(e={}){let{onIdle:r,idleTimeout:n=600*1e3}=e||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Cw.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...d)=>{let p=this,l=function(){c=void 0,i.apply(p,d)};clearTimeout(c),c=window.setTimeout(l,a)}};if(e?.captureScroll){let i=s(o,e?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(e){this.callbacks.push(e)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let e=this._resetTimer.bind(this);Cw.forEach(function(r){document.removeEventListener(r,e,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let e=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(e,this.idleTimeout)}};var KN=(t,e)=>e.some(r=>t instanceof r),Pw,Dw;function GN(){return Pw||(Pw=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ZN(){return Dw||(Dw=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Fw=new WeakMap,Y0=new WeakMap,Vw=new WeakMap,z0=new WeakMap,X0=new WeakMap;function zN(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",s),t.removeEventListener("error",i)},s=()=>{r(bn(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",s),t.addEventListener("error",i)});return e.then(r=>{r instanceof IDBCursor&&Fw.set(r,t)}).catch(()=>{}),X0.set(e,t),e}function YN(t){if(Y0.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",i),t.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",s),t.addEventListener("error",i),t.addEventListener("abort",i)});Y0.set(t,e)}var W0={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return Y0.get(t);if(e==="objectStoreNames")return t.objectStoreNames||Vw.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return bn(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Uw(t){W0=t(W0)}function WN(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(il(this),e,...r);return Vw.set(n,e.sort?e.sort():[e]),bn(n)}:ZN().includes(t)?function(...e){return t.apply(il(this),e),bn(Fw.get(this))}:function(...e){return bn(t.apply(il(this),e))}}function XN(t){return typeof t=="function"?WN(t):(t instanceof IDBTransaction&&YN(t),KN(t,GN())?new Proxy(t,W0):t)}function bn(t){if(t instanceof IDBRequest)return zN(t);if(z0.has(t))return z0.get(t);let e=XN(t);return e!==t&&(z0.set(t,e),X0.set(e,t)),e}var il=t=>X0.get(t);function qw(t,e,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(t,e),a=bn(i);return n&&i.addEventListener("upgradeneeded",c=>{n(bn(i.result),c.oldVersion,c.newVersion,bn(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",d=>o(d.oldVersion,d.newVersion,d))}).catch(()=>{}),a}var JN=["get","getKey","getAll","getAllKeys","count"],QN=["put","add","delete","clear"],J0=new Map;function Lw(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(J0.get(e))return J0.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=QN.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||JN.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),d=c.store;return n&&(d=d.index(a.shift())),(await Promise.all([d[r](...a),o&&c.done]))[0]};return J0.set(e,s),s}Uw(t=>({...t,get:(e,r,n)=>Lw(e,r)||t.get(e,r,n),has:(e,r)=>!!Lw(e,r)||t.has(e,r)}));var Mw="auth-client-db",kw="ic-keyval",ev=async(t=Mw,e=kw,r)=>(al&&localStorage?.getItem(dr)&&(localStorage.removeItem(dr),localStorage.removeItem(Zt)),await qw(t,r,{upgrade:n=>{n.objectStoreNames.contains(e)&&n.clear(e),n.createObjectStore(e)}}));async function tv(t,e,r){return await t.get(e,r)}async function rv(t,e,r,n){return await t.put(e,n,r)}async function nv(t,e,r){return await t.delete(e,r)}var Oc=class t{_db;_storeName;static async create(e){let{dbName:r=Mw,storeName:n=kw,version:o=jw}=e??{},s=await ev(r,n,o);return new t(s,n)}constructor(e,r){this._db=e,this._storeName=r}async set(e,r){return await rv(this._db,this._storeName,e,r)}async get(e){return await tv(this._db,this._storeName,e)??null}async remove(e){return await nv(this._db,this._storeName,e)}};var Zt="identity",dr="delegation",Hw="iv",jw=1,al=typeof window<"u",Nc=class{prefix;_localStorage;constructor(e="ic-",r){this.prefix=e,this._localStorage=r}get(e){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+e))}set(e,r){return this._getLocalStorage().setItem(this.prefix+e,r),Promise.resolve()}remove(e){return this._getLocalStorage().removeItem(this.prefix+e),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let e=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!e)throw new Error("Could not find local storage.");return e}},so=class{#e;constructor(e){this.#e=e??{}}initializedDb;get _db(){return new Promise(e=>{if(this.initializedDb){e(this.initializedDb);return}Oc.create(this.#e).then(r=>{this.initializedDb=r,e(r)})})}async get(e){return await(await this._db).get(e)}async set(e,r){await(await this._db).set(e,r)}async remove(e){await(await this._db).remove(e)}};var ov=BigInt(1e9),sv=BigInt(3600),iv=ov*sv,av="https://identity.internetcomputer.org",cv="#authorize",uv=BigInt(8)*iv,Q0="ECDSA",ey="Ed25519",dv=500,ry="UserInterrupt",cl=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(e={}){let r=e.storage??new so,n=e.keyType??Q0,o=null;if(e.identity)o=e.identity;else{let c=await r.get(Zt);if(!c&&al)try{let d=new Nc,p=await d.get(dr),l=await d.get(Zt);p&&l&&n===Q0&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(dr,p),await r.set(Zt,l),c=p,await d.remove(dr),await d.remove(Zt))}catch(d){console.error("error while attempting to recover localstorage: "+d)}if(c)try{typeof c=="object"?n===ey&&typeof c=="string"?o=Ds.fromJSON(c):o=await Fs.fromKeyPair(c):typeof c=="string"&&(o=Ds.fromJSON(c))}catch{}}let s=new gr,i=null;if(o)try{let c=await r.get(dr);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");e.identity?s=e.identity:c&&(i=Vs.fromJSON(c),Z0(i)?"toDer"in o?s=Ec.fromDelegation(o,i):s=Us.fromDelegation(o,i):(await ty(r),o=null))}catch(c){console.error(c),await ty(r),o=null}let a;return e.idleOptions?.disableIdle?a=void 0:(i||e.identity)&&(a=Tc.create(e.idleOptions)),o||(n===ey?(o=Ds.generate(),await r.set(Zt,JSON.stringify(o.toJSON()))):(e.storage&&n===Q0&&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 '${ey}' as the key type, as it can serialize to a string`),o=await Fs.generate(),await r.set(Zt,o.getKeyPair()))),new this(s,o,i,r,a,e)}constructor(e,r,n,o,s,i,a,c){this._identity=e,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_registerDefaultIdleCallback(){let e=this._createOptions?.idleOptions;!e?.onIdle&&!e?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(e,r){let n=e.delegations.map(a=>({delegation:new Ki(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Vs.fromDelegations(n,e.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=Ec.fromDelegation(s,this._chain):this._identity=Us.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=Tc.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(dr,JSON.stringify(this._chain.toJSON())),r?.(e)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Z0(this._chain)}async login(e){let r=lv(this._createOptions?.loginOptions,e),n=r?.maxTimeToLive??uv,o=new URL(r?.identityProvider?.toString()||av);o.hash=cv,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(ry,r?.onError):setTimeout(s,dv))};s()}_getEventHandler(e,r){return async n=>{if(n.origin!==e.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,e.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default:break}}}_handleFailure(e,r){this._idpWindow?.close(),r?.(e),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(e={}){if(await ty(this._storage),this._identity=new gr,this._chain=null,e.returnTo)try{window.history.pushState({},"",e.returnTo)}catch{window.location.href=e.returnTo}}};async function ty(t){await t.remove(Zt),await t.remove(dr),await t.remove(Hw)}function lv(t,e){if(!t&&!e)return;let r=t?.customValues||e?.customValues?{...t?.customValues,...e?.customValues}:void 0;return{...t,...e,customValues:r}}var Kw=De(Pe(),1);var gn=async({fn:t,step:e,onProgress:r})=>{r?.({step:e,state:"in_progress"});try{let n=await t();return r?.({step:e,state:"success"}),n}catch(n){throw r?.({step:e,state:"error"}),n}};var $w=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))($w||{});var ul=class extends Error{},Ls=class extends Error{},dl=class extends Error{},ll=class extends Error{},fl=class extends Error{},pl=class extends Error{},hl=class extends Error{},yl=class extends Error{};var Gi=class{async signIn({options:e,authClient:r,initAuth:n}){await gn({fn:async()=>await this.#e({options:e,authClient:r}),step:0,onProgress:e?.onProgress}),await gn({fn:async()=>await n({provider:this.id}),step:1,onProgress:e?.onProgress})}#e({options:e,authClient:r}){return new Promise(async(n,o)=>{if((0,Kw.isNullish)(r)){o(new Ls("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===ry){o(new dl(s));return}o(new ul(s))},maxTimeToLive:e?.maxTimeToLiveInNanoseconds??Ow,allowPinAuthentication:e?.allowPin??Nw,...e?.derivationOrigin!==void 0&&{derivationOrigin:e.derivationOrigin},...this.signInOptions({windowed:e?.windowed})})})}};var ml=class extends Gi{#e;constructor({domain:e}){super(),this.#e=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let r=()=>{let n=ur.getInstance().get()?.container;if((0,vc.isNullish)(n)||n===!1)return`https://identity.${this.#e??Iw}`;let o=ur.getInstance().get(),s=(0,vc.nonNullish)(o)&&(0,vc.nonNullish)(o?.internetIdentityId)?o.internetIdentityId:ww,{host:i,protocol:a}=new URL(n===!0?ki:n);return/apple/i.test(navigator?.vendor)?`${a}//${i}?canisterId=${s}`:`${a}//${s}.${i.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:ol(vw)},identityProvider:r()}}};var _l=class extends Gi{#e;#t;constructor({appName:e,logoUrl:r}){super(),this.#e=e,this.#t=r}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:ol(Rw)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Zi=De(Pe(),1);var xn={certified:!1};var Gw=De(Pe(),1);var Ye=t=>(0,Gw.nonNullish)(t)?t:bl()??new gr;var jr=De(Pe(),1);var Ww=De(Pe(),1);var fv=De(Pe(),1),pv=De(Pe(),1);var Zw=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({sha256:t.Vec(t.Nat8),proposal_id:t.Nat}),n=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:n,desc:t.Bool}),s=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),i=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(s),description:t.Opt(t.Text),created_at:t.Opt(s)}),a=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),c=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(i),paginate:t.Opt(a)}),d=t.Record({controllers:t.Vec(t.Principal)}),p=t.Variant({Write:t.Null,Admin:t.Null,Submit:t.Null}),l=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:p,expires_at:t.Opt(t.Nat64)}),u=t.Record({version:t.Opt(t.Nat64)}),f=t.Variant({Db:t.Null,Storage:t.Null}),h=t.Record({version:t.Opt(t.Nat64)}),y=t.Record({proposal_ids:t.Vec(t.Nat)}),b=t.Record({cycles:t.Nat,destination_id:t.Principal}),m=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),x=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),_=t.Record({key:m,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,x)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),T=t.Record({derivation_origin:t.Opt(t.Text),external_alternative_origins:t.Opt(t.Vec(t.Text))}),N=t.Record({allowed_callers:t.Vec(t.Principal)}),R=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),v=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),A=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),E=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),S=t.Variant({Deny:t.Null,Allow:t.Null}),V=t.Record({status_code:t.Nat16,location:t.Text}),C=t.Record({iframe:t.Opt(E),updated_at:t.Opt(t.Nat64),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),g=t.Record({db:t.Opt(A),authentication:t.Opt(R),storage:C}),w=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),O=t.Variant({Initialized:t.Null,Failed:t.Null,Open:t.Null,Rejected:t.Null,Executed:t.Null,Accepted:t.Null}),P=t.Record({clear_existing_assets:t.Opt(t.Bool)}),L=t.Record({orbiter:t.Opt(t.Text),mission_control_version:t.Opt(t.Text),satellite_version:t.Opt(t.Text)}),I=t.Variant({AssetsUpgrade:P,SegmentsDeployment:L}),B=t.Record({status:O,updated_at:t.Nat64,sha256:t.Opt(t.Vec(t.Nat8)),executed_at:t.Opt(t.Nat64),owner:t.Principal,created_at:t.Nat64,version:t.Opt(t.Nat64),proposal_type:I}),F=t.Variant({Heap:t.Null,Stable:t.Null}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),q=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),H=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),Y=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),G=t.Record({memory:F,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ie=t.Variant({Callback:t.Record({token:G,callback:t.Func([],[],["query"])})}),ae=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ie),status_code:t.Nat16}),Ce=t.Record({token:t.Opt(G),body:t.Vec(t.Nat8)}),ee=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),ce=t.Record({batch_id:t.Nat}),lr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,_)),items_length:t.Nat64}),vr=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),fr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,w)),items_length:t.Nat64}),wn=t.Record({desc:t.Bool}),io=t.Record({start_after:t.Opt(t.Nat),limit:t.Opt(t.Nat)}),Yi=t.Record({order:t.Opt(wn),paginate:t.Opt(io)}),Wi=t.Record({proposal_id:t.Nat}),Ms=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(Wi,B)),items_length:t.Nat64}),ks=t.Record({include_system:t.Bool}),Xi=t.Record({matcher:t.Opt(ks)}),D=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(t.Text,H)),items_length:t.Nat64}),j=t.Record({stable:t.Nat64,heap:t.Nat64}),se=t.Record({version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),Tt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:p,expires_at:t.Opt(t.Nat64)}),Ot=t.Record({controller:Tt,controllers:t.Vec(t.Principal)}),bt=t.Record({version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),Hr=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),En=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),max_size:t.Opt(t.Nat),read:U,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),js=t.Record({iframe:t.Opt(E),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),Ji=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Qi=t.Record({chunk_id:t.Nat});return t.Service({commit_asset_upload:t.Func([e],[],[]),commit_proposal:t.Func([r],[t.Null],[]),commit_proposal_asset_upload:t.Func([e],[],[]),commit_proposal_many_assets_upload:t.Func([t.Vec(e)],[],[]),count_assets:t.Func([t.Text,c],[t.Nat64],["query"]),count_collection_assets:t.Func([t.Text],[t.Nat64],["query"]),count_collection_docs:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text,c],[t.Nat64],["query"]),count_proposals:t.Func([],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([d],[t.Vec(t.Tuple(t.Principal,l))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,u],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,c],[],[]),del_filtered_docs:t.Func([t.Text,c],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,u))],[],[]),del_rule:t.Func([f,t.Text,h],[],[]),delete_proposal_assets:t.Func([y],[],[]),deposit_cycles:t.Func([b],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(_)],["query"]),get_auth_config:t.Func([],[t.Opt(R)],["query"]),get_config:t.Func([],[g],[]),get_db_config:t.Func([],[t.Opt(A)],["query"]),get_doc:t.Func([t.Text,t.Text],[t.Opt(w)],["query"]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(_)))],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(w)))],["query"]),get_proposal:t.Func([t.Nat],[t.Opt(B)],["query"]),get_rule:t.Func([f,t.Text],[t.Opt(H)],["query"]),get_storage_config:t.Func([],[C],["query"]),http_request:t.Func([Y],[ae],["query"]),http_request_streaming_callback:t.Func([G],[Ce],["query"]),init_asset_upload:t.Func([ee],[ce],[]),init_proposal:t.Func([I],[t.Nat,B],[]),init_proposal_asset_upload:t.Func([ee,t.Nat],[ce],[]),init_proposal_many_assets_upload:t.Func([t.Vec(ee),t.Nat],[t.Vec(t.Tuple(t.Text,ce))],[]),list_assets:t.Func([t.Text,c],[lr],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,l))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,vr))],["query"]),list_docs:t.Func([t.Text,c],[fr],["query"]),list_proposals:t.Func([Yi],[Ms],["query"]),list_rules:t.Func([f,Xi],[D],["query"]),memory_size:t.Func([],[j],["query"]),reject_proposal:t.Func([r],[t.Null],[]),set_auth_config:t.Func([se],[R],[]),set_controllers:t.Func([Ot],[t.Vec(t.Tuple(t.Principal,l))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([bt],[A],[]),set_doc:t.Func([t.Text,t.Text,Hr],[w],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,Hr))],[t.Vec(t.Tuple(t.Text,w))],[]),set_rule:t.Func([f,t.Text,En],[H],[]),set_storage_config:t.Func([js],[C],[]),submit_proposal:t.Func([t.Nat],[t.Nat,B],[]),upload_asset_chunk:t.Func([Ji],[Qi],[]),upload_proposal_asset_chunk:t.Func([Ji],[Qi],[])})},zw=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({sha256:t.Vec(t.Nat8),proposal_id:t.Nat}),n=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:n,desc:t.Bool}),s=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),i=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(s),description:t.Opt(t.Text),created_at:t.Opt(s)}),a=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),c=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(i),paginate:t.Opt(a)}),d=t.Record({controllers:t.Vec(t.Principal)}),p=t.Variant({Write:t.Null,Admin:t.Null,Submit:t.Null}),l=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:p,expires_at:t.Opt(t.Nat64)}),u=t.Record({version:t.Opt(t.Nat64)}),f=t.Variant({Db:t.Null,Storage:t.Null}),h=t.Record({version:t.Opt(t.Nat64)}),y=t.Record({proposal_ids:t.Vec(t.Nat)}),b=t.Record({cycles:t.Nat,destination_id:t.Principal}),m=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),x=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),_=t.Record({key:m,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,x)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),T=t.Record({derivation_origin:t.Opt(t.Text),external_alternative_origins:t.Opt(t.Vec(t.Text))}),N=t.Record({allowed_callers:t.Vec(t.Principal)}),R=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),v=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),A=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),E=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),S=t.Variant({Deny:t.Null,Allow:t.Null}),V=t.Record({status_code:t.Nat16,location:t.Text}),C=t.Record({iframe:t.Opt(E),updated_at:t.Opt(t.Nat64),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),g=t.Record({db:t.Opt(A),authentication:t.Opt(R),storage:C}),w=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),O=t.Variant({Initialized:t.Null,Failed:t.Null,Open:t.Null,Rejected:t.Null,Executed:t.Null,Accepted:t.Null}),P=t.Record({clear_existing_assets:t.Opt(t.Bool)}),L=t.Record({orbiter:t.Opt(t.Text),mission_control_version:t.Opt(t.Text),satellite_version:t.Opt(t.Text)}),I=t.Variant({AssetsUpgrade:P,SegmentsDeployment:L}),B=t.Record({status:O,updated_at:t.Nat64,sha256:t.Opt(t.Vec(t.Nat8)),executed_at:t.Opt(t.Nat64),owner:t.Principal,created_at:t.Nat64,version:t.Opt(t.Nat64),proposal_type:I}),F=t.Variant({Heap:t.Null,Stable:t.Null}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),q=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),H=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),Y=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),G=t.Record({memory:F,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ie=t.Variant({Callback:t.Record({token:G,callback:t.Func([],[],[])})}),ae=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ie),status_code:t.Nat16}),Ce=t.Record({token:t.Opt(G),body:t.Vec(t.Nat8)}),ee=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),ce=t.Record({batch_id:t.Nat}),lr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,_)),items_length:t.Nat64}),vr=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),fr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,w)),items_length:t.Nat64}),wn=t.Record({desc:t.Bool}),io=t.Record({start_after:t.Opt(t.Nat),limit:t.Opt(t.Nat)}),Yi=t.Record({order:t.Opt(wn),paginate:t.Opt(io)}),Wi=t.Record({proposal_id:t.Nat}),Ms=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(Wi,B)),items_length:t.Nat64}),ks=t.Record({include_system:t.Bool}),Xi=t.Record({matcher:t.Opt(ks)}),D=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(t.Text,H)),items_length:t.Nat64}),j=t.Record({stable:t.Nat64,heap:t.Nat64}),se=t.Record({version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),Tt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:p,expires_at:t.Opt(t.Nat64)}),Ot=t.Record({controller:Tt,controllers:t.Vec(t.Principal)}),bt=t.Record({version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),Hr=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),En=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),max_size:t.Opt(t.Nat),read:U,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),js=t.Record({iframe:t.Opt(E),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),Ji=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Qi=t.Record({chunk_id:t.Nat});return t.Service({commit_asset_upload:t.Func([e],[],[]),commit_proposal:t.Func([r],[t.Null],[]),commit_proposal_asset_upload:t.Func([e],[],[]),commit_proposal_many_assets_upload:t.Func([t.Vec(e)],[],[]),count_assets:t.Func([t.Text,c],[t.Nat64],[]),count_collection_assets:t.Func([t.Text],[t.Nat64],[]),count_collection_docs:t.Func([t.Text],[t.Nat64],[]),count_docs:t.Func([t.Text,c],[t.Nat64],[]),count_proposals:t.Func([],[t.Nat64],[]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([d],[t.Vec(t.Tuple(t.Principal,l))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,u],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,c],[],[]),del_filtered_docs:t.Func([t.Text,c],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,u))],[],[]),del_rule:t.Func([f,t.Text,h],[],[]),delete_proposal_assets:t.Func([y],[],[]),deposit_cycles:t.Func([b],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(_)],[]),get_auth_config:t.Func([],[t.Opt(R)],[]),get_config:t.Func([],[g],[]),get_db_config:t.Func([],[t.Opt(A)],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(w)],[]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(_)))],[]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(w)))],[]),get_proposal:t.Func([t.Nat],[t.Opt(B)],[]),get_rule:t.Func([f,t.Text],[t.Opt(H)],[]),get_storage_config:t.Func([],[C],[]),http_request:t.Func([Y],[ae],[]),http_request_streaming_callback:t.Func([G],[Ce],[]),init_asset_upload:t.Func([ee],[ce],[]),init_proposal:t.Func([I],[t.Nat,B],[]),init_proposal_asset_upload:t.Func([ee,t.Nat],[ce],[]),init_proposal_many_assets_upload:t.Func([t.Vec(ee),t.Nat],[t.Vec(t.Tuple(t.Text,ce))],[]),list_assets:t.Func([t.Text,c],[lr],[]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,l))],[]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,vr))],[]),list_docs:t.Func([t.Text,c],[fr],[]),list_proposals:t.Func([Yi],[Ms],[]),list_rules:t.Func([f,Xi],[D],[]),memory_size:t.Func([],[j],[]),reject_proposal:t.Func([r],[t.Null],[]),set_auth_config:t.Func([se],[R],[]),set_controllers:t.Func([Ot],[t.Vec(t.Tuple(t.Principal,l))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([bt],[A],[]),set_doc:t.Func([t.Text,t.Text,Hr],[w],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,Hr))],[t.Vec(t.Tuple(t.Text,w))],[]),set_rule:t.Func([f,t.Text,En],[H],[]),set_storage_config:t.Func([js],[C],[]),submit_proposal:t.Func([t.Nat],[t.Nat,B],[]),upload_asset_chunk:t.Func([Ji],[Qi],[]),upload_proposal_asset_chunk:t.Func([Ji],[Qi],[])})};var gl=De(Pe(),1);var Yw=({satelliteId:t,container:e})=>{let{satelliteId:r}=ny({satelliteId:t}),{container:n}=oy({container:e});if((0,gl.nonNullish)(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?ki:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ny=({satelliteId:t})=>(0,gl.nonNullish)(t)?{satelliteId:t}:ur.getInstance().get()??{satelliteId:void 0},oy=({container:t})=>(0,gl.nonNullish)(t)?{container:t}:ur.getInstance().get()??{container:void 0};var ut=({satellite:t,options:{certified:e}})=>Jw({idlFactory:e?zw:Zw,actorKey:`stock#${e?"update":"query"}`,...t}),Xw=({idlFactory:t,...e})=>Jw({idlFactory:t,actorKey:"extended#query",...e}),Jw=async({satelliteId:t,container:e,...r})=>{let{satelliteId:n}=ny({satelliteId:t});(0,Ww.assertNonNullish)(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=oy({container:e});return await Hi.getInstance().getActor({satelliteId:n,container:o,...r})};var nt=De(Pe(),1);var Qw=t=>{if((0,nt.isNullish)(t))return(0,nt.toNullable)();switch(t.matcher){case"equal":return(0,nt.toNullable)({Equal:t.timestamp});case"greaterThan":return(0,nt.toNullable)({GreaterThan:t.timestamp});case"lessThan":return(0,nt.toNullable)({LessThan:t.timestamp});case"between":return(0,nt.toNullable)({Between:[t.timestamps.start,t.timestamps.end]});default:throw new yl("Invalid list matcher for timestamp",t)}},Ko=({matcher:t,paginate:e,order:r,owner:n})=>({matcher:(0,nt.isNullish)(t)?[]:[{key:(0,nt.toNullable)(t.key),description:(0,nt.toNullable)(t.description),created_at:Qw(t.createdAt),updated_at:Qw(t.updatedAt)}],paginate:(0,nt.toNullable)((0,nt.isNullish)(e)?void 0:{start_after:(0,nt.toNullable)(e.startAfter),limit:(0,nt.toNullable)((0,nt.isNullish)(e.limit)?void 0:BigInt(e.limit))}),order:(0,nt.toNullable)((0,nt.isNullish)(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:(0,nt.toNullable)((0,nt.isNullish)(n)?void 0:typeof n=="string"?oe.fromText(n):n)});var e1=async({data:t})=>{try{return await rl(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};var qs=De(Pe(),1);var sy=async t=>{let{data:e,version:r,description:n}=t;return{description:(0,qs.toNullable)(n),data:await Sw(e),version:(0,qs.toNullable)(r)}},iy=t=>{let{version:e}=t;return{version:(0,qs.toNullable)(e)}},Rc=async({doc:t,key:e})=>{let{owner:r,version:n,description:o,data:s,...i}=t;return{key:e,description:(0,qs.fromNullable)(o),owner:r.toText(),data:await rl(s),version:(0,qs.fromNullable)(n),...i}};var t1=async({collection:t,key:e,...r})=>{let{get_doc:n}=await ut(r),o=(0,jr.fromNullable)(await n(t,e));if(!(0,jr.isNullish)(o))return Rc({doc:o,key:e})},r1=async({docs:t,...e})=>{let{get_many_docs:r}=await ut(e),n=t.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=(0,jr.fromNullable)(a);s.push((0,jr.nonNullish)(c)?await Rc({key:i,doc:c}):void 0)}return s},n1=async({collection:t,doc:e,...r})=>{let{set_doc:n}=await ut(r),{key:o}=e,s=await sy(e),i=await n(t,o,s);return await Rc({key:o,doc:i})},o1=async({docs:t,...e})=>{let{set_many_docs:r}=await ut(e),n=[];for(let{collection:i,doc:a}of t){let{key:c}=a;n.push([i,c,await sy(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await Rc({key:i,doc:a}));return s},s1=async({collection:t,doc:e,...r})=>{let{del_doc:n}=await ut(r),{key:o}=e;return n(t,o,iy(e))},i1=async({docs:t,...e})=>{let{del_many_docs:r}=await ut(e),n=t.map(({collection:o,doc:s})=>[o,s.key,iy(s)]);await r(n)},a1=async({collection:t,filter:e,...r})=>{let{del_filtered_docs:n}=await ut(r);return n(t,Ko(e))},c1=async({collection:t,filter:e,...r})=>{let{list_docs:n}=await ut(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(t,Ko(e)),d=[];for(let[p,l]of o){let{data:u,owner:f,description:h,version:y,...b}=l;d.push({key:p,description:(0,jr.fromNullable)(h),owner:f.toText(),data:await e1({data:u}),version:(0,jr.fromNullable)(y),...b})}return{items:d,items_length:i,items_page:(0,jr.fromNullable)(s),matches_length:a,matches_pages:(0,jr.fromNullable)(c)}},u1=async({collection:t,filter:e,...r})=>{let{count_docs:n}=await ut(r);return n(t,Ko(e))};var xl=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await t1({...r,satellite:{...t,identity:n},options:e??xn})},S7=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await r1({...r,satellite:{...t,identity:n},options:e??xn})},d1=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await n1({...e,satellite:{...t,identity:r},options:{certified:!0}})},l1=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await o1({...e,satellite:{...t,identity:r},options:{certified:!0}})},A7=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await s1({...e,satellite:{...t,identity:r},options:{certified:!0}})},B7=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await i1({...e,satellite:{...t,identity:r},options:{certified:!0}})},C7=async({satellite:t,filter:e,...r})=>{let n=Ye(t?.identity);return await a1({...r,filter:e??{},satellite:{...t,identity:n},options:{certified:!0}})},P7=async({satellite:t,options:e,filter:r,...n})=>{let o=Ye(t?.identity);return await c1({...n,filter:r??{},satellite:{...t,identity:o},options:e??xn})},D7=async({satellite:t,options:e,filter:r,...n})=>{let o=Ye(t?.identity);return await u1({...n,filter:r??{},satellite:{...t,identity:o},options:e??xn})};var wl=De(Pe(),1);var f1=async({delegationIdentity:t,passkeyIdentity:e,satelliteId:r})=>{let n=e.getCredential().getAAGUID(),[o,s]=await l1({docs:[{collection:"#user",doc:{key:t.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...(0,wl.nonNullish)(n)&&{aaguid:(0,wl.uint8ArrayToArrayOfNumber)(n)}}}}}},{collection:"#user-webauthn",doc:{key:e.getCredential().getCredentialIdText(),data:{publicKey:e.getPublicKey().toRaw()}}}],satellite:{identity:t,satelliteId:r}});return o};var p1=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(p1||{}),h1=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(h1||{});var Ic=class{get id(){return"webauthn"}async signUp({options:{onProgress:e,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=ur.getInstance().get()??{satelliteId:void 0};if((0,Zi.isNullish)(s))throw new Ls("Satellite ID not set. Have you initialized the Satellite?");let i=({step:y,state:b})=>{switch(y){case $o.RequestingUserCredential:e?.({step:1,state:b});break;case $o.FinalizingCredential:e?.({step:2,state:b});break;case $o.Signing:e?.({step:3,state:b});break}},c=await gn({fn:async()=>await M0.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:e}),{delegationIdentity:d,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await gn({fn:async()=>await f1({delegationIdentity:d,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:e});await gn({fn:async()=>await this.#t({delegationIdentity:d,sessionKey:p}),step:4,onProgress:e}),await gn({fn:async()=>await o({user:u}),step:5,onProgress:e})}async signIn({options:{onProgress:e,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=ur.getInstance().get()??{satelliteId:void 0};if((0,Zi.isNullish)(o))throw new Ls("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:l})=>{let u=await xl({collection:"#user-webauthn",key:(0,Zi.uint8ArrayToBase64)(l),options:{certified:!0},satellite:{identity:new gr,satelliteId:o}});if((0,Zi.isNullish)(u))throw new fl("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return Cs(h,xc)},i=({step:l,state:u})=>{switch(l){case $o.RequestingUserCredential:e?.({step:0,state:u});break;case $o.FinalizingCredential:e?.({step:1,state:u});break;case $o.Signing:e?.({step:2,state:u});break}},a=await M0.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:d}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await gn({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:d}),step:3,onProgress:e}),await gn({fn:n,step:4,onProgress:e})}async#e({identity:e,maxTimeToLiveInMilliseconds:r}){let n=await Fs.generate({extractable:!1}),o=r??144e5,s=await Vs.create(e,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Us.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:e,delegationIdentity:r}){let n=new so;await Promise.all([n.set(Zt,e.getKeyPair()),n.set(dr,JSON.stringify(r.getDelegation().toJSON()))])}};var Sc=()=>cl.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),y1=async()=>(await new so().remove(Zt),await Sc());var Ac=De(Pe(),1);var ay=({error:t,type:e})=>typeof t=="string"?t.includes(e):t instanceof Error?t.message.includes(e):!1;var m1="juno.datastore.error.user.cannot_update";var _1=async({provider:t})=>{let{user:e,userId:r}=await cy();if((0,Ac.nonNullish)(e))return e;try{return await yv({userId:r,provider:t})}catch(n){if(ay({error:n,type:m1})){let o=await b1({userId:r});if((0,Ac.nonNullish)(o))return o}throw n}},cy=async()=>{let t=bl();if((0,Ac.isNullish)(t))throw new hl("No identity to initialize the user. Have you initialized Juno?");let e=t.getPrincipal().toText(),r=await b1({userId:e});return{userId:e,user:r}},b1=({userId:t})=>xl({collection:"#user",key:t}),yv=({userId:t,...e})=>d1({collection:"#user",doc:{key:t,data:e}});var Nr,uy=async()=>{await dy({fn:async()=>{let{user:e}=await cy();Or.getInstance().set(e??null)}})},mv=async({user:t})=>{await dy({fn:async()=>{Or.getInstance().set(t)}})},g1=async({provider:t})=>{await dy({fn:async()=>{let r=await _1({provider:t});Or.getInstance().set(r)}})},dy=async({fn:t})=>{if(Nr=await Sc(),!await Nr.isAuthenticated()){Nr=await y1();return}await t()},_v=async t=>{let e=async()=>await gv(t);if(Object.values(t)[0].context?.windowGuard===!1){await e();return}await H0({fn:e})},bv=async t=>{let e=async()=>await xv(t);if(Object.values(t)?.[0].context?.windowGuard===!1){await e();return}await H0({fn:e})},gv=async t=>{if("webauthn"in t){let{webauthn:{options:e}}=t;await new Ic().signIn({options:e,loadAuth:uy});return}if("nfid"in t){let{nfid:{options:e}}=t,{appName:r,logoUrl:n,...o}=e??{};await new _l({appName:r,logoUrl:n}).signIn({options:o,authClient:Nr,initAuth:g1});return}if("internet_identity"in t){let{internet_identity:{options:e}}=t,{domain:r,...n}=e??{};await new ml({domain:r}).signIn({options:n,authClient:Nr,initAuth:g1});return}throw new ll("An unknown or unsupported provider was provided for sign-in.")},xv=async t=>{if("webauthn"in t){let{webauthn:{options:e}}=t;await new Ic().signUp({options:e,loadAuthWithUser:mv});return}throw new pl("An unknown or unsupported provider was provided for sign-up.")},ly=async t=>{await wv(),Nr=await Sc(),t?.windowReload!==!1&&window.location.reload()},wv=async()=>{await Nr?.logout(),Nr=null,Or.getInstance().reset(),Hi.getInstance().reset(),ji.getInstance().reset()},bl=()=>Nr?.getIdentity(),Ev=async()=>(Nr??await Sc()).getIdentity(),Tv=async()=>{let t=Or.getInstance().get();return(0,x1.isNullish)(t)||!(await Nr?.isAuthenticated()??!1)?null:Nr?.getIdentity()??null};var E1=t=>{let e=t===!0?"./workers/auth.worker.js":t,r=new Worker(e),n=async()=>{k0({message:"junoSignOutAuthTimer"}),await ly()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":k0({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},Or.getInstance().subscribe(o=>{if((0,w1.isNullish)(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var T1=()=>{let t=()=>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??t():t()},O1=()=>{let t=()=>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??t():t()};var N9=async({idlFactory:t,satellite:e})=>{let r=Ye(e?.identity);return await Xw({idlFactory:t,...e,identity:r})};var Cc=De(Pe(),1);var Bc=De(Pe(),1);var zi=De(Pe(),1);var N1=async({asset:{data:t,headers:e,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(Ov(r));o?.onInitiatedBatch();let{chunkIds:d}=await Rv({data:t,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await vv({commitFn:a,batchId:c,data:t,headers:e,chunkIds:d}),o?.onCommittedBatch()};var Ov=({filename:t,collection:e,token:r,fullPath:n,encoding:o,description:s})=>({collection:e,full_path:n,name:t,token:(0,zi.toNullable)(r),encoding_type:(0,zi.toNullable)(o),description:(0,zi.toNullable)(s)}),Nv=({batchId:t,chunkIds:e,headers:r,data:n})=>{let o=r.find(([s,i])=>s.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:t,chunk_ids:e.map(({chunk_id:s})=>s),headers:[...r,...o??[]]}},vv=async({commitFn:t,...e})=>{let r=Nv(e);await t(r)},Rv=async({data:t,uploadFn:e,batchId:r})=>{let n=[],o=nl()?new Blob([await t.arrayBuffer()]):t,s=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:e,orderId:s}),s++}let i=[];for await(let a of Iv({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*Iv({uploadChunks:t,limit:e=12}){for(let r=0;r<t.length;r=r+e){let n=t.slice(r,r+e);yield await Promise.all(n.map(o=>Sv(o)))}}var Sv=async({batchId:t,chunk:e,uploadFn:r,orderId:n})=>r({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:(0,zi.toNullable)(n)});var v1=async({asset:t,...e})=>{let r=await ut(e);await N1({actor:r,asset:t})},R1=async({collection:t,filter:e,...r})=>{let{list_assets:n}=await ut(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(t,Ko(e));return{items:o.map(([d,p])=>p),items_length:s,items_page:(0,Bc.fromNullable)(i),matches_length:a,matches_pages:(0,Bc.fromNullable)(c)}},I1=async({collection:t,filter:e,...r})=>{let{count_assets:n}=await ut(r);return n(t,Ko(e))},S1=async({collection:t,fullPath:e,...r})=>(await ut(r)).del_asset(t,e),A1=async({assets:t,satellite:e})=>{let{del_many_assets:r}=await ut({satellite:e,options:{certified:!0}}),n=t.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},B1=async({collection:t,filter:e,...r})=>{let{del_filtered_assets:n}=await ut(r);return n(t,Ko(e))},C1=async({collection:t,fullPath:e,...r})=>{let{get_asset:n}=await ut(r);return(0,Bc.fromNullable)(await n(t,e))},P1=async({assets:t,...e})=>{let{get_many_assets:r}=await ut(e),n=t.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>(0,Bc.fromNullable)(i))};var D1=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var q9=t=>F1(t),M9=t=>F1({filename:t.data.name,...t}),F1=async({filename:t,data:e,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let d=Ye(i?.identity),p=decodeURI(t),l=o??`/${r}/${p}`,u={...i,identity:d};return await v1({asset:{data:e,filename:p,collection:r,token:s,headers:n,fullPath:l,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:V1({satellite:u,assetKey:{fullPath:l,token:s}}),fullPath:l,name:p}},k9=async({collection:t,filter:e,satellite:r,options:n})=>{let o={...r,identity:Ye(r?.identity)},{items:s,...i}=await R1({collection:t,filter:e??{},satellite:o,options:n??xn}),a=s.map(({key:{full_path:c,token:d,name:p,owner:l,description:u},headers:f,encodings:h,created_at:y,updated_at:b})=>{let m=(0,Cc.fromNullable)(d);return{fullPath:c,description:(0,Cc.fromNullable)(u),name:p,downloadUrl:V1({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[_,{modified:T,sha256:N,total_length:R}])=>({...x,[_]:{modified:T,sha256:D1(N),total_length:R}}),{}),owner:l.toText(),created_at:y,updated_at:b}});return{items:a,assets:a,...i}},j9=async({collection:t,filter:e,satellite:r,options:n})=>{let o={...r,identity:Ye(r?.identity)};return await I1({collection:t,satellite:o,filter:e??{},options:n??xn})},H9=({collection:t,fullPath:e,satellite:r})=>S1({collection:t,fullPath:e,satellite:{...r,identity:Ye(r?.identity)},options:{certified:!0}}),$9=({assets:t,satellite:e})=>A1({assets:t,satellite:{...e,identity:Ye(e?.identity)},options:{certified:!0}}),K9=async({collection:t,satellite:e,filter:r})=>{let n={...e,identity:Ye(e?.identity)};return await B1({collection:t,satellite:n,filter:r??{},options:{certified:!0}})},G9=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await C1({...r,satellite:{...t,identity:n},options:e??xn})},Z9=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await P1({...r,satellite:{...t,identity:n},options:e??xn})},V1=({assetKey:{fullPath:t,token:e},satellite:r})=>{let n={...r,identity:Ye(r?.identity)};return`${Yw(n)}${t}${(0,Cc.nonNullish)(e)?`?token=${e}`:""}`};var Av=t=>{let e=t?.satelliteId??T1();(0,U1.assertNonNullish)(e,"Satellite ID is not configured. Juno cannot be initialized.");let r=t?.container??O1();return{satelliteId:e,internetIdentityId:t?.internetIdentityId,workers:t?.workers,container:r}},tC=t=>Bv(t),Bv=async t=>{let e=Av(t);ur.getInstance().set(e),await uy();let r=e.workers?.auth!==void 0?E1(e.workers.auth):void 0;return[...r?[r]:[]]},Cv=t=>Or.getInstance().subscribe(t),rC=Cv;export{$w as AuthClientSignInProgressStep,hl as InitError,ml as InternetIdentityProvider,yl as ListError,_l as NFIDProvider,ul as SignInError,Ls as SignInInitError,ll as SignInProviderNotSupportedError,dl as SignInUserInterruptError,pl as SignUpProviderNotSupportedError,p1 as WebAuthnSignInProgressStep,fl as WebAuthnSignInRetrievePublicKeyError,h1 as WebAuthnSignUpProgressStep,rC as authSubscribe,j9 as countAssets,D7 as countDocs,H9 as deleteAsset,A7 as deleteDoc,K9 as deleteFilteredAssets,C7 as deleteFilteredDocs,$9 as deleteManyAssets,B7 as deleteManyDocs,V1 as downloadUrl,G9 as getAsset,xl as getDoc,Tv as getIdentityOnce,Z9 as getManyAssets,S7 as getManyDocs,N9 as getSatelliteExtendedActor,tC as initJuno,Bv as initSatellite,kN as isWebAuthnAvailable,k9 as listAssets,P7 as listDocs,Cv as onAuthStateChange,d1 as setDoc,l1 as setManyDocs,_v as signIn,ly as signOut,bv as signUp,Ev as unsafeIdentity,q9 as uploadBlob,M9 as uploadFile};
|
|
122
|
+
Retrying request.`),await this.#_({requestFn:r,backoff:n,tries:o+1});throw qa.fromCode(new Ha(p))}let c=Pd(i.headers);if(i.status===C0||i.status===oN)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let d=await i.text();if(i.status===sN&&i.url.includes("api/v3"))throw Me.fromCode(new ja);if(d.startsWith("Invalid request expiry: "))throw Ne.fromCode(new ms(d,this.#u));if(o<this.#l)return await this.#_({requestFn:r,backoff:n,tries:o+1});throw Me.fromCode(new ka(i.status,i.statusText,c,d))}async query(e,r,n){let o=this.#f(),s=r.effectiveCanisterId?oe.from(r.effectiveCanisterId):oe.from(e);await this.#b(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${e.toString()}`);let i,a=await(n??this.#n);if(!a)throw mt.fromCode(new Bo);let c=oe.from(e),d=a.getPrincipal(),p=P0(this.#u,this.#r),l={request_type:Es.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:d,ingress_expiry:p},u=zn(l);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.Query,body:l}),i=await a.transformRequest(i);let f=oc(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:u,backoff:o,tries:0},m=async()=>{let y=await this.#x(h);return{requestDetails:l,...y}},b=async()=>{let y=this.#m.get(s.toString());if(y)return y;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Lt.fromCode(new yd);return x};try{if(!this.#y)return await m();let[y,x]=await Promise.all([m(),b()]);try{return this.#w(y,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let _=await b();return this.#w(y,_)}}catch(y){let x;throw y instanceof Pr?(y.code.requestContext={requestId:u,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=y):x=st.fromCode(new qt(y)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(e,r){await this.#b();let n=await(r??this.#n);if(!n)throw mt.fromCode(new Bo);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Wn.ReadState,body:{request_type:Es.ReadState,paths:e.paths,sender:o,ingress_expiry:P0(this.#u,this.#r)}});return n.transformRequest(s)}async readState(e,r,n,o){await this.#E();let s=oe.from(e);function i(p){for(let l of p.paths){let[u,f]=l,h=new TextEncoder().encode("request_status");if(xs(u,h))return f}}let a,c;if(o)a=o,c=zn(a);else{c=i(r);let p=await this.#n;if(!p)throw mt.fromCode(new Bo);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let d=this.#f();try{let{responseBodyBytes:p}=await this.#_({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:oc(a.body)}),backoff:d,tries:0}),l=rr(p);return this.log.print("Read state response:",l),l}catch(p){let l;throw p instanceof Pr?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},l=p):l=st.fromCode(new qt(p)),this.log.error(`Error while making read state: ${l.message}`,l),l}}parseTimeFromResponse(e){let r;if(e.certificate){let n=rr(e.certificate);if(n&&"tree"in n)r=n.tree;else throw Me.fromCode(new Co("Could not decode time from response"));let o=Ss(["time"],r);if(o.status!==or.Found)throw Me.fromCode(new $n("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 Me.fromCode(new _i("Time was not in its expected format."));let s=Vi(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(e){this.#i=this.#i??(async()=>{await this.#E();let r=Date.now();try{e||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=e??oe.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=t.createSync({identity:new gr,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await O0({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof Pr?n:st.fromCode(new qt(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let e=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#f(),{responseBodyBytes:n}=await this.#_({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:e,...this.#a}),tries:0});return rr(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let e=await this.status();return this.rootKey=e.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#b(e){await Promise.all([this.#E(),this.#O(e)])}async#E(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw mt.fromCode(new ln(this.#t))}async#O(e){this.#d&&!this.hasSyncedTime()&&await this.syncTime(e)}invalidateIdentity(){this.#n=null}replaceIdentity(e){this.#n=Promise.resolve(e)}async fetchSubnetKeys(e){let r=oe.from(e);await this.#b(r);let o=(await O0({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(e){let r=Promise.resolve(e);if(e.endpoint===Wn.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#p)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function P0(t,e){let r=t*D0;return Si.fromDeltaInMilliseconds(r,e)}var cN=300*1e3;function rw(){return pN(dN(uN(),1e3),fN(1e3,1.2),lN(cN))}function uN(){let t=!0;return async()=>t?(t=!1,!0):!1}function dN(t,e){return async(r,n,o)=>{if(await t(r,n,o))return new Promise(s=>setTimeout(s,e))}}function lN(t){let e=Date.now()+t;return async(r,n,o)=>{if(Date.now()>e)throw Me.fromCode(new hs(`Request timed out after ${t} msec`,n,o))}}function fN(t,e){let r=t;return()=>new Promise(n=>setTimeout(()=>{r*=e,n()},r))}function pN(...t){return async(e,r,n)=>{for(let o of t)await o(e,r,n)}}var ow={preSignReadStateRequest:!1};function sw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function F0(t,e){return t!==null&&typeof t=="object"&&sw(t,e)}function mN(t,e){return sw(t,e)&&typeof t[e]=="function"}function nw(t){return F0(t,"body")&&F0(t.body,"content")&&t.body.content.request_type===Es.ReadState&&F0(t.body.content,"ingress_expiry")&&typeof t.body.content.ingress_expiry=="object"&&t.body.content.ingress_expiry!==null&&mN(t.body.content.ingress_expiry,"toHash")}async function V0(t,e,r,n={}){let o=[Ve("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await yN({paths:[o],agent:t,pollingOptions:n}),s=await t.readState(e,{paths:[o]},void 0,i)):s=await t.readState(e,{paths:[o]}),t.rootKey==null)throw mt.fromCode(new ln);let c=await ko.create({certificate:s.certificate,rootKey:t.rootKey,canisterId:e,blsVerify:n.blsVerify,agent:t}),d=Dt(c.lookup_path([...o,Ve("status")])),p;switch(typeof d>"u"?p=_n.Unknown:p=new TextDecoder().decode(d),p){case _n.Replied:return{reply:Dt(c.lookup_path([...o,"reply"])),certificate:c};case _n.Received:case _n.Unknown:case _n.Processing:{let l=n.strategy??rw();return await l(e,r,p),V0(t,e,r,{...n,strategy:l,request:i})}case _n.Rejected:{let l=new Uint8Array(Dt(c.lookup_path([...o,"reject_code"])))[0],u=new TextDecoder().decode(Dt(c.lookup_path([...o,"reject_message"]))),f=Dt(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw So.fromCode(new gi(r,l,u,h))}case _n.Done:throw st.fromCode(new fd(r))}throw Po}async function yN(t){let{paths:e,agent:r,pollingOptions:n}=t;if(n.request&&nw(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:e},void 0);if(!nw(o))throw Ne.fromCode(new gd(o));return o}var Tr=Symbol.for("ic-agent-metadata"),Jd=class t{static agentOf(e){return e[Tr].config.agent}static interfaceOf(e){return e[Tr].service}static canisterIdOf(e){return oe.from(e[Tr].config.canisterId)}static createActorClass(e,r){let n=e({IDL:gs});class o extends t{constructor(i){if(!i.canisterId)throw Ne.fromCode(new $a(i.canisterId));let a=typeof i.canisterId=="string"?oe.fromText(i.canisterId):i.canisterId;super({config:{...iw,...i,canisterId:a},service:n});for(let[c,d]of n._fields)r?.httpDetails&&d.annotations.push(U0),r?.certificate&&d.annotations.push(aw),this[c]=bN(this,c,d,i.blsVerify)}}return o}static createActor(e,r){if(!r.canisterId)throw Ne.fromCode(new $a(r.canisterId));return new(this.createActorClass(e))(r)}static createActorWithHttpDetails(e,r){return new(this.createActorClass(e,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(e,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(e,n))(r)}constructor(e){this[Tr]=Object.freeze(e)}};function Li(t,e){let r=gs.decode(t,e);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var iw={pollingOptions:ow},U0="http-details",aw="certificate";function bN(t,e,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...t[Tr].config.queryTransform?.(e,a,{...t[Tr].config,...i})};let c=i.agent||t[Tr].config.agent||new Ps,d=oe.from(i.canisterId||t[Tr].config.canisterId),p=gs.encode(r.argTypes,a),l=await c.query(d,{methodName:e,arg:p,effectiveCanisterId:i.effectiveCanisterId}),u={...l.httpDetails,requestDetails:l.requestDetails};switch(l.status){case No.Rejected:{let f=new dd(l.requestId,l.reject_code,l.reject_message,l.error_code,l.signatures);throw f.callContext={canisterId:d,methodName:e,httpDetails:u},So.fromCode(f)}case No.Replied:return r.annotations.includes(U0)?{httpDetails:u,result:Li(r.retTypes,l.reply.arg)}:Li(r.retTypes,l.reply.arg)}}:o=async(i,...a)=>{i={...i,...t[Tr].config.callTransform?.(e,a,{...t[Tr].config,...i})};let c=i.agent||t[Tr].config.agent||Ps.createSync(),{canisterId:d,effectiveCanisterId:p,pollingOptions:l}={...iw,...t[Tr].config,...i},u=oe.from(d),f=p!==void 0?oe.from(p):u,h=gs.encode(r.argTypes,a),{requestId:m,response:b,requestDetails:y}=await c.call(u,{methodName:e,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,_;if(tg(b.body)){if(c.rootKey==null)throw mt.fromCode(new ln);let v=b.body.certificate;_=await ko.create({certificate:v,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let A=[Ve("request_status"),m];switch(new TextDecoder().decode(Dt(_.lookup_path([...A,"status"])))){case"replied":x=Dt(_.lookup_path([...A,"reply"]));break;case"rejected":{let S=new Uint8Array(Dt(_.lookup_path([...A,"reject_code"])))[0],V=new TextDecoder().decode(Dt(_.lookup_path([...A,"reject_message"]))),C=Dt(_.lookup_path([...A,"error_code"])),g=C?new TextDecoder().decode(C):void 0,w=new gi(m,S,V,g);throw w.callContext={canisterId:u,methodName:e,httpDetails:b},So.fromCode(w)}}}else if(eg(b.body)){let{reject_code:v,reject_message:A,error_code:E}=b.body,S=new ld(m,v,A,E);throw S.callContext={canisterId:u,methodName:e,httpDetails:b},So.fromCode(S)}if(b.status===202){let v={...l,blsVerify:n},A=await V0(c,f,m,v);_=A.certificate,x=A.reply}let T=r.annotations.includes(U0),N=r.annotations.includes(aw),R={...b,requestDetails:y};if(x!==void 0)return T&&N?{httpDetails:R,certificate:_,result:Li(r.retTypes,x)}:N?{certificate:_,result:Li(r.retTypes,x)}:T?{httpDetails:R,result:Li(r.retTypes,x)}:Li(r.retTypes,x);{let v=new qt(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(A=>A.display()).join(",")}].`);throw v.callContext={canisterId:u,methodName:e,httpDetails:R},st.fromCode(v)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var pw=De(Pe(),1);var Gt=De(Pe(),1),mw=De(Pe(),1),gw=De(Pe(),1),gN=({authData:t})=>{if(t.byteLength<37)return{invalidAuthData:null};if(t.byteLength<53)return{invalidAuthData:null};let e=t.slice(37,53),r=xN({bytes:e});return"aaguid"in r?{aaguidBytes:e,aaguidText:r.aaguid}:{unknownProvider:null}},xN=({bytes:t})=>{if(t.length!==16)return{invalidBytes:null};let e=(t instanceof Uint8Array?(0,fw.uint8ArrayToArrayOfNumber)(t):t).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return e==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:e}};function wN(t){let e=new DataView(new ArrayBuffer(2)),r=t.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>e.setUint8(s,o));let n=e.getUint16(0);return t.slice(55+n)}function EN(t){return Bs(t,gc)}var TN=class{constructor(t){this._cose=t,this.#e=EN(t)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},hw=class{#e;#t;constructor({rawId:t,cose:e}){this.#e=t,this.#t=new TN(e)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return(0,pw.uint8ArrayToBase64)(this.#e)}},ON=class extends hw{#e;#t;constructor({authData:t,...e}){super(e);let r=gN({authData:t});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}},NN=class extends hw{},vN=class extends Error{},RN=class extends Error{},IN=class extends Error{},SN=class extends Error{},AN=class extends Error{},BN=class extends Error{},CN=class extends Error{},cw=class extends Error{};var PN={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},DN=6e4,yw=()=>window.crypto.getRandomValues(new Uint8Array(16)),FN=()=>yw(),VN=()=>yw(),UN=()=>{let{location:{href:t}}=window,e=URL.parse(t);if((0,mw.isNullish)(e))throw new vN;let{hostname:r}=e;return r},_w=({appId:t})=>t?.id??UN(),LN=({appId:t,user:e}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:t?.name??r,id:_w({appId:t})}}),o=()=>({user:{id:VN(),name:e?.name??e?.displayName??r,displayName:e?.displayName??r}});return{attestation:"direct",challenge:FN(),...n(),...o(),pubKeyCredParams:Object.values(PN).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},qN=(t={})=>({rpId:_w(t),allowCredentials:[],userVerification:"required"}),L0=async({fn:t,step:e,onProgress:r})=>{r?.({step:e,state:"in_progress"});try{let n=await t();return r?.({step:e,state:"success"}),n}catch(n){throw r?.({step:e,state:"error"}),n}},$o=(t=>(t[t.RequestingUserCredential=0]="RequestingUserCredential",t[t.FinalizingCredential=1]="FinalizingCredential",t[t.Signing=2]="Signing",t))($o||{}),bw=({timeout:t})=>AbortSignal.timeout(t??DN),MN=async({challenge:t,credentialIds:e,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...qN(r),challenge:t.buffer,allowCredentials:(e??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:bw({timeout:n})}),uw=t=>{if(t.status!=="initialized")throw new RN},dw=t=>{if((0,Gt.isNullish)(t))throw new IN},lw=({type:t})=>{if(t!=="public-key")throw new SN},q0=class xc extends yn{#e;#t;constructor({onProgress:e,...r}){if(super(),this.#e=e,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=xc.#r({credential:new ON(r)})}static#r({credential:e}){return{status:"initialized",credential:e}}static async createWithNewCredential({passkeyOptions:e,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:LN(e),signal:bw({timeout:r})});dw(o),lw(o);let{response:{attestationObject:s},rawId:i}=o;if((0,Gt.isNullish)(s))throw new AN;let{authData:a}=Ad.decode((0,Gt.arrayBufferToUint8Array)(s)),c=wN(a);return new xc({...n,rawId:(0,Gt.arrayBufferToUint8Array)(i),cose:c,authData:a})}static async createWithExistingCredential(e){return new xc(e)}getPublicKey(){uw(this.#t);let{credential:e}=this.#t;return e.getPublicKey()}getCredential(){uw(this.#t);let{credential:e}=this.#t;return e}async sign(e){let r=await L0({fn:async()=>{let n=await MN({challenge:e,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return dw(n),lw(n),n},step:0,onProgress:this.#e});return await L0({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!(0,Gt.uint8ArraysEqual)({a:this.#t.credential.getCredentialId(),b:(0,Gt.arrayBufferToUint8Array)(n)}))throw new BN;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:(0,Gt.arrayBufferToUint8Array)(n)});this.#t=xc.#r({credential:new NN({rawId:(0,Gt.arrayBufferToUint8Array)(n),cose:s})})},step:1,onProgress:this.#e}),await L0({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if((0,Gt.isNullish)(s))throw new cw;if((0,Gt.isNullish)(i))throw new cw;let a=Ad.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:(0,Gt.arrayBufferToUint8Array)(i)});if((0,Gt.isNullish)(a))throw new CN;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},kN=async()=>(0,gw.nonNullish)(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var x1=De(Pe(),1);var qi=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:r})=>r(e))}subscribe(e){let r=Symbol();return this.callbacks.push({id:r,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Or=class t extends qi{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let r=super.subscribe(e);return e(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var M0=({message:t,detail:e})=>{let r=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(r)};var g1=De(Pe(),1);var el=De(Pe(),1);var Qd=De(Pe(),1);var k0=De(Pe(),1);var Mi="http://127.0.0.1:5987",xw="rdmx6-jaaaa-aaaaa-aaadq-cai";var ww=async({identity:t,container:e})=>{let n=(0,k0.nonNullish)(e)&&e!==!1?e===!0?Mi:e:"https://icp-api.io",o=(0,k0.nonNullish)(e);return await Ps.create({identity:t,shouldFetchRootKey:o,host:n})};var ki=class t{static instance;#e=void 0;constructor(){}static getInstance(){return(0,Qd.isNullish)(t.instance)&&(t.instance=new t),t.instance}async getAgent({identity:e,...r}){let n=e.getPrincipal().toText();if((0,Qd.isNullish)(this.#e)||(0,Qd.isNullish)(this.#e[n])){let o=await ww({identity:e,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var ji=class t{static instance;#e=void 0;constructor(){}static getInstance(){return(0,el.isNullish)(t.instance)&&(t.instance=new t),t.instance}async getActor({satelliteId:e,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${e};`;if((0,el.isNullish)(this.#e)||(0,el.isNullish)(this.#e[s])){let i=await this.createActor({satelliteId:e,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:e,satelliteId:r,...n}){let o=await ki.getInstance().getAgent(n);return Jd.createActor(e,{agent:o,canisterId:r})}};var Ew=t=>(t.preventDefault(),t.returnValue="Are you sure you want to exit?"),jN=()=>{window.addEventListener("beforeunload",Ew,{capture:!0})},HN=()=>{window.removeEventListener("beforeunload",Ew,{capture:!0})},j0=async({fn:t})=>{try{return jN(),await t()}finally{HN()}};var vc=De(Pe(),1);var ur=class t extends qi{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}reset(){this.env=null}subscribe(e){let r=super.subscribe(e);return e(this.env),r}};var Tw=BigInt(144e11),Ow=!1,Nw={width:576,height:576},vw={width:505,height:705},Rw="internetcomputer.org";var H0=De(Pe(),1);var tl=De(Pe(),1),Iw=async t=>{let e=new Blob([JSON.stringify(t,tl.jsonReplacer)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},rl=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),tl.jsonReviver)},nl=()=>typeof window<"u";var ol=({width:t,height:e})=>{if(!nl()||(0,H0.isNullish)(window)||(0,H0.isNullish)(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-e/2,s=r/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${o}, left=${s}`};function Sw(t){return t!==null&&typeof t=="object"}var wc=class t{static from(e){if(typeof e=="string"){let r=ht(e);return this.fromRaw(r)}else if(Sw(e)){let r=e;if(Sw(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(fn(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(fn(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(e){return new t(e)}static fromDer(e){return new t(this.derDecode(e))}static{this.RAW_KEY_LENGTH=32}static derEncode(e){let r=Bs(e,As);return r.__derEncodedPublicKey__=void 0,r}static derDecode(e){let r=Cs(e,As);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(e){if(e.byteLength!==t.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=e,this.#t=t.derEncode(e)}toDer(){return this.derKey}toRaw(){return this.rawKey}},Hi=class t extends yn{static generate(e){if(e&&e.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");e||(e=Kt.utils.randomPrivateKey()),Eg(e,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]=e[o];let n=Kt.getPublicKey(r);return t.fromKeyPair(n,r)}static fromParsedJson(e){let[r,n]=e;return new t(wc.fromDer(ht(r)),ht(n))}static fromJSON(e){let r=JSON.parse(e);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(e)}`)}static fromKeyPair(e,r){return new t(wc.fromRaw(e),r)}static fromSecretKey(e){let r=Kt.getPublicKey(e);return t.fromKeyPair(r,e)}#e;#t;constructor(e,r){super(),this.#e=wc.from(e),this.#t=r}toJSON(){return[de(this.#e.toDer()),de(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(e){let r=Kt.sign(e,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(e,r,n){let[o,s,i]=[e,r,n].map(a=>(typeof a=="string"&&(a=ht(a)),fn(a)));return Kt.verify(o,s,i)}};var $0=class t extends Error{constructor(e){super(e),this.message=e,Object.setPrototypeOf(this,t.prototype)}};function Aw(t){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(t)return t;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new $0("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 Ds=class t extends yn{static async generate(e){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=e??{},s=Aw(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=fn(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(e,r){let n=Aw(r),o=fn(await n.exportKey("spki",e.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new t(e,o,n)}constructor(e,r,n){super(),this._keyPair=e,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let e=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return e},r}async sign(e){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=fn(await this._subtleCrypto.sign(r,this._keyPair.privateKey,e));return Object.assign(n,{__signature__:void 0}),n}};var sl=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 oe.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(e){this.#e=e}};function K0(t){if(typeof t!="string"||t.length<64)throw new Error("Invalid public key.");return ht(t)}var $i=class{constructor(e,r,n){this.pubkey=e,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:de(this.pubkey),...this.targets&&{targets:this.targets.map(e=>e.toHex())}}}};async function $N(t,e,r,n){let o=new $i(e.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Hh,...new Uint8Array(zn({...o}))]),i=await t.sign(s);return{delegation:o,signature:i}}var Fs=class t{static async create(e,r,n=new Date(Date.now()+900*1e3),o={}){let s=await $N(e,r,n,o.targets);return new t([...o.previous?.delegations||[],s],o.previous?.publicKey||e.getPublicKey().toDer())}static fromJSON(e){let{publicKey:r,delegations:n}=typeof e=="string"?JSON.parse(e):e;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:d,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new $i(K0(c),BigInt("0x"+d),p&&p.map(l=>{if(typeof l!="string")throw new Error("Invalid target.");return oe.fromHex(l)})),signature:K0(a)}});return new this(o,K0(r))}static fromDelegations(e,r){return new this(e,r)}constructor(e,r){this.delegations=e,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(e=>{let{delegation:r,signature:n}=e,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:de(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:de(n)}}),publicKey:de(this.publicKey)}}},Vs=class extends yn{static fromDelegation(e,r){return new this(e,r)}constructor(e,r){super(),this._inner=e,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(e){return this._inner.sign(e)}async transformRequest(e){let{body:r,...n}=e,o=await zn(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Qa,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ec=class t extends sl{#e;get delegation(){return this.#e}constructor(e,r){super(e),this.#e=r}static fromDelegation(e,r){return new t(e,r)}};function G0(t,e){for(let{delegation:o}of t.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=e?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?oe.fromText(o):o)):r.push(typeof n=="string"?oe.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of t.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Bw=["mousedown","mousemove","keydown","touchstart","wheel"],Tc=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(e={}){return new this(e)}constructor(e={}){let{onIdle:r,idleTimeout:n=600*1e3}=e||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Bw.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...d)=>{let p=this,l=function(){c=void 0,i.apply(p,d)};clearTimeout(c),c=window.setTimeout(l,a)}};if(e?.captureScroll){let i=s(o,e?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(e){this.callbacks.push(e)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let e=this._resetTimer.bind(this);Bw.forEach(function(r){document.removeEventListener(r,e,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let e=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(e,this.idleTimeout)}};var KN=(t,e)=>e.some(r=>t instanceof r),Cw,Pw;function GN(){return Cw||(Cw=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ZN(){return Pw||(Pw=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Dw=new WeakMap,z0=new WeakMap,Fw=new WeakMap,Z0=new WeakMap,W0=new WeakMap;function zN(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",s),t.removeEventListener("error",i)},s=()=>{r(bn(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",s),t.addEventListener("error",i)});return e.then(r=>{r instanceof IDBCursor&&Dw.set(r,t)}).catch(()=>{}),W0.set(e,t),e}function YN(t){if(z0.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",i),t.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",s),t.addEventListener("error",i),t.addEventListener("abort",i)});z0.set(t,e)}var Y0={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return z0.get(t);if(e==="objectStoreNames")return t.objectStoreNames||Fw.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return bn(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Vw(t){Y0=t(Y0)}function WN(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(il(this),e,...r);return Fw.set(n,e.sort?e.sort():[e]),bn(n)}:ZN().includes(t)?function(...e){return t.apply(il(this),e),bn(Dw.get(this))}:function(...e){return bn(t.apply(il(this),e))}}function XN(t){return typeof t=="function"?WN(t):(t instanceof IDBTransaction&&YN(t),KN(t,GN())?new Proxy(t,Y0):t)}function bn(t){if(t instanceof IDBRequest)return zN(t);if(Z0.has(t))return Z0.get(t);let e=XN(t);return e!==t&&(Z0.set(t,e),W0.set(e,t)),e}var il=t=>W0.get(t);function Lw(t,e,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(t,e),a=bn(i);return n&&i.addEventListener("upgradeneeded",c=>{n(bn(i.result),c.oldVersion,c.newVersion,bn(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",d=>o(d.oldVersion,d.newVersion,d))}).catch(()=>{}),a}var JN=["get","getKey","getAll","getAllKeys","count"],QN=["put","add","delete","clear"],X0=new Map;function Uw(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(X0.get(e))return X0.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=QN.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||JN.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),d=c.store;return n&&(d=d.index(a.shift())),(await Promise.all([d[r](...a),o&&c.done]))[0]};return X0.set(e,s),s}Vw(t=>({...t,get:(e,r,n)=>Uw(e,r)||t.get(e,r,n),has:(e,r)=>!!Uw(e,r)||t.has(e,r)}));var qw="auth-client-db",Mw="ic-keyval",ev=async(t=qw,e=Mw,r)=>(al&&localStorage?.getItem(dr)&&(localStorage.removeItem(dr),localStorage.removeItem(Zt)),await Lw(t,r,{upgrade:n=>{n.objectStoreNames.contains(e)&&n.clear(e),n.createObjectStore(e)}}));async function tv(t,e,r){return await t.get(e,r)}async function rv(t,e,r,n){return await t.put(e,n,r)}async function nv(t,e,r){return await t.delete(e,r)}var Oc=class t{_db;_storeName;static async create(e){let{dbName:r=qw,storeName:n=Mw,version:o=kw}=e??{},s=await ev(r,n,o);return new t(s,n)}constructor(e,r){this._db=e,this._storeName=r}async set(e,r){return await rv(this._db,this._storeName,e,r)}async get(e){return await tv(this._db,this._storeName,e)??null}async remove(e){return await nv(this._db,this._storeName,e)}};var Zt="identity",dr="delegation",jw="iv",kw=1,al=typeof window<"u",Nc=class{prefix;_localStorage;constructor(e="ic-",r){this.prefix=e,this._localStorage=r}get(e){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+e))}set(e,r){return this._getLocalStorage().setItem(this.prefix+e,r),Promise.resolve()}remove(e){return this._getLocalStorage().removeItem(this.prefix+e),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let e=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!e)throw new Error("Could not find local storage.");return e}},so=class{#e;constructor(e){this.#e=e??{}}initializedDb;get _db(){return new Promise(e=>{if(this.initializedDb){e(this.initializedDb);return}Oc.create(this.#e).then(r=>{this.initializedDb=r,e(r)})})}async get(e){return await(await this._db).get(e)}async set(e,r){await(await this._db).set(e,r)}async remove(e){await(await this._db).remove(e)}};var ov=BigInt(1e9),sv=BigInt(3600),iv=ov*sv,av="https://identity.internetcomputer.org",cv="#authorize",uv=BigInt(8)*iv,J0="ECDSA",Q0="Ed25519",dv=500,tm="UserInterrupt",cl=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(e={}){let r=e.storage??new so,n=e.keyType??J0,o=null;if(e.identity)o=e.identity;else{let c=await r.get(Zt);if(!c&&al)try{let d=new Nc,p=await d.get(dr),l=await d.get(Zt);p&&l&&n===J0&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(dr,p),await r.set(Zt,l),c=p,await d.remove(dr),await d.remove(Zt))}catch(d){console.error("error while attempting to recover localstorage: "+d)}if(c)try{typeof c=="object"?n===Q0&&typeof c=="string"?o=Hi.fromJSON(c):o=await Ds.fromKeyPair(c):typeof c=="string"&&(o=Hi.fromJSON(c))}catch{}}let s=new gr,i=null;if(o)try{let c=await r.get(dr);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");e.identity?s=e.identity:c&&(i=Fs.fromJSON(c),G0(i)?"toDer"in o?s=Ec.fromDelegation(o,i):s=Vs.fromDelegation(o,i):(await em(r),o=null))}catch(c){console.error(c),await em(r),o=null}let a;return e.idleOptions?.disableIdle?a=void 0:(i||e.identity)&&(a=Tc.create(e.idleOptions)),o||(n===Q0?(o=Hi.generate(),await r.set(Zt,JSON.stringify(o.toJSON()))):(e.storage&&n===J0&&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 '${Q0}' as the key type, as it can serialize to a string`),o=await Ds.generate(),await r.set(Zt,o.getKeyPair()))),new this(s,o,i,r,a,e)}constructor(e,r,n,o,s,i,a,c){this._identity=e,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_registerDefaultIdleCallback(){let e=this._createOptions?.idleOptions;!e?.onIdle&&!e?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(e,r){let n=e.delegations.map(a=>({delegation:new $i(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Fs.fromDelegations(n,e.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=Ec.fromDelegation(s,this._chain):this._identity=Vs.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=Tc.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(dr,JSON.stringify(this._chain.toJSON())),r?.(e)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&G0(this._chain)}async login(e){let r=lv(this._createOptions?.loginOptions,e),n=r?.maxTimeToLive??uv,o=new URL(r?.identityProvider?.toString()||av);o.hash=cv,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(tm,r?.onError):setTimeout(s,dv))};s()}_getEventHandler(e,r){return async n=>{if(n.origin!==e.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,e.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default:break}}}_handleFailure(e,r){this._idpWindow?.close(),r?.(e),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(e={}){if(await em(this._storage),this._identity=new gr,this._chain=null,e.returnTo)try{window.history.pushState({},"",e.returnTo)}catch{window.location.href=e.returnTo}}};async function em(t){await t.remove(Zt),await t.remove(dr),await t.remove(jw)}function lv(t,e){if(!t&&!e)return;let r=t?.customValues||e?.customValues?{...t?.customValues,...e?.customValues}:void 0;return{...t,...e,customValues:r}}var $w=De(Pe(),1);var gn=async({fn:t,step:e,onProgress:r})=>{r?.({step:e,state:"in_progress"});try{let n=await t();return r?.({step:e,state:"success"}),n}catch(n){throw r?.({step:e,state:"error"}),n}};var Hw=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Hw||{});var ul=class extends Error{},Us=class extends Error{},dl=class extends Error{},ll=class extends Error{},fl=class extends Error{},pl=class extends Error{},hl=class extends Error{},ml=class extends Error{};var Ki=class{async signIn({options:e,authClient:r,initAuth:n}){await gn({fn:async()=>await this.#e({options:e,authClient:r}),step:0,onProgress:e?.onProgress}),await gn({fn:async()=>await n({provider:this.id}),step:1,onProgress:e?.onProgress})}#e({options:e,authClient:r}){return new Promise(async(n,o)=>{if((0,$w.isNullish)(r)){o(new Us("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===tm){o(new dl(s));return}o(new ul(s))},maxTimeToLive:e?.maxTimeToLiveInNanoseconds??Tw,allowPinAuthentication:e?.allowPin??Ow,...e?.derivationOrigin!==void 0&&{derivationOrigin:e.derivationOrigin},...this.signInOptions({windowed:e?.windowed})})})}};var yl=class extends Ki{#e;constructor({domain:e}){super(),this.#e=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let r=()=>{let n=ur.getInstance().get()?.container;if((0,vc.isNullish)(n)||n===!1)return`https://identity.${this.#e??Rw}`;let o=ur.getInstance().get(),s=(0,vc.nonNullish)(o)&&(0,vc.nonNullish)(o?.internetIdentityId)?o.internetIdentityId:xw,{host:i,protocol:a}=new URL(n===!0?Mi:n);return/apple/i.test(navigator?.vendor)?`${a}//${i}?canisterId=${s}`:`${a}//${s}.${i.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:ol(Nw)},identityProvider:r()}}};var _l=class extends Ki{#e;#t;constructor({appName:e,logoUrl:r}){super(),this.#e=e,this.#t=r}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:ol(vw)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Gi=De(Pe(),1);var xn={certified:!1};var Kw=De(Pe(),1);var Ye=t=>(0,Kw.nonNullish)(t)?t:bl()??new gr;var jr=De(Pe(),1);var Yw=De(Pe(),1);var fv=De(Pe(),1),pv=De(Pe(),1);var Gw=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({sha256:t.Vec(t.Nat8),proposal_id:t.Nat}),n=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:n,desc:t.Bool}),s=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),i=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(s),description:t.Opt(t.Text),created_at:t.Opt(s)}),a=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),c=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(i),paginate:t.Opt(a)}),d=t.Record({controllers:t.Vec(t.Principal)}),p=t.Variant({Write:t.Null,Admin:t.Null,Submit:t.Null}),l=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:p,expires_at:t.Opt(t.Nat64)}),u=t.Record({version:t.Opt(t.Nat64)}),f=t.Variant({Db:t.Null,Storage:t.Null}),h=t.Record({version:t.Opt(t.Nat64)}),m=t.Record({proposal_ids:t.Vec(t.Nat)}),b=t.Record({cycles:t.Nat,destination_id:t.Principal}),y=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),x=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),_=t.Record({key:y,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,x)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),T=t.Record({derivation_origin:t.Opt(t.Text),external_alternative_origins:t.Opt(t.Vec(t.Text))}),N=t.Record({allowed_callers:t.Vec(t.Principal)}),R=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),v=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),A=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),E=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),S=t.Variant({Deny:t.Null,Allow:t.Null}),V=t.Record({status_code:t.Nat16,location:t.Text}),C=t.Record({iframe:t.Opt(E),updated_at:t.Opt(t.Nat64),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),g=t.Record({db:t.Opt(A),authentication:t.Opt(R),storage:C}),w=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),O=t.Variant({Initialized:t.Null,Failed:t.Null,Open:t.Null,Rejected:t.Null,Executed:t.Null,Accepted:t.Null}),P=t.Record({clear_existing_assets:t.Opt(t.Bool)}),L=t.Record({orbiter:t.Opt(t.Text),mission_control_version:t.Opt(t.Text),satellite_version:t.Opt(t.Text)}),I=t.Variant({AssetsUpgrade:P,SegmentsDeployment:L}),B=t.Record({status:O,updated_at:t.Nat64,sha256:t.Opt(t.Vec(t.Nat8)),executed_at:t.Opt(t.Nat64),owner:t.Principal,created_at:t.Nat64,version:t.Opt(t.Nat64),proposal_type:I}),F=t.Variant({Heap:t.Null,Stable:t.Null}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),q=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),H=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),Y=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),G=t.Record({memory:F,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ie=t.Variant({Callback:t.Record({token:G,callback:t.Func([],[],["query"])})}),ae=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ie),status_code:t.Nat16}),Ce=t.Record({token:t.Opt(G),body:t.Vec(t.Nat8)}),ee=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),ce=t.Record({batch_id:t.Nat}),lr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,_)),items_length:t.Nat64}),vr=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),fr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,w)),items_length:t.Nat64}),wn=t.Record({desc:t.Bool}),io=t.Record({start_after:t.Opt(t.Nat),limit:t.Opt(t.Nat)}),zi=t.Record({order:t.Opt(wn),paginate:t.Opt(io)}),Yi=t.Record({proposal_id:t.Nat}),qs=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(Yi,B)),items_length:t.Nat64}),Ms=t.Record({include_system:t.Bool}),Wi=t.Record({matcher:t.Opt(Ms)}),D=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(t.Text,H)),items_length:t.Nat64}),j=t.Record({stable:t.Nat64,heap:t.Nat64}),se=t.Record({version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),Tt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:p,expires_at:t.Opt(t.Nat64)}),Ot=t.Record({controller:Tt,controllers:t.Vec(t.Principal)}),bt=t.Record({version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),Hr=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),En=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),max_size:t.Opt(t.Nat),read:U,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),ks=t.Record({iframe:t.Opt(E),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),Xi=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Ji=t.Record({chunk_id:t.Nat});return t.Service({commit_asset_upload:t.Func([e],[],[]),commit_proposal:t.Func([r],[t.Null],[]),commit_proposal_asset_upload:t.Func([e],[],[]),commit_proposal_many_assets_upload:t.Func([t.Vec(e)],[],[]),count_assets:t.Func([t.Text,c],[t.Nat64],["query"]),count_collection_assets:t.Func([t.Text],[t.Nat64],["query"]),count_collection_docs:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text,c],[t.Nat64],["query"]),count_proposals:t.Func([],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([d],[t.Vec(t.Tuple(t.Principal,l))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,u],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,c],[],[]),del_filtered_docs:t.Func([t.Text,c],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,u))],[],[]),del_rule:t.Func([f,t.Text,h],[],[]),delete_proposal_assets:t.Func([m],[],[]),deposit_cycles:t.Func([b],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(_)],["query"]),get_auth_config:t.Func([],[t.Opt(R)],["query"]),get_config:t.Func([],[g],[]),get_db_config:t.Func([],[t.Opt(A)],["query"]),get_doc:t.Func([t.Text,t.Text],[t.Opt(w)],["query"]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(_)))],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(w)))],["query"]),get_proposal:t.Func([t.Nat],[t.Opt(B)],["query"]),get_rule:t.Func([f,t.Text],[t.Opt(H)],["query"]),get_storage_config:t.Func([],[C],["query"]),http_request:t.Func([Y],[ae],["query"]),http_request_streaming_callback:t.Func([G],[Ce],["query"]),init_asset_upload:t.Func([ee],[ce],[]),init_proposal:t.Func([I],[t.Nat,B],[]),init_proposal_asset_upload:t.Func([ee,t.Nat],[ce],[]),init_proposal_many_assets_upload:t.Func([t.Vec(ee),t.Nat],[t.Vec(t.Tuple(t.Text,ce))],[]),list_assets:t.Func([t.Text,c],[lr],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,l))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,vr))],["query"]),list_docs:t.Func([t.Text,c],[fr],["query"]),list_proposals:t.Func([zi],[qs],["query"]),list_rules:t.Func([f,Wi],[D],["query"]),memory_size:t.Func([],[j],["query"]),reject_proposal:t.Func([r],[t.Null],[]),set_auth_config:t.Func([se],[R],[]),set_controllers:t.Func([Ot],[t.Vec(t.Tuple(t.Principal,l))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([bt],[A],[]),set_doc:t.Func([t.Text,t.Text,Hr],[w],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,Hr))],[t.Vec(t.Tuple(t.Text,w))],[]),set_rule:t.Func([f,t.Text,En],[H],[]),set_storage_config:t.Func([ks],[C],[]),submit_proposal:t.Func([t.Nat],[t.Nat,B],[]),upload_asset_chunk:t.Func([Xi],[Ji],[]),upload_proposal_asset_chunk:t.Func([Xi],[Ji],[])})},Zw=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({sha256:t.Vec(t.Nat8),proposal_id:t.Nat}),n=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:n,desc:t.Bool}),s=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),i=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(s),description:t.Opt(t.Text),created_at:t.Opt(s)}),a=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),c=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(i),paginate:t.Opt(a)}),d=t.Record({controllers:t.Vec(t.Principal)}),p=t.Variant({Write:t.Null,Admin:t.Null,Submit:t.Null}),l=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:p,expires_at:t.Opt(t.Nat64)}),u=t.Record({version:t.Opt(t.Nat64)}),f=t.Variant({Db:t.Null,Storage:t.Null}),h=t.Record({version:t.Opt(t.Nat64)}),m=t.Record({proposal_ids:t.Vec(t.Nat)}),b=t.Record({cycles:t.Nat,destination_id:t.Principal}),y=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),x=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),_=t.Record({key:y,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,x)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),T=t.Record({derivation_origin:t.Opt(t.Text),external_alternative_origins:t.Opt(t.Vec(t.Text))}),N=t.Record({allowed_callers:t.Vec(t.Principal)}),R=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),v=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),A=t.Record({updated_at:t.Opt(t.Nat64),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),E=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),S=t.Variant({Deny:t.Null,Allow:t.Null}),V=t.Record({status_code:t.Nat16,location:t.Text}),C=t.Record({iframe:t.Opt(E),updated_at:t.Opt(t.Nat64),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),created_at:t.Opt(t.Nat64),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),g=t.Record({db:t.Opt(A),authentication:t.Opt(R),storage:C}),w=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),O=t.Variant({Initialized:t.Null,Failed:t.Null,Open:t.Null,Rejected:t.Null,Executed:t.Null,Accepted:t.Null}),P=t.Record({clear_existing_assets:t.Opt(t.Bool)}),L=t.Record({orbiter:t.Opt(t.Text),mission_control_version:t.Opt(t.Text),satellite_version:t.Opt(t.Text)}),I=t.Variant({AssetsUpgrade:P,SegmentsDeployment:L}),B=t.Record({status:O,updated_at:t.Nat64,sha256:t.Opt(t.Vec(t.Nat8)),executed_at:t.Opt(t.Nat64),owner:t.Principal,created_at:t.Nat64,version:t.Opt(t.Nat64),proposal_type:I}),F=t.Variant({Heap:t.Null,Stable:t.Null}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),q=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),H=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),Y=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),G=t.Record({memory:F,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ie=t.Variant({Callback:t.Record({token:G,callback:t.Func([],[],[])})}),ae=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ie),status_code:t.Nat16}),Ce=t.Record({token:t.Opt(G),body:t.Vec(t.Nat8)}),ee=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),ce=t.Record({batch_id:t.Nat}),lr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,_)),items_length:t.Nat64}),vr=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),fr=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,w)),items_length:t.Nat64}),wn=t.Record({desc:t.Bool}),io=t.Record({start_after:t.Opt(t.Nat),limit:t.Opt(t.Nat)}),zi=t.Record({order:t.Opt(wn),paginate:t.Opt(io)}),Yi=t.Record({proposal_id:t.Nat}),qs=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(Yi,B)),items_length:t.Nat64}),Ms=t.Record({include_system:t.Bool}),Wi=t.Record({matcher:t.Opt(Ms)}),D=t.Record({matches_length:t.Nat64,items:t.Vec(t.Tuple(t.Text,H)),items_length:t.Nat64}),j=t.Record({stable:t.Nat64,heap:t.Nat64}),se=t.Record({version:t.Opt(t.Nat64),internet_identity:t.Opt(T),rules:t.Opt(N)}),Tt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:p,expires_at:t.Opt(t.Nat64)}),Ot=t.Record({controller:Tt,controllers:t.Vec(t.Principal)}),bt=t.Record({version:t.Opt(t.Nat64),max_memory_size:t.Opt(v)}),Hr=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),En=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(F),max_size:t.Opt(t.Nat),read:U,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(q),write:U,max_changes_per_user:t.Opt(t.Nat32)}),ks=t.Record({iframe:t.Opt(E),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),version:t.Opt(t.Nat64),max_memory_size:t.Opt(v),raw_access:t.Opt(S),redirects:t.Opt(t.Vec(t.Tuple(t.Text,V)))}),Xi=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Ji=t.Record({chunk_id:t.Nat});return t.Service({commit_asset_upload:t.Func([e],[],[]),commit_proposal:t.Func([r],[t.Null],[]),commit_proposal_asset_upload:t.Func([e],[],[]),commit_proposal_many_assets_upload:t.Func([t.Vec(e)],[],[]),count_assets:t.Func([t.Text,c],[t.Nat64],[]),count_collection_assets:t.Func([t.Text],[t.Nat64],[]),count_collection_docs:t.Func([t.Text],[t.Nat64],[]),count_docs:t.Func([t.Text,c],[t.Nat64],[]),count_proposals:t.Func([],[t.Nat64],[]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([d],[t.Vec(t.Tuple(t.Principal,l))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,u],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,c],[],[]),del_filtered_docs:t.Func([t.Text,c],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,u))],[],[]),del_rule:t.Func([f,t.Text,h],[],[]),delete_proposal_assets:t.Func([m],[],[]),deposit_cycles:t.Func([b],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(_)],[]),get_auth_config:t.Func([],[t.Opt(R)],[]),get_config:t.Func([],[g],[]),get_db_config:t.Func([],[t.Opt(A)],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(w)],[]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(_)))],[]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(w)))],[]),get_proposal:t.Func([t.Nat],[t.Opt(B)],[]),get_rule:t.Func([f,t.Text],[t.Opt(H)],[]),get_storage_config:t.Func([],[C],[]),http_request:t.Func([Y],[ae],[]),http_request_streaming_callback:t.Func([G],[Ce],[]),init_asset_upload:t.Func([ee],[ce],[]),init_proposal:t.Func([I],[t.Nat,B],[]),init_proposal_asset_upload:t.Func([ee,t.Nat],[ce],[]),init_proposal_many_assets_upload:t.Func([t.Vec(ee),t.Nat],[t.Vec(t.Tuple(t.Text,ce))],[]),list_assets:t.Func([t.Text,c],[lr],[]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,l))],[]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,vr))],[]),list_docs:t.Func([t.Text,c],[fr],[]),list_proposals:t.Func([zi],[qs],[]),list_rules:t.Func([f,Wi],[D],[]),memory_size:t.Func([],[j],[]),reject_proposal:t.Func([r],[t.Null],[]),set_auth_config:t.Func([se],[R],[]),set_controllers:t.Func([Ot],[t.Vec(t.Tuple(t.Principal,l))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([bt],[A],[]),set_doc:t.Func([t.Text,t.Text,Hr],[w],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,Hr))],[t.Vec(t.Tuple(t.Text,w))],[]),set_rule:t.Func([f,t.Text,En],[H],[]),set_storage_config:t.Func([ks],[C],[]),submit_proposal:t.Func([t.Nat],[t.Nat,B],[]),upload_asset_chunk:t.Func([Xi],[Ji],[]),upload_proposal_asset_chunk:t.Func([Xi],[Ji],[])})};var gl=De(Pe(),1);var zw=({satelliteId:t,container:e})=>{let{satelliteId:r}=rm({satelliteId:t}),{container:n}=nm({container:e});if((0,gl.nonNullish)(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?Mi:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},rm=({satelliteId:t})=>(0,gl.nonNullish)(t)?{satelliteId:t}:ur.getInstance().get()??{satelliteId:void 0},nm=({container:t})=>(0,gl.nonNullish)(t)?{container:t}:ur.getInstance().get()??{container:void 0};var ut=({satellite:t,options:{certified:e}})=>Xw({idlFactory:e?Zw:Gw,actorKey:`stock#${e?"update":"query"}`,...t}),Ww=({idlFactory:t,...e})=>Xw({idlFactory:t,actorKey:"extended#query",...e}),Xw=async({satelliteId:t,container:e,...r})=>{let{satelliteId:n}=rm({satelliteId:t});(0,Yw.assertNonNullish)(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=nm({container:e});return await ji.getInstance().getActor({satelliteId:n,container:o,...r})};var nt=De(Pe(),1);var Jw=t=>{if((0,nt.isNullish)(t))return(0,nt.toNullable)();switch(t.matcher){case"equal":return(0,nt.toNullable)({Equal:t.timestamp});case"greaterThan":return(0,nt.toNullable)({GreaterThan:t.timestamp});case"lessThan":return(0,nt.toNullable)({LessThan:t.timestamp});case"between":return(0,nt.toNullable)({Between:[t.timestamps.start,t.timestamps.end]});default:throw new ml("Invalid list matcher for timestamp",t)}},Ko=({matcher:t,paginate:e,order:r,owner:n})=>({matcher:(0,nt.isNullish)(t)?[]:[{key:(0,nt.toNullable)(t.key),description:(0,nt.toNullable)(t.description),created_at:Jw(t.createdAt),updated_at:Jw(t.updatedAt)}],paginate:(0,nt.toNullable)((0,nt.isNullish)(e)?void 0:{start_after:(0,nt.toNullable)(e.startAfter),limit:(0,nt.toNullable)((0,nt.isNullish)(e.limit)?void 0:BigInt(e.limit))}),order:(0,nt.toNullable)((0,nt.isNullish)(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:(0,nt.toNullable)((0,nt.isNullish)(n)?void 0:typeof n=="string"?oe.fromText(n):n)});var Qw=async({data:t})=>{try{return await rl(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};var Ls=De(Pe(),1);var om=async t=>{let{data:e,version:r,description:n}=t;return{description:(0,Ls.toNullable)(n),data:await Iw(e),version:(0,Ls.toNullable)(r)}},sm=t=>{let{version:e}=t;return{version:(0,Ls.toNullable)(e)}},Rc=async({doc:t,key:e})=>{let{owner:r,version:n,description:o,data:s,...i}=t;return{key:e,description:(0,Ls.fromNullable)(o),owner:r.toText(),data:await rl(s),version:(0,Ls.fromNullable)(n),...i}};var e1=async({collection:t,key:e,...r})=>{let{get_doc:n}=await ut(r),o=(0,jr.fromNullable)(await n(t,e));if(!(0,jr.isNullish)(o))return Rc({doc:o,key:e})},t1=async({docs:t,...e})=>{let{get_many_docs:r}=await ut(e),n=t.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=(0,jr.fromNullable)(a);s.push((0,jr.nonNullish)(c)?await Rc({key:i,doc:c}):void 0)}return s},r1=async({collection:t,doc:e,...r})=>{let{set_doc:n}=await ut(r),{key:o}=e,s=await om(e),i=await n(t,o,s);return await Rc({key:o,doc:i})},n1=async({docs:t,...e})=>{let{set_many_docs:r}=await ut(e),n=[];for(let{collection:i,doc:a}of t){let{key:c}=a;n.push([i,c,await om(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await Rc({key:i,doc:a}));return s},o1=async({collection:t,doc:e,...r})=>{let{del_doc:n}=await ut(r),{key:o}=e;return n(t,o,sm(e))},s1=async({docs:t,...e})=>{let{del_many_docs:r}=await ut(e),n=t.map(({collection:o,doc:s})=>[o,s.key,sm(s)]);await r(n)},i1=async({collection:t,filter:e,...r})=>{let{del_filtered_docs:n}=await ut(r);return n(t,Ko(e))},a1=async({collection:t,filter:e,...r})=>{let{list_docs:n}=await ut(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(t,Ko(e)),d=[];for(let[p,l]of o){let{data:u,owner:f,description:h,version:m,...b}=l;d.push({key:p,description:(0,jr.fromNullable)(h),owner:f.toText(),data:await Qw({data:u}),version:(0,jr.fromNullable)(m),...b})}return{items:d,items_length:i,items_page:(0,jr.fromNullable)(s),matches_length:a,matches_pages:(0,jr.fromNullable)(c)}},c1=async({collection:t,filter:e,...r})=>{let{count_docs:n}=await ut(r);return n(t,Ko(e))};var xl=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await e1({...r,satellite:{...t,identity:n},options:e??xn})},S7=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await t1({...r,satellite:{...t,identity:n},options:e??xn})},u1=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await r1({...e,satellite:{...t,identity:r},options:{certified:!0}})},d1=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await n1({...e,satellite:{...t,identity:r},options:{certified:!0}})},A7=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await o1({...e,satellite:{...t,identity:r},options:{certified:!0}})},B7=async({satellite:t,...e})=>{let r=Ye(t?.identity);return await s1({...e,satellite:{...t,identity:r},options:{certified:!0}})},C7=async({satellite:t,filter:e,...r})=>{let n=Ye(t?.identity);return await i1({...r,filter:e??{},satellite:{...t,identity:n},options:{certified:!0}})},P7=async({satellite:t,options:e,filter:r,...n})=>{let o=Ye(t?.identity);return await a1({...n,filter:r??{},satellite:{...t,identity:o},options:e??xn})},D7=async({satellite:t,options:e,filter:r,...n})=>{let o=Ye(t?.identity);return await c1({...n,filter:r??{},satellite:{...t,identity:o},options:e??xn})};var wl=De(Pe(),1);var l1=async({delegationIdentity:t,passkeyIdentity:e,satelliteId:r})=>{let n=e.getCredential().getAAGUID(),[o,s]=await d1({docs:[{collection:"#user",doc:{key:t.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...(0,wl.nonNullish)(n)&&{aaguid:(0,wl.uint8ArrayToArrayOfNumber)(n)}}}}}},{collection:"#user-webauthn",doc:{key:e.getCredential().getCredentialIdText(),data:{publicKey:e.getPublicKey().toRaw()}}}],satellite:{identity:t,satelliteId:r}});return o};var f1=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(f1||{}),p1=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(p1||{});var Ic=class{get id(){return"webauthn"}async signUp({options:{onProgress:e,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=ur.getInstance().get()??{satelliteId:void 0};if((0,Gi.isNullish)(s))throw new Us("Satellite ID not set. Have you initialized the Satellite?");let i=({step:m,state:b})=>{switch(m){case $o.RequestingUserCredential:e?.({step:1,state:b});break;case $o.FinalizingCredential:e?.({step:2,state:b});break;case $o.Signing:e?.({step:3,state:b});break}},c=await gn({fn:async()=>await q0.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:e}),{delegationIdentity:d,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await gn({fn:async()=>await l1({delegationIdentity:d,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:e});await gn({fn:async()=>await this.#t({delegationIdentity:d,sessionKey:p}),step:4,onProgress:e}),await gn({fn:async()=>await o({user:u}),step:5,onProgress:e})}async signIn({options:{onProgress:e,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=ur.getInstance().get()??{satelliteId:void 0};if((0,Gi.isNullish)(o))throw new Us("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:l})=>{let u=await xl({collection:"#user-webauthn",key:(0,Gi.uint8ArrayToBase64)(l),options:{certified:!0},satellite:{identity:new gr,satelliteId:o}});if((0,Gi.isNullish)(u))throw new fl("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return Cs(h,gc)},i=({step:l,state:u})=>{switch(l){case $o.RequestingUserCredential:e?.({step:0,state:u});break;case $o.FinalizingCredential:e?.({step:1,state:u});break;case $o.Signing:e?.({step:2,state:u});break}},a=await q0.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:d}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await gn({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:d}),step:3,onProgress:e}),await gn({fn:n,step:4,onProgress:e})}async#e({identity:e,maxTimeToLiveInMilliseconds:r}){let n=await Ds.generate({extractable:!1}),o=r??144e5,s=await Fs.create(e,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Vs.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:e,delegationIdentity:r}){let n=new so;await Promise.all([n.set(Zt,e.getKeyPair()),n.set(dr,JSON.stringify(r.getDelegation().toJSON()))])}};var Sc=()=>cl.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),h1=async()=>(await new so().remove(Zt),await Sc());var Ac=De(Pe(),1);var im=({error:t,type:e})=>typeof t=="string"?t.includes(e):t instanceof Error?t.message.includes(e):!1;var m1="juno.datastore.error.user.cannot_update";var y1=async({provider:t})=>{let{user:e,userId:r}=await am();if((0,Ac.nonNullish)(e))return e;try{return await mv({userId:r,provider:t})}catch(n){if(im({error:n,type:m1})){let o=await _1({userId:r});if((0,Ac.nonNullish)(o))return o}throw n}},am=async()=>{let t=bl();if((0,Ac.isNullish)(t))throw new hl("No identity to initialize the user. Have you initialized Juno?");let e=t.getPrincipal().toText(),r=await _1({userId:e});return{userId:e,user:r}},_1=({userId:t})=>xl({collection:"#user",key:t}),mv=({userId:t,...e})=>u1({collection:"#user",doc:{key:t,data:e}});var Nr,cm=async()=>{await um({fn:async()=>{let{user:e}=await am();Or.getInstance().set(e??null)}})},yv=async({user:t})=>{await um({fn:async()=>{Or.getInstance().set(t)}})},b1=async({provider:t})=>{await um({fn:async()=>{let r=await y1({provider:t});Or.getInstance().set(r)}})},um=async({fn:t})=>{if(Nr=await Sc(),!await Nr.isAuthenticated()){Nr=await h1();return}await t()},_v=async t=>{let e=async()=>await gv(t);if(Object.values(t)[0].context?.windowGuard===!1){await e();return}await j0({fn:e})},bv=async t=>{let e=async()=>await xv(t);if(Object.values(t)?.[0].context?.windowGuard===!1){await e();return}await j0({fn:e})},gv=async t=>{if("webauthn"in t){let{webauthn:{options:e}}=t;await new Ic().signIn({options:e,loadAuth:cm});return}if("nfid"in t){let{nfid:{options:e}}=t,{appName:r,logoUrl:n,...o}=e??{};await new _l({appName:r,logoUrl:n}).signIn({options:o,authClient:Nr,initAuth:b1});return}if("internet_identity"in t){let{internet_identity:{options:e}}=t,{domain:r,...n}=e??{};await new yl({domain:r}).signIn({options:n,authClient:Nr,initAuth:b1});return}throw new ll("An unknown or unsupported provider was provided for sign-in.")},xv=async t=>{if("webauthn"in t){let{webauthn:{options:e}}=t;await new Ic().signUp({options:e,loadAuthWithUser:yv});return}throw new pl("An unknown or unsupported provider was provided for sign-up.")},dm=async t=>{await wv(),Nr=await Sc(),t?.windowReload!==!1&&window.location.reload()},wv=async()=>{await Nr?.logout(),Nr=null,Or.getInstance().reset(),ji.getInstance().reset(),ki.getInstance().reset()},bl=()=>Nr?.getIdentity(),Ev=async()=>(Nr??await Sc()).getIdentity(),Tv=async()=>{let t=Or.getInstance().get();return(0,g1.isNullish)(t)||!(await Nr?.isAuthenticated()??!1)?null:Nr?.getIdentity()??null};var w1=t=>{let e=t===!0?"./workers/auth.worker.js":t,r=new Worker(e),n=async()=>{M0({message:"junoSignOutAuthTimer"}),await dm()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":M0({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},Or.getInstance().subscribe(o=>{if((0,x1.isNullish)(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var E1=()=>{let t=()=>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??t():t()},T1=()=>{let t=()=>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??t():t()};var N9=async({idlFactory:t,satellite:e})=>{let r=Ye(e?.identity);return await Ww({idlFactory:t,...e,identity:r})};var Cc=De(Pe(),1);var Bc=De(Pe(),1);var Zi=De(Pe(),1);var O1=async({asset:{data:t,headers:e,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(Ov(r));o?.onInitiatedBatch();let{chunkIds:d}=await Rv({data:t,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await vv({commitFn:a,batchId:c,data:t,headers:e,chunkIds:d}),o?.onCommittedBatch()};var Ov=({filename:t,collection:e,token:r,fullPath:n,encoding:o,description:s})=>({collection:e,full_path:n,name:t,token:(0,Zi.toNullable)(r),encoding_type:(0,Zi.toNullable)(o),description:(0,Zi.toNullable)(s)}),Nv=({batchId:t,chunkIds:e,headers:r,data:n})=>{let o=r.find(([s,i])=>s.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:t,chunk_ids:e.map(({chunk_id:s})=>s),headers:[...r,...o??[]]}},vv=async({commitFn:t,...e})=>{let r=Nv(e);await t(r)},Rv=async({data:t,uploadFn:e,batchId:r})=>{let n=[],o=nl()?new Blob([await t.arrayBuffer()]):t,s=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:e,orderId:s}),s++}let i=[];for await(let a of Iv({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*Iv({uploadChunks:t,limit:e=12}){for(let r=0;r<t.length;r=r+e){let n=t.slice(r,r+e);yield await Promise.all(n.map(o=>Sv(o)))}}var Sv=async({batchId:t,chunk:e,uploadFn:r,orderId:n})=>r({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:(0,Zi.toNullable)(n)});var N1=async({asset:t,...e})=>{let r=await ut(e);await O1({actor:r,asset:t})},v1=async({collection:t,filter:e,...r})=>{let{list_assets:n}=await ut(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(t,Ko(e));return{items:o.map(([d,p])=>p),items_length:s,items_page:(0,Bc.fromNullable)(i),matches_length:a,matches_pages:(0,Bc.fromNullable)(c)}},R1=async({collection:t,filter:e,...r})=>{let{count_assets:n}=await ut(r);return n(t,Ko(e))},I1=async({collection:t,fullPath:e,...r})=>(await ut(r)).del_asset(t,e),S1=async({assets:t,satellite:e})=>{let{del_many_assets:r}=await ut({satellite:e,options:{certified:!0}}),n=t.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},A1=async({collection:t,filter:e,...r})=>{let{del_filtered_assets:n}=await ut(r);return n(t,Ko(e))},B1=async({collection:t,fullPath:e,...r})=>{let{get_asset:n}=await ut(r);return(0,Bc.fromNullable)(await n(t,e))},C1=async({assets:t,...e})=>{let{get_many_assets:r}=await ut(e),n=t.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>(0,Bc.fromNullable)(i))};var P1=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var q9=t=>D1(t),M9=t=>D1({filename:t.data.name,...t}),D1=async({filename:t,data:e,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let d=Ye(i?.identity),p=decodeURI(t),l=o??`/${r}/${p}`,u={...i,identity:d};return await N1({asset:{data:e,filename:p,collection:r,token:s,headers:n,fullPath:l,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:F1({satellite:u,assetKey:{fullPath:l,token:s}}),fullPath:l,name:p}},k9=async({collection:t,filter:e,satellite:r,options:n})=>{let o={...r,identity:Ye(r?.identity)},{items:s,...i}=await v1({collection:t,filter:e??{},satellite:o,options:n??xn}),a=s.map(({key:{full_path:c,token:d,name:p,owner:l,description:u},headers:f,encodings:h,created_at:m,updated_at:b})=>{let y=(0,Cc.fromNullable)(d);return{fullPath:c,description:(0,Cc.fromNullable)(u),name:p,downloadUrl:F1({satellite:o,assetKey:{fullPath:c,token:y}}),token:y,headers:f,encodings:h.reduce((x,[_,{modified:T,sha256:N,total_length:R}])=>({...x,[_]:{modified:T,sha256:P1(N),total_length:R}}),{}),owner:l.toText(),created_at:m,updated_at:b}});return{items:a,assets:a,...i}},j9=async({collection:t,filter:e,satellite:r,options:n})=>{let o={...r,identity:Ye(r?.identity)};return await R1({collection:t,satellite:o,filter:e??{},options:n??xn})},H9=({collection:t,fullPath:e,satellite:r})=>I1({collection:t,fullPath:e,satellite:{...r,identity:Ye(r?.identity)},options:{certified:!0}}),$9=({assets:t,satellite:e})=>S1({assets:t,satellite:{...e,identity:Ye(e?.identity)},options:{certified:!0}}),K9=async({collection:t,satellite:e,filter:r})=>{let n={...e,identity:Ye(e?.identity)};return await A1({collection:t,satellite:n,filter:r??{},options:{certified:!0}})},G9=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await B1({...r,satellite:{...t,identity:n},options:e??xn})},Z9=async({satellite:t,options:e,...r})=>{let n=Ye(t?.identity);return await C1({...r,satellite:{...t,identity:n},options:e??xn})},F1=({assetKey:{fullPath:t,token:e},satellite:r})=>{let n={...r,identity:Ye(r?.identity)};return`${zw(n)}${t}${(0,Cc.nonNullish)(e)?`?token=${e}`:""}`};var Av=t=>{let e=t?.satelliteId??E1();(0,V1.assertNonNullish)(e,"Satellite ID is not configured. Juno cannot be initialized.");let r=t?.container??T1();return{satelliteId:e,internetIdentityId:t?.internetIdentityId,workers:t?.workers,container:r}},tC=t=>Bv(t),Bv=async t=>{let e=Av(t);ur.getInstance().set(e),await cm();let r=e.workers?.auth!==void 0?w1(e.workers.auth):void 0;return[...r?[r]:[]]},Cv=t=>Or.getInstance().subscribe(t),rC=Cv;export{Hw as AuthClientSignInProgressStep,hl as InitError,yl as InternetIdentityProvider,ml as ListError,_l as NFIDProvider,ul as SignInError,Us as SignInInitError,ll as SignInProviderNotSupportedError,dl as SignInUserInterruptError,pl as SignUpProviderNotSupportedError,f1 as WebAuthnSignInProgressStep,fl as WebAuthnSignInRetrievePublicKeyError,p1 as WebAuthnSignUpProgressStep,rC as authSubscribe,j9 as countAssets,D7 as countDocs,H9 as deleteAsset,A7 as deleteDoc,K9 as deleteFilteredAssets,C7 as deleteFilteredDocs,$9 as deleteManyAssets,B7 as deleteManyDocs,F1 as downloadUrl,G9 as getAsset,xl as getDoc,Tv as getIdentityOnce,Z9 as getManyAssets,S7 as getManyDocs,N9 as getSatelliteExtendedActor,tC as initJuno,Bv as initSatellite,kN as isWebAuthnAvailable,k9 as listAssets,P7 as listDocs,Cv as onAuthStateChange,u1 as setDoc,d1 as setManyDocs,_v as signIn,dm as signOut,bv as signUp,Ev as unsafeIdentity,q9 as uploadBlob,M9 as uploadFile};
|
|
123
123
|
/*! Bundled license information:
|
|
124
124
|
|
|
125
125
|
@noble/hashes/utils.js:
|