@junobuild/core-standalone 5.3.1 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var Mf=Object.defineProperty;var jf=(e,t)=>{for(var r in t)Mf(e,r,{get:t[r],enumerable:!0})};var Kf=class extends Error{},jo=(e,t)=>{if(e==null)throw new Kf(t)};var mr=e=>new Uint8Array(e),Li=e=>Array.from(e);var Fl=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Kr=e=>{let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode(...e.subarray(r,r+32768)));return btoa(t.join(""))},Bl=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0));var U=e=>e==null,J=e=>!U(e),_r=e=>J(e)&&e!=="",pt=e=>!_r(e),se=e=>J(e)?[e]:[],me=e=>e?.[0];var ki="abcdefghijklmnopqrstuvwxyz234567",ao=Object.create(null);for(let e=0;e<ki.length;e++)ao[ki[e]]=e;ao[0]=ao.o;ao[1]=ao.i;function $f(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=ki[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?ki[r>>3]:"")}function Hf(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=ao[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var Gf=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 Jf(e){let t=-1;for(let r=0;r<e.length;r++){let n=(e[r]^t)&255;t=Gf[n]^t>>>8}return(t^-1)>>>0}function Wf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function qi(e,...t){if(!Wf(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Cl(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function zf(e,t){qi(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Ua(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Da(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mt(e,t){return e<<32-t|e>>>t}var Dl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Yf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Zf(e){if(qi(e),Dl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Yf[e[r]];return t}var hr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vl(e){if(e>=hr._0&&e<=hr._9)return e-hr._0;if(e>=hr.A&&e<=hr.F)return e-(hr.A-10);if(e>=hr.a&&e<=hr.f)return e-(hr.a-10)}function Xf(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Dl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Vl(e.charCodeAt(i)),a=Vl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function Qf(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ul(e){return typeof e=="string"&&(e=Qf(e)),qi(e),e}var eh=class{};function th(e){let t=n=>e().update(Ul(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function rh(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function nh(e,t,r){return e&t^~e&r}function oh(e,t,r){return e&t^e&r^t&r}var ih=class extends eh{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Da(this.buffer)}update(e){Cl(this),e=Ul(e),qi(e);let{view:t,buffer:r,blockLen:n}=this,o=e.length;for(let i=0;i<o;){let s=Math.min(n-this.pos,o-i);if(s===n){let a=Da(e);for(;n<=o-i;i+=n)this.process(a,i);continue}r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Cl(this),zf(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:o}=this,{pos:i}=this;t[i++]=128,Ua(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(r,0),i=0);for(let d=i;d<n;d++)t[d]=0;rh(r,n-8,BigInt(this.length*8),o),this.process(r,0);let s=Da(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,l[d],o)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:o,destroyed:i,pos:s}=this;return e.destroyed=i,e.finished=o,e.length=n,e.pos=s,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},qr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Mr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),sh=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]),jr=new Uint32Array(64),ah=class extends ih{constructor(e=32){super(64,e,8,!1),this.A=qr[0]|0,this.B=qr[1]|0,this.C=qr[2]|0,this.D=qr[3]|0,this.E=qr[4]|0,this.F=qr[5]|0,this.G=qr[6]|0,this.H=qr[7]|0}get(){let{A:e,B:t,C:r,D:n,E:o,F:i,G:s,H:a}=this;return[e,t,r,n,o,i,s,a]}set(e,t,r,n,o,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)jr[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let p=jr[d-15],u=jr[d-2],f=Mt(p,7)^Mt(p,18)^p>>>3,h=Mt(u,17)^Mt(u,19)^u>>>10;jr[d]=h+jr[d-7]+f+jr[d-16]|0}let{A:r,B:n,C:o,D:i,E:s,F:a,G:c,H:l}=this;for(let d=0;d<64;d++){let p=Mt(s,6)^Mt(s,11)^Mt(s,25),u=l+p+nh(s,a,c)+sh[d]+jr[d]|0,f=(Mt(r,2)^Mt(r,13)^Mt(r,22))+oh(r,n,o)|0;l=c,c=a,a=s,s=i+u|0,i=o,o=n,n=r,r=u+f|0}r=r+this.A|0,n=n+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,o,i,s,a,c,l)}roundClean(){Ua(jr)}destroy(){this.set(0,0,0,0,0,0,0,0),Ua(this.buffer)}},ch=class extends ah{constructor(){super(28),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0}},lh=th(()=>new ch),Ui="__principal__",uh=2,Pl=4,dh="aaaaa-aa",ka=class so{static anonymous(){return new this(new Uint8Array([Pl]))}static managementCanister(){return this.fromText(dh)}static selfAuthenticating(t){let r=lh(t);return new this(new Uint8Array([...r,uh]))}static from(t){if(typeof t=="string")return so.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new so(t);if(so.isPrincipal(t))return new so(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Xf(t))}static fromText(t){let r=t;if(t.includes(Ui)){let s=JSON.parse(t);Ui in s&&(r=s[Ui])}let n=r.toLowerCase().replace(/-/g,""),o=Hf(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof so||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Pl}toUint8Array(){return this._arr}toHex(){return Zf(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Jf(this._arr));let r=new Uint8Array(t),n=new Uint8Array([...r,...this._arr]),o=$f(n).match(/.{1,5}/g);if(!o)throw new Error;return o.join("-")}toString(){return this.toText()}toJSON(){return{[Ui]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}},La="__bigint__",qa="__principal__",Ma="__uint8array__",ph=(e,t)=>typeof t=="bigint"?{[La]:`${t}`}:J(t)&&ka.isPrincipal(t)?{[qa]:ka.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[Ma]:Array.from(t)}:t,fh=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&La in t?BigInt(r(La)):J(t)&&typeof t=="object"&&qa in t?ka.fromText(r(qa)):J(t)&&typeof t=="object"&&Ma in t?Uint8Array.from(r(Ma)):t},kl=async e=>{let t=new Blob([JSON.stringify(e,ph)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Mi=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),fh)},ji=()=>typeof window<"u";var Ll;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Ll||(Ll={}));var $r;(function(e){e.Replied="replied",e.Rejected="rejected"})($r||($r={}));function ql(e){return e!=null&&"reject_code"in e}function Ml(e){return e!=null&&"certificate"in e}var Ki="abcdefghijklmnopqrstuvwxyz234567",co=Object.create(null);for(let e=0;e<Ki.length;e++)co[Ki[e]]=e;co[0]=co.o;co[1]=co.i;function jl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=Ki[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Ki[r>>3]:"")}function Kl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=co[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var hh=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 $l(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=hh[o]^t>>>8}return(t^-1)>>>0}var Un=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function jt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ja(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!jt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ka(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Gl(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function kn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Hi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var Jl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),Jl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=mh[e[r]];return t}var yr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Hl(e){if(e>=yr._0&&e<=yr._9)return e-yr._0;if(e>=yr.A&&e<=yr.F)return e-(yr.A-10);if(e>=yr.a&&e<=yr.f)return e-(yr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Jl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Hl(e.charCodeAt(i)),a=Hl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function $a(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function $(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var $i=class{};function Gi(e){let t=n=>e().update($a(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function lo(e=32){if(Un&&typeof Un.getRandomValues=="function")return Un.getRandomValues(new Uint8Array(e));if(Un&&typeof Un.randomBytes=="function")return Uint8Array.from(Un.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function _h(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function Wl(e,t,r){return e&t^~e&r}function zl(e,t,r){return e&t^e&r^t&r}var Ko=class extends $i{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Hi(this.buffer)}update(t){Ka(this),t=$a(t),fe(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Hi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ka(this),Gl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,kn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let p=s;p<o;p++)r[p]=0;_h(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Hi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<l;p++)a.setUint32(4*p,d[p],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),xr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ae=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Ji=BigInt(4294967295),Yl=BigInt(32);function yh(e,t=!1){return t?{h:Number(e&Ji),l:Number(e>>Yl&Ji)}:{h:Number(e>>Yl&Ji)|0,l:Number(e&Ji)|0}}function Zl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=yh(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ha=(e,t,r)=>e>>>r,Ga=(e,t,r)=>e<<32-r|t>>>r,Ln=(e,t,r)=>e>>>r|t<<32-r,qn=(e,t,r)=>e<<32-r|t>>>r,$o=(e,t,r)=>e<<64-r|t>>>r-32,Ho=(e,t,r)=>e>>>r-32|t<<64-r;function Kt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Xl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ql=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,eu=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),tu=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,ru=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),nu=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var xh=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]),Hr=new Uint32Array(64),Wi=class extends Ko{constructor(t=32){super(64,t,8,!1),this.A=gr[0]|0,this.B=gr[1]|0,this.C=gr[2]|0,this.D=gr[3]|0,this.E=gr[4]|0,this.F=gr[5]|0,this.G=gr[6]|0,this.H=gr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Hr[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let u=Hr[p-15],f=Hr[p-2],h=Rt(u,7)^Rt(u,18)^u>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;Hr[p]=_+Hr[p-7]+h+Hr[p-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){let u=Rt(a,6)^Rt(a,11)^Rt(a,25),f=d+u+Wl(a,c,l)+xh[p]+Hr[p]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+zl(n,o,i)|0;d=l,l=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,l,d)}roundClean(){kn(Hr)}destroy(){this.set(0,0,0,0,0,0,0,0),kn(this.buffer)}},Ja=class extends Wi{constructor(){super(28),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[7]|0}},ou=Zl(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),bh=ou[0],wh=ou[1],Gr=new Uint32Array(80),Jr=new Uint32Array(80),Wa=class extends Ko{constructor(t=64){super(128,t,16,!1),this.Ah=Ae[0]|0,this.Al=Ae[1]|0,this.Bh=Ae[2]|0,this.Bl=Ae[3]|0,this.Ch=Ae[4]|0,this.Cl=Ae[5]|0,this.Dh=Ae[6]|0,this.Dl=Ae[7]|0,this.Eh=Ae[8]|0,this.El=Ae[9]|0,this.Fh=Ae[10]|0,this.Fl=Ae[11]|0,this.Gh=Ae[12]|0,this.Gl=Ae[13]|0,this.Hh=Ae[14]|0,this.Hl=Ae[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:d,Fh:p,Fl:u,Gh:f,Gl:h,Hh:_,Hl:y}=this;return[t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y]}set(t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=d|0,this.Fh=p|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)Gr[g]=t.getUint32(r),Jr[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let T=Gr[g-15]|0,O=Jr[g-15]|0,v=Ln(T,O,1)^Ln(T,O,8)^Ha(T,O,7),E=qn(T,O,1)^qn(T,O,8)^Ga(T,O,7),C=Gr[g-2]|0,w=Jr[g-2]|0,I=Ln(C,w,19)^$o(C,w,61)^Ha(C,w,6),P=qn(C,w,19)^Ho(C,w,61)^Ga(C,w,6),A=eu(E,P,Jr[g-7],Jr[g-16]),x=tu(A,v,I,Gr[g-7],Gr[g-16]);Gr[g]=x|0,Jr[g]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:d,Eh:p,El:u,Fh:f,Fl:h,Gh:_,Gl:y,Hh:m,Hl:b}=this;for(let g=0;g<80;g++){let T=Ln(p,u,14)^Ln(p,u,18)^$o(p,u,41),O=qn(p,u,14)^qn(p,u,18)^Ho(p,u,41),v=p&f^~p&_,E=u&h^~u&y,C=ru(b,O,E,wh[g],Jr[g]),w=nu(C,m,T,v,bh[g],Gr[g]),I=C|0,P=Ln(n,o,28)^$o(n,o,34)^$o(n,o,39),A=qn(n,o,28)^Ho(n,o,34)^Ho(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=y|0,_=f|0,y=h|0,f=p|0,h=u|0,{h:p,l:u}=Kt(l|0,d|0,w|0,I|0),l=a|0,d=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Xl(I,A,N);n=Ql(S,w,P,x),o=S|0}({h:n,l:o}=Kt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Kt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Kt(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=Kt(this.Dh|0,this.Dl|0,l|0,d|0),{h:p,l:u}=Kt(this.Eh|0,this.El|0,p|0,u|0),{h:f,l:h}=Kt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:y}=Kt(this.Gh|0,this.Gl|0,_|0,y|0),{h:m,l:b}=Kt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,l,d,p,u,f,h,_,y,m,b)}roundClean(){kn(Gr,Jr)}destroy(){kn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Gi(()=>new Wi),iu=Gi(()=>new Ja),su=Gi(()=>new Wa);var zi="__principal__",Th=2,au=4,Nh="aaaaa-aa",q=class e{static anonymous(){return new this(new Uint8Array([au]))}static managementCanister(){return this.fromText(Nh)}static selfAuthenticating(t){let r=iu(t);return new this(new Uint8Array([...r,Th]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(zi)){let s=JSON.parse(t);zi in s&&(r=s[zi])}let n=r.toLowerCase().replace(/-/g,""),o=Kl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===au}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,$l(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=jl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[zi]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var br;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(br||(br={}));var Yi;(function(e){e.Normal="normal",e.Verbose="verbose"})(Yi||(Yi={}));var Oh=new Set(["arg","certificate","nonce"]);function za(e){return(t,r)=>r instanceof Uint8Array?e===Yi.Normal&&Oh.has(t)?`<${r.length} bytes, set ErrorCode.verbosity = ErrorVerbosity.Verbose to display>`:`hex(${r.length}):${j(r)}`:r}var K=class e{static{this.verbosity=Yi.Normal}constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
1
+ var Nf=Object.defineProperty;var Of=(e,t)=>{for(var r in t)Nf(e,r,{get:t[r],enumerable:!0})};var Si="abcdefghijklmnopqrstuvwxyz234567",to=Object.create(null);for(let e=0;e<Si.length;e++)to[Si[e]]=e;to[0]=to.o;to[1]=to.i;function gl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=Si[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Si[r>>3]:"")}function xl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=to[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var Ef=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 bl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Ef[o]^t>>>8}return(t^-1)>>>0}var Vn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Mt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ra(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Mt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function va(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function wl(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Pn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Vi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var Nl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Rf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),Nl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Rf[e[r]];return t}var fr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Tl(e){if(e>=fr._0&&e<=fr._9)return e-fr._0;if(e>=fr.A&&e<=fr.F)return e-(fr.A-10);if(e>=fr.a&&e<=fr.f)return e-(fr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Nl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Tl(e.charCodeAt(i)),a=Tl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ia(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function $(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var Ci=class{};function Pi(e){let t=n=>e().update(Ia(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function ro(e=32){if(Vn&&typeof Vn.getRandomValues=="function")return Vn.getRandomValues(new Uint8Array(e));if(Vn&&typeof Vn.randomBytes=="function")return Uint8Array.from(Vn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function vf(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function Ol(e,t,r){return e&t^~e&r}function El(e,t,r){return e&t^e&r^t&r}var Bo=class extends Ci{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Vi(this.buffer)}update(t){va(this),t=Ia(t),fe(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Vi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){va(this),wl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Pn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;vf(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Vi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,p=this.get();if(l>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},hr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),mr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ae=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Fi=BigInt(4294967295),Rl=BigInt(32);function If(e,t=!1){return t?{h:Number(e&Fi),l:Number(e>>Rl&Fi)}:{h:Number(e>>Rl&Fi)|0,l:Number(e&Fi)|0}}function vl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=If(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Aa=(e,t,r)=>e>>>r,Sa=(e,t,r)=>e<<32-r|t>>>r,Fn=(e,t,r)=>e>>>r|t<<32-r,Bn=(e,t,r)=>e<<32-r|t>>>r,Do=(e,t,r)=>e<<64-r|t>>>r-32,Uo=(e,t,r)=>e>>>r-32|t<<64-r;function jt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Il=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Al=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Sl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Cl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Vl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Pl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Sf=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]),kr=new Uint32Array(64),Bi=class extends Bo{constructor(t=32){super(64,t,8,!1),this.A=hr[0]|0,this.B=hr[1]|0,this.C=hr[2]|0,this.D=hr[3]|0,this.E=hr[4]|0,this.F=hr[5]|0,this.G=hr[6]|0,this.H=hr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)kr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let u=kr[d-15],f=kr[d-2],h=Rt(u,7)^Rt(u,18)^u>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;kr[d]=_+kr[d-7]+h+kr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:p}=this;for(let d=0;d<64;d++){let u=Rt(a,6)^Rt(a,11)^Rt(a,25),f=p+u+Ol(a,c,l)+Sf[d]+kr[d]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+El(n,o,i)|0;p=l,l=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,l,p)}roundClean(){Pn(kr)}destroy(){this.set(0,0,0,0,0,0,0,0),Pn(this.buffer)}},Ca=class extends Bi{constructor(){super(28),this.A=mr[0]|0,this.B=mr[1]|0,this.C=mr[2]|0,this.D=mr[3]|0,this.E=mr[4]|0,this.F=mr[5]|0,this.G=mr[6]|0,this.H=mr[7]|0}},Fl=vl(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Cf=Fl[0],Vf=Fl[1],Lr=new Uint32Array(80),qr=new Uint32Array(80),Va=class extends Bo{constructor(t=64){super(128,t,16,!1),this.Ah=Ae[0]|0,this.Al=Ae[1]|0,this.Bh=Ae[2]|0,this.Bl=Ae[3]|0,this.Ch=Ae[4]|0,this.Cl=Ae[5]|0,this.Dh=Ae[6]|0,this.Dl=Ae[7]|0,this.Eh=Ae[8]|0,this.El=Ae[9]|0,this.Fh=Ae[10]|0,this.Fl=Ae[11]|0,this.Gh=Ae[12]|0,this.Gl=Ae[13]|0,this.Hh=Ae[14]|0,this.Hl=Ae[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:p,Fh:d,Fl:u,Gh:f,Gl:h,Hh:_,Hl:y}=this;return[t,r,n,o,i,s,a,c,l,p,d,u,f,h,_,y]}set(t,r,n,o,i,s,a,c,l,p,d,u,f,h,_,y){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=p|0,this.Fh=d|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)Lr[g]=t.getUint32(r),qr[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let w=Lr[g-15]|0,O=qr[g-15]|0,v=Fn(w,O,1)^Fn(w,O,8)^Aa(w,O,7),E=Bn(w,O,1)^Bn(w,O,8)^Sa(w,O,7),C=Lr[g-2]|0,T=qr[g-2]|0,I=Fn(C,T,19)^Do(C,T,61)^Aa(C,T,6),P=Bn(C,T,19)^Uo(C,T,61)^Sa(C,T,6),A=Sl(E,P,qr[g-7],qr[g-16]),x=Cl(A,v,I,Lr[g-7],Lr[g-16]);Lr[g]=x|0,qr[g]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:p,Eh:d,El:u,Fh:f,Fl:h,Gh:_,Gl:y,Hh:m,Hl:b}=this;for(let g=0;g<80;g++){let w=Fn(d,u,14)^Fn(d,u,18)^Do(d,u,41),O=Bn(d,u,14)^Bn(d,u,18)^Uo(d,u,41),v=d&f^~d&_,E=u&h^~u&y,C=Vl(b,O,E,Vf[g],qr[g]),T=Pl(C,m,w,v,Cf[g],Lr[g]),I=C|0,P=Fn(n,o,28)^Do(n,o,34)^Do(n,o,39),A=Bn(n,o,28)^Uo(n,o,34)^Uo(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=y|0,_=f|0,y=h|0,f=d|0,h=u|0,{h:d,l:u}=jt(l|0,p|0,T|0,I|0),l=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Il(I,A,N);n=Al(S,T,P,x),o=S|0}({h:n,l:o}=jt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=jt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=jt(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:p}=jt(this.Dh|0,this.Dl|0,l|0,p|0),{h:d,l:u}=jt(this.Eh|0,this.El|0,d|0,u|0),{h:f,l:h}=jt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:y}=jt(this.Gh|0,this.Gl|0,_|0,y|0),{h:m,l:b}=jt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,l,p,d,u,f,h,_,y,m,b)}roundClean(){Pn(Lr,qr)}destroy(){Pn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Pi(()=>new Bi),Bl=Pi(()=>new Ca),Dl=Pi(()=>new Va);var Di="__principal__",Pf=2,Ul=4,Ff="aaaaa-aa",U=class e{static anonymous(){return new this(new Uint8Array([Ul]))}static managementCanister(){return this.fromText(Ff)}static selfAuthenticating(t){let r=Bl(t);return new this(new Uint8Array([...r,Pf]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Di)){let s=JSON.parse(t);Di in s&&(r=s[Di])}let n=r.toLowerCase().replace(/-/g,""),o=xl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Ul}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,bl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=gl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Di]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var Bf=class extends Error{},ko=(e,t)=>{if(e==null)throw new Bf(t)};var _r=e=>new Uint8Array(e),Ui=e=>Array.from(e);var kl=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Mr=e=>{let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode(...e.subarray(r,r+32768)));return btoa(t.join(""))},Ll=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0));var k=e=>e==null,J=e=>!k(e),yr=e=>J(e)&&e!=="",pt=e=>!yr(e),se=e=>J(e)?[e]:[],me=e=>e?.[0];var Pa="__bigint__",Fa="__principal__",Ba="__uint8array__",Df=(e,t)=>typeof t=="bigint"?{[Pa]:`${t}`}:J(t)&&U.isPrincipal(t)?{[Fa]:U.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[Ba]:Array.from(t)}:t,Uf=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&Pa in t?BigInt(r(Pa)):J(t)&&typeof t=="object"&&Fa in t?U.fromText(r(Fa)):J(t)&&typeof t=="object"&&Ba in t?Uint8Array.from(r(Ba)):t},ql=async e=>{let t=new Blob([JSON.stringify(e,Df)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ki=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Uf)},Li=()=>typeof window<"u";var Ml;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Ml||(Ml={}));var jr;(function(e){e.Replied="replied",e.Rejected="rejected"})(jr||(jr={}));function jl(e){return e!=null&&"reject_code"in e}function Kl(e){return e!=null&&"certificate"in e}var gr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(gr||(gr={}));var qi;(function(e){e.Normal="normal",e.Verbose="verbose"})(qi||(qi={}));var kf=new Set(["arg","certificate","nonce"]);function Da(e){return(t,r)=>r instanceof Uint8Array?e===qi.Normal&&kf.has(t)?`<${r.length} bytes, set ErrorCode.verbosity = ErrorVerbosity.Verbose to display>`:`hex(${r.length}):${j(r)}`:r}var K=class e{static{this.verbosity=qi.Normal}constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
2
2
  Request context:
3
3
  Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
4
4
  Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
@@ -7,58 +7,53 @@ Request context:
7
7
  Call context:
8
8
  Canister ID: ${this.callContext.canisterId.toText()}
9
9
  Method name: ${this.callContext.methodName}`,"httpDetails"in this.callContext&&(t+=`
10
- HTTP details: ${JSON.stringify(this.callContext.httpDetails,za(e.verbosity),2)}`)),t}},st=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},wr=class extends st{static fromCode(t){return new this(t)}},Ye=class e extends wr{constructor(t){super(t,br.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends wr{constructor(t){super(t,br.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends wr{constructor(t){super(t,br.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Go=class e extends wr{constructor(t){super(t,br.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends wr{constructor(t){super(t,br.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends wr{constructor(t){super(t,br.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends wr{constructor(t){super(t,br.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},It=class e extends K{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Qo(this.error)}`),`Certificate verification error: "${t}"`}},Tr=class e extends K{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Zi=class e extends K{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Mn=class e extends K{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},Xi=class e extends K{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},At=class e extends K{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Qi=class e extends K{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},es=class e extends K{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},uo=class e extends K{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},ts=class e extends K{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},rs=class e extends K{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},St=class e extends K{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Jo=class e extends K{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},ns=class e extends K{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Qo(this.error)}, input: ${j(this.input)}`}},os=class e extends K{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Qo(this.error)}, input: ${this.value}`}};var jn=class e extends K{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
10
+ HTTP details: ${JSON.stringify(this.callContext.httpDetails,Da(e.verbosity),2)}`)),t}},st=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},xr=class extends st{static fromCode(t){return new this(t)}},Ye=class e extends xr{constructor(t){super(t,gr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends xr{constructor(t){super(t,gr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends xr{constructor(t){super(t,gr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Lo=class e extends xr{constructor(t){super(t,gr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends xr{constructor(t){super(t,gr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends xr{constructor(t){super(t,gr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends xr{constructor(t){super(t,gr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},It=class e extends K{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Go(this.error)}`),`Certificate verification error: "${t}"`}},br=class e extends K{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Mi=class e extends K{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Dn=class e extends K{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},ji=class e extends K{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},At=class e extends K{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Ki=class e extends K{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},$i=class e extends K{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},no=class e extends K{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},Hi=class e extends K{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},Gi=class e extends K{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},St=class e extends K{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},qo=class e extends K{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Ji=class e extends K{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Go(this.error)}, input: ${j(this.input)}`}},Wi=class e extends K{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Go(this.error)}, input: ${this.value}`}};var Un=class e extends K{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
11
11
  `;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
12
12
  `),this.status&&(t+=` Request status: ${this.status}
13
- `),t}},is=class e extends K{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
13
+ `),t}},zi=class e extends K{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
14
14
  Request ID: ${j(this.requestId)}
15
- `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},ss=class e extends K{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
15
+ `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},Yi=class e extends K{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
16
16
  Request ID: ${j(this.requestId)}
17
17
  Reject code: ${this.rejectCode}
18
18
  Reject text: ${this.rejectMessage}
19
19
  Error code: ${this.rejectErrorCode}
20
- `}},as=class e extends K{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
20
+ `}},Zi=class e extends K{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
21
21
  Request ID: ${j(this.requestId)}
22
22
  Reject code: ${this.rejectCode}
23
23
  Reject text: ${this.rejectMessage}
24
24
  Error code: ${this.rejectErrorCode}
25
- `}},cs=class e extends K{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
25
+ `}},Xi=class e extends K{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
26
26
  Request ID: ${j(this.requestId)}
27
27
  Reject code: ${this.rejectCode}
28
28
  Reject text: ${this.rejectMessage}
29
29
  Error code: ${this.rejectErrorCode}
30
- `}},ls=class e extends K{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
30
+ `}},Qi=class e extends K{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
31
31
  Request ID: ${j(this.requestId)}
32
- `}},Ct=class e extends K{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},us=class e extends K{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},Wr=class e extends K{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},$t=class e extends K{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},ds=class e extends K{constructor(){super(),this.name="MissingFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"No fetch implementation available. Provide a `fetch` function in HttpAgentOptions or ensure `globalThis.fetch` is defined."}},ps=class e extends K{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},fs=class e extends K{constructor(t,r){super(),this.signatureCount=t,this.maxExpected=r,this.name="ExcessiveSignaturesErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contains ${this.signatureCount} signatures, which exceeds the subnet size of ${this.maxExpected}. This suggests a malformed or malicious response.`}},hs=class e extends K{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};var ms=class e extends K{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},_s=class e extends K{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Se=class e extends K{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Qo(this.error)}`}},ys=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.requestId=r,this.response=n,this.rawCertificate=o,this.name="UnexpectedV4StatusErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=(r,n)=>n instanceof Uint8Array?`hex(${n.length}):${j(n)}`:n;return`Unexpected request status in v4 sync response: "${this.status}"
32
+ `}},Ct=class e extends K{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},es=class e extends K{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},Kr=class e extends K{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},Kt=class e extends K{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},ts=class e extends K{constructor(){super(),this.name="MissingFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"No fetch implementation available. Provide a `fetch` function in HttpAgentOptions or ensure `globalThis.fetch` is defined."}},rs=class e extends K{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},ns=class e extends K{constructor(t,r){super(),this.signatureCount=t,this.maxExpected=r,this.name="ExcessiveSignaturesErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contains ${this.signatureCount} signatures, which exceeds the subnet size of ${this.maxExpected}. This suggests a malformed or malicious response.`}},os=class e extends K{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};var is=class e extends K{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},ss=class e extends K{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Se=class e extends K{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Go(this.error)}`}},as=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.requestId=r,this.response=n,this.rawCertificate=o,this.name="UnexpectedV4StatusErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=(r,n)=>n instanceof Uint8Array?`hex(${n.length}):${j(n)}`:n;return`Unexpected request status in v4 sync response: "${this.status}"
33
33
  Request ID (hex): ${j(this.requestId)}
34
- Response: ${JSON.stringify(this.response,t,2)}`}},zr=class e extends K{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Wo=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
34
+ Response: ${JSON.stringify(this.response,t,2)}`}},$r=class e extends K{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Mo=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
35
35
  Status: ${this.status} (${this.statusText})
36
- Headers: ${JSON.stringify(this.headers,za(K.verbosity))}
36
+ Headers: ${JSON.stringify(this.headers,Da(K.verbosity))}
37
37
  `;return this.bodyText&&(t+=` Body: ${this.bodyText}
38
- `),t}},zo=class e extends K{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Yo=class e extends K{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Qo(this.error)}`}},Zo=class e extends K{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},gs=class e extends K{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Xo=class e extends K{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Qo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e,za(K.verbosity))}catch{return String(e)}}var ft=new Error("unreachable");var Gn={};jf(Gn,{Bool:()=>_u,BoolClass:()=>Ns,CandidDecodeError:()=>Ze,ConstructType:()=>Jt,Empty:()=>hu,EmptyClass:()=>ti,FixedIntClass:()=>Er,FixedNatClass:()=>Gt,Float32:()=>wu,Float64:()=>Tu,FloatClass:()=>oi,Func:()=>ku,FuncClass:()=>Hn,Int:()=>xu,Int16:()=>Ou,Int32:()=>Eu,Int64:()=>Ru,Int8:()=>Nu,IntClass:()=>ri,Nat:()=>bu,Nat16:()=>Iu,Nat32:()=>Au,Nat64:()=>Su,Nat8:()=>vu,NatClass:()=>ni,Null:()=>yu,NullClass:()=>Kn,Opt:()=>Fu,OptClass:()=>Xr,PrimitiveType:()=>Xe,Principal:()=>Cu,PrincipalClass:()=>Rs,Rec:()=>Uu,RecClass:()=>ht,Record:()=>Bu,RecordClass:()=>$n,Reserved:()=>mu,ReservedClass:()=>Wt,Service:()=>Lu,ServiceClass:()=>_o,Text:()=>gu,TextClass:()=>Os,Tuple:()=>Vu,TupleClass:()=>Es,Type:()=>fo,Unknown:()=>Ah,UnknownClass:()=>Ts,Variant:()=>Du,VariantClass:()=>mo,Vec:()=>Pu,VecClass:()=>ho,Visitor:()=>tc,decode:()=>Ih,encode:()=>vh,resetSubtypeCache:()=>rc,subtype:()=>oc});function X(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var Vt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Ht(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Ht(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Ht(e.buffer):new Uint8Array(e)}function po(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function cu(e,t){return po(e,t)===0}function lu(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Eh(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Me(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Eh(e)}function Ya(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function xs(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function uu(){throw new Error("unexpected end of buffer")}function Zr(e,t){return e.byteLength<t&&uu(),e.read(t)}function Yr(e){let t=e.readUint8();return t===void 0&&uu(),t}function oe(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:Ya(e))+1,r=new Vt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function _e(e){let t=BigInt(1),r=BigInt(0),n;do n=Yr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ye(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Ya(e))+1,n=new Vt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function Nr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return _e(e);break}let n=new Uint8Array(Zr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function du(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Za(e,t)}function Za(e,t){e=BigInt(e);let r=new Vt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function Xa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Yr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Yr(e));r=r+n*i}return r}function pu(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Xa(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Ze=class e extends Error{constructor(t){super(t),this.name="CandidDecodeError",Object.setPrototypeOf(this,e.prototype)}},ee;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(ee||(ee={}));var bs="DIDL",Rh=new TextEncoder().encode(bs),fu=400;function ei(e,t,r){return e.map((n,o)=>r(n,t[o]))}var ec=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error(`Missing type index for ${t}`);if(o===void 0)throw new Error(`Missing type index for ${r}`);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=oe(this._typs.length),r=X(...this._typs);return X(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error(`Missing type index for ${t}`);return ye(this._idx.get(t)||0)}},tc=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var fo=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends fo{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Jt=class extends fo{checkType(t){if(t instanceof ht){let r=t.getType();if(typeof r>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},ti=class extends Xe{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return ye(ee.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Ts=class extends fo{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof ht?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"}},Ns=class extends Xe{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return ye(ee.Bool)}decodeValue(t,r){switch(this.checkType(r),Yr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Kn=class extends Xe{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Wt=class extends Xe{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Os=class extends Xe{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return X(n,r)}encodeType(){return ye(ee.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Zr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return`"${t}"`}},ri=class extends Xe{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return ye(t)}encodeType(){return ye(ee.Int)}decodeValue(t,r){return this.checkType(r),Nr(t)}get name(){return"int"}valueToString(t){return t.toString()}},ni=class extends Xe{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return ye(ee.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},oi=class extends Xe{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?ee.Float32:ee.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Zr(t,this._bits/8),o=lu(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return`float${this._bits}`}valueToString(t){return t.toString()}},Er=class extends Xe{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=xs(this._bits-1)*BigInt(-1),n=xs(this._bits-1)-BigInt(1);if(typeof t=="bigint"){if(t>=r&&t<=n)return!0}else if(Number.isInteger(t)){let o=BigInt(t);if(o>=r&&o<=n)return!0}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Za(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=pu(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Gt=class extends Xe{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=xs(this._bits);if(typeof t=="bigint"&&t>=BigInt(0)){if(t<r)return!0}else if(Number.isInteger(t)&&t>=0&&BigInt(t)<r)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return du(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=Xa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},ho=class e extends Jt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Gt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Gt?this._type._bits:this._type instanceof Er?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
38
+ `),t}},jo=class e extends K{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Ko=class e extends K{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Go(this.error)}`}},$o=class e extends K{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},cs=class e extends K{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Ho=class e extends K{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Go(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e,Da(K.verbosity))}catch{return String(e)}}var ft=new Error("unreachable");var Mn={};Of(Mn,{Bool:()=>Xl,BoolClass:()=>fs,CandidDecodeError:()=>Ze,ConstructType:()=>Gt,Empty:()=>Yl,EmptyClass:()=>Wo,FixedIntClass:()=>Nr,FixedNatClass:()=>Ht,Float32:()=>nu,Float64:()=>ou,FloatClass:()=>Zo,Func:()=>bu,FuncClass:()=>qn,Int:()=>tu,Int16:()=>su,Int32:()=>au,Int64:()=>cu,Int8:()=>iu,IntClass:()=>zo,Nat:()=>ru,Nat16:()=>uu,Nat32:()=>du,Nat64:()=>pu,Nat8:()=>lu,NatClass:()=>Yo,Null:()=>Ql,NullClass:()=>kn,Opt:()=>_u,OptClass:()=>Jr,PrimitiveType:()=>Xe,Principal:()=>fu,PrincipalClass:()=>_s,Rec:()=>xu,RecClass:()=>ht,Record:()=>yu,RecordClass:()=>Ln,Reserved:()=>Zl,ReservedClass:()=>Jt,Service:()=>Tu,ServiceClass:()=>co,Text:()=>eu,TextClass:()=>hs,Tuple:()=>hu,TupleClass:()=>ms,Type:()=>io,Unknown:()=>Kf,UnknownClass:()=>ps,Variant:()=>gu,VariantClass:()=>ao,Vec:()=>mu,VecClass:()=>so,Visitor:()=>ja,decode:()=>jf,encode:()=>Mf,resetSubtypeCache:()=>Ka,subtype:()=>Ha});function X(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var Vt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=$t(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function $t(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?$t(e.buffer):new Uint8Array(e)}function oo(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function $l(e,t){return oo(e,t)===0}function Hl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Lf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Me(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Lf(e)}function Ua(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function ls(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Gl(){throw new Error("unexpected end of buffer")}function Gr(e,t){return e.byteLength<t&&Gl(),e.read(t)}function Hr(e){let t=e.readUint8();return t===void 0&&Gl(),t}function oe(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:Ua(e))+1,r=new Vt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function _e(e){let t=BigInt(1),r=BigInt(0),n;do n=Hr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ye(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Ua(e))+1,n=new Vt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function Tr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return _e(e);break}let n=new Uint8Array(Gr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Jl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return ka(e,t)}function ka(e,t){e=BigInt(e);let r=new Vt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function La(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Hr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Hr(e));r=r+n*i}return r}function Wl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=La(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Ze=class e extends Error{constructor(t){super(t),this.name="CandidDecodeError",Object.setPrototypeOf(this,e.prototype)}},ee;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(ee||(ee={}));var us="DIDL",qf=new TextEncoder().encode(us),zl=400;function Jo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ma=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error(`Missing type index for ${t}`);if(o===void 0)throw new Error(`Missing type index for ${r}`);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=oe(this._typs.length),r=X(...this._typs);return X(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error(`Missing type index for ${t}`);return ye(this._idx.get(t)||0)}},ja=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var io=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends io{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Gt=class extends io{checkType(t){if(t instanceof ht){let r=t.getType();if(typeof r>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Wo=class extends Xe{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return ye(ee.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},ps=class extends io{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof ht?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"}},fs=class extends Xe{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return ye(ee.Bool)}decodeValue(t,r){switch(this.checkType(r),Hr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},kn=class extends Xe{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Jt=class extends Xe{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},hs=class extends Xe{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return X(n,r)}encodeType(){return ye(ee.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Gr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return`"${t}"`}},zo=class extends Xe{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return ye(t)}encodeType(){return ye(ee.Int)}decodeValue(t,r){return this.checkType(r),Tr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Yo=class extends Xe{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return ye(ee.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Zo=class extends Xe{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?ee.Float32:ee.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Gr(t,this._bits/8),o=Hl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return`float${this._bits}`}valueToString(t){return t.toString()}},Nr=class extends Xe{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=ls(this._bits-1)*BigInt(-1),n=ls(this._bits-1)-BigInt(1);if(typeof t=="bigint"){if(t>=r&&t<=n)return!0}else if(Number.isInteger(t)){let o=BigInt(t);if(o>=r&&o<=n)return!0}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return ka(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=Wl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Ht=class extends Xe{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=ls(this._bits);if(typeof t=="bigint"&&t>=BigInt(0)){if(t<r)return!0}else if(Number.isInteger(t)&&t>=0&&BigInt(t)<r)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Jl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=La(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},so=class e extends Gt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Ht&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Ht?this._type._bits:this._type instanceof Nr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
39
39
 
40
- index ${o} -> ${i.message}`,{cause:i})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return X(r,new Uint8Array(t));if(ArrayBuffer.isView(t)){if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return X(r,new Uint8Array(o.buffer))}if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return X(r,new Uint8Array(o.buffer))}if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return X(r,new Uint8Array(o.buffer))}return X(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}let n=new Vt(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Vector),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-vector type '${n.display()}'`);let o=Number(_e(t));if(this._type instanceof Gt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Er){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let l=0;l<o;l++)c[l]=a.getInt16(l*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let l=0;l<o;l++)c[l]=a.getInt32(l*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let l=0;l<o;l++)c[l]=a.getBigInt64(l*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return`vec {${t.map(n=>this._type.valueToString(n)).join("; ")}}`}},Xr=class e extends Jt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${he(t)}
40
+ index ${o} -> ${i.message}`,{cause:i})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return X(r,new Uint8Array(t));if(ArrayBuffer.isView(t)){if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return X(r,new Uint8Array(o.buffer))}if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return X(r,new Uint8Array(o.buffer))}if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return X(r,new Uint8Array(o.buffer))}return X(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}let n=new Vt(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Vector),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-vector type '${n.display()}'`);let o=Number(_e(t));if(this._type instanceof Ht){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Nr){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let l=0;l<o;l++)c[l]=a.getInt16(l*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let l=0;l<o;l++)c[l]=a.getInt32(l*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let l=0;l<o;l++)c[l]=a.getBigInt64(l*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return`vec {${t.map(n=>this._type.valueToString(n)).join("; ")}}`}},Jr=class e extends Gt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${he(t)}
41
41
 
42
- -> ${r.message}`,{cause:r})}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):X(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Opt),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){if(r instanceof Kn)return[];if(r instanceof Wt)return[];let n=r;if(r instanceof ht){let o=r.getType();if(typeof o>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");n=o}if(n instanceof e)switch(Yr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Ze(`Invalid option value: expected 0 (None) or 1 (Some) for type '${this.display()}'`)}else{if(this._type instanceof Kn||this._type instanceof e||this._type instanceof Wt)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},$n=class e extends Jt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
42
+ -> ${r.message}`,{cause:r})}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):X(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Opt),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){if(r instanceof kn)return[];if(r instanceof Jt)return[];let n=r;if(r instanceof ht){let o=r.getType();if(typeof o>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");n=o}if(n instanceof e)switch(Hr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Ze(`Invalid option value: expected 0 (None) or 1 (Some) for type '${this.display()}'`)}else{if(this._type instanceof kn||this._type instanceof e||this._type instanceof Jt)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},Ln=class e extends Gt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
43
43
 
44
- field ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=ei(this._fields,r,([,o],i)=>o.encodeValue(i));return X(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,X(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-record type '${n.display()}'`);let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[l,d]=this._fields[i],p=Me(this._fields[i][0]),u=Me(a);if(p===u)o[l]=d.decodeValue(t,c),i++,s++;else if(u>p)if(d instanceof Xr||d instanceof Wt)o[l]=[],i++;else{let f=this._fields.map(([_])=>_).join(", "),h=n._fields.map(([_])=>_).join(", ");throw new Ze(`Cannot find required field '${l}' in record, expected fields: [${f}], received fields: [${h}]`)}else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Xr||c instanceof Wt)o[a]=[];else{let l=this._fields.map(([p])=>p).join(", "),d=n._fields.map(([p])=>p).join(", ");throw new Ze(`Cannot find required field '${a}' in record, expected fields: [${l}], received fields: [${d}]`)}return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Me(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>`${r}:${n.display()}`).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${ei(this._fields,r,([o,i],s)=>`${o}=${i.valueToString(s)}`).join("; ")}}`}},Es=class e extends $n{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r[`_${o}_`]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
44
+ field ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Jo(this._fields,r,([,o],i)=>o.encodeValue(i));return X(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,X(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-record type '${n.display()}'`);let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[l,p]=this._fields[i],d=Me(this._fields[i][0]),u=Me(a);if(d===u)o[l]=p.decodeValue(t,c),i++,s++;else if(u>d)if(p instanceof Jr||p instanceof Jt)o[l]=[],i++;else{let f=this._fields.map(([_])=>_).join(", "),h=n._fields.map(([_])=>_).join(", ");throw new Ze(`Cannot find required field '${l}' in record, expected fields: [${f}], received fields: [${h}]`)}else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Jr||c instanceof Jt)o[a]=[];else{let l=this._fields.map(([d])=>d).join(", "),p=n._fields.map(([d])=>d).join(", ");throw new Ze(`Cannot find required field '${a}' in record, expected fields: [${l}], received fields: [${p}]`)}return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Me(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>`${r}:${n.display()}`).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${Jo(this._fields,r,([o,i],s)=>`${o}=${i.valueToString(s)}`).join("; ")}}`}},ms=class e extends Ln{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r[`_${o}_`]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
45
45
 
46
- index ${n} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=ei(this._components,t,(n,o)=>n.encodeValue(o));return X(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-tuple type '${n.display()}'`);if(n._components.length<this._components.length)throw new Ze(`Tuple mismatch: expected ${this._components.length} components, but received ${n._components.length}`);let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${ei(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},mo=class e extends Jt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
46
+ index ${n} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Jo(this._components,t,(n,o)=>n.encodeValue(o));return X(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-tuple type '${n.display()}'`);if(n._components.length<this._components.length)throw new Ze(`Tuple mismatch: expected ${this._components.length} components, but received ${n._components.length}`);let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Jo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},ao=class e extends Gt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
47
47
 
48
- variant ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return X(i,s)}}throw Error(`Variant has no data: ${t}`)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ye(ee.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let o=Number(_e(t));if(o>=n._fields.length)throw Error(`Invalid variant index: ${o}`);let[i,s]=n._fields[o];for(let[c,l]of this._fields)if(Me(i)===Me(c)){let d=l.decodeValue(t,s);return{[c]:d}}let a=this._fields.map(([c])=>c).join(", ");throw new Ze(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}get name(){return`variant {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error(`Variant has no data: ${t}`)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[Me(r)]=n;return t}},ht=class e extends Jt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function nc(e){if(Yr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return q.fromUint8Array(new Uint8Array(Zr(e,r)))}var Rs=class extends Xe{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return X(new Uint8Array([1]),n,r)}encodeType(){return ye(ee.Principal)}decodeValue(t,r){return this.checkType(r),nc(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Hn=class extends Jt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return`(${t.map((n,o)=>n.valueToString(r[o])).join(", ")})`}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=X(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return X(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(l=>l.buildTypeTable(t)),this.retTypes.forEach(l=>l.buildTypeTable(t));let r=ye(ee.Func),n=oe(this.argTypes.length),o=X(...this.argTypes.map(l=>l.encodeType(t))),i=oe(this.retTypes.length),s=X(...this.retTypes.map(l=>l.encodeType(t))),a=oe(this.annotations.length),c=X(...this.annotations.map(l=>this.encodeAnnotation(l)));t.add(this,X(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!oc(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Yr(t)!==1)throw new Error("Cannot decode function reference");let i=nc(t),s=Number(_e(t)),a=Zr(t,s),l=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,l]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=` ${this.annotations.join(" ")}`;return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=` ${this.annotations.join(" ")}`;return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},_o=class extends Jt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return X(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return X(c,a,s.encodeType(t))});t.add(this,X(r,n,...o))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!oc(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return nc(t)}get name(){return`service {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>fu?`${t.substring(0,fu-3)}...`:t}function vh(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new ec;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=oe(t.length),i=X(...e.map(a=>a.encodeType(r))),s=X(...ei(e,t,(a,c)=>{try{a.covariant(c)}catch(l){throw new Error(`${l.message}
48
+ variant ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return X(i,s)}}throw Error(`Variant has no data: ${t}`)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ye(ee.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let o=Number(_e(t));if(o>=n._fields.length)throw Error(`Invalid variant index: ${o}`);let[i,s]=n._fields[o];for(let[c,l]of this._fields)if(Me(i)===Me(c)){let p=l.decodeValue(t,s);return{[c]:p}}let a=this._fields.map(([c])=>c).join(", ");throw new Ze(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}get name(){return`variant {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error(`Variant has no data: ${t}`)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[Me(r)]=n;return t}},ht=class e extends Gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function $a(e){if(Hr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return U.fromUint8Array(new Uint8Array(Gr(e,r)))}var _s=class extends Xe{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return X(new Uint8Array([1]),n,r)}encodeType(){return ye(ee.Principal)}decodeValue(t,r){return this.checkType(r),$a(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},qn=class extends Gt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return`(${t.map((n,o)=>n.valueToString(r[o])).join(", ")})`}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=X(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return X(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(l=>l.buildTypeTable(t)),this.retTypes.forEach(l=>l.buildTypeTable(t));let r=ye(ee.Func),n=oe(this.argTypes.length),o=X(...this.argTypes.map(l=>l.encodeType(t))),i=oe(this.retTypes.length),s=X(...this.retTypes.map(l=>l.encodeType(t))),a=oe(this.annotations.length),c=X(...this.annotations.map(l=>this.encodeAnnotation(l)));t.add(this,X(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!Ha(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Hr(t)!==1)throw new Error("Cannot decode function reference");let i=$a(t),s=Number(_e(t)),a=Gr(t,s),l=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,l]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=` ${this.annotations.join(" ")}`;return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=` ${this.annotations.join(" ")}`;return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},co=class extends Gt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return X(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return X(c,a,s.encodeType(t))});t.add(this,X(r,n,...o))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!Ha(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return $a(t)}get name(){return`service {${this._fields.map(([r,n])=>`${r}:${n.name}`).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>zl?`${t.substring(0,zl-3)}...`:t}function Mf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Ma;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=oe(t.length),i=X(...e.map(a=>a.encodeType(r))),s=X(...Jo(e,t,(a,c)=>{try{a.covariant(c)}catch(l){throw new Error(`${l.message}
49
49
 
50
- `)}return a.encodeValue(c)}));return X(Rh,n,o,i,s)}function Ih(e,t){let r=new Vt(t);if(t.byteLength<bs.length)throw new Error("Message length smaller than magic number");let n=Zr(r,bs.length),o=new TextDecoder().decode(n);if(o!==bs)throw new Error(`Wrong magic number: ${JSON.stringify(o)}`);function i(u){let f=[],h=Number(_e(u));for(let m=0;m<h;m++){let b=Number(Nr(u));switch(b){case ee.Opt:case ee.Vector:{let g=Number(Nr(u));f.push([b,g]);break}case ee.Record:case ee.Variant:{let g=[],T=Number(_e(u)),O;for(;T--;){let v=Number(_e(u));if(v>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=v)throw new Error("field id collision or not sorted");O=v;let E=Number(Nr(u));g.push([v,E])}f.push([b,g]);break}case ee.Func:{let g=[],T=Number(_e(u));for(;T--;)g.push(Number(Nr(u)));let O=[],v=Number(_e(u));for(;v--;)O.push(Number(Nr(u)));let E=[],C=Number(_e(u));for(;C--;)switch(Number(_e(u))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([b,[g,O,E]]);break}case ee.Service:{let g=Number(_e(u)),T=[];for(;g--;){let O=Number(_e(u)),v=new TextDecoder().decode(Zr(u,O)),E=Nr(u);T.push([v,E])}f.push([b,T]);break}default:throw new Error(`Illegal op_code: ${b}`)}}let _=[],y=Number(_e(u));for(let m=0;m<y;m++)_.push(Number(Nr(u)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(u=>Uu());function l(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return yu;case-2:return _u;case-3:return bu;case-4:return xu;case-5:return vu;case-6:return Iu;case-7:return Au;case-8:return Su;case-9:return Nu;case-10:return Ou;case-11:return Eu;case-12:return Ru;case-13:return wu;case-14:return Tu;case-15:return gu;case-16:return mu;case-17:return hu;case-24:return Cu;default:throw new Error(`Illegal op_code: ${u}`)}if(u>=s.length)throw new Error("type index out of range");return c[u]}function d(u){switch(u[0]){case ee.Vector:{let f=l(u[1]);return Pu(f)}case ee.Opt:{let f=l(u[1]);return Fu(f)}case ee.Record:{let f={};for(let[y,m]of u[1]){let b=`_${y}_`;f[b]=l(m)}let h=Bu(f),_=h.tryAsTuple();return Array.isArray(_)?Vu(..._):h}case ee.Variant:{let f={};for(let[h,_]of u[1]){let y=`_${h}_`;f[y]=l(_)}return Du(f)}case ee.Func:{let[f,h,_]=u[1];return ku(f.map(y=>l(y)),h.map(y=>l(y)),_)}case ee.Service:{let f={},h=u[1];for(let[_,y]of h){let m=l(y);if(m instanceof ht&&(m=m.getType()),!(m instanceof Hn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Lu(f)}default:throw new Error(`Illegal op_code: ${u[0]}`)}}s.forEach((u,f)=>{if(u[0]===ee.Func){let h=d(u);c[f].fill(h)}}),s.forEach((u,f)=>{if(u[0]!==ee.Func){let h=d(u);c[f].fill(h)}}),rc();let p=a.map(u=>l(u));try{let u=e.map((f,h)=>f.decodeValue(r,p[h]));for(let f=e.length;f<p.length;f++)p[f].decodeValue(r,p[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{rc()}}var hu=new ti,mu=new Wt,Ah=new Ts,_u=new Ns,yu=new Kn,gu=new Os,xu=new ri,bu=new ni,wu=new oi(32),Tu=new oi(64),Nu=new Er(8),Ou=new Er(16),Eu=new Er(32),Ru=new Er(64),vu=new Gt(8),Iu=new Gt(16),Au=new Gt(32),Su=new Gt(64),Cu=new Rs;function Vu(...e){return new Es(e)}function Pu(e){return new ho(e)}function Fu(e){return new Xr(e)}function Bu(e){return new $n(e)}function Du(e){return new mo(e)}function Uu(){return new ht}function ku(e,t,r=[]){return new Hn(e,t,r)}function Lu(e){return new _o(e)}var vs=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
51
- `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},ws=new vs;function rc(){ws=new vs}function Sh(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Qa(e){return e instanceof Xr||e instanceof Kn||e instanceof Wt}function oc(e,t){let r=ws.copy(),n=Or(r,e,t);return n?ws.add(e,t):ws.addNegative(e,t),n}function Or(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof Wt||t instanceof ti||t instanceof ni&&r instanceof ri)return!0;if(t instanceof ho&&r instanceof ho)return Or(e,t._type,r._type);if(r instanceof Xr)return!0;if(t instanceof $n&&r instanceof $n){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[Me(i)];if(a){if(!Or(e,a,s))return!1}else if(!Qa(s))return!1}return!0}if(t instanceof Hn&&r instanceof Hn){if(!Sh(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Or(e,r.argTypes[o],i))return!1}else if(!Qa(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Or(e,t.retTypes[o],i))return!1}else if(!Qa(i))return!1}return!0}if(t instanceof mo&&r instanceof mo){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[Me(i)];if(!a||!Or(e,s,a))return!1}return!0}if(t instanceof _o&&r instanceof _o){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Or(e,a,s))return!1}return!0}return t instanceof ht?Or(e,t.getType(),r):r instanceof ht?Or(e,t,r.getType()):!1}function yo(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?yo(e.buffer):new Uint8Array(e)}function Jn(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function ic(e){if(typeof e=="string")return qu(e);if(typeof e=="number")return Ve(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(yo(e));if(Array.isArray(e)){let t=e.map(ic);return Ve($(...t))}if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return ic(e.toHash());if(typeof e=="object")return ii(e);if(typeof e=="bigint")return Ve(oe(e));throw z.fromCode(new us(e))}var qu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function Rr(e){return ii(e)}function ii(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=qu(s),l=ic(a);return[c,l]}).sort(([s],[a])=>po(s,a)),o=$(...n.map(s=>$(...s)));return Ve(o)}var sc=new TextEncoder().encode("\ric-state-root"),si=new TextEncoder().encode(`
52
- ic-request`),ac=new TextEncoder().encode("\vic-response"),cc=new TextEncoder().encode("ic-request-auth-delegation");var zt=class{getPrincipal(){return this._principal||(this._principal=q.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Rr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign($(si,o))}}}},at=class{getPrincipal(){return q.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var vr=class extends Error{constructor(t){super(t),this.name="DecodingError"}},ju=55799,Ku=Symbol("CBOR_STOP_CODE"),Bt=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Bt||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Ch=23,Vh=255,Ph=65535,Fh=4294967295,Bh=BigInt("0xffffffffffffffff"),Ft=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Ft||{}),go=!1;function Dh(e){return e==null}function $u(e,t){let r=new Uint8Array(t);return r.set(e),r}var Uh=new TextDecoder;function kh(e){return(e&224)>>5}function Lh(e){return e&31}var li=new Uint8Array,ai,Dt=0;function Hu(e,t){li=e,Dt=0;let r=Wn(t);return t?.(r)??r}function Wn(e){let[t,r]=Is();switch(t){case Ne.UnsignedInteger:return xo(r);case Ne.NegativeInteger:return Kh(r);case Ne.ByteString:return Gu(r);case Ne.TextString:return uc(r);case Ne.Array:return qh(r,e);case Ne.Map:return jh(r,e);case Ne.Tag:return $h(r,e);case Ne.Simple:return Mh(r)}throw new vr(`Unsupported major type: ${t}`)}function Is(){let e=li.at(Dt);if(Dh(e))throw new vr("Provided CBOR data is empty");let t=kh(e),r=Lh(e);return Dt++,[t,r]}function qh(e,t){let r=xo(e);if(r===1/0){let o=[],i=Wn(t);for(;i!==Ku;)o.push(t?.(i)??i),i=Wn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Wn(t);n[o]=t?.(i)??i}return n}function Mh(e){switch(e){case Bt.False:return!1;case Bt.True:return!0;case Bt.Null:return null;case Bt.Undefined:return;case Bt.Break:return Ku}throw new vr(`Unrecognized simple type: ${e.toString(2)}`)}function jh(e,t){let r=xo(e),n={};if(r===1/0){let[o,i]=Is();for(;o!==Ne.Simple&&i!==Bt.Break;){let s=uc(i),a=Wn(t);n[s]=t?.(a,s)??a,[o,i]=Is()}return n}for(let o=0;o<r;o++){let[i,s]=Is();if(i!==Ne.TextString)throw new vr("Map keys must be text strings");let a=uc(s),c=Wn(t);n[a]=t?.(c,a)??c}return n}function xo(e){if(e<=Ft.Value)return e;switch(ai=new DataView(li.buffer,li.byteOffset+Dt),e){case Ft.OneByte:return Dt++,ai.getUint8(0);case Ft.TwoBytes:return Dt+=2,ai.getUint16(0,go);case Ft.FourBytes:return Dt+=4,ai.getUint32(0,go);case Ft.EightBytes:return Dt+=8,ai.getBigUint64(0,go);case Ft.Indefinite:return 1/0;default:throw new vr(`Unsupported integer info: ${e.toString(2)}`)}}function Kh(e){let t=xo(e);return typeof t=="number"?-1-t:-1n-t}function Gu(e){let t=xo(e);if(t>Number.MAX_SAFE_INTEGER)throw new vr("Byte length is too large");let r=Number(t);return Dt+=r,li.slice(Dt-r,Dt)}function uc(e){let t=Gu(e);return Uh.decode(t)}function $h(e,t){let r=xo(e);if(r===ju)return Wn(t);throw new vr(`Unsupported tag: ${r}.`)}var ui=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Hh=2*1024,Gh=100,Jh=new TextEncoder;function ci(e){return e<<5}var ct=new Uint8Array(Hh),Pt=new DataView(ct.buffer),Te=0,lc=[];function Ju(e,t){Te=0;let r=t?.(e)??e;return tm(ju,r,t),ct.slice(0,Te)}function dc(e,t){if(Te>ct.length-Gh&&(ct=$u(ct,ct.length*2),Pt=new DataView(ct.buffer)),e===!1||e===!0||e===null||e===void 0){Yh(e);return}if(typeof e=="number"||typeof e=="bigint"){em(e);return}if(typeof e=="string"){Yu(e);return}if(e instanceof Uint8Array){Mu(e);return}if(e instanceof ArrayBuffer){Mu(new Uint8Array(e));return}if(Array.isArray(e)){Wh(e,t);return}if(typeof e=="object"){zh(e,t);return}throw new ui(`Unsupported type: ${typeof e}`)}function Wh(e,t){bo(Ne.Array,e.length),e.forEach((r,n)=>{dc(t?.(r,n.toString())??r,t)})}function zh(e,t){lc=Object.entries(e),bo(Ne.Map,lc.length),lc.forEach(([r,n])=>{Yu(r),dc(t?.(n,r)??n,t)})}function bo(e,t){if(t<=Ch){Pt.setUint8(Te++,ci(e)|Number(t));return}if(t<=Vh){Pt.setUint8(Te++,ci(e)|Ft.OneByte),Pt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Ph){Pt.setUint8(Te++,ci(e)|Ft.TwoBytes),Pt.setUint16(Te,Number(t),go),Te+=2;return}if(t<=Fh){Pt.setUint8(Te++,ci(e)|Ft.FourBytes),Pt.setUint32(Te,Number(t),go),Te+=4;return}if(t<=Bh){Pt.setUint8(Te++,ci(e)|Ft.EightBytes),Pt.setBigUint64(Te,BigInt(t),go),Te+=8;return}throw new ui(`Value too large to encode: ${t}`)}function Yh(e){bo(Ne.Simple,Zh(e))}function Zh(e){if(e===!1)return Bt.False;if(e===!0)return Bt.True;if(e===null)return Bt.Null;if(e===void 0)return Bt.Undefined;throw new ui(`Unrecognized simple value: ${e.toString()}`)}function Wu(e,t){bo(e,t.length),Te>ct.length-t.length&&(ct=$u(ct,ct.length+t.length),Pt=new DataView(ct.buffer)),ct.set(t,Te),Te+=t.length}function zu(e,t){bo(e,t)}function Xh(e){zu(Ne.UnsignedInteger,e)}function Qh(e){zu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function em(e){e>=0?Xh(e):Qh(e)}function Yu(e){Wu(Ne.TextString,Jh.encode(e))}function Mu(e){Wu(Ne.ByteString,e)}function tm(e,t,r){bo(Ne.Tag,e),dc(t,r)}var di="__expiry__",pc=BigInt(1e3),nm=BigInt(1e6),om=BigInt(60),fc=om*pc,im=BigInt(1)*fc;function sm(e){return e/pc*pc}function am(e){return e/fc*fc}var zn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=am(o),s;return i>=n+im?s=i:s=sm(o),new e(s*nm)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[di]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[di])try{let n=BigInt(r[di]);return new e(n)}catch(n){throw new z(new Xo(`Not a valid BigInt: ${n}`))}throw new z(new Xo(`The input does not contain the key ${di}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function cm(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function pi(e){try{return Ju(e,t=>q.isPrincipal(t)?t.toUint8Array():zn.isExpiry(t)?t.toBigInt():cm(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new os(t,e))}}function je(e){try{return Hu(e)}catch(t){throw z.fromCode(new ns(t,e))}}var As={encode:pi,decode:je};var fi=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Ir;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Ir||(Ir={}));var Cs;(function(e){e.Call="call"})(Cs||(Cs={}));var Yn;(function(e){e.Query="query",e.ReadState="read_state"})(Yn||(Yn={}));var lt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(lt||(lt={}));function hi(){let e=new ArrayBuffer(16),t=new DataView(e),r=fi(),n=fi(),o=fi(),i=fi();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}function hc(e=hi){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Ir.Call&&(t.body.nonce=e())}}function mc(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var yc=BigInt(0),Vs=BigInt(1);function Zn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Qr(e,t,r=""){let n=jt(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Zu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?yc:BigInt("0x"+e)}function Qe(e){return Zu(j(e))}function Ar(e){return fe(e),Zu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function gc(e,t){return Oe(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(jt(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function Xu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function xc(e){return Uint8Array.from(e)}var _c=e=>typeof e=="bigint"&&yc<=e;function bc(e,t,r){return _c(e)&&_c(t)&&_c(r)&&t<=e&&e<r}function Ps(e,t,r,n){if(!bc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Sr(e){let t;for(t=0;e>yc;e>>=Vs,t+=1);return t}function Qu(e,t){return e>>BigInt(t)&Vs}var Ut=e=>(Vs<<BigInt(e))-Vs;function ed(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Cr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var wo=()=>{throw new Error("not implemented")};function en(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Ke=BigInt(0),Re=BigInt(1),Xn=BigInt(2),rd=BigInt(3),nd=BigInt(4),od=BigInt(5),lm=BigInt(7),id=BigInt(8),um=BigInt(9),sd=BigInt(16);function ce(e,t){let r=e%t;return r>=Ke?r:t+r}function kt(e,t,r){let n=e;for(;t-- >Ke;)n*=n,n%=r;return n}function td(e,t){if(e===Ke)throw new Error("invert: expected non-zero number");if(t<=Ke)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Ke,i=Re,s=Re,a=Ke;for(;r!==Ke;){let l=n/r,d=n%r,p=o-s*l,u=i-a*l;n=r,r=d,o=s,i=a,s=p,a=u}if(n!==Re)throw new Error("invert: does not exist");return ce(o,t)}function wc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function ad(e,t){let r=(e.ORDER+Re)/nd,n=e.pow(t,r);return wc(e,n,t),n}function dm(e,t){let r=(e.ORDER-od)/id,n=e.mul(t,Xn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Xn),o),a=e.mul(i,e.sub(s,e.ONE));return wc(e,a,t),a}function pm(e){let t=$e(e),r=cd(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+lm)/sd;return(a,c)=>{let l=a.pow(c,s),d=a.mul(l,n),p=a.mul(l,o),u=a.mul(l,i),f=a.eql(a.sqr(d),c),h=a.eql(a.sqr(p),c);l=a.cmov(l,d,f),d=a.cmov(u,p,h);let _=a.eql(a.sqr(d),c),y=a.cmov(l,d,_);return wc(a,y,c),y}}function cd(e){if(e<rd)throw new Error("sqrt is not defined for small field");let t=e-Re,r=0;for(;t%Xn===Ke;)t/=Xn,r++;let n=Xn,o=$e(e);for(;mi(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return ad;let i=o.pow(n,t),s=(t+Re)/Xn;return function(c,l){if(c.is0(l))return l;if(mi(c,l)!==1)throw new Error("Cannot find square root");let d=r,p=c.mul(c.ONE,i),u=c.pow(l,t),f=c.pow(l,s);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,_=c.sqr(u);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===d)throw new Error("Cannot find square root");let y=Re<<BigInt(d-h-1),m=c.pow(p,y);d=h,p=c.sqr(m),u=c.mul(u,p),f=c.mul(f,m)}return f}}function fm(e){return e%nd===rd?ad:e%id===od?dm:e%sd===um?pm(e):cd(e)}var Vr=(e,t)=>(ce(e,t)&Re)===Re,hm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=hm.reduce((n,o)=>(n[o]="function",n),t);return Cr(e,r),e}function _i(e,t,r){if(r<Ke)throw new Error("invalid exponent, negatives unsupported");if(r===Ke)return e.ONE;if(r===Re)return t;let n=e.ONE,o=t;for(;r>Ke;)r&Re&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Re;return n}function mt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function mi(e,t){let r=(e.ORDER-Re)/Xn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Tc(e,t){t!==void 0&&ja(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $e(e,t,r=!1,n={}){if(e<=Ke)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=t;u.BITS&&(o=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(s=u.modFromBytes),a=u.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=Tc(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,p=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Ut(c),ZERO:Ke,ONE:Re,allowedLengths:a,create:u=>ce(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Ke<=u&&u<e},is0:u=>u===Ke,isValidNot0:u=>!p.is0(u)&&p.isValid(u),isOdd:u=>(u&Re)===Re,neg:u=>ce(-u,e),eql:(u,f)=>u===f,sqr:u=>ce(u*u,e),add:(u,f)=>ce(u+f,e),sub:(u,f)=>ce(u-f,e),mul:(u,f)=>ce(u*f,e),pow:(u,f)=>_i(p,u,f),div:(u,f)=>ce(u*td(f,e),e),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>td(u,e),sqrt:i||(u=>(d||(d=fm(e)),d(p,u))),toBytes:u=>r?gc(u,l):Oe(u,l),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let _=new Uint8Array(l);_.set(u,r?0:_.length-u.length),u=_}if(u.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+u.length);let h=r?Ar(u):Qe(u);if(s&&(h=ce(h,e)),!f&&!p.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>mt(p,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(p)}function ld(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Bs(e){let t=ld(e);return t+Math.ceil(t/2)}function Nc(e,t,r=!1){let n=e.length,o=ld(t),i=Bs(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Ar(e):Qe(e),a=ce(s,t-Re)+Re;return r?gc(a,o):Oe(a,o)}var To=BigInt(0),Qn=BigInt(1);function yi(e,t){let r=t.negate();return e?r:t}function _t(e,t){let r=mt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function fd(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Oc(e,t){fd(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ut(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function ud(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Qn);let l=t*n,d=l+Math.abs(a)-1,p=a===0,u=a<0,f=t%2!==0;return{nextN:c,offset:d,isZero:p,isNeg:u,isNegF:f,offsetF:l}}function _m(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function ym(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Ec=new WeakMap,hd=new WeakMap;function Rc(e){return hd.get(e)||1}function dd(e){if(e!==To)throw new Error("invalid wNAF")}var No=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>To;)r&Qn&&(n=n.add(o)),o=o.double(),r>>=Qn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Oc(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=Oc(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:d,isNeg:p,isNegF:u,offsetF:f}=ud(n,a,s);n=c,d?i=i.add(yi(u,r[f])):o=o.add(yi(p,r[l]))}return dd(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Oc(t,this.bits);for(let s=0;s<i.windows&&n!==To;s++){let{nextN:a,offset:c,isZero:l,isNeg:d}=ud(n,s,i);if(n=a,!l){let p=r[c];o=o.add(d?p.negate():p)}}return dd(n),o}getPrecomputes(t,r,n){let o=Ec.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ec.set(r,o))),o}cached(t,r,n){let o=Rc(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Rc(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){fd(r,this.bits),hd.set(t,r),Ec.delete(t)}hasCache(t){return Rc(t)!==1}};function md(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>To||n>To;)r&Qn&&(i=i.add(o)),n&Qn&&(s=s.add(o)),o=o.double(),r>>=Qn,n>>=Qn;return{p1:i,p2:s}}function Oo(e,t,r,n){_m(r,e),ym(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=Sr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Ut(c),d=new Array(Number(l)+1).fill(s),p=Math.floor((t.BITS-1)/c)*c,u=s;for(let f=p;f>=0;f-=c){d.fill(s);for(let _=0;_<i;_++){let y=n[_],m=Number(y>>BigInt(f)&l);d[m]=d[m].add(r[_])}let h=s;for(let _=d.length-1,y=s;_>0;_--)y=y.add(d[_]),h=h.add(y);if(u=u.add(h),f!==0)for(let _=0;_<c;_++)u=u.double()}return u}function pd(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Fs(t),t}else return $e(e,{isLE:r})}function Ds(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l=="bigint"&&l>To))throw new Error(`CURVE.${c} must be positive bigint`)}let o=pd(t.p,r.Fp,n),i=pd(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var gm=Qe;function tn(e,t){if(gi(e),gi(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function xm(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function gi(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function _d(e){if(!jt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function bm(e,t,r,n){fe(e),gi(r),t=_d(t),t.length>255&&(t=n($(G("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=$(t,tn(t.length,1)),c=tn(0,i),l=tn(r,2),d=new Array(s),p=n($(c,e,l,tn(0,1),a));d[0]=n($(p,tn(1,1),a));for(let f=1;f<=s;f++){let h=[xm(p,d[f-1]),tn(f+1,1),a];d[f]=n($(...h))}return $(...d).slice(0,r)}function wm(e,t,r,n,o){if(fe(e),gi(r),t=_d(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(tn(r,2)).update(t).update(tn(t.length,1)).digest()}function vc(e,t,r){Cr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!ed(r.hash))throw new Error("expected valid hash");fe(e),gi(t);let l=n.toString(2).length,d=Math.ceil((l+o)/8),p=t*i*d,u;if(a==="xmd")u=bm(e,c,p,s);else if(a==="xof")u=wm(e,c,p,o,s);else if(a==="_internal_pass")u=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let y=0;y<i;y++){let m=d*(y+h*i),b=u.subarray(m,m+d);_[y]=ce(gm(b),n)}f[h]=_}return f}function Ic(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(p=>p.reduce((u,f)=>e.add(e.mul(u,n),f))),[l,d]=mt(e,[s,c],!0);return n=e.mul(i,l),o=e.mul(o,e.mul(a,d)),{x:n,y:o}}}var Tm=G("HashToScalar-");function Ac(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=vc(i,2,a),l=n(c[0]),d=n(c[1]);return o(l.add(d))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),l=vc(i,1,c),d=n(l[0]);return o(d)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Tm},s);return vc(i,1,c)[0][0]}}}var yd=(e,t)=>(e+(e>=0?t:-t)/Pr)/t;function Nm(e,t,r){let[[n,o],[i,s]]=t,a=yd(s*e,r),c=yd(-o*e,r),l=e-a*n-c*i,d=-a*o-c*s,p=l<eo,u=d<eo;p&&(l=-l),u&&(d=-d);let f=Ut(Math.ceil(Sr(r)/2))+He;if(l<eo||l>=f||d<eo||d>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:p,k1:l,k2neg:u,k2:d}}var eo=BigInt(0),He=BigInt(1),Pr=BigInt(2),Eo=BigInt(3),Sc=BigInt(4);function xi(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Om(e,t={}){let r=Ds("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Cr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let l=vm(n,o);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(A,x,N){let{x:S,y:B}=x.toAffine(),M=n.toBytes(S);if(Zn(N,"isCompressed"),N){d();let R=!n.isOdd(B);return $(Em(R),M)}else return $(Uint8Array.of(4),M,n.toBytes(B))}function u(A){Qr(A,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=l,S=A.length,B=A[0],M=A.subarray(1);if(S===x&&(B===2||B===3)){let R=n.fromBytes(M);if(!n.isValid(R))throw new Error("bad point: is not on curve, wrong x");let V=_(R),F;try{F=n.sqrt(V)}catch(te){let Z=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}d();let D=n.isOdd(F);return(B&1)===1!==D&&(F=n.neg(F)),{x:R,y:F}}else if(S===N&&B===4){let R=n.BYTES,V=n.fromBytes(M.subarray(0,R)),F=n.fromBytes(M.subarray(R,R*2));if(!y(V,F))throw new Error("bad point: is not on curve");return{x:V,y:F}}else throw new Error(`bad point: got length ${S}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||p,h=t.fromBytes||u;function _(A){let x=n.sqr(A),N=n.mul(x,A);return n.add(n.add(N,n.mul(A,i.a)),i.b)}function y(A,x){let N=n.sqr(x),S=_(A);return n.eql(N,S)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,Eo),Sc),b=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,b)))throw new Error("bad curve params: a or b");function g(A,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${A}`);return x}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Nm(A,c.basises,o.ORDER)}let v=en((A,x)=>{let{X:N,Y:S,Z:B}=A;if(n.eql(B,n.ONE))return{x:N,y:S};let M=A.is0();x==null&&(x=M?n.ONE:n.inv(B));let R=n.mul(N,x),V=n.mul(S,x),F=n.mul(B,x);if(M)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:R,y:V}}),E=en(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=A.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(x,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function C(A,x,N,S,B){return N=new w(n.mul(N.X,A),N.Y,N.Z),x=yi(S,x),N=yi(B,N),x.add(N)}class w{constructor(x,N,S){this.X=g("x",x),this.Y=g("y",N,!0),this.Z=g("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:S}=x||{};if(!x||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(x instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?w.ZERO:new w(N,S,n.ONE)}static fromBytes(x){let N=w.fromAffine(h(Qr(x,void 0,"point")));return N.assertValidity(),N}static fromHex(x){return w.fromBytes(de("pointHex",x))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(x=8,N=!0){return P.createCache(this,x),N||this.multiply(Eo),this}assertValidity(){E(this)}hasEvenY(){let{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.eql(n.mul(N,V),n.mul(M,B)),D=n.eql(n.mul(S,V),n.mul(R,B));return F&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,S=n.mul(N,Eo),{X:B,Y:M,Z:R}=this,V=n.ZERO,F=n.ZERO,D=n.ZERO,k=n.mul(B,B),te=n.mul(M,M),Z=n.mul(R,R),Y=n.mul(B,M);return Y=n.add(Y,Y),D=n.mul(B,R),D=n.add(D,D),V=n.mul(x,D),F=n.mul(S,Z),F=n.add(V,F),V=n.sub(te,F),F=n.add(te,F),F=n.mul(V,F),V=n.mul(Y,V),D=n.mul(S,D),Z=n.mul(x,Z),Y=n.sub(k,Z),Y=n.mul(x,Y),Y=n.add(Y,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,Z),k=n.mul(k,Y),F=n.add(F,k),Z=n.mul(M,R),Z=n.add(Z,Z),k=n.mul(Z,Y),V=n.sub(V,k),D=n.mul(Z,te),D=n.add(D,D),D=n.add(D,D),new w(V,F,D)}add(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.ZERO,D=n.ZERO,k=n.ZERO,te=i.a,Z=n.mul(i.b,Eo),Y=n.mul(N,M),xe=n.mul(S,R),be=n.mul(B,V),ze=n.add(N,S),ne=n.add(M,R);ze=n.mul(ze,ne),ne=n.add(Y,xe),ze=n.sub(ze,ne),ne=n.add(N,B);let ie=n.add(M,V);return ne=n.mul(ne,ie),ie=n.add(Y,be),ne=n.sub(ne,ie),ie=n.add(S,B),F=n.add(R,V),ie=n.mul(ie,F),F=n.add(xe,be),ie=n.sub(ie,F),k=n.mul(te,ne),F=n.mul(Z,be),k=n.add(F,k),F=n.sub(xe,k),k=n.add(xe,k),D=n.mul(F,k),xe=n.add(Y,Y),xe=n.add(xe,Y),be=n.mul(te,be),ne=n.mul(Z,ne),xe=n.add(xe,be),be=n.sub(Y,be),be=n.mul(te,be),ne=n.add(ne,be),Y=n.mul(xe,ne),D=n.add(D,Y),Y=n.mul(ie,ne),F=n.mul(ze,F),F=n.sub(F,Y),Y=n.mul(ze,xe),k=n.mul(ie,k),k=n.add(k,Y),new w(F,D,k)}subtract(x){return this.add(x.negate())}is0(){return this.equals(w.ZERO)}multiply(x){let{endo:N}=t;if(!o.isValidNot0(x))throw new Error("invalid scalar: out of range");let S,B,M=R=>P.cached(this,R,V=>_t(w,V));if(N){let{k1neg:R,k1:V,k2neg:F,k2:D}=O(x),{p:k,f:te}=M(V),{p:Z,f:Y}=M(D);B=te.add(Y),S=C(N.beta,k,Z,R,F)}else{let{p:R,f:V}=M(x);S=R,B=V}return _t(w,[S,B])[0]}multiplyUnsafe(x){let{endo:N}=t,S=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===eo||S.is0())return w.ZERO;if(x===He)return S;if(P.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:M,k2neg:R,k2:V}=O(x),{p1:F,p2:D}=md(w,S,M,V);return C(N.beta,F,D,B,R)}else return P.unsafe(S,x)}multiplyAndAddUnsafe(x,N,S){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(x){return v(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===He?!0:x?x(w,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===He?this:x?x(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Zn(x,"isCompressed"),this.assertValidity(),f(w,this,x)}toHex(x=!0){return j(this.toBytes(x))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(x=!0){return this.toBytes(x)}_setWindowSize(x){this.precompute(x)}static normalizeZ(x){return _t(w,x)}static msm(x,N){return Oo(w,o,x,N)}static fromPrivateKey(x){return w.BASE.multiply(xi(o,x))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,P=new No(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Em(e){return Uint8Array.of(e?2:3)}function Rm(e,t){let r=e.ORDER,n=eo;for(let h=r-He;h%Pr===eo;h/=Pr)n+=He;let o=n,i=Pr<<o-He-He,s=i*Pr,a=(r-He)/s,c=(a-He)/Pr,l=s-He,d=i,p=e.pow(t,a),u=e.pow(t,(a+He)/Pr),f=(h,_)=>{let y=p,m=e.pow(_,l),b=e.sqr(m);b=e.mul(b,_);let g=e.mul(h,b);g=e.pow(g,c),g=e.mul(g,m),m=e.mul(g,_),b=e.mul(g,h);let T=e.mul(b,m);g=e.pow(T,d);let O=e.eql(g,e.ONE);m=e.mul(b,u),g=e.mul(T,y),b=e.cmov(m,b,O),T=e.cmov(g,T,O);for(let v=o;v>He;v--){let E=v-Pr;E=Pr<<E-He;let C=e.pow(T,E),w=e.eql(C,e.ONE);m=e.mul(b,y),y=e.mul(y,y),C=e.mul(T,y),b=e.cmov(m,b,w),T=e.cmov(C,T,w)}return{isValid:O,value:b}};if(e.ORDER%Sc===Eo){let h=(e.ORDER-Eo)/Sc,_=e.sqrt(e.neg(t));f=(y,m)=>{let b=e.sqr(m),g=e.mul(y,m);b=e.mul(b,g);let T=e.pow(b,h);T=e.mul(T,g);let O=e.mul(T,_),v=e.mul(e.sqr(T),m),E=e.eql(v,y),C=e.cmov(O,T,E);return{isValid:E,value:C}}}return f}function Cc(e,t){Fs(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Rm(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,l,d,p,u,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),l=e.add(c,e.ONE),l=e.mul(l,n),d=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,r),c=e.sqr(l),u=e.sqr(d),p=e.mul(u,r),c=e.add(c,p),c=e.mul(c,l),u=e.mul(u,d),p=e.mul(u,n),c=e.add(c,p),f=e.mul(a,l);let{isValid:_,value:y}=i(c,u);h=e.mul(a,s),h=e.mul(h,y),f=e.cmov(f,l,_),h=e.cmov(h,y,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let b=mt(e,[d],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function vm(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Vc(e){let{CURVE:t,curveOpts:r}=Im(e),n=Om(t,r);return Sm(e,n)}function Im(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=$e(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Am(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Sm(e,t){let{Fp:r,Fn:n}=t;function o(s){return bc(s,He,n.ORDER)}let i=Am(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>xi(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Cm=BigInt(0),Us=BigInt(1),gd=BigInt(2),Ro=BigInt(3);function Vm(e){let t=[];for(;e>Us;e>>=Us)(e&Us)===Cm?t.unshift(0):(e&Ro)===Ro?(t.unshift(-1),e+=Us):t.unshift(1);return t}function Pc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Pm(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:l}=n,d;if(s==="multiplicative")d=(g,T,O,v,E,C)=>i.mul014(v,g,o.mul(T,E),o.mul(O,C));else if(s==="divisive")d=(g,T,O,v,E,C)=>i.mul034(v,o.mul(O,C),o.mul(T,E),g);else throw new Error("bls: unknown twist type");let p=o.div(o.ONE,o.mul(o.ONE,gd));function u(g,T,O,v){let E=o.sqr(O),C=o.sqr(v),w=o.mulByB(o.mul(C,Ro)),I=o.mul(w,Ro),P=o.sub(o.sub(o.sqr(o.add(O,v)),C),E),A=o.sub(w,E),x=o.mul(o.sqr(T),Ro),N=o.neg(P);return g.push([A,x,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),p),O=o.sub(o.sqr(o.mul(o.add(E,I),p)),o.mul(o.sqr(w),Ro)),v=o.mul(E,P),{Rx:T,Ry:O,Rz:v}}function f(g,T,O,v,E,C){let w=o.sub(O,o.mul(C,v)),I=o.sub(T,o.mul(E,v)),P=o.sub(o.mul(w,E),o.mul(I,C)),A=o.neg(w),x=I;g.push([P,A,x]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,T),M=o.add(o.sub(S,o.mul(B,gd)),o.mul(o.sqr(w),v));return T=o.mul(I,M),O=o.sub(o.mul(o.sub(B,M),w),o.mul(S,O)),v=o.mul(v,S),{Rx:T,Ry:O,Rz:v}}let h=Vm(a),_=en(g=>{let T=g,{x:O,y:v}=T.toAffine(),E=O,C=v,w=o.neg(v),I=E,P=C,A=o.ONE,x=[];for(let N of h){let S=[];({Rx:I,Ry:P,Rz:A}=u(S,I,P,A)),N&&({Rx:I,Ry:P,Rz:A}=f(S,I,P,A,E,N===-1?w:C)),x.push(S)}if(l){let N=x[x.length-1];l(I,P,A,E,C,f.bind(null,N))}return x});function y(g,T=!1){let O=i.ONE;if(g.length){let v=g[0][0].length;for(let E=0;E<v;E++){O=i.sqr(O);for(let[C,w,I]of g)for(let[P,A,x]of C[E])O=d(P,A,x,O,w,I)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(g,T=!0){let O=[];_t(t,g.map(({g1:v})=>v)),_t(r,g.map(({g2:v})=>v));for(let{g1:v,g2:E}of g){if(v.is0()||E.is0())throw new Error("pairing is not available for ZERO point");v.assertValidity(),E.assertValidity();let C=v.toAffine();O.push([_(E),C.x,C.y])}return y(O,T)}function b(g,T,O=!0){return m([{g1:g,g2:T}],O)}return{Fp12:i,millerLoopBatch:y,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function xd(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(p){return p instanceof t.Point?p:t.Point.fromHex(p)}function c(p){return p instanceof r.Point?p:r.Point.fromHex(p)}function l(p){if(!(p instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return p}let d=o?(p,u)=>({g1:u,g2:p}):(p,u)=>({g1:p,g2:u});return{getPublicKey(p){let u=xi(t.Point.Fn,p);return t.Point.BASE.multiply(u)},sign(p,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=xi(t.Point.Fn,u);return l(p).assertValidity(),p.multiply(h)},verify(p,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");p=c(p),f=a(f);let _=f.negate(),y=t.Point.BASE,m=l(u),b=p,g=s([d(_,m),d(y,b)]);return i.eql(g,i.ONE)},verifyBatch(p,u,f){if(Pc(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(p),_=u,y=f.map(a),m=new Map;for(let T=0;T<y.length;T++){let O=y[T],v=_[T],E=m.get(v);E===void 0&&(E=[],m.set(v,E)),E.push(O)}let b=[],g=t.Point.BASE;try{for(let[T,O]of m){let v=O.reduce((E,C)=>E.add(C));b.push(d(v,T))}return b.push(d(g.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(p){Pc(p),p=p.map(f=>a(f));let u=p.reduce((f,h)=>f.add(h),t.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(p){Pc(p),p=p.map(f=>c(f));let u=p.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(p,u){fe(p);let f=u?{DST:u}:void 0;return r.hashToCurve(p,f)},Signature:n}}function bd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Vc(e.G1),a=Object.assign(s,Ac(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Vc(e.G2),l=Object.assign(c,Ac(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),d=Pm(e.fields,a.Point,l.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:p,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=d,_=xd(d,a,l,e.G2.Signature,!1),y=xd(d,l,a,e.G1.ShortSignature,!0),m=e.randomBytes||lo,b=()=>{let R=Bs(r.ORDER);return Nc(m(R),r.ORDER)},g={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function v(R,V){return R instanceof a.Point?R:y.hash(de("point",R),V?.DST)}function E(R,V){return R instanceof l.Point?R:_.hash(de("point",R),V?.DST)}function C(R){return _.getPublicKey(R).toBytes(!0)}function w(R){return y.getPublicKey(R).toBytes(!0)}function I(R,V,F){let D=E(R,F),k=_.sign(D,V);return R instanceof l.Point?k:O.toBytes(k)}function P(R,V,F){let D=v(R,F),k=y.sign(D,V);return R instanceof a.Point?k:T.toBytes(k)}function A(R,V,F,D){let k=E(V,D);return _.verify(R,k,F)}function x(R,V,F,D){let k=v(V,D);return y.verify(R,k,F)}function N(R){let V=_.aggregatePublicKeys(R);return R[0]instanceof a.Point?V:V.toBytes(!0)}function S(R){let V=_.aggregateSignatures(R);return R[0]instanceof l.Point?V:O.toBytes(V)}function B(R){let V=y.aggregateSignatures(R);return R[0]instanceof a.Point?V:T.toBytes(V)}function M(R,V,F,D){let k=V.map(te=>E(te,D));return _.verifyBatch(R,k,F)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:y,millerLoopBatch:p,pairing:u,pairingBatch:f,verifyBatch:M,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:g,getPublicKey:C,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:P,verify:A,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:l,Signature:O,ShortSignature:T}}var wd=BigInt(0),Fr=BigInt(1),Ge=BigInt(2),Td=BigInt(3);function Uc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let l=0;l<o;l++){let d=BigInt(l+1),p=[];for(let u=0,f=Fr;u<n;u++){let h=(d*f-d)/s%a;p.push(e.pow(t,h)),f*=r}c.push(p)}return c}function Od(e,t,r){let n=t.pow(r,(e.ORDER-Fr)/Td),o=t.pow(r,(e.ORDER-Fr)/Ge);function i(u,f){let h=t.mul(t.frobeniusMap(u,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Ge-Fr)/Td),a=t.pow(r,(e.ORDER**Ge-Fr)/Ge);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[t.mul(u,s),t.neg(f)]}let l=u=>(f,h)=>{let _=h.toAffine(),y=u(_.x,_.y);return f.fromAffine({x:y[0],y:y[1]})},d=l(i),p=l(c);return{psi:i,psi2:c,G2psi:d,G2psi2:p,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Nd=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Fc=class{constructor(t,r={}){this.MASK=Fr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Sr(o),this.BYTES=Math.ceil(Sr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,Ge),this.NONRESIDUE=Nd(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Uc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Nd(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&wd<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return _i(this,t,r)}invertBatch(t){return mt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),l=o.sub(a,c),d=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:l,c1:d}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return mi(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);mi(r,a)===-1&&(a=r.sub(a,s));let l=r.sqrt(a),d=n.create({c0:l,c1:r.div(r.mul(i,this.Fp_div2),l)});if(!n.eql(n.sqr(d),t))throw new Error("Cannot find square root");let p=d,u=n.neg(p),{re:f,im:h}=n.reim(p),{re:_,im:y}=n.reim(u);return h>y||h===y&&f>_?p:u}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ge,i=r===wd,s=n%Ge;return BigInt(o||i&&s)==Fr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return $(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Bc=class{constructor(t){this.MASK=Fr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=Uc(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,l=i.mul(t,s),d=i.mul(r,a),p=i.mul(n,c);return{c0:i.add(l,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(d,p)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(l,d)),i.mulByNonresidue(p)),c2:i.sub(i.add(d,i.mul(i.add(t,n),i.add(s,c))),i.add(l,p))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Ge),a=o.mul(o.mul(r,n),Ge),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return wo()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return _i(this,t,r)}invertBatch(t){return mt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return $(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Dc=class{constructor(t,r){this.MASK=Fr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=Uc(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){wo()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return _i(this,t,r)}invertBatch(t){return mt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return $(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),l=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),l)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),l=s.mul01(r,o,i),d=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(d,s.add(c,l))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:l,c2:d}=r,{first:p,second:u}=o.Fp4Square(i,l),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:y}=o.Fp4Square(s,d),m=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(p,i),Ge),p),c1:o.add(o.mul(o.sub(f,s),Ge),f),c2:o.add(o.mul(o.sub(_,a),Ge),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ge),m),c1:o.add(o.mul(o.add(u,l),Ge),u),c2:o.add(o.mul(o.add(h,d),Ge),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Qu(r,o)&&(n=this.mul(n,t));return n}};function Ed(e){let t=$e(e.ORDER),r=new Fc(t,e),n=new Bc(r),o=new Dc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),ks=BigInt(1),yt=BigInt(2),Ls=BigInt(3),bi=BigInt(4),rn=BigInt("0xd201000000010000"),Fm=Sr(rn),to={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:bi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Bm=$e(to.n,{modFromBytes:!0,isLE:!0}),{Fp:L,Fp2:W,Fp6:Dm,Fp12:Q}=Ed({ORDER:to.p,X_LEN:Fm,FP2_NONRESIDUE:[ks,ks],Fp2mulByB:({c0:e,c1:t})=>{let r=L.mul(e,bi),n=L.mul(t,bi);return{c0:L.sub(r,n),c1:L.add(r,n)}},Fp12finalExponentiate:e=>{let t=rn,r=Q.div(Q.frobeniusMap(e,6),e),n=Q.mul(Q.frobeniusMap(r,2),r),o=Q.conjugate(Q._cyclotomicExp(n,t)),i=Q.mul(Q.conjugate(Q._cyclotomicSquare(n)),o),s=Q.conjugate(Q._cyclotomicExp(i,t)),a=Q.conjugate(Q._cyclotomicExp(s,t)),c=Q.mul(Q.conjugate(Q._cyclotomicExp(a,t)),Q._cyclotomicSquare(o)),l=Q.conjugate(Q._cyclotomicExp(c,t)),d=Q.frobeniusMap(Q.mul(o,a),2),p=Q.frobeniusMap(Q.mul(s,n),3),u=Q.frobeniusMap(Q.mul(c,Q.conjugate(n)),1),f=Q.mul(Q.mul(l,Q.conjugate(i)),n);return Q.mul(Q.mul(Q.mul(d,p),u),f)}}),{G2psi:Rd,G2psi2:Um}=Od(L,W,W.div(W.ONE,W.NONRESIDUE)),kc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:L.ORDER,m:2,k:128,expand:"xmd",hash:Ve}),Mc={p:W.ORDER,n:to.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([bi,bi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},qs=wi(L.toBytes(Fe),{infinity:!0,compressed:!0});function Ms(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function wi(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function km(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return qs.slice();let c=!!(a*yt/o);return wi(Oe(s,n),{compressed:!0,sort:c})}else return i?$(Uint8Array.of(64),new Uint8Array(2*n-1)):$(Oe(s,n),Oe(a,n))}function Lc(e){e.assertValidity();let{BYTES:t,ORDER:r}=L,{x:n,y:o}=e.toAffine();if(e.is0())return qs.slice();let i=!!(o*yt/r);return wi(Oe(n,t),{compressed:!0,sort:i})}function Lm(e){let{compressed:t,infinity:r,sort:n,value:o}=Ms(e),{BYTES:i,ORDER:s}=L;if(o.length===48&&t){let a=Qe(o),c=L.create(a&Ut(L.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let l=L.add(L.pow(c,Ls),L.create(to.b)),d=L.sqrt(l);if(!d)throw new Error("invalid G1 point: compressed point");return d*yt/s!==BigInt(n)&&(d=L.neg(d)),{x:L.create(c),y:L.create(d)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return Ti.G1.Point.ZERO.toAffine()}return{x:L.create(a),y:L.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function vd(e){let{infinity:t,sort:r,value:n}=Ms(de("signatureHex",e,48)),o=L.ORDER,i=Ti.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=L.create(s&Ut(L.BITS)),c=L.add(L.pow(a,Ls),L.create(to.b)),l=L.sqrt(c);if(!l)throw new Error("invalid G1 point: compressed");let d=BigInt(r);l*yt/o!==d&&(l=L.neg(l));let p=i.fromAffine({x:a,y:l});return p.assertValidity(),p}function qm(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return $(qs,Oe(Fe,n));let c=!!(a.c1===Fe?a.c0*yt/o:a.c1*yt/o);return $(wi(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return $(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:l}=W.reim(s),{re:d,im:p}=W.reim(a);return $(Oe(l,n),Oe(c,n),Oe(p,n),Oe(d,n))}}function qc(e){e.assertValidity();let{BYTES:t}=L;if(e.is0())return $(qs,Oe(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),l=!!((a>Fe?a*yt:s*yt)/L.ORDER&ks),d=o;return $(wi(Oe(i,t),{sort:l,compressed:!0}),Oe(d,t))}function Mm(e){let{BYTES:t,ORDER:r}=L,{compressed:n,infinity:o,sort:i,value:s}=Ms(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,l,d)=>Qe(c.slice(l,d));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),l=a(s,t,2*t),d=W.create({c0:L.create(l),c1:L.create(c)}),p=W.add(W.pow(d,Ls),Mc.b),u=W.sqrt(p),f=u.c1===Fe?u.c0*yt/r:u.c1*yt/r?ks:Fe;return u=i&&f>0?u:W.neg(u),{x:d,y:u}}else if(s.length===192&&!n){if(o){if(s.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),l=a(s,1*t,2*t),d=a(s,2*t,3*t),p=a(s,3*t,4*t);return{x:W.fromBigTuple([l,c]),y:W.fromBigTuple([p,d])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Id(e){let{ORDER:t}=L,{infinity:r,sort:n,value:o}=Ms(de("signatureHex",e)),i=Ti.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Qe(o.slice(0,s)),c=Qe(o.slice(s));if(r)return i.ZERO;let l=L.create(a&Ut(L.BITS)),d=L.create(c),p=W.create({c0:d,c1:l}),u=W.add(W.pow(p,Ls),Mc.b),f=W.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),y=BigInt(n),m=_>Fe&&_*yt/t!==y,b=_===Fe&&h*yt/t!==y;(m||b)&&(f=W.neg(f));let g=i.fromAffine({x:p,y:f});return g.assertValidity(),g}var Ti=bd({fields:{Fp:L,Fp2:W,Fp6:Dm,Fp12:Q,Fr:Bm},G1:{...to,Fp:L,htfDefaults:{...kc,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(L.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(rn).negate().multiplyUnsafe(rn).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(rn).add(t),mapToCurve:Gm,fromBytes:Lm,toBytes:km,ShortSignature:{fromBytes(e){return fe(e),vd(e)},fromHex(e){return vd(e)},toBytes(e){return Lc(e)},toRawBytes(e){return Lc(e)},toHex(e){return j(Lc(e))}}},G2:{...Mc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...kc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Jm,isTorsionFree:(e,t)=>t.multiplyUnsafe(rn).negate().equals(Rd(e,t)),clearCofactor:(e,t)=>{let r=rn,n=t.multiplyUnsafe(r).negate(),o=Rd(e,t),i=t.double();return i=Um(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:Mm,toBytes:qm,Signature:{fromBytes(e){return fe(e),Id(e)},fromHex(e){return Id(e)},toBytes(e){return qc(e)},toRawBytes(e){return qc(e)},toHex(e){return j(qc(e))}}},params:{ateLoopSize:rn,r:to.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:kc,hash:Ve}),jm=Ic(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),Km=Ic(L,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),$m=Cc(L,{A:L.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:L.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:L.create(BigInt(11))}),Hm=Cc(W,{A:W.create({c0:L.create(Fe),c1:L.create(BigInt(240))}),B:W.create({c0:L.create(BigInt(1012)),c1:L.create(BigInt(1012))}),Z:W.create({c0:L.create(BigInt(-2)),c1:L.create(BigInt(-1))})});function Gm(e){let{x:t,y:r}=$m(L.create(e[0]));return Km(t,r)}function Jm(e){let{x:t,y:r}=Hm(W.fromBigTuple(e));return jm(t,r)}function Ad(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Ti.verifyShortSignature(o,i,n)}var zm=BigInt(1e6),jc=e=>_e(new Vt(e)),nn=e=>{let r=jc(e)/zm;return new Date(Number(r))};var Sd=60*1e3,Ym=60,Zm=24,Xm=Zm*Ym,Qm=5,e_=5,t_=30*Xm,pe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(pe||(pe={}));function r_(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var gt=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??Ad,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Qm,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Br(t,this.cert.tree)}lookup_subtree(t){return Ei(t,this.cert.tree)}async verify(){let t=await Ks(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=o_(r),i=$(sc,t),s=De(this.lookup_path(["time"]));if(!s)throw re.fromCode(new It("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Sd,l=new Date,d=l.getTime()+a,p=d-c,u=d+e_*Sd,f=nn(s),h=f.getTime()<p,_=f.getTime()>u;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Ye.fromCode(new Tr(this._maxAgeInMinutes,f,l,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Se("System time has been synced with the IC network, but certificate is still too far in the future.")):Ye.fromCode(new Tr(5,f,l,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Ye.fromCode(new It("Invalid signature"))}catch(a){throw Ye.fromCode(new It("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:t_,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Zi);await r.verify();let n;if(Vd(this._principal)){let i=this._principal.canisterId;if(n=q.fromUint8Array(t.subnet_id),!Kc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Ye.fromCode(new Mn(i,n))}else if(Cd(this._principal))n=this._principal.subnetId;else throw ft;let o=De(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Cd(this._principal)?Ye.fromCode(new Xi(n)):Ye.fromCode(new es(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(Vd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Cd(e){return"subnetId"in e}function Vd(e){return"canisterId"in e}var Ni=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),n_=96;function o_(e){let t=Ni.byteLength+n_;if(e.byteLength!==t)throw re.fromCode(new uo(t,e.byteLength));let r=e.slice(0,Ni.byteLength);if(!Jn(r,Ni))throw re.fromCode(new ts(Ni,r));return e.slice(Ni.byteLength)}function De(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function Ks(e){switch(e[0]){case pe.Empty:return Ve(js("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve($(js("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve($(js("ic-hashtree-labeled"),e[1],await Ks(e[2])));case pe.Fork:return Ve($(js("ic-hashtree-fork"),await Ks(e[1]),await Ks(e[2])));default:throw ft}}function js(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return $(t,r)}function Pd(e){return typeof e[0]=="string"?G(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var on;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(on||(on={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Br(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:Be.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new zr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ft}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ft}let r=Pd(e),n=Oi(r,t);switch(n.status){case le.Found:return Br(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw ft}}function Ei(e,t){if(e.length===0)return{status:on.Found,value:t};let r=Pd(e),n=Oi(r,t);switch(n.status){case le.Found:return Ei(e.slice(1),n.value);case le.Unknown:return{status:on.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:on.Absent};default:throw ft}}function Hs(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Hs(e[1]).concat(Hs(e[2]));default:return[e]}}function Oi(e,t){switch(t[0]){case pe.Labeled:return r_(e,t[1])?{status:le.Greater}:Jn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=Oi(e,t[1]);switch(r.status){case le.Greater:{let n=Oi(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=Oi(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function $s(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return $s(e,t[1]).concat($s(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return $s(o,n)}default:throw ft}}function Kc(e){let t=i_(e),r=$c(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function i_(e){let{subnetId:t,tree:r,canisterId:n}=e,o=Ei(["canister_ranges",t.toUint8Array()],r);if(o.status!==on.Found)return s_(t,r);let i=o.value,s=a_(i);if(s.length===0)throw re.fromCode(new Mn(n,t));s.sort(po);let a=c_(s,n),c=s[a];return l_(c,i)}function s_(e,t){let r=Br(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function $c(e){return je(e).map(n=>[q.fromUint8Array(n[0]),q.fromUint8Array(n[1])])}function a_(e){let t=[];for(let r of $s([],e)){let n=r[0];if(!n)throw re.fromCode(new It("Path is invalid"));t.push(n)}return t}function c_(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);po(e[i],r)<=0?o=i:n=i+1}return n}function l_(e,t){let r=Br([e],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function Hc(e,t){return e.delegation?q.fromUint8Array(e.delegation.subnet_id):q.selfAuthenticating(t)}var Fd=q.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Gs(e,t){switch(t){case"raw":return e;case"leb128":return jc(e);case"cbor":return je(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function Bd(e){return je(e).map(r=>q.fromUint8Array(r))}function Dd(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function sn(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function vo(e,t){let r=Ei(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==on.Found)throw re.fromCode(new At("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new zr("Invalid node tree"));let n=Hs(r.value),o=new Map;return n.forEach(i=>{let s=q.from(i[1]).toText(),a=Br(["public_key"],i[2]);if(a.status!==Be.Found)throw re.fromCode(new At("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new uo(44,c.byteLength));o.set(s,c)}),o}var Ud=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=d_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let g=u_(u.certificate,o,p);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,nn(y));break}case"controllers":{s.set(_,Bd(y));break}case"module_hash":{s.set(_,j(y));break}case"subnet":{s.set(_,y);break}case"candid":{s.set(_,new TextDecoder().decode(y));break}default:sn(_)&&s.set(_.key,Gs(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Tr)))throw p;sn(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},u_=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Se("Invalid canisterId"));let n=je(e),{delegation:o}=n,i;o&&o.subnet_id?i=q.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=q.selfAuthenticating(new Uint8Array(r)):i=Fd;let s=vo(n,i);return{subnetId:i.toText(),nodeKeys:s}},d_=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(sn(e))return typeof e.path=="string"||e.path instanceof Uint8Array?Dd(e.path,r):e.path}throw ae.fromCode(new Se(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function kd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=p_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readSubnetState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let g=vo(m.cert,o);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,nn(y));break}case"canisterRanges":{s.set(_,$c(y));break}case"publicKey":{s.set(_,y);break}case"nodeKeys":{s.set(_,y);break}default:sn(_)&&s.set(_.key,Gs(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Tr)))throw p;sn(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function p_(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(sn(e)){if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}return e.path}}throw ae.fromCode(new Se(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}function Js(e,t,r){let n=new Uint8Array(De(e.lookup_path([...t,"reject_code"])))[0],o=new TextDecoder().decode(De(e.lookup_path([...t,"reject_message"]))),i=De(e.lookup_path([...t,"error_code"])),s=i?new TextDecoder().decode(i):void 0;return new ss(r,n,o,s)}var an=BigInt(0),ve=BigInt(1),Gc=BigInt(2),f_=BigInt(8);function h_(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function m_(e,t={}){let r=Ds("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Cr(t,{},{uvRatio:"function"});let a=Gc<<BigInt(o.BYTES*8)-ve,c=y=>n.create(y),l=t.uvRatio||((y,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,m))}}catch{return{isValid:!1,value:an}}});if(!h_(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function d(y,m,b=!1){let g=b?ve:an;return Ps("coordinate "+y,m,g,a),m}function p(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let u=en((y,m)=>{let{X:b,Y:g,Z:T}=y,O=y.is0();m==null&&(m=O?f_:n.inv(T));let v=c(b*m),E=c(g*m),C=n.mul(T,m);if(O)return{x:an,y:ve};if(C!==ve)throw new Error("invZ was invalid");return{x:v,y:E}}),f=en(y=>{let{a:m,d:b}=i;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:T,Z:O,T:v}=y,E=c(g*g),C=c(T*T),w=c(O*O),I=c(w*w),P=c(E*m),A=c(w*c(P+C)),x=c(I+c(b*c(E*C)));if(A!==x)throw new Error("bad point: equation left != right (1)");let N=c(g*T),S=c(O*v);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,g,T){this.X=d("x",m),this.Y=d("y",b),this.Z=d("z",g,!0),this.T=d("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x:b,y:g}=m||{};return d("x",b),d("y",g),new h(b,g,ve,c(b*g))}static fromBytes(m,b=!1){let g=n.BYTES,{a:T,d:O}=i;m=xc(Qr(m,g,"point")),Zn(b,"zip215");let v=xc(m),E=m[g-1];v[g-1]=E&-129;let C=Ar(v),w=b?a:n.ORDER;Ps("point.y",C,an,w);let I=c(C*C),P=c(I-ve),A=c(O*I-T),{isValid:x,value:N}=l(P,A);if(!x)throw new Error("bad point: invalid y coordinate");let S=(N&ve)===ve,B=(E&128)!==0;if(!b&&N===an&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:C})}static fromHex(m,b=!1){return h.fromBytes(de("point",m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return _.createCache(this,m),b||this.multiply(Gc),this}assertValidity(){f(this)}equals(m){p(m);let{X:b,Y:g,Z:T}=this,{X:O,Y:v,Z:E}=m,C=c(b*E),w=c(O*T),I=c(g*E),P=c(v*T);return C===w&&I===P}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:b,Y:g,Z:T}=this,O=c(b*b),v=c(g*g),E=c(Gc*c(T*T)),C=c(m*O),w=b+g,I=c(c(w*w)-O-v),P=C+v,A=P-E,x=C-v,N=c(I*A),S=c(P*x),B=c(I*x),M=c(A*P);return new h(N,S,M,B)}add(m){p(m);let{a:b,d:g}=i,{X:T,Y:O,Z:v,T:E}=this,{X:C,Y:w,Z:I,T:P}=m,A=c(T*C),x=c(O*w),N=c(E*g*P),S=c(v*I),B=c((T+O)*(C+w)-A-x),M=S-N,R=S+N,V=c(x-b*A),F=c(B*M),D=c(R*V),k=c(B*V),te=c(M*R);return new h(F,D,te,k)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:g}=_.cached(this,m,T=>_t(h,T));return _t(h,[b,g])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===an?h.ZERO:this.is0()||m===ve?this:_.unsafe(this,m,g=>_t(h,g),b)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return s===ve?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:b}=this.toAffine(),g=n.toBytes(b);return g[g.length-1]|=m&ve?128:0,g}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return _t(h,m)}static msm(m,b){return Oo(h,o,m,b)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,ve,c(i.Gx*i.Gy)),h.ZERO=new h(an,ve,ve,an),h.Fp=n,h.Fn=o;let _=new No(h,o.BITS);return h.BASE.precompute(8),h}var Ws=class{constructor(t){this.ep=t}static fromBytes(t){wo()}static fromHex(t){wo()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function __(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Cr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||lo,c=r.adjustScalarBytes||(w=>w),l=r.domain||((w,I,P)=>{if(Zn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function d(w){return s.create(Ar(w))}function p(w){let I=g.secretKey;w=de("private key",w,I);let P=de("hashed private key",t(w),2*I),A=c(P.slice(0,I)),x=P.slice(I,2*I),N=d(A);return{head:A,prefix:x,scalar:N}}function u(w){let{head:I,prefix:P,scalar:A}=p(w),x=o.multiply(A),N=x.toBytes();return{head:I,prefix:P,scalar:A,point:x,pointBytes:N}}function f(w){return u(w).pointBytes}function h(w=Uint8Array.of(),...I){let P=$(...I);return d(t(l(P,de("context",w),!!n)))}function _(w,I,P={}){w=de("message",w),n&&(w=n(w));let{prefix:A,scalar:x,pointBytes:N}=u(I),S=h(P.context,A,w),B=o.multiply(S).toBytes(),M=h(P.context,B,N,w),R=s.create(S+M*x);if(!s.isValid(R))throw new Error("sign failed: invalid s");let V=$(B,s.toBytes(R));return Qr(V,g.signature,"result")}let y={zip215:!0};function m(w,I,P,A=y){let{context:x,zip215:N}=A,S=g.signature;w=de("signature",w,S),I=de("message",I),P=de("publicKey",P,g.publicKey),N!==void 0&&Zn(N,"zip215"),n&&(I=n(I));let B=S/2,M=w.subarray(0,B),R=Ar(w.subarray(B,S)),V,F,D;try{V=e.fromBytes(P,N),F=e.fromBytes(M,N),D=o.multiplyUnsafe(R)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let k=h(x,F.toBytes(),V.toBytes(),I);return F.add(V.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let b=i.BYTES,g={secretKey:b,publicKey:b,signature:2*b,seed:b};function T(w=a(g.seed)){return Qr(w,g.seed,"seed")}function O(w){let I=C.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function v(w){return jt(w)&&w.length===s.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let C={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:v,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let x=A?i.div(ve+I,ve-I):i.div(I-ve,I+ve);return i.toBytes(x)},toMontgomerySecret(w){let I=g.secretKey;Qr(w,I);let P=t(w.subarray(0,I));return c(P).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:C,Point:e,lengths:g})}function y_(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=$e(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function g_(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Ld(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=y_(e),i=m_(t,r),s=__(i,n,o);return g_(e,s)}var x_=BigInt(0),Dr=BigInt(1),qd=BigInt(2),Hb=BigInt(3),b_=BigInt(5),w_=BigInt(8),Io=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ri={p:Io,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:w_,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function T_(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Io,a=e*e%i*e%i,c=kt(a,qd,i)*a%i,l=kt(c,Dr,i)*e%i,d=kt(l,b_,i)*l%i,p=kt(d,t,i)*d%i,u=kt(p,r,i)*p%i,f=kt(u,n,i)*u%i,h=kt(f,o,i)*f%i,_=kt(h,o,i)*f%i,y=kt(_,t,i)*d%i;return{pow_p_5_8:kt(y,qd,i)*e%i,b2:a}}function N_(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Jc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Yc(e,t){let r=Io,n=ce(t*t*t,r),o=ce(n*n*t,r),i=T_(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,l=ce(s*Jc,r),d=a===e,p=a===ce(-e,r),u=a===ce(-e*Jc,r);return d&&(s=c),(p||u)&&(s=l),Vr(s,r)&&(s=ce(-s,r)),{isValid:d||p,value:s}}var cn=$e(Ri.p,{isLE:!0}),O_=$e(Ri.n,{isLE:!0}),E_={...Ri,Fp:cn,hash:su,adjustScalarBytes:N_,uvRatio:Yc},Je=Ld(E_);var Wc=Jc,R_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),v_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),I_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),A_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Md=e=>Yc(Dr,e),S_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),zc=e=>Je.Point.Fp.create(Ar(e)&S_);function jd(e){let{d:t}=Ri,r=Io,n=m=>cn.create(m),o=n(Wc*e*e),i=n((o+Dr)*I_),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=Yc(i,a),d=n(l*e);Vr(d,r)||(d=n(-d)),c||(l=d),c||(s=o);let p=n(s*(o-Dr)*A_-a),u=l*l,f=n((l+l)*a),h=n(p*R_),_=n(Dr-u),y=n(Dr+u);return new Je.Point(n(f*y),n(_*h),n(h*y),n(f*_))}function C_(e){fe(e,64);let t=zc(e.subarray(0,32)),r=jd(t),n=zc(e.subarray(32,64)),o=jd(n);return new Ur(r.add(o))}var Ur=class e extends Ws{constructor(t){super(t)}static fromAffine(t){return new e(Je.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return C_(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Ri,o=Io,i=T=>cn.create(T),s=zc(t);if(!Xu(cn.toBytes(s),t)||Vr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Dr+r*a),l=i(Dr-r*a),d=i(c*c),p=i(l*l),u=i(r*n*d-p),{isValid:f,value:h}=Md(i(u*p)),_=i(h*l),y=i(h*_*u),m=i((s+s)*_);Vr(m,o)&&(m=i(-m));let b=i(c*y),g=i(m*b);if(!f||Vr(g,o)||b===x_)throw new Error("invalid ristretto255 encoding 2");return new e(new Je.Point(m,b,Dr,g))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return Oo(e,Je.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=Io,s=y=>cn.create(y),a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:d}=Md(s(a*l)),p=s(d*a),u=s(d*c),f=s(p*u*o),h;if(Vr(o*f,i)){let y=s(r*Wc),m=s(t*Wc);t=y,r=m,h=s(p*v_)}else h=u;Vr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Vr(_,i)&&(_=s(-_)),cn.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=l=>cn.create(l),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};Ur.BASE=new Ur(Je.Point.BASE);Ur.ZERO=new Ur(Je.Point.ZERO);Ur.Fp=cn;Ur.Fn=O_;function zs(e){if(!Number.isFinite(e)||e<=0)throw new Error(`expirationTime must be a positive finite number, got ${e}`)}var Ys=class{#e;#t;#r=null;constructor(t){if(typeof globalThis.indexedDB>"u")throw new Error("IndexedDBExpirableStore requires IndexedDB, which is not available in this environment");zs(t.expirationTime),this.#e=t.dbName,this.#t=t.storeName,this.expirationTime=t.expirationTime}#o(){return this.#r||(this.#r=this.#s().catch(t=>{throw this.#r=null,t})),this.#r}async#s(){let t=await this.#a();if(t.objectStoreNames.contains(this.#t))return t;let r=t.version+1;return t.close(),this.#a(r)}#a(t){let r=this.#t;return new Promise((n,o)=>{let i=globalThis.indexedDB.open(this.#e,t);i.onupgradeneeded=()=>{let s=i.result;s.objectStoreNames.contains(r)||s.createObjectStore(r,{keyPath:"key"})},i.onsuccess=()=>{let s=i.result;s.onversionchange=()=>{s.close(),this.#r=null},n(s)},i.onerror=()=>o(i.error)})}async get(t){let r=await this.#o();return new Promise((n,o)=>{let a=r.transaction(this.#t,"readonly").objectStore(this.#t).get(t);a.onsuccess=()=>{let c=a.result;if(!c){n(void 0);return}if(Date.now()-c.timestamp>this.expirationTime){this.delete(t).then(()=>n(void 0),()=>n(void 0));return}n(c.value)},a.onerror=()=>o(a.error)})}async set(t,r){await this.#n();let n=await this.#o();return new Promise((o,i)=>{let s=n.transaction(this.#t,"readwrite"),a=s.objectStore(this.#t),c={key:t,value:r,timestamp:Date.now()};a.put(c),s.oncomplete=()=>o(),s.onerror=()=>i(s.error)})}async delete(t){let r=await this.#o();return new Promise((n,o)=>{let i=r.transaction(this.#t,"readwrite");i.objectStore(this.#t).delete(t),i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}async#n(){let t=await this.#o(),r=Date.now();return new Promise((n,o)=>{let i=t.transaction(this.#t,"readwrite"),a=i.objectStore(this.#t).openCursor();a.onsuccess=()=>{let c=a.result;if(!c)return;let l=c.value;r-l.timestamp>this.expirationTime&&c.delete(),c.continue()},i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}};var Zs=class{#e;constructor(t){zs(t.expirationTime),this.expirationTime=t.expirationTime,this.#e=new Map}get(t){let r=this.#e.get(t);return r?Date.now()-r.timestamp>this.expirationTime?(this.#e.delete(t),Promise.resolve(void 0)):Promise.resolve(r.value):Promise.resolve(void 0)}set(t,r){return this.#t(),this.#e.set(t,{value:r,timestamp:Date.now()}),Promise.resolve()}delete(t){return this.#e.delete(t),Promise.resolve()}#t(){let t=Date.now();for(let[r,n]of this.#e)t-n.timestamp>this.expirationTime&&this.#e.delete(r)}};function Kd(e){return typeof globalThis.indexedDB<"u"?new Ys(e):new Zs({expirationTime:e.expirationTime})}var $d=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new Jo("Length too long (> 4 bytes)"))},Hd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw z.fromCode(new Jo("Length too long (> 4 bytes)"))},Zc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new St("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new St("Length too long (> 4 bytes)"))},V_=(e,t)=>{let r=Zc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw z.fromCode(new St("Length too long (> 4 bytes)"))},vi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),ro=Uint8Array.from([48,5,6,3,43,101,112]),nw=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),ow=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 no(e,t){let r=2+$d(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+$d(n)+n);return i[o++]=48,o+=Hd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Hd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var oo=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new St(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Zc(o,r),!Jn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new St("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=V_(o,r)-1;r+=Zc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new rs(i,s.length));return s};var Xs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return no(t,ro)}static derDecode(t){let r=oo(t,ro);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new St("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw z.fromCode(new St("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var Xc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},Qs=class extends Xc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var ea=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#o=i,this.#i=c,this.#s=c.now(),this.#a=s,this.#n=a}get ellapsedTimeInMsec(){return this.#i.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#l}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#o),this.#l++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#a||this.#l>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var P_=300*1e3;function Gd(){return k_(B_(F_(),1e3),U_(1e3,1.2),D_(P_))}function F_(){let e=!0;return async()=>e?(e=!1,!0):!1}function B_(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function D_(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new jn(`Request timed out after ${e} msec`,n,o))}}function U_(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function k_(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Wd={preSignReadStateRequest:!1};function zd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Qc(e,t){return e!==null&&typeof e=="object"&&zd(e,t)}function q_(e,t){return zd(e,t)&&typeof e[t]=="function"}function Jd(e){return Qc(e,"body")&&Qc(e.body,"content")&&e.body.content.request_type===Yn.ReadState&&Qc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&q_(e.body.content.ingress_expiry,"toHash")}async function ta(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await M_({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw Pe.fromCode(new Ct);let c=await gt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),l=De(c.lookup_path([...o,G("status")])),d;switch(typeof l>"u"?d=lt.Unknown:d=new TextDecoder().decode(l),d){case lt.Replied:return{reply:De(c.lookup_path([...o,"reply"])),certificate:c,rawCertificate:i.certificate};case lt.Received:case lt.Unknown:case lt.Processing:{let p=n.strategy??Gd();return await p(t,r,d),ta(e,t,r,{...n,strategy:p,request:s})}case lt.Rejected:throw vt.fromCode(Js(c,o,r));case lt.Done:throw ae.fromCode(new ls(r))}throw ft}async function M_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Jd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Jd(o))throw z.fromCode(new gs(o));return o}var rl=60*1e3,K_=1e6,$_=0,H_="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var G_="ic0.app",J_=".ic0.app",W_="icp0.io",z_=".icp0.io",Y_="icp-api.io",Z_=".icp-api.io",el=200,Yd=202,X_=404;function Q_(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(`${window.location.protocol}//${e}`):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?`:${o.port}`:""}`):t=new URL("https://icp-api.io")}return t.toString()}var kr=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l;#T;#c;#d;#f;#u;#x;get#R(){return this.#u*rl}#h;#m;#b;#_;constructor(t={}){if(this.#e=null,this.#t=!1,this.#r=$_,this.#o=!1,this.#s=null,this.#a=!1,this._isAgent=!0,this.config={},this.log=new Qs,this.#h=[],this.#m=[],this.#b=new Map,this.#_=!0,this.#N=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o,l=i.size;if(a.length>l)throw re.fromCode(new fs(a.length,l));for(let d of a){let{timestamp:p,identity:u}=d,f=q.fromUint8Array(u).toText(),h;if(s===$r.Replied){let{reply:g}=o;h=ii({status:s,reply:g,timestamp:BigInt(p),request_id:c})}else if(s===$r.Rejected){let{reject_code:g,reject_message:T,error_code:O}=o;h=ii({status:s,reject_code:g,reject_message:T,error_code:O,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Se(`Unknown status: ${s}`));let _=$(ac,h),y=i.get(f);if(!y)throw re.fromCode(new ms);let m=Xs.fromDer(y).rawKey;if(!Je.verify(d.signature,_,m))throw Ye.fromCode(new _s(f))}return o},this.config=t,t.fetch)this.#i=t.fetch;else{let o=globalThis.fetch;if(typeof o!="function")throw z.fromCode(new ds);this.#i=o.bind(globalThis)}this.#l=t.fetchOptions,this.#T=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#a=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(H_);let r=Q_(t.host);this.host=new URL(r),this.host.hostname.endsWith(J_)?this.host.hostname=G_:this.host.hostname.endsWith(z_)?this.host.hostname=W_:this.host.hostname.endsWith(Z_)&&(this.host.hostname=Y_),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#x=t.subnetNodeKeyExpirableStore??Kd({dbName:`icp-sdk-${this.host.host}`,storeName:"subnetNodeKeys",expirationTime:5*rl}),this.#d=t.retryTimes??3;let n=()=>new ea({maxIterations:this.#d});if(this.#f=t.backoffStrategy||n,t.credentials){let{name:o,password:i}=t.credentials;this.#c=`${o}${i?`:${i}`:""}`}if(this.#n=Promise.resolve(t.identity||new at),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new $t("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new $t("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#u=t.ingressExpiryInMinutes||5,this.addTransform("update",hc(hi)),t.useQueryNonces&&this.addTransform("query",hc(hi)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw z.fromCode(new ps)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Pe.fromCode(new Wr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Pe.fromCode(new Wr);let s=q.from(t),a=r.effectiveCanisterId?q.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),l=tl(this.#u,this.#r),d={request_type:Cs.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:l},p=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ir.Call,body:d}),u;r?.nonce?u=f(r.nonce):p.body.nonce?u=f(p.body.nonce):u=void 0,d.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}p=await i.transformRequest(p);let h=pi(p.body),_=this.#f(),y=Rr(d);try{let g=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})},{responseBodyBytes:T,...O}=await this.#y({requestFn:g,backoff:_,tries:0}),v=T.byteLength>0?je(T):null;return{requestId:y,response:{...O,body:v},requestDetails:d}}catch(m){let b;if(m instanceof st){if(m.hasCode(zo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode($t)&&!this.#o)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:y,senderPubKey:p.body.sender_pubkey,senderSignature:p.body.sender_sig,ingressExpiry:p.body.content.ingress_expiry},b=m}else b=ae.fromCode(new Se(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}async update(t,r,n={}){let o=q.from(r.effectiveCanisterId),{requestId:i,response:s,requestDetails:a}=await this.call(t,r),{body:c,...l}=s;if(Ml(c))return this.#v(c,s,i,o,r.methodName,l,a,n);if(ql(c)&&this.#I(c,i,o,r.methodName,l),s.status===Yd)return{...await ta(this,o,i,n),requestDetails:a,callResponse:s};let d=new Se(`Unexpected response from call: status ${s.status} with unrecognized body`);throw d.callContext={canisterId:o,methodName:r.methodName,httpDetails:l},ae.fromCode(d)}async#v(t,r,n,o,i,s,a,c){if(this.rootKey==null)throw Pe.fromCode(new Ct);let l=t.certificate,d=await gt.create({certificate:l,rootKey:this.rootKey,principal:{canisterId:o},blsVerify:c.blsVerify,agent:this}),p=[G("request_status"),n],u=De(d.lookup_path([...p,G("status")])),f=u?new TextDecoder().decode(u):void 0;switch(f){case lt.Replied:return{reply:De(d.lookup_path([...p,"reply"])),certificate:d,rawCertificate:l,requestDetails:a,callResponse:r};case lt.Rejected:{let h=Js(d,p,n);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},vt.fromCode(h)}case void 0:return this.log.warn(`v4 sync response certificate does not contain request ID ${j(n)} status. Falling back to polling.`),{...await ta(this,o,n,c),requestDetails:a,callResponse:r};default:{let h=new ys(f,n,r,l);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},ae.fromCode(h)}}}#I(t,r,n,o,i){let{reject_code:s,reject_message:a,error_code:c}=t,l=new cs(r,s,a,c);throw l.callContext={canisterId:n,methodName:o,httpDetails:i},vt.fromCode(l)}async#w(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),l=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${l.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new jn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let d;try{this.log.print(`fetching "${l.pathname}" with request:`,n),d=await this.#i(l,{...this.#l,...n.request,body:o})}catch(m){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
50
+ `)}return a.encodeValue(c)}));return X(qf,n,o,i,s)}function jf(e,t){let r=new Vt(t);if(t.byteLength<us.length)throw new Error("Message length smaller than magic number");let n=Gr(r,us.length),o=new TextDecoder().decode(n);if(o!==us)throw new Error(`Wrong magic number: ${JSON.stringify(o)}`);function i(u){let f=[],h=Number(_e(u));for(let m=0;m<h;m++){let b=Number(Tr(u));switch(b){case ee.Opt:case ee.Vector:{let g=Number(Tr(u));f.push([b,g]);break}case ee.Record:case ee.Variant:{let g=[],w=Number(_e(u)),O;for(;w--;){let v=Number(_e(u));if(v>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=v)throw new Error("field id collision or not sorted");O=v;let E=Number(Tr(u));g.push([v,E])}f.push([b,g]);break}case ee.Func:{let g=[],w=Number(_e(u));for(;w--;)g.push(Number(Tr(u)));let O=[],v=Number(_e(u));for(;v--;)O.push(Number(Tr(u)));let E=[],C=Number(_e(u));for(;C--;)switch(Number(_e(u))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([b,[g,O,E]]);break}case ee.Service:{let g=Number(_e(u)),w=[];for(;g--;){let O=Number(_e(u)),v=new TextDecoder().decode(Gr(u,O)),E=Tr(u);w.push([v,E])}f.push([b,w]);break}default:throw new Error(`Illegal op_code: ${b}`)}}let _=[],y=Number(_e(u));for(let m=0;m<y;m++)_.push(Number(Tr(u)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(u=>xu());function l(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return Ql;case-2:return Xl;case-3:return ru;case-4:return tu;case-5:return lu;case-6:return uu;case-7:return du;case-8:return pu;case-9:return iu;case-10:return su;case-11:return au;case-12:return cu;case-13:return nu;case-14:return ou;case-15:return eu;case-16:return Zl;case-17:return Yl;case-24:return fu;default:throw new Error(`Illegal op_code: ${u}`)}if(u>=s.length)throw new Error("type index out of range");return c[u]}function p(u){switch(u[0]){case ee.Vector:{let f=l(u[1]);return mu(f)}case ee.Opt:{let f=l(u[1]);return _u(f)}case ee.Record:{let f={};for(let[y,m]of u[1]){let b=`_${y}_`;f[b]=l(m)}let h=yu(f),_=h.tryAsTuple();return Array.isArray(_)?hu(..._):h}case ee.Variant:{let f={};for(let[h,_]of u[1]){let y=`_${h}_`;f[y]=l(_)}return gu(f)}case ee.Func:{let[f,h,_]=u[1];return bu(f.map(y=>l(y)),h.map(y=>l(y)),_)}case ee.Service:{let f={},h=u[1];for(let[_,y]of h){let m=l(y);if(m instanceof ht&&(m=m.getType()),!(m instanceof qn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Tu(f)}default:throw new Error(`Illegal op_code: ${u[0]}`)}}s.forEach((u,f)=>{if(u[0]===ee.Func){let h=p(u);c[f].fill(h)}}),s.forEach((u,f)=>{if(u[0]!==ee.Func){let h=p(u);c[f].fill(h)}}),Ka();let d=a.map(u=>l(u));try{let u=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{Ka()}}var Yl=new Wo,Zl=new Jt,Kf=new ps,Xl=new fs,Ql=new kn,eu=new hs,tu=new zo,ru=new Yo,nu=new Zo(32),ou=new Zo(64),iu=new Nr(8),su=new Nr(16),au=new Nr(32),cu=new Nr(64),lu=new Ht(8),uu=new Ht(16),du=new Ht(32),pu=new Ht(64),fu=new _s;function hu(...e){return new ms(e)}function mu(e){return new so(e)}function _u(e){return new Jr(e)}function yu(e){return new Ln(e)}function gu(e){return new ao(e)}function xu(){return new ht}function bu(e,t,r=[]){return new qn(e,t,r)}function Tu(e){return new co(e)}var ys=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
51
+ `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},ds=new ys;function Ka(){ds=new ys}function $f(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function qa(e){return e instanceof Jr||e instanceof kn||e instanceof Jt}function Ha(e,t){let r=ds.copy(),n=wr(r,e,t);return n?ds.add(e,t):ds.addNegative(e,t),n}function wr(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof Jt||t instanceof Wo||t instanceof Yo&&r instanceof zo)return!0;if(t instanceof so&&r instanceof so)return wr(e,t._type,r._type);if(r instanceof Jr)return!0;if(t instanceof Ln&&r instanceof Ln){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[Me(i)];if(a){if(!wr(e,a,s))return!1}else if(!qa(s))return!1}return!0}if(t instanceof qn&&r instanceof qn){if(!$f(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!wr(e,r.argTypes[o],i))return!1}else if(!qa(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!wr(e,t.retTypes[o],i))return!1}else if(!qa(i))return!1}return!0}if(t instanceof ao&&r instanceof ao){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[Me(i)];if(!a||!wr(e,s,a))return!1}return!0}if(t instanceof co&&r instanceof co){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!wr(e,a,s))return!1}return!0}return t instanceof ht?wr(e,t.getType(),r):r instanceof ht?wr(e,t,r.getType()):!1}function lo(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?lo(e.buffer):new Uint8Array(e)}function jn(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Ga(e){if(typeof e=="string")return wu(e);if(typeof e=="number")return Ve(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(lo(e));if(Array.isArray(e)){let t=e.map(Ga);return Ve($(...t))}if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ga(e.toHash());if(typeof e=="object")return Xo(e);if(typeof e=="bigint")return Ve(oe(e));throw z.fromCode(new es(e))}var wu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function Or(e){return Xo(e)}function Xo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=wu(s),l=Ga(a);return[c,l]}).sort(([s],[a])=>oo(s,a)),o=$(...n.map(s=>$(...s)));return Ve(o)}var Ja=new TextEncoder().encode("\ric-state-root"),Qo=new TextEncoder().encode(`
52
+ ic-request`),Wa=new TextEncoder().encode("\vic-response"),za=new TextEncoder().encode("ic-request-auth-delegation");var Wt=class{getPrincipal(){return this._principal||(this._principal=U.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Or(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign($(Qo,o))}}}},at=class{getPrincipal(){return U.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Er=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Ou=55799,Eu=Symbol("CBOR_STOP_CODE"),Bt=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Bt||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Hf=23,Gf=255,Jf=65535,Wf=4294967295,zf=BigInt("0xffffffffffffffff"),Ft=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Ft||{}),uo=!1;function Yf(e){return e==null}function Ru(e,t){let r=new Uint8Array(t);return r.set(e),r}var Zf=new TextDecoder;function Xf(e){return(e&224)>>5}function Qf(e){return e&31}var ri=new Uint8Array,ei,Dt=0;function vu(e,t){ri=e,Dt=0;let r=Kn(t);return t?.(r)??r}function Kn(e){let[t,r]=gs();switch(t){case Ne.UnsignedInteger:return po(r);case Ne.NegativeInteger:return nh(r);case Ne.ByteString:return Iu(r);case Ne.TextString:return Za(r);case Ne.Array:return eh(r,e);case Ne.Map:return rh(r,e);case Ne.Tag:return oh(r,e);case Ne.Simple:return th(r)}throw new Er(`Unsupported major type: ${t}`)}function gs(){let e=ri.at(Dt);if(Yf(e))throw new Er("Provided CBOR data is empty");let t=Xf(e),r=Qf(e);return Dt++,[t,r]}function eh(e,t){let r=po(e);if(r===1/0){let o=[],i=Kn(t);for(;i!==Eu;)o.push(t?.(i)??i),i=Kn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Kn(t);n[o]=t?.(i)??i}return n}function th(e){switch(e){case Bt.False:return!1;case Bt.True:return!0;case Bt.Null:return null;case Bt.Undefined:return;case Bt.Break:return Eu}throw new Er(`Unrecognized simple type: ${e.toString(2)}`)}function rh(e,t){let r=po(e),n={};if(r===1/0){let[o,i]=gs();for(;o!==Ne.Simple&&i!==Bt.Break;){let s=Za(i),a=Kn(t);n[s]=t?.(a,s)??a,[o,i]=gs()}return n}for(let o=0;o<r;o++){let[i,s]=gs();if(i!==Ne.TextString)throw new Er("Map keys must be text strings");let a=Za(s),c=Kn(t);n[a]=t?.(c,a)??c}return n}function po(e){if(e<=Ft.Value)return e;switch(ei=new DataView(ri.buffer,ri.byteOffset+Dt),e){case Ft.OneByte:return Dt++,ei.getUint8(0);case Ft.TwoBytes:return Dt+=2,ei.getUint16(0,uo);case Ft.FourBytes:return Dt+=4,ei.getUint32(0,uo);case Ft.EightBytes:return Dt+=8,ei.getBigUint64(0,uo);case Ft.Indefinite:return 1/0;default:throw new Er(`Unsupported integer info: ${e.toString(2)}`)}}function nh(e){let t=po(e);return typeof t=="number"?-1-t:-1n-t}function Iu(e){let t=po(e);if(t>Number.MAX_SAFE_INTEGER)throw new Er("Byte length is too large");let r=Number(t);return Dt+=r,ri.slice(Dt-r,Dt)}function Za(e){let t=Iu(e);return Zf.decode(t)}function oh(e,t){let r=po(e);if(r===Ou)return Kn(t);throw new Er(`Unsupported tag: ${r}.`)}var ni=class extends Error{constructor(t){super(t),this.name="SerializationError"}},ih=2*1024,sh=100,ah=new TextEncoder;function ti(e){return e<<5}var ct=new Uint8Array(ih),Pt=new DataView(ct.buffer),we=0,Ya=[];function Au(e,t){we=0;let r=t?.(e)??e;return mh(Ou,r,t),ct.slice(0,we)}function Xa(e,t){if(we>ct.length-sh&&(ct=Ru(ct,ct.length*2),Pt=new DataView(ct.buffer)),e===!1||e===!0||e===null||e===void 0){uh(e);return}if(typeof e=="number"||typeof e=="bigint"){hh(e);return}if(typeof e=="string"){Vu(e);return}if(e instanceof Uint8Array){Nu(e);return}if(e instanceof ArrayBuffer){Nu(new Uint8Array(e));return}if(Array.isArray(e)){ch(e,t);return}if(typeof e=="object"){lh(e,t);return}throw new ni(`Unsupported type: ${typeof e}`)}function ch(e,t){fo(Ne.Array,e.length),e.forEach((r,n)=>{Xa(t?.(r,n.toString())??r,t)})}function lh(e,t){Ya=Object.entries(e),fo(Ne.Map,Ya.length),Ya.forEach(([r,n])=>{Vu(r),Xa(t?.(n,r)??n,t)})}function fo(e,t){if(t<=Hf){Pt.setUint8(we++,ti(e)|Number(t));return}if(t<=Gf){Pt.setUint8(we++,ti(e)|Ft.OneByte),Pt.setUint8(we,Number(t)),we+=1;return}if(t<=Jf){Pt.setUint8(we++,ti(e)|Ft.TwoBytes),Pt.setUint16(we,Number(t),uo),we+=2;return}if(t<=Wf){Pt.setUint8(we++,ti(e)|Ft.FourBytes),Pt.setUint32(we,Number(t),uo),we+=4;return}if(t<=zf){Pt.setUint8(we++,ti(e)|Ft.EightBytes),Pt.setBigUint64(we,BigInt(t),uo),we+=8;return}throw new ni(`Value too large to encode: ${t}`)}function uh(e){fo(Ne.Simple,dh(e))}function dh(e){if(e===!1)return Bt.False;if(e===!0)return Bt.True;if(e===null)return Bt.Null;if(e===void 0)return Bt.Undefined;throw new ni(`Unrecognized simple value: ${e.toString()}`)}function Su(e,t){fo(e,t.length),we>ct.length-t.length&&(ct=Ru(ct,ct.length+t.length),Pt=new DataView(ct.buffer)),ct.set(t,we),we+=t.length}function Cu(e,t){fo(e,t)}function ph(e){Cu(Ne.UnsignedInteger,e)}function fh(e){Cu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function hh(e){e>=0?ph(e):fh(e)}function Vu(e){Su(Ne.TextString,ah.encode(e))}function Nu(e){Su(Ne.ByteString,e)}function mh(e,t,r){fo(Ne.Tag,e),Xa(t,r)}var oi="__expiry__",Qa=BigInt(1e3),yh=BigInt(1e6),gh=BigInt(60),ec=gh*Qa,xh=BigInt(1)*ec;function bh(e){return e/Qa*Qa}function Th(e){return e/ec*ec}var $n=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=Th(o),s;return i>=n+xh?s=i:s=bh(o),new e(s*yh)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[oi]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[oi])try{let n=BigInt(r[oi]);return new e(n)}catch(n){throw new z(new Ho(`Not a valid BigInt: ${n}`))}throw new z(new Ho(`The input does not contain the key ${oi}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function wh(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function ii(e){try{return Au(e,t=>U.isPrincipal(t)?t.toUint8Array():$n.isExpiry(t)?t.toBigInt():wh(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new Wi(t,e))}}function je(e){try{return vu(e)}catch(t){throw z.fromCode(new Ji(t,e))}}var xs={encode:ii,decode:je};var si=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Rr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Rr||(Rr={}));var Ts;(function(e){e.Call="call"})(Ts||(Ts={}));var Hn;(function(e){e.Query="query",e.ReadState="read_state"})(Hn||(Hn={}));var lt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(lt||(lt={}));function ai(){let e=new ArrayBuffer(16),t=new DataView(e),r=si(),n=si(),o=si(),i=si();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}function tc(e=ai){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Rr.Call&&(t.body.nonce=e())}}function rc(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var oc=BigInt(0),ws=BigInt(1);function Gn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Wr(e,t,r=""){let n=Mt(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Pu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?oc:BigInt("0x"+e)}function Qe(e){return Pu(j(e))}function vr(e){return fe(e),Pu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function ic(e,t){return Oe(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Mt(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function Fu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function sc(e){return Uint8Array.from(e)}var nc=e=>typeof e=="bigint"&&oc<=e;function ac(e,t,r){return nc(e)&&nc(t)&&nc(r)&&t<=e&&e<r}function Ns(e,t,r,n){if(!ac(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Ir(e){let t;for(t=0;e>oc;e>>=ws,t+=1);return t}function Bu(e,t){return e>>BigInt(t)&ws}var Ut=e=>(ws<<BigInt(e))-ws;function Du(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Ar(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var ho=()=>{throw new Error("not implemented")};function zr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Ke=BigInt(0),Re=BigInt(1),Jn=BigInt(2),ku=BigInt(3),Lu=BigInt(4),qu=BigInt(5),Nh=BigInt(7),Mu=BigInt(8),Oh=BigInt(9),ju=BigInt(16);function ce(e,t){let r=e%t;return r>=Ke?r:t+r}function kt(e,t,r){let n=e;for(;t-- >Ke;)n*=n,n%=r;return n}function Uu(e,t){if(e===Ke)throw new Error("invert: expected non-zero number");if(t<=Ke)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Ke,i=Re,s=Re,a=Ke;for(;r!==Ke;){let l=n/r,p=n%r,d=o-s*l,u=i-a*l;n=r,r=p,o=s,i=a,s=d,a=u}if(n!==Re)throw new Error("invert: does not exist");return ce(o,t)}function cc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ku(e,t){let r=(e.ORDER+Re)/Lu,n=e.pow(t,r);return cc(e,n,t),n}function Eh(e,t){let r=(e.ORDER-qu)/Mu,n=e.mul(t,Jn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Jn),o),a=e.mul(i,e.sub(s,e.ONE));return cc(e,a,t),a}function Rh(e){let t=$e(e),r=$u(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Nh)/ju;return(a,c)=>{let l=a.pow(c,s),p=a.mul(l,n),d=a.mul(l,o),u=a.mul(l,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);l=a.cmov(l,p,f),p=a.cmov(u,d,h);let _=a.eql(a.sqr(p),c),y=a.cmov(l,p,_);return cc(a,y,c),y}}function $u(e){if(e<ku)throw new Error("sqrt is not defined for small field");let t=e-Re,r=0;for(;t%Jn===Ke;)t/=Jn,r++;let n=Jn,o=$e(e);for(;ci(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Ku;let i=o.pow(n,t),s=(t+Re)/Jn;return function(c,l){if(c.is0(l))return l;if(ci(c,l)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),u=c.pow(l,t),f=c.pow(l,s);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,_=c.sqr(u);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let y=Re<<BigInt(p-h-1),m=c.pow(d,y);p=h,d=c.sqr(m),u=c.mul(u,d),f=c.mul(f,m)}return f}}function vh(e){return e%Lu===ku?Ku:e%Mu===qu?Eh:e%ju===Oh?Rh(e):$u(e)}var Sr=(e,t)=>(ce(e,t)&Re)===Re,Ih=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Os(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Ih.reduce((n,o)=>(n[o]="function",n),t);return Ar(e,r),e}function li(e,t,r){if(r<Ke)throw new Error("invalid exponent, negatives unsupported");if(r===Ke)return e.ONE;if(r===Re)return t;let n=e.ONE,o=t;for(;r>Ke;)r&Re&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Re;return n}function mt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function ci(e,t){let r=(e.ORDER-Re)/Jn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function lc(e,t){t!==void 0&&Ra(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $e(e,t,r=!1,n={}){if(e<=Ke)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let u=t;u.BITS&&(o=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(s=u.modFromBytes),a=u.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=lc(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Ut(c),ZERO:Ke,ONE:Re,allowedLengths:a,create:u=>ce(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Ke<=u&&u<e},is0:u=>u===Ke,isValidNot0:u=>!d.is0(u)&&d.isValid(u),isOdd:u=>(u&Re)===Re,neg:u=>ce(-u,e),eql:(u,f)=>u===f,sqr:u=>ce(u*u,e),add:(u,f)=>ce(u+f,e),sub:(u,f)=>ce(u-f,e),mul:(u,f)=>ce(u*f,e),pow:(u,f)=>li(d,u,f),div:(u,f)=>ce(u*Uu(f,e),e),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>Uu(u,e),sqrt:i||(u=>(p||(p=vh(e)),p(d,u))),toBytes:u=>r?ic(u,l):Oe(u,l),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let _=new Uint8Array(l);_.set(u,r?0:_.length-u.length),u=_}if(u.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+u.length);let h=r?vr(u):Qe(u);if(s&&(h=ce(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>mt(d,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(d)}function Hu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Es(e){let t=Hu(e);return t+Math.ceil(t/2)}function uc(e,t,r=!1){let n=e.length,o=Hu(t),i=Es(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?vr(e):Qe(e),a=ce(s,t-Re)+Re;return r?ic(a,o):Oe(a,o)}var mo=BigInt(0),Wn=BigInt(1);function ui(e,t){let r=t.negate();return e?r:t}function _t(e,t){let r=mt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function zu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function dc(e,t){zu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ut(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Gu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Wn);let l=t*n,p=l+Math.abs(a)-1,d=a===0,u=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:u,isNegF:f,offsetF:l}}function Sh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Ch(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var pc=new WeakMap,Yu=new WeakMap;function fc(e){return Yu.get(e)||1}function Ju(e){if(e!==mo)throw new Error("invalid wNAF")}var _o=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>mo;)r&Wn&&(n=n.add(o)),o=o.double(),r>>=Wn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=dc(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=dc(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:p,isNeg:d,isNegF:u,offsetF:f}=Gu(n,a,s);n=c,p?i=i.add(ui(u,r[f])):o=o.add(ui(d,r[l]))}return Ju(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=dc(t,this.bits);for(let s=0;s<i.windows&&n!==mo;s++){let{nextN:a,offset:c,isZero:l,isNeg:p}=Gu(n,s,i);if(n=a,!l){let d=r[c];o=o.add(p?d.negate():d)}}return Ju(n),o}getPrecomputes(t,r,n){let o=pc.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),pc.set(r,o))),o}cached(t,r,n){let o=fc(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=fc(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){zu(r,this.bits),Yu.set(t,r),pc.delete(t)}hasCache(t){return fc(t)!==1}};function Zu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>mo||n>mo;)r&Wn&&(i=i.add(o)),n&Wn&&(s=s.add(o)),o=o.double(),r>>=Wn,n>>=Wn;return{p1:i,p2:s}}function yo(e,t,r,n){Sh(r,e),Ch(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=Ir(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Ut(c),p=new Array(Number(l)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,u=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let y=n[_],m=Number(y>>BigInt(f)&l);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,y=s;_>0;_--)y=y.add(p[_]),h=h.add(y);if(u=u.add(h),f!==0)for(let _=0;_<c;_++)u=u.double()}return u}function Wu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Os(t),t}else return $e(e,{isLE:r})}function Rs(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l=="bigint"&&l>mo))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Wu(t.p,r.Fp,n),i=Wu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var Vh=Qe;function Yr(e,t){if(di(e),di(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function Ph(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function di(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Xu(e){if(!Mt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function Fh(e,t,r,n){fe(e),di(r),t=Xu(t),t.length>255&&(t=n($(G("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=$(t,Yr(t.length,1)),c=Yr(0,i),l=Yr(r,2),p=new Array(s),d=n($(c,e,l,Yr(0,1),a));p[0]=n($(d,Yr(1,1),a));for(let f=1;f<=s;f++){let h=[Ph(d,p[f-1]),Yr(f+1,1),a];p[f]=n($(...h))}return $(...p).slice(0,r)}function Bh(e,t,r,n,o){if(fe(e),di(r),t=Xu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Yr(r,2)).update(t).update(Yr(t.length,1)).digest()}function hc(e,t,r){Ar(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Du(r.hash))throw new Error("expected valid hash");fe(e),di(t);let l=n.toString(2).length,p=Math.ceil((l+o)/8),d=t*i*p,u;if(a==="xmd")u=Fh(e,c,d,s);else if(a==="xof")u=Bh(e,c,d,o,s);else if(a==="_internal_pass")u=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let y=0;y<i;y++){let m=p*(y+h*i),b=u.subarray(m,m+p);_[y]=ce(Vh(b),n)}f[h]=_}return f}function mc(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((u,f)=>e.add(e.mul(u,n),f))),[l,p]=mt(e,[s,c],!0);return n=e.mul(i,l),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Dh=G("HashToScalar-");function _c(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=hc(i,2,a),l=n(c[0]),p=n(c[1]);return o(l.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),l=hc(i,1,c),p=n(l[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Dh},s);return hc(i,1,c)[0][0]}}}var Qu=(e,t)=>(e+(e>=0?t:-t)/Cr)/t;function Uh(e,t,r){let[[n,o],[i,s]]=t,a=Qu(s*e,r),c=Qu(-o*e,r),l=e-a*n-c*i,p=-a*o-c*s,d=l<zn,u=p<zn;d&&(l=-l),u&&(p=-p);let f=Ut(Math.ceil(Ir(r)/2))+He;if(l<zn||l>=f||p<zn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:u,k2:p}}var zn=BigInt(0),He=BigInt(1),Cr=BigInt(2),go=BigInt(3),yc=BigInt(4);function pi(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function kh(e,t={}){let r=Rs("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Ar(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let l=Mh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,x,N){let{x:S,y:B}=x.toAffine(),M=n.toBytes(S);if(Gn(N,"isCompressed"),N){p();let R=!n.isOdd(B);return $(Lh(R),M)}else return $(Uint8Array.of(4),M,n.toBytes(B))}function u(A){Wr(A,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=l,S=A.length,B=A[0],M=A.subarray(1);if(S===x&&(B===2||B===3)){let R=n.fromBytes(M);if(!n.isValid(R))throw new Error("bad point: is not on curve, wrong x");let V=_(R),F;try{F=n.sqrt(V)}catch(te){let Z=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}p();let D=n.isOdd(F);return(B&1)===1!==D&&(F=n.neg(F)),{x:R,y:F}}else if(S===N&&B===4){let R=n.BYTES,V=n.fromBytes(M.subarray(0,R)),F=n.fromBytes(M.subarray(R,R*2));if(!y(V,F))throw new Error("bad point: is not on curve");return{x:V,y:F}}else throw new Error(`bad point: got length ${S}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||u;function _(A){let x=n.sqr(A),N=n.mul(x,A);return n.add(n.add(N,n.mul(A,i.a)),i.b)}function y(A,x){let N=n.sqr(x),S=_(A);return n.eql(N,S)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,go),yc),b=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,b)))throw new Error("bad curve params: a or b");function g(A,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${A}`);return x}function w(A){if(!(A instanceof T))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Uh(A,c.basises,o.ORDER)}let v=zr((A,x)=>{let{X:N,Y:S,Z:B}=A;if(n.eql(B,n.ONE))return{x:N,y:S};let M=A.is0();x==null&&(x=M?n.ONE:n.inv(B));let R=n.mul(N,x),V=n.mul(S,x),F=n.mul(B,x);if(M)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:R,y:V}}),E=zr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=A.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(x,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function C(A,x,N,S,B){return N=new T(n.mul(N.X,A),N.Y,N.Z),x=ui(S,x),N=ui(B,N),x.add(N)}class T{constructor(x,N,S){this.X=g("x",x),this.Y=g("y",N,!0),this.Z=g("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:S}=x||{};if(!x||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(x instanceof T)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?T.ZERO:new T(N,S,n.ONE)}static fromBytes(x){let N=T.fromAffine(h(Wr(x,void 0,"point")));return N.assertValidity(),N}static fromHex(x){return T.fromBytes(de("pointHex",x))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(x=8,N=!0){return P.createCache(this,x),N||this.multiply(go),this}assertValidity(){E(this)}hasEvenY(){let{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){w(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.eql(n.mul(N,V),n.mul(M,B)),D=n.eql(n.mul(S,V),n.mul(R,B));return F&&D}negate(){return new T(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,S=n.mul(N,go),{X:B,Y:M,Z:R}=this,V=n.ZERO,F=n.ZERO,D=n.ZERO,L=n.mul(B,B),te=n.mul(M,M),Z=n.mul(R,R),Y=n.mul(B,M);return Y=n.add(Y,Y),D=n.mul(B,R),D=n.add(D,D),V=n.mul(x,D),F=n.mul(S,Z),F=n.add(V,F),V=n.sub(te,F),F=n.add(te,F),F=n.mul(V,F),V=n.mul(Y,V),D=n.mul(S,D),Z=n.mul(x,Z),Y=n.sub(L,Z),Y=n.mul(x,Y),Y=n.add(Y,D),D=n.add(L,L),L=n.add(D,L),L=n.add(L,Z),L=n.mul(L,Y),F=n.add(F,L),Z=n.mul(M,R),Z=n.add(Z,Z),L=n.mul(Z,Y),V=n.sub(V,L),D=n.mul(Z,te),D=n.add(D,D),D=n.add(D,D),new T(V,F,D)}add(x){w(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.ZERO,D=n.ZERO,L=n.ZERO,te=i.a,Z=n.mul(i.b,go),Y=n.mul(N,M),xe=n.mul(S,R),be=n.mul(B,V),ze=n.add(N,S),ne=n.add(M,R);ze=n.mul(ze,ne),ne=n.add(Y,xe),ze=n.sub(ze,ne),ne=n.add(N,B);let ie=n.add(M,V);return ne=n.mul(ne,ie),ie=n.add(Y,be),ne=n.sub(ne,ie),ie=n.add(S,B),F=n.add(R,V),ie=n.mul(ie,F),F=n.add(xe,be),ie=n.sub(ie,F),L=n.mul(te,ne),F=n.mul(Z,be),L=n.add(F,L),F=n.sub(xe,L),L=n.add(xe,L),D=n.mul(F,L),xe=n.add(Y,Y),xe=n.add(xe,Y),be=n.mul(te,be),ne=n.mul(Z,ne),xe=n.add(xe,be),be=n.sub(Y,be),be=n.mul(te,be),ne=n.add(ne,be),Y=n.mul(xe,ne),D=n.add(D,Y),Y=n.mul(ie,ne),F=n.mul(ze,F),F=n.sub(F,Y),Y=n.mul(ze,xe),L=n.mul(ie,L),L=n.add(L,Y),new T(F,D,L)}subtract(x){return this.add(x.negate())}is0(){return this.equals(T.ZERO)}multiply(x){let{endo:N}=t;if(!o.isValidNot0(x))throw new Error("invalid scalar: out of range");let S,B,M=R=>P.cached(this,R,V=>_t(T,V));if(N){let{k1neg:R,k1:V,k2neg:F,k2:D}=O(x),{p:L,f:te}=M(V),{p:Z,f:Y}=M(D);B=te.add(Y),S=C(N.beta,L,Z,R,F)}else{let{p:R,f:V}=M(x);S=R,B=V}return _t(T,[S,B])[0]}multiplyUnsafe(x){let{endo:N}=t,S=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===zn||S.is0())return T.ZERO;if(x===He)return S;if(P.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:M,k2neg:R,k2:V}=O(x),{p1:F,p2:D}=Zu(T,S,M,V);return C(N.beta,F,D,B,R)}else return P.unsafe(S,x)}multiplyAndAddUnsafe(x,N,S){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(x){return v(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===He?!0:x?x(T,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===He?this:x?x(T,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Gn(x,"isCompressed"),this.assertValidity(),f(T,this,x)}toHex(x=!0){return j(this.toBytes(x))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(x=!0){return this.toBytes(x)}_setWindowSize(x){this.precompute(x)}static normalizeZ(x){return _t(T,x)}static msm(x,N){return yo(T,o,x,N)}static fromPrivateKey(x){return T.BASE.multiply(pi(o,x))}}T.BASE=new T(i.Gx,i.Gy,n.ONE),T.ZERO=new T(n.ZERO,n.ONE,n.ZERO),T.Fp=n,T.Fn=o;let I=o.BITS,P=new _o(T,t.endo?Math.ceil(I/2):I);return T.BASE.precompute(8),T}function Lh(e){return Uint8Array.of(e?2:3)}function qh(e,t){let r=e.ORDER,n=zn;for(let h=r-He;h%Cr===zn;h/=Cr)n+=He;let o=n,i=Cr<<o-He-He,s=i*Cr,a=(r-He)/s,c=(a-He)/Cr,l=s-He,p=i,d=e.pow(t,a),u=e.pow(t,(a+He)/Cr),f=(h,_)=>{let y=d,m=e.pow(_,l),b=e.sqr(m);b=e.mul(b,_);let g=e.mul(h,b);g=e.pow(g,c),g=e.mul(g,m),m=e.mul(g,_),b=e.mul(g,h);let w=e.mul(b,m);g=e.pow(w,p);let O=e.eql(g,e.ONE);m=e.mul(b,u),g=e.mul(w,y),b=e.cmov(m,b,O),w=e.cmov(g,w,O);for(let v=o;v>He;v--){let E=v-Cr;E=Cr<<E-He;let C=e.pow(w,E),T=e.eql(C,e.ONE);m=e.mul(b,y),y=e.mul(y,y),C=e.mul(w,y),b=e.cmov(m,b,T),w=e.cmov(C,w,T)}return{isValid:O,value:b}};if(e.ORDER%yc===go){let h=(e.ORDER-go)/yc,_=e.sqrt(e.neg(t));f=(y,m)=>{let b=e.sqr(m),g=e.mul(y,m);b=e.mul(b,g);let w=e.pow(b,h);w=e.mul(w,g);let O=e.mul(w,_),v=e.mul(e.sqr(w),m),E=e.eql(v,y),C=e.cmov(O,w,E);return{isValid:E,value:C}}}return f}function gc(e,t){Os(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=qh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,l,p,d,u,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),l=e.add(c,e.ONE),l=e.mul(l,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(l),u=e.sqr(p),d=e.mul(u,r),c=e.add(c,d),c=e.mul(c,l),u=e.mul(u,p),d=e.mul(u,n),c=e.add(c,d),f=e.mul(a,l);let{isValid:_,value:y}=i(c,u);h=e.mul(a,s),h=e.mul(h,y),f=e.cmov(f,l,_),h=e.cmov(h,y,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let b=mt(e,[p],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function Mh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function xc(e){let{CURVE:t,curveOpts:r}=jh(e),n=kh(t,r);return $h(e,n)}function jh(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=$e(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Kh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function $h(e,t){let{Fp:r,Fn:n}=t;function o(s){return ac(s,He,n.ORDER)}let i=Kh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>pi(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Hh=BigInt(0),vs=BigInt(1),ed=BigInt(2),xo=BigInt(3);function Gh(e){let t=[];for(;e>vs;e>>=vs)(e&vs)===Hh?t.unshift(0):(e&xo)===xo?(t.unshift(-1),e+=vs):t.unshift(1);return t}function bc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Jh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:l}=n,p;if(s==="multiplicative")p=(g,w,O,v,E,C)=>i.mul014(v,g,o.mul(w,E),o.mul(O,C));else if(s==="divisive")p=(g,w,O,v,E,C)=>i.mul034(v,o.mul(O,C),o.mul(w,E),g);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,ed));function u(g,w,O,v){let E=o.sqr(O),C=o.sqr(v),T=o.mulByB(o.mul(C,xo)),I=o.mul(T,xo),P=o.sub(o.sub(o.sqr(o.add(O,v)),C),E),A=o.sub(T,E),x=o.mul(o.sqr(w),xo),N=o.neg(P);return g.push([A,x,N]),w=o.mul(o.mul(o.mul(o.sub(E,I),w),O),d),O=o.sub(o.sqr(o.mul(o.add(E,I),d)),o.mul(o.sqr(T),xo)),v=o.mul(E,P),{Rx:w,Ry:O,Rz:v}}function f(g,w,O,v,E,C){let T=o.sub(O,o.mul(C,v)),I=o.sub(w,o.mul(E,v)),P=o.sub(o.mul(T,E),o.mul(I,C)),A=o.neg(T),x=I;g.push([P,A,x]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,w),M=o.add(o.sub(S,o.mul(B,ed)),o.mul(o.sqr(T),v));return w=o.mul(I,M),O=o.sub(o.mul(o.sub(B,M),T),o.mul(S,O)),v=o.mul(v,S),{Rx:w,Ry:O,Rz:v}}let h=Gh(a),_=zr(g=>{let w=g,{x:O,y:v}=w.toAffine(),E=O,C=v,T=o.neg(v),I=E,P=C,A=o.ONE,x=[];for(let N of h){let S=[];({Rx:I,Ry:P,Rz:A}=u(S,I,P,A)),N&&({Rx:I,Ry:P,Rz:A}=f(S,I,P,A,E,N===-1?T:C)),x.push(S)}if(l){let N=x[x.length-1];l(I,P,A,E,C,f.bind(null,N))}return x});function y(g,w=!1){let O=i.ONE;if(g.length){let v=g[0][0].length;for(let E=0;E<v;E++){O=i.sqr(O);for(let[C,T,I]of g)for(let[P,A,x]of C[E])O=p(P,A,x,O,T,I)}}return c&&(O=i.conjugate(O)),w?i.finalExponentiate(O):O}function m(g,w=!0){let O=[];_t(t,g.map(({g1:v})=>v)),_t(r,g.map(({g2:v})=>v));for(let{g1:v,g2:E}of g){if(v.is0()||E.is0())throw new Error("pairing is not available for ZERO point");v.assertValidity(),E.assertValidity();let C=v.toAffine();O.push([_(E),C.x,C.y])}return y(O,w)}function b(g,w,O=!0){return m([{g1:g,g2:w}],O)}return{Fp12:i,millerLoopBatch:y,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function td(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function l(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,u)=>({g1:u,g2:d}):(d,u)=>({g1:d,g2:u});return{getPublicKey(d){let u=pi(t.Point.Fn,d);return t.Point.BASE.multiply(u)},sign(d,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=pi(t.Point.Fn,u);return l(d).assertValidity(),d.multiply(h)},verify(d,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),y=t.Point.BASE,m=l(u),b=d,g=s([p(_,m),p(y,b)]);return i.eql(g,i.ONE)},verifyBatch(d,u,f){if(bc(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=u,y=f.map(a),m=new Map;for(let w=0;w<y.length;w++){let O=y[w],v=_[w],E=m.get(v);E===void 0&&(E=[],m.set(v,E)),E.push(O)}let b=[],g=t.Point.BASE;try{for(let[w,O]of m){let v=O.reduce((E,C)=>E.add(C));b.push(p(v,w))}return b.push(p(g.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(d){bc(d),d=d.map(f=>a(f));let u=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(d){bc(d),d=d.map(f=>c(f));let u=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(d,u){fe(d);let f=u?{DST:u}:void 0;return r.hashToCurve(d,f)},Signature:n}}function rd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=xc(e.G1),a=Object.assign(s,_c(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=xc(e.G2),l=Object.assign(c,_c(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Jh(e.fields,a.Point,l.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,_=td(p,a,l,e.G2.Signature,!1),y=td(p,l,a,e.G1.ShortSignature,!0),m=e.randomBytes||ro,b=()=>{let R=Es(r.ORDER);return uc(m(R),r.ORDER)},g={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:w}=e.G1,{Signature:O}=e.G2;function v(R,V){return R instanceof a.Point?R:y.hash(de("point",R),V?.DST)}function E(R,V){return R instanceof l.Point?R:_.hash(de("point",R),V?.DST)}function C(R){return _.getPublicKey(R).toBytes(!0)}function T(R){return y.getPublicKey(R).toBytes(!0)}function I(R,V,F){let D=E(R,F),L=_.sign(D,V);return R instanceof l.Point?L:O.toBytes(L)}function P(R,V,F){let D=v(R,F),L=y.sign(D,V);return R instanceof a.Point?L:w.toBytes(L)}function A(R,V,F,D){let L=E(V,D);return _.verify(R,L,F)}function x(R,V,F,D){let L=v(V,D);return y.verify(R,L,F)}function N(R){let V=_.aggregatePublicKeys(R);return R[0]instanceof a.Point?V:V.toBytes(!0)}function S(R){let V=_.aggregateSignatures(R);return R[0]instanceof l.Point?V:O.toBytes(V)}function B(R){let V=y.aggregateSignatures(R);return R[0]instanceof a.Point?V:w.toBytes(V)}function M(R,V,F,D){let L=V.map(te=>E(te,D));return _.verifyBatch(R,L,F)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:y,millerLoopBatch:d,pairing:u,pairingBatch:f,verifyBatch:M,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:g,getPublicKey:C,getPublicKeyForShortSignatures:T,sign:I,signShortSignature:P,verify:A,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:l,Signature:O,ShortSignature:w}}var nd=BigInt(0),Vr=BigInt(1),Ge=BigInt(2),od=BigInt(3);function Oc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let l=0;l<o;l++){let p=BigInt(l+1),d=[];for(let u=0,f=Vr;u<n;u++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function sd(e,t,r){let n=t.pow(r,(e.ORDER-Vr)/od),o=t.pow(r,(e.ORDER-Vr)/Ge);function i(u,f){let h=t.mul(t.frobeniusMap(u,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Ge-Vr)/od),a=t.pow(r,(e.ORDER**Ge-Vr)/Ge);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[t.mul(u,s),t.neg(f)]}let l=u=>(f,h)=>{let _=h.toAffine(),y=u(_.x,_.y);return f.fromAffine({x:y[0],y:y[1]})},p=l(i),d=l(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var id=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Tc=class{constructor(t,r={}){this.MASK=Vr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Ir(o),this.BYTES=Math.ceil(Ir(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,Ge),this.NONRESIDUE=id(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Oc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return id(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&nd<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return li(this,t,r)}invertBatch(t){return mt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),l=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:l,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return ci(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);ci(r,a)===-1&&(a=r.sub(a,s));let l=r.sqrt(a),p=n.create({c0:l,c1:r.div(r.mul(i,this.Fp_div2),l)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,u=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:y}=n.reim(u);return h>y||h===y&&f>_?d:u}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ge,i=r===nd,s=n%Ge;return BigInt(o||i&&s)==Vr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return $(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},wc=class{constructor(t){this.MASK=Vr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=Oc(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,l=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(l,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(l,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(l,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Ge),a=o.mul(o.mul(r,n),Ge),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return ho()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return li(this,t,r)}invertBatch(t){return mt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return $(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Nc=class{constructor(t,r){this.MASK=Vr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=Oc(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){ho()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return li(this,t,r)}invertBatch(t){return mt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return $(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),l=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),l)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),l=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(p,s.add(c,l))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:l,c2:p}=r,{first:d,second:u}=o.Fp4Square(i,l),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:y}=o.Fp4Square(s,p),m=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),Ge),d),c1:o.add(o.mul(o.sub(f,s),Ge),f),c2:o.add(o.mul(o.sub(_,a),Ge),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ge),m),c1:o.add(o.mul(o.add(u,l),Ge),u),c2:o.add(o.mul(o.add(h,p),Ge),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Bu(r,o)&&(n=this.mul(n,t));return n}};function ad(e){let t=$e(e.ORDER),r=new Tc(t,e),n=new wc(r),o=new Nc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),Is=BigInt(1),yt=BigInt(2),As=BigInt(3),fi=BigInt(4),Zr=BigInt("0xd201000000010000"),Wh=Ir(Zr),Yn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:fi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},zh=$e(Yn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:W,Fp6:Yh,Fp12:Q}=ad({ORDER:Yn.p,X_LEN:Wh,FP2_NONRESIDUE:[Is,Is],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,fi),n=q.mul(t,fi);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Zr,r=Q.div(Q.frobeniusMap(e,6),e),n=Q.mul(Q.frobeniusMap(r,2),r),o=Q.conjugate(Q._cyclotomicExp(n,t)),i=Q.mul(Q.conjugate(Q._cyclotomicSquare(n)),o),s=Q.conjugate(Q._cyclotomicExp(i,t)),a=Q.conjugate(Q._cyclotomicExp(s,t)),c=Q.mul(Q.conjugate(Q._cyclotomicExp(a,t)),Q._cyclotomicSquare(o)),l=Q.conjugate(Q._cyclotomicExp(c,t)),p=Q.frobeniusMap(Q.mul(o,a),2),d=Q.frobeniusMap(Q.mul(s,n),3),u=Q.frobeniusMap(Q.mul(c,Q.conjugate(n)),1),f=Q.mul(Q.mul(l,Q.conjugate(i)),n);return Q.mul(Q.mul(Q.mul(p,d),u),f)}}),{G2psi:cd,G2psi2:Zh}=sd(q,W,W.div(W.ONE,W.NONRESIDUE)),Ec=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Ve}),Ic={p:W.ORDER,n:Yn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([fi,fi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Ss=hi(q.toBytes(Fe),{infinity:!0,compressed:!0});function Cs(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function hi(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Xh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Ss.slice();let c=!!(a*yt/o);return hi(Oe(s,n),{compressed:!0,sort:c})}else return i?$(Uint8Array.of(64),new Uint8Array(2*n-1)):$(Oe(s,n),Oe(a,n))}function Rc(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return Ss.slice();let i=!!(o*yt/r);return hi(Oe(n,t),{compressed:!0,sort:i})}function Qh(e){let{compressed:t,infinity:r,sort:n,value:o}=Cs(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=Qe(o),c=q.create(a&Ut(q.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let l=q.add(q.pow(c,As),q.create(Yn.b)),p=q.sqrt(l);if(!p)throw new Error("invalid G1 point: compressed point");return p*yt/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return mi.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function ld(e){let{infinity:t,sort:r,value:n}=Cs(de("signatureHex",e,48)),o=q.ORDER,i=mi.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=q.create(s&Ut(q.BITS)),c=q.add(q.pow(a,As),q.create(Yn.b)),l=q.sqrt(c);if(!l)throw new Error("invalid G1 point: compressed");let p=BigInt(r);l*yt/o!==p&&(l=q.neg(l));let d=i.fromAffine({x:a,y:l});return d.assertValidity(),d}function em(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return $(Ss,Oe(Fe,n));let c=!!(a.c1===Fe?a.c0*yt/o:a.c1*yt/o);return $(hi(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return $(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:l}=W.reim(s),{re:p,im:d}=W.reim(a);return $(Oe(l,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function vc(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return $(Ss,Oe(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),l=!!((a>Fe?a*yt:s*yt)/q.ORDER&Is),p=o;return $(hi(Oe(i,t),{sort:l,compressed:!0}),Oe(p,t))}function tm(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=Cs(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,l,p)=>Qe(c.slice(l,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),l=a(s,t,2*t),p=W.create({c0:q.create(l),c1:q.create(c)}),d=W.add(W.pow(p,As),Ic.b),u=W.sqrt(d),f=u.c1===Fe?u.c0*yt/r:u.c1*yt/r?Is:Fe;return u=i&&f>0?u:W.neg(u),{x:p,y:u}}else if(s.length===192&&!n){if(o){if(s.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),l=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([l,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function ud(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=Cs(de("signatureHex",e)),i=mi.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Qe(o.slice(0,s)),c=Qe(o.slice(s));if(r)return i.ZERO;let l=q.create(a&Ut(q.BITS)),p=q.create(c),d=W.create({c0:p,c1:l}),u=W.add(W.pow(d,As),Ic.b),f=W.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),y=BigInt(n),m=_>Fe&&_*yt/t!==y,b=_===Fe&&h*yt/t!==y;(m||b)&&(f=W.neg(f));let g=i.fromAffine({x:d,y:f});return g.assertValidity(),g}var mi=rd({fields:{Fp:q,Fp2:W,Fp6:Yh,Fp12:Q,Fr:zh},G1:{...Yn,Fp:q,htfDefaults:{...Ec,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Zr).negate().multiplyUnsafe(Zr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Zr).add(t),mapToCurve:sm,fromBytes:Qh,toBytes:Xh,ShortSignature:{fromBytes(e){return fe(e),ld(e)},fromHex(e){return ld(e)},toBytes(e){return Rc(e)},toRawBytes(e){return Rc(e)},toHex(e){return j(Rc(e))}}},G2:{...Ic,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Ec},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:am,isTorsionFree:(e,t)=>t.multiplyUnsafe(Zr).negate().equals(cd(e,t)),clearCofactor:(e,t)=>{let r=Zr,n=t.multiplyUnsafe(r).negate(),o=cd(e,t),i=t.double();return i=Zh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:tm,toBytes:em,Signature:{fromBytes(e){return fe(e),ud(e)},fromHex(e){return ud(e)},toBytes(e){return vc(e)},toRawBytes(e){return vc(e)},toHex(e){return j(vc(e))}}},params:{ateLoopSize:Zr,r:Yn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Ec,hash:Ve}),rm=mc(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),nm=mc(q,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),om=gc(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),im=gc(W,{A:W.create({c0:q.create(Fe),c1:q.create(BigInt(240))}),B:W.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:W.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function sm(e){let{x:t,y:r}=om(q.create(e[0]));return nm(t,r)}function am(e){let{x:t,y:r}=im(W.fromBigTuple(e));return rm(t,r)}function dd(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return mi.verifyShortSignature(o,i,n)}var lm=BigInt(1e6),Ac=e=>_e(new Vt(e)),Xr=e=>{let r=Ac(e)/lm;return new Date(Number(r))};var pd=60*1e3,um=60,dm=24,pm=dm*um,fm=5,hm=5,mm=30*pm,pe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(pe||(pe={}));function _m(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var gt=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??dd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=fm,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Pr(t,this.cert.tree)}lookup_subtree(t){return gi(t,this.cert.tree)}async verify(){let t=await Ps(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=gm(r),i=$(Ja,t),s=De(this.lookup_path(["time"]));if(!s)throw re.fromCode(new It("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*pd,l=new Date,p=l.getTime()+a,d=p-c,u=p+hm*pd,f=Xr(s),h=f.getTime()<d,_=f.getTime()>u;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Ye.fromCode(new br(this._maxAgeInMinutes,f,l,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Se("System time has been synced with the IC network, but certificate is still too far in the future.")):Ye.fromCode(new br(5,f,l,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Ye.fromCode(new It("Invalid signature"))}catch(a){throw Ye.fromCode(new It("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:mm,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Mi);await r.verify();let n;if(hd(this._principal)){let i=this._principal.canisterId;if(n=U.fromUint8Array(t.subnet_id),!Sc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Ye.fromCode(new Dn(i,n))}else if(fd(this._principal))n=this._principal.subnetId;else throw ft;let o=De(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw fd(this._principal)?Ye.fromCode(new ji(n)):Ye.fromCode(new $i(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(hd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function fd(e){return"subnetId"in e}function hd(e){return"canisterId"in e}var _i=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),ym=96;function gm(e){let t=_i.byteLength+ym;if(e.byteLength!==t)throw re.fromCode(new no(t,e.byteLength));let r=e.slice(0,_i.byteLength);if(!jn(r,_i))throw re.fromCode(new Hi(_i,r));return e.slice(_i.byteLength)}function De(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function Ps(e){switch(e[0]){case pe.Empty:return Ve(Vs("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve($(Vs("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve($(Vs("ic-hashtree-labeled"),e[1],await Ps(e[2])));case pe.Fork:return Ve($(Vs("ic-hashtree-fork"),await Ps(e[1]),await Ps(e[2])));default:throw ft}}function Vs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return $(t,r)}function md(e){return typeof e[0]=="string"?G(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var Qr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Qr||(Qr={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Pr(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:Be.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new $r("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ft}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ft}let r=md(e),n=yi(r,t);switch(n.status){case le.Found:return Pr(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw ft}}function gi(e,t){if(e.length===0)return{status:Qr.Found,value:t};let r=md(e),n=yi(r,t);switch(n.status){case le.Found:return gi(e.slice(1),n.value);case le.Unknown:return{status:Qr.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:Qr.Absent};default:throw ft}}function Bs(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Bs(e[1]).concat(Bs(e[2]));default:return[e]}}function yi(e,t){switch(t[0]){case pe.Labeled:return _m(e,t[1])?{status:le.Greater}:jn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=yi(e,t[1]);switch(r.status){case le.Greater:{let n=yi(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=yi(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function Fs(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return Fs(e,t[1]).concat(Fs(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return Fs(o,n)}default:throw ft}}function Sc(e){let t=xm(e),r=Cc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function xm(e){let{subnetId:t,tree:r,canisterId:n}=e,o=gi(["canister_ranges",t.toUint8Array()],r);if(o.status!==Qr.Found)return bm(t,r);let i=o.value,s=Tm(i);if(s.length===0)throw re.fromCode(new Dn(n,t));s.sort(oo);let a=wm(s,n),c=s[a];return Nm(c,i)}function bm(e,t){let r=Pr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function Cc(e){return je(e).map(n=>[U.fromUint8Array(n[0]),U.fromUint8Array(n[1])])}function Tm(e){let t=[];for(let r of Fs([],e)){let n=r[0];if(!n)throw re.fromCode(new It("Path is invalid"));t.push(n)}return t}function wm(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);oo(e[i],r)<=0?o=i:n=i+1}return n}function Nm(e,t){let r=Pr([e],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function Vc(e,t){return e.delegation?U.fromUint8Array(e.delegation.subnet_id):U.selfAuthenticating(t)}var _d=U.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Ds(e,t){switch(t){case"raw":return e;case"leb128":return Ac(e);case"cbor":return je(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function yd(e){return je(e).map(r=>U.fromUint8Array(r))}function gd(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function en(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function bo(e,t){let r=gi(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Qr.Found)throw re.fromCode(new At("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new $r("Invalid node tree"));let n=Bs(r.value),o=new Map;return n.forEach(i=>{let s=U.from(i[1]).toText(),a=Pr(["public_key"],i[2]);if(a.status!==Be.Found)throw re.fromCode(new At("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new no(44,c.byteLength));o.set(s,c)}),o}var xd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let p=Em(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let d=t.rootKey,u=await t.readState(o,{paths:[p]}),f=await gt.create({certificate:u.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let g=Om(u.certificate,o,d);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(p))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Xr(y));break}case"controllers":{s.set(_,yd(y));break}case"module_hash":{s.set(_,j(y));break}case"subnet":{s.set(_,y);break}case"candid":{s.set(_,new TextDecoder().decode(y));break}default:en(_)&&s.set(_.key,Ds(y,_.decodeStrategy))}}catch(d){if(d instanceof st&&(d.hasCode(It)||d.hasCode(br)))throw d;en(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},Om=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Se("Invalid canisterId"));let n=je(e),{delegation:o}=n,i;o&&o.subnet_id?i=U.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=U.selfAuthenticating(new Uint8Array(r)):i=_d;let s=bo(n,i);return{subnetId:i.toText(),nodeKeys:s}},Em=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(en(e))return typeof e.path=="string"||e.path instanceof Uint8Array?gd(e.path,r):e.path}throw ae.fromCode(new Se(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function bd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let p=Rm(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let d=t.rootKey,u=await t.readSubnetState(o,{paths:[p]}),f=await gt.create({certificate:u.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let g=bo(m.cert,o);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(p))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Xr(y));break}case"canisterRanges":{s.set(_,Cc(y));break}case"publicKey":{s.set(_,y);break}case"nodeKeys":{s.set(_,y);break}default:en(_)&&s.set(_.key,Ds(y,_.decodeStrategy))}}catch(d){if(d instanceof st&&(d.hasCode(It)||d.hasCode(br)))throw d;en(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function Rm(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(en(e)){if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}return e.path}}throw ae.fromCode(new Se(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}function Us(e,t,r){let n=new Uint8Array(De(e.lookup_path([...t,"reject_code"])))[0],o=new TextDecoder().decode(De(e.lookup_path([...t,"reject_message"]))),i=De(e.lookup_path([...t,"error_code"])),s=i?new TextDecoder().decode(i):void 0;return new Yi(r,n,o,s)}var tn=BigInt(0),ve=BigInt(1),Pc=BigInt(2),vm=BigInt(8);function Im(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Am(e,t={}){let r=Rs("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Ar(t,{},{uvRatio:"function"});let a=Pc<<BigInt(o.BYTES*8)-ve,c=y=>n.create(y),l=t.uvRatio||((y,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,m))}}catch{return{isValid:!1,value:tn}}});if(!Im(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(y,m,b=!1){let g=b?ve:tn;return Ns("coordinate "+y,m,g,a),m}function d(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let u=zr((y,m)=>{let{X:b,Y:g,Z:w}=y,O=y.is0();m==null&&(m=O?vm:n.inv(w));let v=c(b*m),E=c(g*m),C=n.mul(w,m);if(O)return{x:tn,y:ve};if(C!==ve)throw new Error("invZ was invalid");return{x:v,y:E}}),f=zr(y=>{let{a:m,d:b}=i;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:w,Z:O,T:v}=y,E=c(g*g),C=c(w*w),T=c(O*O),I=c(T*T),P=c(E*m),A=c(T*c(P+C)),x=c(I+c(b*c(E*C)));if(A!==x)throw new Error("bad point: equation left != right (1)");let N=c(g*w),S=c(O*v);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,g,w){this.X=p("x",m),this.Y=p("y",b),this.Z=p("z",g,!0),this.T=p("t",w),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x:b,y:g}=m||{};return p("x",b),p("y",g),new h(b,g,ve,c(b*g))}static fromBytes(m,b=!1){let g=n.BYTES,{a:w,d:O}=i;m=sc(Wr(m,g,"point")),Gn(b,"zip215");let v=sc(m),E=m[g-1];v[g-1]=E&-129;let C=vr(v),T=b?a:n.ORDER;Ns("point.y",C,tn,T);let I=c(C*C),P=c(I-ve),A=c(O*I-w),{isValid:x,value:N}=l(P,A);if(!x)throw new Error("bad point: invalid y coordinate");let S=(N&ve)===ve,B=(E&128)!==0;if(!b&&N===tn&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:C})}static fromHex(m,b=!1){return h.fromBytes(de("point",m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return _.createCache(this,m),b||this.multiply(Pc),this}assertValidity(){f(this)}equals(m){d(m);let{X:b,Y:g,Z:w}=this,{X:O,Y:v,Z:E}=m,C=c(b*E),T=c(O*w),I=c(g*E),P=c(v*w);return C===T&&I===P}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:b,Y:g,Z:w}=this,O=c(b*b),v=c(g*g),E=c(Pc*c(w*w)),C=c(m*O),T=b+g,I=c(c(T*T)-O-v),P=C+v,A=P-E,x=C-v,N=c(I*A),S=c(P*x),B=c(I*x),M=c(A*P);return new h(N,S,M,B)}add(m){d(m);let{a:b,d:g}=i,{X:w,Y:O,Z:v,T:E}=this,{X:C,Y:T,Z:I,T:P}=m,A=c(w*C),x=c(O*T),N=c(E*g*P),S=c(v*I),B=c((w+O)*(C+T)-A-x),M=S-N,R=S+N,V=c(x-b*A),F=c(B*M),D=c(R*V),L=c(B*V),te=c(M*R);return new h(F,D,te,L)}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:b,f:g}=_.cached(this,m,w=>_t(h,w));return _t(h,[b,g])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===tn?h.ZERO:this.is0()||m===ve?this:_.unsafe(this,m,g=>_t(h,g),b)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return s===ve?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:b}=this.toAffine(),g=n.toBytes(b);return g[g.length-1]|=m&ve?128:0,g}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return _t(h,m)}static msm(m,b){return yo(h,o,m,b)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,ve,c(i.Gx*i.Gy)),h.ZERO=new h(tn,ve,ve,tn),h.Fp=n,h.Fn=o;let _=new _o(h,o.BITS);return h.BASE.precompute(8),h}var ks=class{constructor(t){this.ep=t}static fromBytes(t){ho()}static fromHex(t){ho()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function Sm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Ar(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||ro,c=r.adjustScalarBytes||(T=>T),l=r.domain||((T,I,P)=>{if(Gn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return T});function p(T){return s.create(vr(T))}function d(T){let I=g.secretKey;T=de("private key",T,I);let P=de("hashed private key",t(T),2*I),A=c(P.slice(0,I)),x=P.slice(I,2*I),N=p(A);return{head:A,prefix:x,scalar:N}}function u(T){let{head:I,prefix:P,scalar:A}=d(T),x=o.multiply(A),N=x.toBytes();return{head:I,prefix:P,scalar:A,point:x,pointBytes:N}}function f(T){return u(T).pointBytes}function h(T=Uint8Array.of(),...I){let P=$(...I);return p(t(l(P,de("context",T),!!n)))}function _(T,I,P={}){T=de("message",T),n&&(T=n(T));let{prefix:A,scalar:x,pointBytes:N}=u(I),S=h(P.context,A,T),B=o.multiply(S).toBytes(),M=h(P.context,B,N,T),R=s.create(S+M*x);if(!s.isValid(R))throw new Error("sign failed: invalid s");let V=$(B,s.toBytes(R));return Wr(V,g.signature,"result")}let y={zip215:!0};function m(T,I,P,A=y){let{context:x,zip215:N}=A,S=g.signature;T=de("signature",T,S),I=de("message",I),P=de("publicKey",P,g.publicKey),N!==void 0&&Gn(N,"zip215"),n&&(I=n(I));let B=S/2,M=T.subarray(0,B),R=vr(T.subarray(B,S)),V,F,D;try{V=e.fromBytes(P,N),F=e.fromBytes(M,N),D=o.multiplyUnsafe(R)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let L=h(x,F.toBytes(),V.toBytes(),I);return F.add(V.multiplyUnsafe(L)).subtract(D).clearCofactor().is0()}let b=i.BYTES,g={secretKey:b,publicKey:b,signature:2*b,seed:b};function w(T=a(g.seed)){return Wr(T,g.seed,"seed")}function O(T){let I=C.randomSecretKey(T);return{secretKey:I,publicKey:f(I)}}function v(T){return Mt(T)&&T.length===s.BYTES}function E(T,I){try{return!!e.fromBytes(T,I)}catch{return!1}}let C={getExtendedPublicKey:u,randomSecretKey:w,isValidSecretKey:v,isValidPublicKey:E,toMontgomery(T){let{y:I}=e.fromBytes(T),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let x=A?i.div(ve+I,ve-I):i.div(I-ve,I+ve);return i.toBytes(x)},toMontgomerySecret(T){let I=g.secretKey;Wr(T,I);let P=t(T.subarray(0,I));return c(P).subarray(0,I)},randomPrivateKey:w,precompute(T=8,I=e.BASE){return I.precompute(T,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:C,Point:e,lengths:g})}function Cm(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=$e(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Vm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Td(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Cm(e),i=Am(t,r),s=Sm(i,n,o);return Vm(e,s)}var Pm=BigInt(0),Fr=BigInt(1),wd=BigInt(2),rb=BigInt(3),Fm=BigInt(5),Bm=BigInt(8),To=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),xi={p:To,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Bm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Dm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=To,a=e*e%i*e%i,c=kt(a,wd,i)*a%i,l=kt(c,Fr,i)*e%i,p=kt(l,Fm,i)*l%i,d=kt(p,t,i)*p%i,u=kt(d,r,i)*d%i,f=kt(u,n,i)*u%i,h=kt(f,o,i)*f%i,_=kt(h,o,i)*f%i,y=kt(_,t,i)*p%i;return{pow_p_5_8:kt(y,wd,i)*e%i,b2:a}}function Um(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Fc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Uc(e,t){let r=To,n=ce(t*t*t,r),o=ce(n*n*t,r),i=Dm(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,l=ce(s*Fc,r),p=a===e,d=a===ce(-e,r),u=a===ce(-e*Fc,r);return p&&(s=c),(d||u)&&(s=l),Sr(s,r)&&(s=ce(-s,r)),{isValid:p||d,value:s}}var rn=$e(xi.p,{isLE:!0}),km=$e(xi.n,{isLE:!0}),Lm={...xi,Fp:rn,hash:Dl,adjustScalarBytes:Um,uvRatio:Uc},Je=Td(Lm);var Bc=Fc,qm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Km=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Nd=e=>Uc(Fr,e),$m=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Dc=e=>Je.Point.Fp.create(vr(e)&$m);function Od(e){let{d:t}=xi,r=To,n=m=>rn.create(m),o=n(Bc*e*e),i=n((o+Fr)*jm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=Uc(i,a),p=n(l*e);Sr(p,r)||(p=n(-p)),c||(l=p),c||(s=o);let d=n(s*(o-Fr)*Km-a),u=l*l,f=n((l+l)*a),h=n(d*qm),_=n(Fr-u),y=n(Fr+u);return new Je.Point(n(f*y),n(_*h),n(h*y),n(f*_))}function Hm(e){fe(e,64);let t=Dc(e.subarray(0,32)),r=Od(t),n=Dc(e.subarray(32,64)),o=Od(n);return new Br(r.add(o))}var Br=class e extends ks{constructor(t){super(t)}static fromAffine(t){return new e(Je.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Hm(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=xi,o=To,i=w=>rn.create(w),s=Dc(t);if(!Fu(rn.toBytes(s),t)||Sr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Fr+r*a),l=i(Fr-r*a),p=i(c*c),d=i(l*l),u=i(r*n*p-d),{isValid:f,value:h}=Nd(i(u*d)),_=i(h*l),y=i(h*_*u),m=i((s+s)*_);Sr(m,o)&&(m=i(-m));let b=i(c*y),g=i(m*b);if(!f||Sr(g,o)||b===Pm)throw new Error("invalid ristretto255 encoding 2");return new e(new Je.Point(m,b,Fr,g))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return yo(e,Je.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=To,s=y=>rn.create(y),a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:p}=Nd(s(a*l)),d=s(p*a),u=s(p*c),f=s(d*u*o),h;if(Sr(o*f,i)){let y=s(r*Bc),m=s(t*Bc);t=y,r=m,h=s(d*Mm)}else h=u;Sr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Sr(_,i)&&(_=s(-_)),rn.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=l=>rn.create(l),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};Br.BASE=new Br(Je.Point.BASE);Br.ZERO=new Br(Je.Point.ZERO);Br.Fp=rn;Br.Fn=km;function Ls(e){if(!Number.isFinite(e)||e<=0)throw new Error(`expirationTime must be a positive finite number, got ${e}`)}var qs=class{#e;#t;#r=null;constructor(t){if(typeof globalThis.indexedDB>"u")throw new Error("IndexedDBExpirableStore requires IndexedDB, which is not available in this environment");Ls(t.expirationTime),this.#e=t.dbName,this.#t=t.storeName,this.expirationTime=t.expirationTime}#o(){return this.#r||(this.#r=this.#s().catch(t=>{throw this.#r=null,t})),this.#r}async#s(){let t=await this.#a();if(t.objectStoreNames.contains(this.#t))return t;let r=t.version+1;return t.close(),this.#a(r)}#a(t){let r=this.#t;return new Promise((n,o)=>{let i=globalThis.indexedDB.open(this.#e,t);i.onupgradeneeded=()=>{let s=i.result;s.objectStoreNames.contains(r)||s.createObjectStore(r,{keyPath:"key"})},i.onsuccess=()=>{let s=i.result;s.onversionchange=()=>{s.close(),this.#r=null},n(s)},i.onerror=()=>o(i.error)})}async get(t){let r=await this.#o();return new Promise((n,o)=>{let a=r.transaction(this.#t,"readonly").objectStore(this.#t).get(t);a.onsuccess=()=>{let c=a.result;if(!c){n(void 0);return}if(Date.now()-c.timestamp>this.expirationTime){this.delete(t).then(()=>n(void 0),()=>n(void 0));return}n(c.value)},a.onerror=()=>o(a.error)})}async set(t,r){await this.#n();let n=await this.#o();return new Promise((o,i)=>{let s=n.transaction(this.#t,"readwrite"),a=s.objectStore(this.#t),c={key:t,value:r,timestamp:Date.now()};a.put(c),s.oncomplete=()=>o(),s.onerror=()=>i(s.error)})}async delete(t){let r=await this.#o();return new Promise((n,o)=>{let i=r.transaction(this.#t,"readwrite");i.objectStore(this.#t).delete(t),i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}async#n(){let t=await this.#o(),r=Date.now();return new Promise((n,o)=>{let i=t.transaction(this.#t,"readwrite"),a=i.objectStore(this.#t).openCursor();a.onsuccess=()=>{let c=a.result;if(!c)return;let l=c.value;r-l.timestamp>this.expirationTime&&c.delete(),c.continue()},i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}};var Ms=class{#e;constructor(t){Ls(t.expirationTime),this.expirationTime=t.expirationTime,this.#e=new Map}get(t){let r=this.#e.get(t);return r?Date.now()-r.timestamp>this.expirationTime?(this.#e.delete(t),Promise.resolve(void 0)):Promise.resolve(r.value):Promise.resolve(void 0)}set(t,r){return this.#t(),this.#e.set(t,{value:r,timestamp:Date.now()}),Promise.resolve()}delete(t){return this.#e.delete(t),Promise.resolve()}#t(){let t=Date.now();for(let[r,n]of this.#e)t-n.timestamp>this.expirationTime&&this.#e.delete(r)}};function Ed(e){return typeof globalThis.indexedDB<"u"?new qs(e):new Ms({expirationTime:e.expirationTime})}var Rd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new qo("Length too long (> 4 bytes)"))},vd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw z.fromCode(new qo("Length too long (> 4 bytes)"))},kc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new St("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new St("Length too long (> 4 bytes)"))},Gm=(e,t)=>{let r=kc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw z.fromCode(new St("Length too long (> 4 bytes)"))},bi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Zn=Uint8Array.from([48,5,6,3,43,101,112]),hb=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),mb=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 Xn(e,t){let r=2+Rd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Rd(n)+n);return i[o++]=48,o+=vd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=vd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Qn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new St(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=kc(o,r),!jn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new St("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Gm(o,r)-1;r+=kc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new Gi(i,s.length));return s};var js=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Xn(t,Zn)}static derDecode(t){let r=Qn(t,Zn);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new St("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw z.fromCode(new St("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var Lc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},Ks=class extends Lc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var $s=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#o=i,this.#i=c,this.#s=c.now(),this.#a=s,this.#n=a}get ellapsedTimeInMsec(){return this.#i.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#l}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#o),this.#l++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#a||this.#l>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Jm=300*1e3;function Id(){return Xm(zm(Wm(),1e3),Zm(1e3,1.2),Ym(Jm))}function Wm(){let e=!0;return async()=>e?(e=!1,!0):!1}function zm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Ym(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new Un(`Request timed out after ${e} msec`,n,o))}}function Zm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Xm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Sd={preSignReadStateRequest:!1};function Cd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function qc(e,t){return e!==null&&typeof e=="object"&&Cd(e,t)}function e_(e,t){return Cd(e,t)&&typeof e[t]=="function"}function Ad(e){return qc(e,"body")&&qc(e.body,"content")&&e.body.content.request_type===Hn.ReadState&&qc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&e_(e.body.content.ingress_expiry,"toHash")}async function Hs(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await t_({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw Pe.fromCode(new Ct);let c=await gt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),l=De(c.lookup_path([...o,G("status")])),p;switch(typeof l>"u"?p=lt.Unknown:p=new TextDecoder().decode(l),p){case lt.Replied:return{reply:De(c.lookup_path([...o,"reply"])),certificate:c,rawCertificate:i.certificate};case lt.Received:case lt.Unknown:case lt.Processing:{let d=n.strategy??Id();return await d(t,r,p),Hs(e,t,r,{...n,strategy:d,request:s})}case lt.Rejected:throw vt.fromCode(Us(c,o,r));case lt.Done:throw ae.fromCode(new Qi(r))}throw ft}async function t_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Ad(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Ad(o))throw z.fromCode(new cs(o));return o}var Kc=60*1e3,n_=1e6,o_=0,i_="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var s_="ic0.app",a_=".ic0.app",c_="icp0.io",l_=".icp0.io",u_="icp-api.io",d_=".icp-api.io",Mc=200,Vd=202,p_=404;function f_(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(`${window.location.protocol}//${e}`):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?`:${o.port}`:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Dr=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l;#w;#c;#d;#f;#u;#x;get#R(){return this.#u*Kc}#h;#m;#b;#_;constructor(t={}){if(this.#e=null,this.#t=!1,this.#r=o_,this.#o=!1,this.#s=null,this.#a=!1,this._isAgent=!0,this.config={},this.log=new Ks,this.#h=[],this.#m=[],this.#b=new Map,this.#_=!0,this.#N=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o,l=i.size;if(a.length>l)throw re.fromCode(new ns(a.length,l));for(let p of a){let{timestamp:d,identity:u}=p,f=U.fromUint8Array(u).toText(),h;if(s===jr.Replied){let{reply:g}=o;h=Xo({status:s,reply:g,timestamp:BigInt(d),request_id:c})}else if(s===jr.Rejected){let{reject_code:g,reject_message:w,error_code:O}=o;h=Xo({status:s,reject_code:g,reject_message:w,error_code:O,timestamp:BigInt(d),request_id:c})}else throw ae.fromCode(new Se(`Unknown status: ${s}`));let _=$(Wa,h),y=i.get(f);if(!y)throw re.fromCode(new is);let m=js.fromDer(y).rawKey;if(!Je.verify(p.signature,_,m))throw Ye.fromCode(new ss(f))}return o},this.config=t,t.fetch)this.#i=t.fetch;else{let o=globalThis.fetch;if(typeof o!="function")throw z.fromCode(new ts);this.#i=o.bind(globalThis)}this.#l=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#a=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(i_);let r=f_(t.host);this.host=new URL(r),this.host.hostname.endsWith(a_)?this.host.hostname=s_:this.host.hostname.endsWith(l_)?this.host.hostname=c_:this.host.hostname.endsWith(d_)&&(this.host.hostname=u_),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#x=t.subnetNodeKeyExpirableStore??Ed({dbName:`icp-sdk-${this.host.host}`,storeName:"subnetNodeKeys",expirationTime:5*Kc}),this.#d=t.retryTimes??3;let n=()=>new $s({maxIterations:this.#d});if(this.#f=t.backoffStrategy||n,t.credentials){let{name:o,password:i}=t.credentials;this.#c=`${o}${i?`:${i}`:""}`}if(this.#n=Promise.resolve(t.identity||new at),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new Kt("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new Kt("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#u=t.ingressExpiryInMinutes||5,this.addTransform("update",tc(ai)),t.useQueryNonces&&this.addTransform("query",tc(ai)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw z.fromCode(new rs)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Pe.fromCode(new Kr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Pe.fromCode(new Kr);let s=U.from(t),a=r.effectiveCanisterId?U.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),l=jc(this.#u,this.#r),p={request_type:Ts.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:l},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Rr.Call,body:p}),u;r?.nonce?u=f(r.nonce):d.body.nonce?u=f(d.body.nonce):u=void 0,p.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=ii(d.body),_=this.#f(),y=Or(p);try{let g=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#i(E,{...this.#w,...d.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#i(E,{...this.#w,...d.request,body:h})},{responseBodyBytes:w,...O}=await this.#y({requestFn:g,backoff:_,tries:0}),v=w.byteLength>0?je(w):null;return{requestId:y,response:{...O,body:v},requestDetails:p}}catch(m){let b;if(m instanceof st){if(m.hasCode(jo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Kt)&&!this.#o)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:y,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},b=m}else b=ae.fromCode(new Se(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}async update(t,r,n={}){let o=U.from(r.effectiveCanisterId),{requestId:i,response:s,requestDetails:a}=await this.call(t,r),{body:c,...l}=s;if(Kl(c))return this.#v(c,s,i,o,r.methodName,l,a,n);if(jl(c)&&this.#I(c,i,o,r.methodName,l),s.status===Vd)return{...await Hs(this,o,i,n),requestDetails:a,callResponse:s};let p=new Se(`Unexpected response from call: status ${s.status} with unrecognized body`);throw p.callContext={canisterId:o,methodName:r.methodName,httpDetails:l},ae.fromCode(p)}async#v(t,r,n,o,i,s,a,c){if(this.rootKey==null)throw Pe.fromCode(new Ct);let l=t.certificate,p=await gt.create({certificate:l,rootKey:this.rootKey,principal:{canisterId:o},blsVerify:c.blsVerify,agent:this}),d=[G("request_status"),n],u=De(p.lookup_path([...d,G("status")])),f=u?new TextDecoder().decode(u):void 0;switch(f){case lt.Replied:return{reply:De(p.lookup_path([...d,"reply"])),certificate:p,rawCertificate:l,requestDetails:a,callResponse:r};case lt.Rejected:{let h=Us(p,d,n);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},vt.fromCode(h)}case void 0:return this.log.warn(`v4 sync response certificate does not contain request ID ${j(n)} status. Falling back to polling.`),{...await Hs(this,o,n,c),requestDetails:a,callResponse:r};default:{let h=new as(f,n,r,l);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},ae.fromCode(h)}}}#I(t,r,n,o,i){let{reject_code:s,reject_message:a,error_code:c}=t,l=new Xi(r,s,a,c);throw l.callContext={canisterId:n,methodName:o,httpDetails:i},vt.fromCode(l)}async#T(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),l=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${l.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new Un(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${l.pathname}" with request:`,n),p=await this.#i(l,{...this.#l,...n.request,body:o})}catch(m){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
53
53
  ${m}
54
- Retrying query.`),await this.#w({...t,tries:a+1});throw Go.fromCode(new Yo(m))}let p=mc(d.headers);if(d.status!==el){let m=await d.text();if(Zd(m))throw z.fromCode(new $t(m,this.#u));if(a<this.#d)return await this.#w({...t,tries:a+1});throw re.fromCode(new Wo(d.status,d.statusText,p,m))}let f={...je(yo(await d.arrayBuffer())),httpDetails:{ok:d.ok,status:d.status,statusText:d.statusText,headers:p},requestId:i};if(!this.#_)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new hs("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(K_));if(Date.now()+this.#r-_>this.#R){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#w({...t,tries:a+1});throw Ye.fromCode(new is(this.#u,i,a))}return f}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new jn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(d=>setTimeout(d,i));let s,a=new Uint8Array;try{s=await r(),s.status===el&&(a=yo(await s.clone().arrayBuffer()))}catch(d){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
55
- ${d}
56
- Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw Go.fromCode(new Yo(d))}let c=mc(s.headers);if(s.status===el||s.status===Yd)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let l=await s.text();if(s.status===X_&&s.url.includes("api/v4"))throw re.fromCode(new zo);if(Zd(l))throw z.fromCode(new $t(l,this.#u));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new Wo(s.status,s.statusText,c,l))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?q.from(r.effectiveCanisterId):q.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Pe.fromCode(new Wr);let c=q.from(t),l=a.getPrincipal(),d=tl(this.#u,this.#r),p={request_type:Yn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:l,ingress_expiry:d},u=Rr(p);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ir.Query,body:p}),s=await a.transformRequest(s);let f=pi(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:u,backoff:o,tries:0},_=async()=>{let y=await this.#w(h);return{requestDetails:p,...y}};try{if(!this.#_)return await _();let[y,m]=await Promise.all([_(),this.fetchSubnetKeys(i)]);try{return this.#N(y,m)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),await this.#x.delete(i.toString());let b=await this.fetchSubnetKeys(i);return this.#N(y,b)}}catch(y){let m;if(y instanceof st){if(y.hasCode($t)&&!this.#o)return await this.syncTime(i),this.query(t,r,n);y.code.requestContext={requestId:u,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},m=y}else m=ae.fromCode(new Se(y));throw this.log.error(`Error while making query: ${m.message}`,m),m}}#N;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw Pe.fromCode(new Wr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ir.ReadState,body:{request_type:Yn.ReadState,paths:t.paths,sender:o,ingress_expiry:tl(this.#u,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#g();let i=q.from(t);function s(d){for(let p of d.paths){let[u,f]=p,h=new TextEncoder().encode("request_status");if(Jn(u,h))return f}}let a,c;if(o)a=o;else{c=s(r);let d=await this.#n;if(!d)throw Pe.fromCode(new Wr);a=await this.createReadStateRequest(r,d)}let l=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#O(l,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#g();let n=q.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#O(o,{subnetId:n},i)}async#O(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#y({requestFn:()=>this.#i(t,{...this.#l,...n.request,body:pi(n.body)}),backoff:i,tries:0});return je(s)}catch(s){let a;if(s instanceof st){if(s.hasCode($t)&&!this.#o){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ft;return await this.#O(t,r,n,o)}s.code.requestContext={requestId:o??Rr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Se(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new zr("Could not decode time from response"));let o=Br(["time"],r);if(o.status!==Be.Found)throw re.fromCode(new At("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new Qi("Time was not in its expected format."));let i=nn(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}return this.log.warn("No certificate found in response"),0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#g();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??q.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await Ud({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#E(r,i)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async syncTimeWithSubnet(t){await this.#g();let r=Date.now();try{let n=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await kd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#E(r,o)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#E(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#o=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#y({backoff:n,requestFn:()=>this.#i(r,{headers:t,...this.#l}),tries:0});return je(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#g(),this.#A(t)])}async#g(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Pe.fromCode(new Ct(this.#t))}async#A(t){this.#a&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=q.from(t),n=await this.#x.get(r.toText());if(n)return n;let o=this.#b.get(r.toText());if(o)return o;let i=this.#S(r).finally(()=>{this.#b.delete(r.toText())});return this.#b.set(r.toText(),i),i}async#S(t){await this.#p(t);let r=this.rootKey,n=await this.readState(t,{paths:[[G("subnet")]]}),o=await gt.create({certificate:n.certificate,rootKey:r,principal:{canisterId:t},agent:this});if(!o.cert.delegation){let a=q.selfAuthenticating(r);if(!Kc({canisterId:t,subnetId:a,tree:o.cert.tree}))throw Ye.fromCode(new Mn(t,a))}let i=Hc(o.cert,r),s=vo(o.cert,i);return await this.#x.set(t.toText(),s),s}async getSubnetIdFromCanister(t){let r=q.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await gt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return Hc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Ir.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#o}};function tl(e,t){let r=e*rl;return zn.fromDeltaInMilliseconds(r,t)}function Zd(e){return e.includes("Invalid request expiry: ")}var ut=Symbol.for("ic-agent-metadata"),So=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return q.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Gn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new Zo(s.canisterId));let a=typeof s.canisterId=="string"?q.fromText(s.canisterId):s.canisterId;super({config:{...Xd,...s,canisterId:a},service:n});for(let[c,l]of n._fields)r?.httpDetails&&l.annotations.push(nl),r?.certificate&&l.annotations.push(Qd),this[c]=ey(this,c,l,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new Zo(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ut]=Object.freeze(t)}};function Ao(e,t){let r=Gn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Xd={pollingOptions:Wd,queryStrategy:"query"},nl="http-details",Qd="certificate";function ey(e,t,r,n){let o,i=r.annotations.includes("query")||r.annotations.includes("composite_query"),s=e[ut].config.queryStrategy;i&&s==="query"?o=async(c,...l)=>{c={...c,...e[ut].config.queryTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||new kr,p=q.from(c.canisterId||e[ut].config.canisterId),u=Gn.encode(r.argTypes,l),f=await d.query(p,{methodName:t,arg:u,effectiveCanisterId:c.effectiveCanisterId}),h={...f.httpDetails,requestDetails:f.requestDetails};switch(f.status){case $r.Rejected:{let _=new as(f.requestId,f.reject_code,f.reject_message,f.error_code,f.signatures);throw _.callContext={canisterId:p,methodName:t,httpDetails:h},vt.fromCode(_)}case $r.Replied:return r.annotations.includes(nl)?{httpDetails:h,result:Ao(r.retTypes,f.reply.arg)}:Ao(r.retTypes,f.reply.arg)}}:o=async(c,...l)=>{c={...c,...e[ut].config.callTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||kr.createSync(),{canisterId:p,effectiveCanisterId:u,pollingOptions:f}={...Xd,...e[ut].config,...c},h=q.from(p),_=u!==void 0?q.from(u):h,y=Gn.encode(r.argTypes,l),m,b,g,T;try{({reply:m,certificate:b,callResponse:g,requestDetails:T}=await d.update(h,{methodName:t,arg:y,effectiveCanisterId:_,nonce:c.nonce},{...f,blsVerify:n}))}catch(C){if(C instanceof vt){let w=Object.create(Object.getPrototypeOf(C.code),Object.getOwnPropertyDescriptors(C.code));throw w.callContext={...C.code.callContext,canisterId:h,methodName:t},vt.fromCode(w)}throw C}let O=r.annotations.includes(nl),v=r.annotations.includes(Qd),E={...g,requestDetails:T};return O&&v?{httpDetails:E,certificate:b,result:Ao(r.retTypes,m)}:v?{certificate:b,result:Ao(r.retTypes,m)}:O?{httpDetails:E,result:Ao(r.retTypes,m)}:Ao(r.retTypes,m)};let a=(...c)=>o({},...c);return a.withOptions=c=>(...l)=>o(c,...l),a}var ty=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=ry({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},ry=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Li(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function ny(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function oy(e){return no(e,vi)}var iy=class{constructor(e){this._cose=e,this.#e=oy(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},op=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new iy(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Kr(this.#e)}},sy=class extends op{#e;#t;constructor({authData:e,...t}){super(t);let r=ty({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},ay=class extends op{},cy=class extends Error{},ly=class extends Error{},uy=class extends Error{},dy=class extends Error{},py=class extends Error{},fy=class extends Error{},hy=class extends Error{},ep=class extends Error{};var my={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},_y=6e4,ip=()=>window.crypto.getRandomValues(new Uint8Array(16)),yy=()=>ip(),gy=()=>ip(),xy=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new cy}},sp=({appId:e})=>e?.id??xy(),by=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:sp({appId:e})}}),o=()=>({user:{id:gy(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:yy(),...n(),...o(),pubKeyCredParams:Object.values(my).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},wy=(e={})=>({rpId:sp(e),allowCredentials:[],userVerification:"required"}),ol=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},ln=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(ln||{}),ap=({timeout:e})=>AbortSignal.timeout(e??_y),Ty=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...wy(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:ap({timeout:n})}),tp=e=>{if(e.status!=="initialized")throw new ly},rp=e=>{if(U(e))throw new uy},np=({type:e})=>{if(e!=="public-key")throw new dy},il=class Ii extends zt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=Ii.#r({credential:new sy(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:by(t),signal:ap({timeout:r})});rp(o),np(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new py;let{authData:a}=As.decode(mr(i)),c=ny(a);return new Ii({...n,rawId:mr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ii(t)}getPublicKey(){tp(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){tp(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await ol({fn:async()=>{let n=await Ty({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return rp(n),np(n),n},step:0,onProgress:this.#e});return await ol({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Fl({a:this.#t.credential.getCredentialId(),b:mr(n)}))throw new fy;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:mr(n)});this.#t=Ii.#r({credential:new ay({rawId:mr(n),cose:i})})},step:1,onProgress:this.#e}),await ol({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new ep;if(U(s))throw new ep;let a=As.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:mr(s)});if(U(a))throw new hy;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Ny=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Co=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Ue=class e extends Co{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var Ai=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Vo="http://127.0.0.1:5987",cp="rdmx6-jaaaa-aaaaa-aaadq-cai";var lp=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Vo:t:"https://icp-api.io",o=J(t);return await kr.create({identity:e,shouldFetchRootKey:o,host:n})};var Po=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await lp({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Fo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(U(this.#e)||U(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await Po.getInstance().getAgent(n);return So.createActor(t,{agent:o,canisterId:r})}};function up(e){return e!==null&&typeof e=="object"}var Si=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}if(up(t)){let r=t;if(up(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ht(n.buffer))}if(r instanceof ArrayBuffer)return this.fromRaw(Ht(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=no(t,ro);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=oo(t,ro);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},dt=class e extends zt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Je.utils.randomPrivateKey()),cu(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Je.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Si.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(Si.fromRaw(t),r)}static fromSecretKey(t){let r=Je.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Si.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Je.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Ht(a)));return Je.verify(o,i,s)}};var sl=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function dp(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new sl("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 xt=class e extends zt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=dp(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ht(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=dp(r),o=Ht(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Ht(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ra=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 q.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function na(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function al(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var un=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:na(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Oy(e,t,r,n){let o=new un(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...cc,...new Uint8Array(Rr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Lt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Oy(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:l,targets:d}=s;if(d!==void 0&&!Array.isArray(d))throw new Error("Invalid targets.");return{delegation:new un(al(c),BigInt(`0x${l}`),d&&d.map(p=>{if(typeof p!="string")throw new Error("Invalid target.");return q.fromHex(p)})),signature:al(a)}});return new this(o,al(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:na(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:na(n)}}),publicKey:na(this.publicKey)}}},qt=class extends zt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await Rr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...si,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ci=class e extends ra{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function cl(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?q.fromText(o):o)):r.push(typeof n=="string"?q.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var pp=["mousedown","mousemove","keydown","touchstart","wheel"],Vi=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),pp.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...l)=>{let d=this,p=()=>{c=void 0,s.apply(d,l)};clearTimeout(c),c=window.setTimeout(p,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);pp.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var Ey=(e,t)=>t.some(r=>e instanceof r),fp,hp;function Ry(){return fp||(fp=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function vy(){return hp||(hp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var mp=new WeakMap,ul=new WeakMap,_p=new WeakMap,ll=new WeakMap,pl=new WeakMap;function Iy(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Yt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&mp.set(r,e)}).catch(()=>{}),pl.set(t,e),t}function Ay(e){if(ul.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});ul.set(e,t)}var dl={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return ul.get(e);if(t==="objectStoreNames")return e.objectStoreNames||_p.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Yt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function yp(e){dl=e(dl)}function Sy(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(oa(this),t,...r);return _p.set(n,t.sort?t.sort():[t]),Yt(n)}:vy().includes(e)?function(...t){return e.apply(oa(this),t),Yt(mp.get(this))}:function(...t){return Yt(e.apply(oa(this),t))}}function Cy(e){return typeof e=="function"?Sy(e):(e instanceof IDBTransaction&&Ay(e),Ey(e,Ry())?new Proxy(e,dl):e)}function Yt(e){if(e instanceof IDBRequest)return Iy(e);if(ll.has(e))return ll.get(e);let t=Cy(e);return t!==e&&(ll.set(e,t),pl.set(t,e)),t}var oa=e=>pl.get(e);function xp(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Yt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Yt(s.result),c.oldVersion,c.newVersion,Yt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}var Vy=["get","getKey","getAll","getAllKeys","count"],Py=["put","add","delete","clear"],fl=new Map;function gp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(fl.get(t))return fl.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Py.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Vy.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return fl.set(t,i),i}yp(e=>({...e,get:(t,r,n)=>gp(t,r)||e.get(t,r,n),has:(t,r)=>!!gp(t,r)||e.has(t,r)}));var bp="auth-client-db",wp="ic-keyval",Fy=async(e=bp,t=wp,r)=>(globalThis.localStorage?.getItem(ke)&&(globalThis.localStorage.removeItem(ke),globalThis.localStorage.removeItem(We)),await xp(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function By(e,t,r){return await e.get(t,r)}async function Dy(e,t,r,n){return await e.put(t,n,r)}async function Uy(e,t,r){return await e.delete(t,r)}var ia=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=bp,storeName:n=wp,version:o=Tp}=t??{},i=await Fy(r,n,o);return new e(i,n)}async set(t,r){return await Dy(this._db,this._storeName,t,r)}async get(t){return await By(this._db,this._storeName,t)??null}async remove(t){return await Uy(this._db,this._storeName,t)}};var We="identity",ke="delegation",Np="iv",Tp=1,Pi=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Zt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}ia.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var ky=BigInt(1e9),Ly=BigInt(3600),qy=ky*Ly,My="https://identity.internetcomputer.org",jy="#authorize",Ky=BigInt(8)*qy,hl="ECDSA",ml="Ed25519",$y=500,sa="UserInterrupt",Fi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Zt,n=t.keyType??hl,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let l=new Pi,d=await l.get(ke),p=await l.get(We);d&&p&&n===hl&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ke,d),await r.set(We,p),c=d,await l.remove(ke),await l.remove(We))}catch(l){console.error(`error while attempting to recover localstorage: ${l}`)}if(c)try{typeof c=="object"?n===ml&&typeof c=="string"?o=dt.fromJSON(c):o=await xt.fromKeyPair(c):typeof c=="string"&&(o=dt.fromJSON(c))}catch{}}let i=new at,s=null;if(o)try{let c=await r.get(ke);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Lt.fromJSON(c),cl(s)?"toDer"in o?i=Ci.fromDelegation(o,s):i=qt.fromDelegation(o,s):(await _l(r),o=null))}catch(c){console.error(c),await _l(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Vi.create(t.idleOptions)),o||(n===ml?o=dt.generate():(t.storage&&n===hl&&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 '${ml}' as the key type, as it can serialize to a string`),o=await xt.generate()),await Op(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new un(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Ci.fromDelegation(i,this._chain):this._identity=qt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Vi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ke,JSON.stringify(this._chain.toJSON())),await Op(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&cl(this._chain)}async login(t){let r=Hy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??Ky,o=new URL(r?.identityProvider?.toString()||My);o.hash=jy,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(sa,r?.onError):setTimeout(i,$y))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await _l(this._storage),this._identity=new at,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function _l(e){await e.remove(We),await e.remove(ke),await e.remove(Np)}function Hy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function Gy(e){if(e instanceof xt)return e.getKeyPair();if(e instanceof dt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Op(e,t){let r=Gy(t);await e.set(We,r)}var Ce=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Fi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>{let t=new Zt;return await Promise.all([t.remove(We),t.remove(ke)]),await this.createAuthClient()};getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Zt;await Promise.all([n.set(We,r.getKeyPair()),n.set(ke,JSON.stringify(t.toJSON()))])}};var yl=async e=>{await Jy(),await Ce.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Jy=async()=>{await Ce.getInstance().logout(),Ue.getInstance().reset(),Fo.getInstance().reset(),Po.getInstance().reset()};var Ep=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ai({message:"junoSignOutAuthTimer"}),await yl()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ai({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Bo=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&J(o)&&o.msg==="authClientLoginSuccess"&&_r(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Ie=class e extends Co{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var Bi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await Wy({fn:e});!r||!t||Ie.getInstance().get()?.syncTabs===!1||zy()},Rp=async({fn:e})=>{let{createAuthClient:t}=Ce.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},Wy=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ce.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},zy=()=>{try{Bo.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var gl=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var vp="juno.datastore.error.user.cannot_update";var Xt={certified:!1};var aa=()=>Ce.getInstance().getAuthClient()?.getIdentity(),Yy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ce.getInstance();return(e()??await t()).getIdentity()},Zy=async()=>{let e=Ue.getInstance().get();if(U(e))return null;let t=Ce.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:aa()??new at;var xl=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),pn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,pn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({owner:e.Text,name:e.Text}),hn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(fn,hn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),mn=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),_n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),yn=e.Variant({OpenId:_n}),gn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),xn=e.Record({signature:e.Vec(e.Nat8),delegation:gn}),bn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),wn=e.Variant({Ok:xn,Err:bn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Tn}),qe=e.Record({status:cr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Nn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Ot=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),On=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],["query"])})}),En=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(On),status_code:e.Nat16}),Rn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),we=e.Record({batch_id:e.Nat}),vn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ne)),items_length:e.Nat64}),In=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),An=e.Record({desc:e.Bool}),Sn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Cn=e.Record({order:e.Opt(An),paginate:e.Opt(Sn)}),Vn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Vn,qe)),items_length:e.Nat64}),Pn=e.Record({include_system:e.Bool}),Fn=e.Record({matcher:e.Opt(Pn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Bn=e.Record({stable:e.Nat64,heap:e.Nat64}),Dn=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Aa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ca=e.Record({controller:Sa,controllers:e.Vec(e.Principal)}),Va=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),ko=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Pa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Lo=e.Record({iframe:e.Opt(Tt),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Fa=e.Record({skip_certification:e.Opt(e.Bool)}),Ba=e.Record({config:Lo,options:Fa}),qo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,R],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],["query"]),get_auth_config:e.Func([],[e.Opt(et)],["query"]),get_automation_config:e.Func([],[e.Opt(wt)],["query"]),get_config:e.Func([],[mn],[]),get_db_config:e.Func([],[e.Opt(nt)],["query"]),get_delegation:e.Func([yn],[wn],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ne)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(qe)],["query"]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],["query"]),get_storage_config:e.Func([],[Le],["query"]),http_request:e.Func([Nn],[En],["query"]),http_request_streaming_callback:e.Func([Ot],[Rn],["query"]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[vn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,In))],["query"]),list_docs:e.Func([e.Text,R],[it],["query"]),list_proposals:e.Func([Cn],[pr],["query"]),list_rules:e.Func([Z,Fn],[fr],["query"]),memory_size:e.Func([],[Bn],["query"]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Dn],[et],[]),set_automation_config:e.Func([Aa],[wt],[]),set_controllers:e.Func([Ca],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Va],[nt],[]),set_doc:e.Func([e.Text,e.Text,ko],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ko))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Pa],[Nt],[]),set_storage_config:e.Func([Lo],[Le],[]),set_storage_config_with_options:e.Func([Ba],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([qo],[Mo],[]),upload_proposal_asset_chunk:e.Func([qo],[Mo],[])})},bl=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),pn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,pn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({owner:e.Text,name:e.Text}),hn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(fn,hn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),mn=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),_n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),yn=e.Variant({OpenId:_n}),gn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),xn=e.Record({signature:e.Vec(e.Nat8),delegation:gn}),bn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),wn=e.Variant({Ok:xn,Err:bn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Tn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Tn}),qe=e.Record({status:cr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Nn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Ot=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),On=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],[])})}),En=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(On),status_code:e.Nat16}),Rn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),we=e.Record({batch_id:e.Nat}),vn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ne)),items_length:e.Nat64}),In=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),An=e.Record({desc:e.Bool}),Sn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Cn=e.Record({order:e.Opt(An),paginate:e.Opt(Sn)}),Vn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Vn,qe)),items_length:e.Nat64}),Pn=e.Record({include_system:e.Bool}),Fn=e.Record({matcher:e.Opt(Pn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Bn=e.Record({stable:e.Nat64,heap:e.Nat64}),Dn=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Aa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Sa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ca=e.Record({controller:Sa,controllers:e.Vec(e.Principal)}),Va=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),ko=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Pa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Lo=e.Record({iframe:e.Opt(Tt),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Fa=e.Record({skip_certification:e.Opt(e.Bool)}),Ba=e.Record({config:Lo,options:Fa}),qo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,R],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],[]),get_auth_config:e.Func([],[e.Opt(et)],[]),get_automation_config:e.Func([],[e.Opt(wt)],[]),get_config:e.Func([],[mn],[]),get_db_config:e.Func([],[e.Opt(nt)],[]),get_delegation:e.Func([yn],[wn],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ne)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(qe)],[]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],[]),get_storage_config:e.Func([],[Le],[]),http_request:e.Func([Nn],[En],[]),http_request_streaming_callback:e.Func([Ot],[Rn],[]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[vn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,In))],[]),list_docs:e.Func([e.Text,R],[it],[]),list_proposals:e.Func([Cn],[pr],[]),list_rules:e.Func([Z,Fn],[fr],[]),memory_size:e.Func([],[Bn],[]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Dn],[et],[]),set_automation_config:e.Func([Aa],[wt],[]),set_controllers:e.Func([Ca],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Va],[nt],[]),set_doc:e.Func([e.Text,e.Text,ko],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ko))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Pa],[Nt],[]),set_storage_config:e.Func([Lo],[Le],[]),set_storage_config_with_options:e.Func([Ba],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([qo],[Mo],[]),upload_proposal_asset_chunk:e.Func([qo],[Mo],[])})},Xy=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),pn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),fn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),hn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:hn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],["query"])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),mn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),_n=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),xn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),bn=e.Record({key:gn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,xn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),wn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,bn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Tn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),Nn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),On=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),En=e.Record({order:e.Opt(Ot),paginate:e.Opt(On)}),Rn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Rn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),vn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),In=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),An=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Cn=e.Record({controller:Sn,controllers:e.Vec(e.Principal)}),Vn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Pn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({iframe:e.Opt(M),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Bn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Dn=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(d)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[k],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Y],[ne],["query"]),get_fee:e.Func([ie],[pn],["query"]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rate_config:e.Func([ie],[or],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([fn],[wt],["query"]),http_request_streaming_callback:e.Func([bt],[rt],["query"]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_assets:e.Func([e.Text,yn],[wn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Tn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,Nn))],["query"]),list_proposals:e.Func([En],[Et],["query"]),list_segments:e.Func([vn],[e.Vec(e.Tuple(In,it))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([An],[B],[]),set_controllers:e.Func([Cn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Vn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Pn],[it],[]),set_storage_config:e.Func([Fn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Bn],[Dn],[])})},Qy=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),pn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),fn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),hn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:hn,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],[])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),mn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),_n=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),yn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(mn),paginate:e.Opt(_n)}),gn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),xn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),bn=e.Record({key:gn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,xn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),wn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,bn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Tn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),Nn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),On=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),En=e.Record({order:e.Opt(Ot),paginate:e.Opt(On)}),Rn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Rn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),vn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),In=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),An=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Cn=e.Record({controller:Sn,controllers:e.Vec(e.Principal)}),Vn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Pn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({iframe:e.Opt(M),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Bn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Dn=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(d)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[k],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Y],[ne],[]),get_fee:e.Func([ie],[pn],[]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rate_config:e.Func([ie],[or],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([fn],[wt],[]),http_request_streaming_callback:e.Func([bt],[rt],[]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_assets:e.Func([e.Text,yn],[wn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Tn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,Nn))],[]),list_proposals:e.Func([En],[Et],[]),list_segments:e.Func([vn],[e.Vec(e.Tuple(In,it))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([An],[B],[]),set_controllers:e.Func([Cn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Vn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Pn],[it],[]),set_storage_config:e.Func([Fn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Bn],[Dn],[])})};var e0=async({identity:e,host:t,localActor:r})=>await kr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),t0=async({agent:e,...t})=>e??await r0(t),r0=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await e0({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Ip=({satelliteId:e,certified:t=!1,...r})=>Sp({canisterId:e,...r,idlFactory:t?bl:xl});var Ap=({consoleId:e,certified:t=!1,...r})=>Sp({canisterId:e,...r,idlFactory:t?Qy:Xy}),Sp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return n0({canisterId:e,idlFactory:t,...r})},n0=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await t0(n);return So.createActor(t,{agent:o,canisterId:e,...r??{}})};var Cp=({satelliteId:e,container:t})=>{let{satelliteId:r}=wl({satelliteId:e}),{container:n}=Tl({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Vo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},wl=({satelliteId:e})=>J(e)?{satelliteId:e}:Ie.getInstance().get()??{satelliteId:void 0},Tl=({container:e})=>J(e)?{container:e}:Ie.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Pp({idlFactory:t?bl:xl,actorKey:`stock#${t?"update":"query"}`,...e}),Vp=({idlFactory:e,...t})=>Pp({idlFactory:e,actorKey:"extended#query",...t}),Pp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=wl({satelliteId:e});jo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Tl({container:t});return await Fo.getInstance().getActor({satelliteId:n,container:o,...r})};var ca=class extends Error{},Lr=class extends Error{},la=class extends Error{},ua=class extends Error{},Do=class extends Error{},da=class extends Error{},pa=class extends Error{},fa=class extends Error{},ha=class extends Error{};var Fp=e=>{if(U(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new ha("Invalid list matcher for timestamp",e)}},dn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:Fp(e.createdAt),updated_at:Fp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?q.fromText(n):n)});var Bp=async({data:e})=>{try{return await Mi(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Nl=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await kl(t),version:se(r)}},Ol=e=>{let{version:t}=e;return{version:se(t)}},io=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:me(o),owner:r.toText(),data:await Mi(i),version:me(n),...s}};var Dp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=me(await n(e,t));if(!U(o))return io({doc:o,key:t})},Up=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=me(a);i.push(J(c)?await io({key:s,doc:c}):void 0)}return i},kp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await Nl(t),s=await n(e,o,i);return await io({key:o,doc:s})},Lp=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Nl(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await io({key:s,doc:a}));return i},qp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Ol(t))},Mp=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Ol(i)]);await r(n)},jp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,dn(t))},Kp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,dn(t)),l=[];for(let[d,p]of o){let{data:u,owner:f,description:h,version:_,...y}=p;l.push({key:d,description:me(h),owner:f.toText(),data:await Bp({data:u}),version:me(_),...y})}return{items:l,items_length:s,items_page:me(i),matches_length:a,matches_pages:me(c)}},$p=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,dn(t))};var ma=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Dp({...r,satellite:{...e,identity:n},options:t??Xt})},HO=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Up({...r,satellite:{...e,identity:n},options:t??Xt})},Hp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await kp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Lp({...t,satellite:{...e,identity:r},options:{certified:!0}})},GO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await qp({...t,satellite:{...e,identity:r},options:{certified:!0}})},JO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Mp({...t,satellite:{...e,identity:r},options:{certified:!0}})},WO=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await jp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},zO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Kp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})},YO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await $p({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})};var Jp=async({provider:e})=>{let{user:t,userId:r}=await _a();if(J(t))return t;try{return await o0({userId:r,provider:e})}catch(n){if(gl({error:n,type:vp})){let o=await Wp({userId:r});if(J(o))return o}throw n}},_a=async()=>{let e=aa();if(U(e))throw new fa("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Wp({userId:t});return{userId:t,user:r}},Wp=({userId:e})=>ma({collection:"#user",key:e}),o0=({userId:e,...t})=>Hp({collection:"#user",doc:{key:e,data:t}});var ya=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Bi({fn:async()=>{let{user:r}=await _a();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},zp=async()=>{await Rp({fn:async({authenticated:t})=>{let n=t?_a:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},ga=async({user:e})=>{await Bi({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Yp=()=>{try{let e=Bo.getInstance(),t=async()=>{await zp(),Ai({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Zp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Xp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},Qp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()},ef=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},xa=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var tf=BigInt(144e11),rf=!1,nf={width:576,height:576},of={width:424,height:576},El="internetcomputer.org",sf="ic0.app",ba="id.ai";var af=({width:e,height:t})=>{if(!ji()||U(window)||U(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Qt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var cf=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(cf||{});var wa=class{async signIn({options:t,authClient:r,initAuth:n}){await Qt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Qt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Lr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===sa){o(new la(i));return}o(new ca(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??tf,allowPinAuthentication:t?.allowPin??rf,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ta=class extends wa{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ie.getInstance().get()?.container;if(U(i)||i===!1){let d=[El,sf].includes(this.#e??ba);return pt(this.#e)?`https://${ba}`:d?`https://identity.${this.#e??El}`:`https://${this.#e}`}let s=Ie.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:cp,{host:c,protocol:l}=new URL(i===!0?Vo:i);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${a}`:`${l}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:af((()=>{try{let{hostname:i}=new URL(n);return i.includes(ba)}catch{return!1}})()?of:nf)},identityProvider:n}}};var Rl=e=>Kr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),i0=()=>crypto.getRandomValues(new Uint8Array(32)),s0=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await crypto.subtle.digest("SHA-256",n);return Rl(mr(o))},lf=async({caller:e})=>{let t=i0();return{nonce:await s0({salt:t,caller:e}),salt:t}};var pf="juno:auth:openid",uf={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},ff={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"},a0=class extends Error{},c0=class extends Error{},l0=class extends Error{},u0=class extends Error{},d0=class extends Error{},p0=class extends Error{},f0=class extends Error{},hf=class extends Error{},h0=class extends Error{},m0=class extends Error{},_0=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},y0=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},mf="__caller__",_f="__salt__",yf="__state__",g0=({caller:e,state:t,salt:r})=>{let n={[mf]:e.toJSON(),[_f]:Kr(r),[yf]:t};return JSON.stringify(n)},x0=e=>{let{[mf]:t,[_f]:r,[yf]:n}=JSON.parse(e);return{caller:dt.fromParsedJson(t),salt:Bl(r),state:n}},df=async({generateState:e})=>{let t=dt.generate(),{nonce:r,salt:n}=await lf({caller:t}),o=await e({nonce:r}),i=g0({caller:t,salt:n,state:o});return sessionStorage.setItem(pf,i),{nonce:r,state:o}},b0=()=>{let e=sessionStorage.getItem(pf);if(U(e))throw new c0;return x0(e)},gf=({auth:e,identity:t})=>"satellite"in e?Ip({...e.satellite,identity:t}):Ap({...e.console,identity:t}),w0=async({actorParams:e,args:t})=>{let{authenticate:r}=await gf(e);return await r(t)},T0=async({actorParams:e,args:t})=>{let{get_delegation:r}=await gf(e);return await r(t)},N0=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Lt.fromDelegations(n,Uint8Array.from(r));return{identity:qt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},vl=async({jwt:e,context:t,auth:r})=>{let n=await xt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await O0({jwt:e,publicKey:o,context:t,auth:r});return{identity:N0({sessionKey:n,delegations:i}),data:s}},O0=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await w0({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new d0("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,l=await E0({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:d,signature:p}=l,{pubkey:u,expiration:f,targets:h}=d;return{delegations:[s,[{delegation:new un(Uint8Array.from(u),f,me(h)),signature:Uint8Array.from(p)}]],data:c}},E0=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(l=>{setInterval(l,1e3*a)});let c=await T0({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new h0("Getting delegation failed",{cause:c})}return c.Ok}throw new m0},R0=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new _0({cause:t})}}},v0=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new y0({cause:r})}}},I0=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await v0({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(pt(c))throw new hf;return await vl({jwt:c,auth:e,context:t})},A0=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(pt(r)||!r.startsWith("#"))throw new p0("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(pt(s)||o!==s)throw new f0("The provided state is invalid",{cause:o});if(pt(i))throw new hf;return await vl({jwt:i,auth:e,context:t})},xf=async e=>{let t=b0();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=ff;return await I0({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await vl({jwt:n,context:t,auth:o})}return await A0({...r,context:t})},Il=({url:e})=>{try{return new URL(e)}catch{throw new a0("Cannot parse authURL",{cause:e})}},S0=({initUrl:e})=>async({nonce:t})=>{let r=Il({url:e});r.searchParams.set("nonce",t);let n=await R0({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},C0=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=Il({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},V0=()=>Rl(crypto.getRandomValues(new Uint8Array(12))),P0=async e=>V0(),F0=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=Il({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),_r(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},B0=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(U(i))throw new l0;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new u0("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Na(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...l}=a,{authUrl:d,authScopes:p,initUrl:u}=ff,f=await df({generateState:S0({initUrl:c??u})});C0({...l,...f,authUrl:d,authScopes:p});return}let t=await df({generateState:P0}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=uf;return await B0({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=uf;F0({...n,...t,authUrl:o,authScopes:i})}var Oa=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var D0=async e=>{let{satelliteId:t}=Ie.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Lr("Satellite ID not set. Have you initialized the Satellite?");let r=Ie.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let p="github"in e?e?.github?.options?.finalizeUrl:void 0;if(_r(p))return p;let u=xa();return pt(u)?null:Oa({url:`${u}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:l}}=await xf("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ce.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let d=await io({doc:l,key:c.getPrincipal().toText()});await ga({user:d})};var bf=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),U0=()=>{window.addEventListener("beforeunload",bf,{capture:!0})},k0=()=>{window.removeEventListener("beforeunload",bf,{capture:!0})},Ea=async({fn:e})=>{try{return U0(),await e()}finally{k0()}};function wf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function Sl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=wf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var Al;function L0(){return Al||(Al=Sl("keyval-store","keyval")),Al}function Tf(e,t,r=L0()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(wf(n.transaction))}catch(s){i(s)}}}))}var q0=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},M0=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},j0=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},K0=Sl("juno-dev-identifiers","juno-dev-identifiers-store");var Nf=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new q0;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new M0;let n=()=>{if(e.length>32)throw new j0(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=dt.generate(a),l=await xt.generate({extractable:!1}),d=t??6048e5,p=await Lt.create(c,l.getPublicKey(),new Date(Date.now()+d));return{identity:qt.fromDelegation(l,p),sessionKey:l,delegationChain:p}},i=async()=>{await Tf(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},K0)},s=await o();return await i(),s};var Ra=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await Nf(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var va=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??ef();if(U(r))throw new Do;let{redirect:n}=t;await Na({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(_r(i))return i;let s=xa();if(!pt(s))return Oa({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var Ia=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Qp();if(U(r))throw new Do;let{redirect:n}=t;await Na({google:{redirect:{...n??{},clientId:r}}})}};var Of=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Gp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:Li(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Ef=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(Ef||{}),Rf=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(Rf||{});var Uo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ie.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Lr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:y})=>{switch(_){case ln.RequestingUserCredential:t?.({step:1,state:y});break;case ln.FinalizingCredential:t?.({step:2,state:y});break;case ln.Signing:t?.({step:3,state:y});break}},c=await Qt({fn:async()=>await il.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:l,sessionKey:d}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await Qt({fn:async()=>await Of({delegationIdentity:l,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Qt({fn:async()=>await this.#t({delegationIdentity:l,sessionKey:d}),step:4,onProgress:t}),await Qt({fn:async()=>await o({user:u}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ie.getInstance().get()??{satelliteId:void 0};if(U(o))throw new Lr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:p})=>{let u=await ma({collection:"#user-webauthn",key:Kr(p),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(U(u))throw new da("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return oo(h,vi)},s=({step:p,state:u})=>{switch(p){case ln.RequestingUserCredential:t?.({step:0,state:u});break;case ln.FinalizingCredential:t?.({step:1,state:u});break;case ln.Signing:t?.({step:2,state:u});break}},a=await il.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Qt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:l}),step:3,onProgress:t}),await Qt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await xt.generate({extractable:!1}),o=r??144e5,i=await Lt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Zt;await Promise.all([n.set(We,t.getKeyPair()),n.set(ke,JSON.stringify(r.getDelegation().toJSON()))])}};var vf=async({provider:e})=>{await Bi({fn:async()=>{let r=await Jp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},H0=async e=>{if("google"in e){let{google:{options:t}}=e;await Di({fn:()=>new Ia().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Di({fn:()=>new va().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Di({fn:()=>new Uo().signIn({options:t,loadAuth:()=>ya({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Di({fn:()=>new Ta({domain:n}).signIn({options:o,authClient:Ce.getInstance().getAuthClient(),initAuth:vf}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ce.getInstance();await Di({fn:()=>new Ra().signIn({options:t,initAuth:vf,setStorage:r}),context:{windowGuard:!1}});return}throw new ua("An unknown or unsupported provider was provided for sign-in.")},Di=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ea({fn:e})};var G0=async e=>{let t=async()=>await J0(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ea({fn:t})},J0=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new Uo().signUp({options:t,loadAuthWithUser:ga});return}throw new pa("An unknown or unsupported provider was provided for sign-up.")};var w2=e=>e?.data?.provider==="webauthn",T2=e=>e?.data?.provider==="google",N2=e=>e?.data?.provider==="github";var v2=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await Vp({idlFactory:e,...t,identity:r})};var If=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(W0(r));o?.onInitiatedBatch();let{chunkIds:l}=await Z0({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Y0({commitFn:a,batchId:c,data:e,headers:t,chunkIds:l}),o?.onCommittedBatch()};var W0=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),z0=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Y0=async({commitFn:e,...t})=>{let r=z0(t);await e(r)},Z0=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=ji()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of X0({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*X0({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Q0(o)))}}var Q0=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Af=async({asset:e,...t})=>{let r=await ge(t);await If({actor:r,asset:e})},Sf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,dn(t));return{items:o.map(([l,d])=>d),items_length:i,items_page:me(s),matches_length:a,matches_pages:me(c)}},Cf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,dn(t))},Vf=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Pf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ff=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,dn(t))},Bf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,se(r))},Df=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return me(await n(e,t))},Uf=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>me(s))};var kf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var K2=e=>Lf(e),$2=e=>Lf({filename:e.data.name,...e}),Lf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let l=ue(s?.identity),d=decodeURI(e),p=o??`/${r}/${d}`,u={...s,identity:l};return await Af({asset:{data:t,filename:d,collection:r,token:i,headers:n,fullPath:p,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:qf({satellite:u,assetKey:{fullPath:p,token:i}}),fullPath:p,...J(i)&&{token:i},name:d}},H2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await Sf({collection:e,filter:t??{},satellite:o,options:n??Xt}),a=i.map(({key:{full_path:c,token:l,name:d,owner:p,description:u},headers:f,encodings:h,created_at:_,updated_at:y})=>{let m=me(l);return{fullPath:c,description:me(u),name:d,downloadUrl:qf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[g,{modified:T,sha256:O,total_length:v}])=>({...b,[g]:{modified:T,sha256:kf(O),total_length:v}}),{}),owner:p.toText(),created_at:_,updated_at:y}});return{items:a,assets:a,...s}},G2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await Cf({collection:e,satellite:o,filter:t??{},options:n??Xt})},J2=({collection:e,fullPath:t,satellite:r})=>Vf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),W2=({collection:e,fullPath:t,token:r,satellite:n})=>Bf({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),z2=({assets:e,satellite:t})=>Pf({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),Y2=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await Ff({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},Z2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Df({...r,satellite:{...e,identity:n},options:t??Xt})},X2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Uf({...r,satellite:{...e,identity:n},options:t??Xt})},qf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${Cp(n)}${e}${J(t)?`?token=${t}`:""}`};var eg=e=>{let t=e?.satelliteId??Zp();jo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Xp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},cE=e=>tg(e),tg=async e=>{let t=eg(e);Ie.getInstance().set(t),await ya();let r=t.workers?.auth!==void 0?Ep(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Yp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},rg=e=>Ue.getInstance().subscribe(e),lE=rg;export{cf as AuthClientSignInProgressStep,fa as InitError,Ta as InternetIdentityProvider,ha as ListError,ca as SignInError,Lr as SignInInitError,Do as SignInMissingClientIdError,ua as SignInProviderNotSupportedError,la as SignInUserInterruptError,pa as SignUpProviderNotSupportedError,Ef as WebAuthnSignInProgressStep,da as WebAuthnSignInRetrievePublicKeyError,Rf as WebAuthnSignUpProgressStep,lE as authSubscribe,G2 as countAssets,YO as countDocs,J2 as deleteAsset,GO as deleteDoc,Y2 as deleteFilteredAssets,WO as deleteFilteredDocs,z2 as deleteManyAssets,JO as deleteManyDocs,qf as downloadUrl,Z2 as getAsset,ma as getDoc,Zy as getIdentityOnce,X2 as getManyAssets,HO as getManyDocs,v2 as getSatelliteExtendedActor,D0 as handleRedirectCallback,cE as initJuno,tg as initSatellite,N2 as isGitHubUser,T2 as isGoogleUser,Ny as isWebAuthnAvailable,w2 as isWebAuthnUser,H2 as listAssets,zO as listDocs,rg as onAuthStateChange,W2 as setAssetToken,Hp as setDoc,Gp as setManyDocs,H0 as signIn,yl as signOut,G0 as signUp,Yy as unsafeIdentity,K2 as uploadBlob,$2 as uploadFile};
57
- /*! Bundled license information:
58
-
59
- @noble/hashes/esm/utils.js:
60
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
61
- */
54
+ Retrying query.`),await this.#T({...t,tries:a+1});throw Lo.fromCode(new Ko(m))}let d=rc(p.headers);if(p.status!==Mc){let m=await p.text();if(Pd(m))throw z.fromCode(new Kt(m,this.#u));if(a<this.#d)return await this.#T({...t,tries:a+1});throw re.fromCode(new Mo(p.status,p.statusText,d,m))}let f={...je(lo(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#_)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new os("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(n_));if(Date.now()+this.#r-_>this.#R){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#T({...t,tries:a+1});throw Ye.fromCode(new zi(this.#u,i,a))}return f}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new Un(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===Mc&&(a=lo(await s.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
55
+ ${p}
56
+ Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw Lo.fromCode(new Ko(p))}let c=rc(s.headers);if(s.status===Mc||s.status===Vd)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let l=await s.text();if(s.status===p_&&s.url.includes("api/v4"))throw re.fromCode(new jo);if(Pd(l))throw z.fromCode(new Kt(l,this.#u));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new Mo(s.status,s.statusText,c,l))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?U.from(r.effectiveCanisterId):U.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Pe.fromCode(new Kr);let c=U.from(t),l=a.getPrincipal(),p=jc(this.#u,this.#r),d={request_type:Hn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:l,ingress_expiry:p},u=Or(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Rr.Query,body:d}),s=await a.transformRequest(s);let f=ii(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:u,backoff:o,tries:0},_=async()=>{let y=await this.#T(h);return{requestDetails:d,...y}};try{if(!this.#_)return await _();let[y,m]=await Promise.all([_(),this.fetchSubnetKeys(i)]);try{return this.#N(y,m)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),await this.#x.delete(i.toString());let b=await this.fetchSubnetKeys(i);return this.#N(y,b)}}catch(y){let m;if(y instanceof st){if(y.hasCode(Kt)&&!this.#o)return await this.syncTime(i),this.query(t,r,n);y.code.requestContext={requestId:u,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},m=y}else m=ae.fromCode(new Se(y));throw this.log.error(`Error while making query: ${m.message}`,m),m}}#N;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw Pe.fromCode(new Kr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Rr.ReadState,body:{request_type:Hn.ReadState,paths:t.paths,sender:o,ingress_expiry:jc(this.#u,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#g();let i=U.from(t);function s(p){for(let d of p.paths){let[u,f]=d,h=new TextEncoder().encode("request_status");if(jn(u,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw Pe.fromCode(new Kr);a=await this.createReadStateRequest(r,p)}let l=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#O(l,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#g();let n=U.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#O(o,{subnetId:n},i)}async#O(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#y({requestFn:()=>this.#i(t,{...this.#l,...n.request,body:ii(n.body)}),backoff:i,tries:0});return je(s)}catch(s){let a;if(s instanceof st){if(s.hasCode(Kt)&&!this.#o){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ft;return await this.#O(t,r,n,o)}s.code.requestContext={requestId:o??Or(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Se(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new $r("Could not decode time from response"));let o=Pr(["time"],r);if(o.status!==Be.Found)throw re.fromCode(new At("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new Ki("Time was not in its expected format."));let i=Xr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}return this.log.warn("No certificate found in response"),0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#g();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??U.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await xd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#E(r,i)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async syncTimeWithSubnet(t){await this.#g();let r=Date.now();try{let n=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await bd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#E(r,o)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#E(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#o=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#y({backoff:n,requestFn:()=>this.#i(r,{headers:t,...this.#l}),tries:0});return je(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#g(),this.#A(t)])}async#g(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Pe.fromCode(new Ct(this.#t))}async#A(t){this.#a&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=U.from(t),n=await this.#x.get(r.toText());if(n)return n;let o=this.#b.get(r.toText());if(o)return o;let i=this.#S(r).finally(()=>{this.#b.delete(r.toText())});return this.#b.set(r.toText(),i),i}async#S(t){await this.#p(t);let r=this.rootKey,n=await this.readState(t,{paths:[[G("subnet")]]}),o=await gt.create({certificate:n.certificate,rootKey:r,principal:{canisterId:t},agent:this});if(!o.cert.delegation){let a=U.selfAuthenticating(r);if(!Sc({canisterId:t,subnetId:a,tree:o.cert.tree}))throw Ye.fromCode(new Dn(t,a))}let i=Vc(o.cert,r),s=bo(o.cert,i);return await this.#x.set(t.toText(),s),s}async getSubnetIdFromCanister(t){let r=U.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await gt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return Vc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Rr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#o}};function jc(e,t){let r=e*Kc;return $n.fromDeltaInMilliseconds(r,t)}function Pd(e){return e.includes("Invalid request expiry: ")}var ut=Symbol.for("ic-agent-metadata"),No=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return U.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Mn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new $o(s.canisterId));let a=typeof s.canisterId=="string"?U.fromText(s.canisterId):s.canisterId;super({config:{...Fd,...s,canisterId:a},service:n});for(let[c,l]of n._fields)r?.httpDetails&&l.annotations.push($c),r?.certificate&&l.annotations.push(Bd),this[c]=h_(this,c,l,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new $o(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ut]=Object.freeze(t)}};function wo(e,t){let r=Mn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Fd={pollingOptions:Sd,queryStrategy:"query"},$c="http-details",Bd="certificate";function h_(e,t,r,n){let o,i=r.annotations.includes("query")||r.annotations.includes("composite_query"),s=e[ut].config.queryStrategy;i&&s==="query"?o=async(c,...l)=>{c={...c,...e[ut].config.queryTransform?.(t,l,{...e[ut].config,...c})};let p=c.agent||e[ut].config.agent||new Dr,d=U.from(c.canisterId||e[ut].config.canisterId),u=Mn.encode(r.argTypes,l),f=await p.query(d,{methodName:t,arg:u,effectiveCanisterId:c.effectiveCanisterId}),h={...f.httpDetails,requestDetails:f.requestDetails};switch(f.status){case jr.Rejected:{let _=new Zi(f.requestId,f.reject_code,f.reject_message,f.error_code,f.signatures);throw _.callContext={canisterId:d,methodName:t,httpDetails:h},vt.fromCode(_)}case jr.Replied:return r.annotations.includes($c)?{httpDetails:h,result:wo(r.retTypes,f.reply.arg)}:wo(r.retTypes,f.reply.arg)}}:o=async(c,...l)=>{c={...c,...e[ut].config.callTransform?.(t,l,{...e[ut].config,...c})};let p=c.agent||e[ut].config.agent||Dr.createSync(),{canisterId:d,effectiveCanisterId:u,pollingOptions:f}={...Fd,...e[ut].config,...c},h=U.from(d),_=u!==void 0?U.from(u):h,y=Mn.encode(r.argTypes,l),m,b,g,w;try{({reply:m,certificate:b,callResponse:g,requestDetails:w}=await p.update(h,{methodName:t,arg:y,effectiveCanisterId:_,nonce:c.nonce},{...f,blsVerify:n}))}catch(C){if(C instanceof vt){let T=Object.create(Object.getPrototypeOf(C.code),Object.getOwnPropertyDescriptors(C.code));throw T.callContext={...C.code.callContext,canisterId:h,methodName:t},vt.fromCode(T)}throw C}let O=r.annotations.includes($c),v=r.annotations.includes(Bd),E={...g,requestDetails:w};return O&&v?{httpDetails:E,certificate:b,result:wo(r.retTypes,m)}:v?{certificate:b,result:wo(r.retTypes,m)}:O?{httpDetails:E,result:wo(r.retTypes,m)}:wo(r.retTypes,m)};let a=(...c)=>o({},...c);return a.withOptions=c=>(...l)=>o(c,...l),a}var m_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=__({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},__=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ui(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function y_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function g_(e){return Xn(e,bi)}var x_=class{constructor(e){this._cose=e,this.#e=g_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},qd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new x_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Mr(this.#e)}},b_=class extends qd{#e;#t;constructor({authData:e,...t}){super(t);let r=m_({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},T_=class extends qd{},w_=class extends Error{},N_=class extends Error{},O_=class extends Error{},E_=class extends Error{},R_=class extends Error{},v_=class extends Error{},I_=class extends Error{},Dd=class extends Error{};var A_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},S_=6e4,Md=()=>window.crypto.getRandomValues(new Uint8Array(16)),C_=()=>Md(),V_=()=>Md(),P_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new w_}},jd=({appId:e})=>e?.id??P_(),F_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:jd({appId:e})}}),o=()=>({user:{id:V_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:C_(),...n(),...o(),pubKeyCredParams:Object.values(A_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},B_=(e={})=>({rpId:jd(e),allowCredentials:[],userVerification:"required"}),Hc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},nn=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(nn||{}),Kd=({timeout:e})=>AbortSignal.timeout(e??S_),D_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...B_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Kd({timeout:n})}),Ud=e=>{if(e.status!=="initialized")throw new N_},kd=e=>{if(k(e))throw new O_},Ld=({type:e})=>{if(e!=="public-key")throw new E_},Gc=class Ti extends Wt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=Ti.#r({credential:new b_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:F_(t),signal:Kd({timeout:r})});kd(o),Ld(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new R_;let{authData:a}=xs.decode(_r(i)),c=y_(a);return new Ti({...n,rawId:_r(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ti(t)}getPublicKey(){Ud(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Ud(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Hc({fn:async()=>{let n=await D_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return kd(n),Ld(n),n},step:0,onProgress:this.#e});return await Hc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!kl({a:this.#t.credential.getCredentialId(),b:_r(n)}))throw new v_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:_r(n)});this.#t=Ti.#r({credential:new T_({rawId:_r(n),cose:i})})},step:1,onProgress:this.#e}),await Hc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new Dd;if(k(s))throw new Dd;let a=xs.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:_r(s)});if(k(a))throw new I_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},U_=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Oo=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Ue=class e extends Oo{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var wi=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Eo="http://127.0.0.1:5987",$d="rdmx6-jaaaa-aaaaa-aaadq-cai";var Hd=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Eo:t:"https://icp-api.io",o=J(t);return await Dr.create({identity:e,shouldFetchRootKey:o,host:n})};var Ro=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await Hd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var vo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(k(this.#e)||k(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await Ro.getInstance().getAgent(n);return No.createActor(t,{agent:o,canisterId:r})}};function Gd(e){return e!==null&&typeof e=="object"}var Ni=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}if(Gd(t)){let r=t;if(Gd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw($t(n.buffer))}if(r instanceof ArrayBuffer)return this.fromRaw($t(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Xn(t,Zn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Qn(t,Zn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},dt=class e extends Wt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Je.utils.randomPrivateKey()),$l(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Je.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Ni.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(Ni.fromRaw(t),r)}static fromSecretKey(t){let r=Je.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Ni.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Je.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),$t(a)));return Je.verify(o,i,s)}};var Jc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Jd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Jc("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 xt=class e extends Wt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Jd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=$t(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Jd(r),o=$t(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=$t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Gs=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return U.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Js(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Wc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var on=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:Js(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function k_(e,t,r,n){let o=new on(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...za,...new Uint8Array(Or({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Lt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await k_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:l,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new on(Wc(c),BigInt(`0x${l}`),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return U.fromHex(d)})),signature:Wc(a)}});return new this(o,Wc(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Js(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Js(n)}}),publicKey:Js(this.publicKey)}}},qt=class extends Wt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await Or(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Qo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Oi=class e extends Gs{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function zc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?U.fromText(o):o)):r.push(typeof n=="string"?U.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var Wd=["mousedown","mousemove","keydown","touchstart","wheel"],Ei=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Wd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...l)=>{let p=this,d=()=>{c=void 0,s.apply(p,l)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Wd.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var L_=(e,t)=>t.some(r=>e instanceof r),zd,Yd;function q_(){return zd||(zd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function M_(){return Yd||(Yd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Zd=new WeakMap,Zc=new WeakMap,Xd=new WeakMap,Yc=new WeakMap,Qc=new WeakMap;function j_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(zt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&Zd.set(r,e)}).catch(()=>{}),Qc.set(t,e),t}function K_(e){if(Zc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});Zc.set(e,t)}var Xc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Zc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Xd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Qd(e){Xc=e(Xc)}function $_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Ws(this),t,...r);return Xd.set(n,t.sort?t.sort():[t]),zt(n)}:M_().includes(e)?function(...t){return e.apply(Ws(this),t),zt(Zd.get(this))}:function(...t){return zt(e.apply(Ws(this),t))}}function H_(e){return typeof e=="function"?$_(e):(e instanceof IDBTransaction&&K_(e),L_(e,q_())?new Proxy(e,Xc):e)}function zt(e){if(e instanceof IDBRequest)return j_(e);if(Yc.has(e))return Yc.get(e);let t=H_(e);return t!==e&&(Yc.set(e,t),Qc.set(t,e)),t}var Ws=e=>Qc.get(e);function tp(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=zt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(zt(s.result),c.oldVersion,c.newVersion,zt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}var G_=["get","getKey","getAll","getAllKeys","count"],J_=["put","add","delete","clear"],el=new Map;function ep(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(el.get(t))return el.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=J_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||G_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return el.set(t,i),i}Qd(e=>({...e,get:(t,r,n)=>ep(t,r)||e.get(t,r,n),has:(t,r)=>!!ep(t,r)||e.has(t,r)}));var rp="auth-client-db",np="ic-keyval",W_=async(e=rp,t=np,r)=>(globalThis.localStorage?.getItem(ke)&&(globalThis.localStorage.removeItem(ke),globalThis.localStorage.removeItem(We)),await tp(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function z_(e,t,r){return await e.get(t,r)}async function Y_(e,t,r,n){return await e.put(t,n,r)}async function Z_(e,t,r){return await e.delete(t,r)}var zs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=rp,storeName:n=np,version:o=op}=t??{},i=await W_(r,n,o);return new e(i,n)}async set(t,r){return await Y_(this._db,this._storeName,t,r)}async get(t){return await z_(this._db,this._storeName,t)??null}async remove(t){return await Z_(this._db,this._storeName,t)}};var We="identity",ke="delegation",ip="iv",op=1,Ri=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Yt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}zs.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var X_=BigInt(1e9),Q_=BigInt(3600),ey=X_*Q_,ty="https://identity.internetcomputer.org",ry="#authorize",ny=BigInt(8)*ey,tl="ECDSA",rl="Ed25519",oy=500,Ys="UserInterrupt",vi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Yt,n=t.keyType??tl,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let l=new Ri,p=await l.get(ke),d=await l.get(We);p&&d&&n===tl&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ke,p),await r.set(We,d),c=p,await l.remove(ke),await l.remove(We))}catch(l){console.error(`error while attempting to recover localstorage: ${l}`)}if(c)try{typeof c=="object"?n===rl&&typeof c=="string"?o=dt.fromJSON(c):o=await xt.fromKeyPair(c):typeof c=="string"&&(o=dt.fromJSON(c))}catch{}}let i=new at,s=null;if(o)try{let c=await r.get(ke);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Lt.fromJSON(c),zc(s)?"toDer"in o?i=Oi.fromDelegation(o,s):i=qt.fromDelegation(o,s):(await nl(r),o=null))}catch(c){console.error(c),await nl(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Ei.create(t.idleOptions)),o||(n===rl?o=dt.generate():(t.storage&&n===tl&&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 '${rl}' as the key type, as it can serialize to a string`),o=await xt.generate()),await sp(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new on(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Oi.fromDelegation(i,this._chain):this._identity=qt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Ei.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ke,JSON.stringify(this._chain.toJSON())),await sp(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&zc(this._chain)}async login(t){let r=iy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??ny,o=new URL(r?.identityProvider?.toString()||ty);o.hash=ry,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ys,r?.onError):setTimeout(i,oy))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await nl(this._storage),this._identity=new at,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function nl(e){await e.remove(We),await e.remove(ke),await e.remove(ip)}function iy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function sy(e){if(e instanceof xt)return e.getKeyPair();if(e instanceof dt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function sp(e,t){let r=sy(t);await e.set(We,r)}var Ce=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await vi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>{let t=new Yt;return await Promise.all([t.remove(We),t.remove(ke)]),await this.createAuthClient()};getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Yt;await Promise.all([n.set(We,r.getKeyPair()),n.set(ke,JSON.stringify(t.toJSON()))])}};var ol=async e=>{await ay(),await Ce.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},ay=async()=>{await Ce.getInstance().logout(),Ue.getInstance().reset(),vo.getInstance().reset(),Ro.getInstance().reset()};var ap=e=>{let t=e===!0?"/workers/auth.worker.js":e,r=new Worker(t),n=async()=>{wi({message:"junoSignOutAuthTimer"}),await ol()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":wi({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Io=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&J(o)&&o.msg==="authClientLoginSuccess"&&yr(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Ie=class e extends Oo{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var Ii=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await cy({fn:e});!r||!t||Ie.getInstance().get()?.syncTabs===!1||ly()},cp=async({fn:e})=>{let{createAuthClient:t}=Ce.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},cy=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ce.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},ly=()=>{try{Io.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var il=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var lp="juno.datastore.error.user.cannot_update";var Zt={certified:!1};var Zs=()=>Ce.getInstance().getAuthClient()?.getIdentity(),uy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ce.getInstance();return(e()??await t()).getIdentity()},dy=async()=>{let e=Ue.getInstance().get();if(k(e))return null;let t=Ce.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:Zs()??new at;var sl=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),w=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:w}),v=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),T=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),Qt=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),an=e.Record({delegation:e.Opt(Qt),client_id:e.Text}),er=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,an))}),tr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),rr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(er),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),tt=e.Variant({GitHub:e.Null}),nr=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),cn=e.Record({owner:e.Text,name:e.Text}),ln=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(nr),repositories:e.Vec(e.Tuple(cn,ln))}),or=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),Tt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(or),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),wt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ir=e.Variant({Deny:e.Null,Allow:e.Null}),sr=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(wt),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),un=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(Tt)}),dn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),pn=e.Variant({OpenId:dn}),fn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),hn=e.Record({signature:e.Vec(e.Nat8),delegation:fn}),mn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),_n=e.Variant({Ok:hn,Err:mn}),ar=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),cr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),yn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),lr=e.Variant({AssetsUpgrade:cr,SegmentsDeployment:yn}),qe=e.Record({status:ar,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:lr}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ur=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Ot=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),xn=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],["query"])})}),bn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(xn),status_code:e.Nat16}),Tn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Te=e.Record({batch_id:e.Nat}),wn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ne)),items_length:e.Nat64}),Nn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),On=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(On),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),dr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,qe)),items_length:e.Nat64}),In=e.Record({include_system:e.Bool}),An=e.Record({matcher:e.Opt(In)}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Sn=e.Record({stable:e.Nat64,heap:e.Nat64}),Cn=e.Record({openid:e.Opt(er),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),xa=e.Record({openid:e.Opt(or),version:e.Opt(e.Nat64)}),ba=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ta=e.Record({controller:ba,controllers:e.Vec(e.Principal)}),wa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Co=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Na=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Vo=e.Record({iframe:e.Opt(wt),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),Oa=e.Record({skip_certification:e.Opt(e.Bool)}),Ea=e.Record({config:Vo,options:Oa}),Po=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Fo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([T],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,R],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],["query"]),get_auth_config:e.Func([],[e.Opt(et)],["query"]),get_automation_config:e.Func([],[e.Opt(Tt)],["query"]),get_config:e.Func([],[un],[]),get_db_config:e.Func([],[e.Opt(nt)],["query"]),get_delegation:e.Func([pn],[_n],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ne)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(qe)],["query"]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],["query"]),get_storage_config:e.Func([],[Le],["query"]),http_request:e.Func([gn],[bn],["query"]),http_request_streaming_callback:e.Func([Ot],[Tn],["query"]),init_asset_upload:e.Func([Et],[Te],[]),init_proposal:e.Func([lr],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[Te],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,Te))],[]),list_assets:e.Func([e.Text,R],[wn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Nn))],["query"]),list_docs:e.Func([e.Text,R],[it],["query"]),list_proposals:e.Func([Rn],[dr],["query"]),list_rules:e.Func([Z,An],[pr],["query"]),memory_size:e.Func([],[Sn],["query"]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Cn],[et],[]),set_automation_config:e.Func([xa],[Tt],[]),set_controllers:e.Func([Ta],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([wa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Co],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Co))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Na],[Nt],[]),set_storage_config:e.Func([Vo],[Le],[]),set_storage_config_with_options:e.Func([Ea],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Po],[Fo],[]),upload_proposal_asset_chunk:e.Func([Po],[Fo],[])})},al=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),w=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:w}),v=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),T=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),Qt=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),an=e.Record({delegation:e.Opt(Qt),client_id:e.Text}),er=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,an))}),tr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),rr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(er),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),tt=e.Variant({GitHub:e.Null}),nr=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),cn=e.Record({owner:e.Text,name:e.Text}),ln=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(nr),repositories:e.Vec(e.Tuple(cn,ln))}),or=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),Tt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(or),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),wt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ir=e.Variant({Deny:e.Null,Allow:e.Null}),sr=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(wt),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),un=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(Tt)}),dn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),pn=e.Variant({OpenId:dn}),fn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),hn=e.Record({signature:e.Vec(e.Nat8),delegation:fn}),mn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),_n=e.Variant({Ok:hn,Err:mn}),ar=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),cr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),yn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),lr=e.Variant({AssetsUpgrade:cr,SegmentsDeployment:yn}),qe=e.Record({status:ar,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:lr}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ur=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Ot=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),xn=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],[])})}),bn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(xn),status_code:e.Nat16}),Tn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Te=e.Record({batch_id:e.Nat}),wn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,ne)),items_length:e.Nat64}),Nn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),On=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(On),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),dr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,qe)),items_length:e.Nat64}),In=e.Record({include_system:e.Bool}),An=e.Record({matcher:e.Opt(In)}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Sn=e.Record({stable:e.Nat64,heap:e.Nat64}),Cn=e.Record({openid:e.Opt(er),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),xa=e.Record({openid:e.Opt(or),version:e.Opt(e.Nat64)}),ba=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ta=e.Record({controller:ba,controllers:e.Vec(e.Principal)}),wa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Co=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Na=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Vo=e.Record({iframe:e.Opt(wt),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),Oa=e.Record({skip_certification:e.Opt(e.Bool)}),Ea=e.Record({config:Vo,options:Oa}),Po=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Fo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([T],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,R],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],[]),get_auth_config:e.Func([],[e.Opt(et)],[]),get_automation_config:e.Func([],[e.Opt(Tt)],[]),get_config:e.Func([],[un],[]),get_db_config:e.Func([],[e.Opt(nt)],[]),get_delegation:e.Func([pn],[_n],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(ne)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(qe)],[]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],[]),get_storage_config:e.Func([],[Le],[]),http_request:e.Func([gn],[bn],[]),http_request_streaming_callback:e.Func([Ot],[Tn],[]),init_asset_upload:e.Func([Et],[Te],[]),init_proposal:e.Func([lr],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[Te],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,Te))],[]),list_assets:e.Func([e.Text,R],[wn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Nn))],[]),list_docs:e.Func([e.Text,R],[it],[]),list_proposals:e.Func([Rn],[dr],[]),list_rules:e.Func([Z,An],[pr],[]),memory_size:e.Func([],[Sn],[]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Cn],[et],[]),set_automation_config:e.Func([xa],[Tt],[]),set_controllers:e.Func([Ta],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([wa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Co],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Co))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Na],[Nt],[]),set_storage_config:e.Func([Vo],[Le],[]),set_storage_config_with_options:e.Func([Ea],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Po],[Fo],[]),upload_proposal_asset_chunk:e.Func([Po],[Fo],[])})},py=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),w=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),T=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),L=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Qt=e.Record({e12s:e.Nat64}),an=e.Record({updated_at:e.Nat64,fee_cycles:Qt,fee_icp:e.Opt(t)}),er=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:tr,SegmentsDeployment:rr}),tt=e.Record({status:er,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:et}),nr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ln=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:ln,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),or=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],["query"])})}),Tt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(or),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),wt=e.Record({batch_id:e.Nat}),ir=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),sr=e.Record({field:ir,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),un=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),dn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),pn=e.Record({order:e.Opt(sr),owner:e.Opt(e.Principal),matcher:e.Opt(un),paginate:e.Opt(dn)}),fn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),hn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),mn=e.Record({key:fn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,hn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),_n=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,mn)),items_length:e.Nat64}),ar=e.Variant({Emulator:e.Null,Automation:e.Null}),cr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),yn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),created_at:e.Nat64,scope:cr,expires_at:e.Opt(e.Nat64)}),lr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),ur=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),gn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),xn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),bn=e.Record({order:e.Opt(Ot),paginate:e.Opt(xn)}),Tn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Tn,tt)),items_length:e.Nat64}),Te=e.Variant({Orbiter:e.Null,Satellite:e.Null}),wn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(Te)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:Te}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),scope:cr,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:Qt,fee_icp:e.Opt(t)}),dr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:Te}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:Te}),An=e.Record({iframe:e.Opt(M),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),pr=e.Record({segment_id:e.Principal,segment_kind:Te}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Cn=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([w],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([T],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[L],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Y],[ne],["query"]),get_fee:e.Func([ie],[an],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rate_config:e.Func([ie],[nr],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([cn],[Tt],["query"]),http_request_streaming_callback:e.Func([bt],[rt],["query"]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[wt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,wt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,pn],[_n],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,yn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,lr))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(ur,gn))],["query"]),list_proposals:e.Func([bn],[Et],["query"]),list_segments:e.Func([wn],[e.Vec(e.Tuple(Nn,it))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,vn],[],[]),set_many_segments:e.Func([e.Vec(dr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,nr],[],[]),set_segment:e.Func([dr],[it],[]),set_segment_metadata:e.Func([In],[it],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(pr)],[],[]),unset_segment:e.Func([pr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[Cn],[])})},fy=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({GitHub:e.Null,Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),w=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),T=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),L=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Qt=e.Record({e12s:e.Nat64}),an=e.Record({updated_at:e.Nat64,fee_cycles:Qt,fee_icp:e.Opt(t)}),er=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:tr,SegmentsDeployment:rr}),tt=e.Record({status:er,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:et}),nr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ln=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:ln,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),or=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],[])})}),Tt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(or),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),wt=e.Record({batch_id:e.Nat}),ir=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),sr=e.Record({field:ir,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),un=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),dn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),pn=e.Record({order:e.Opt(sr),owner:e.Opt(e.Principal),matcher:e.Opt(un),paginate:e.Opt(dn)}),fn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),hn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),mn=e.Record({key:fn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,hn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),_n=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,mn)),items_length:e.Nat64}),ar=e.Variant({Emulator:e.Null,Automation:e.Null}),cr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),yn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),created_at:e.Nat64,scope:cr,expires_at:e.Opt(e.Nat64)}),lr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),ur=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),gn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),xn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),bn=e.Record({order:e.Opt(Ot),paginate:e.Opt(xn)}),Tn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Tn,tt)),items_length:e.Nat64}),Te=e.Variant({Orbiter:e.Null,Satellite:e.Null}),wn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(Te)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:Te}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),scope:cr,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:Qt,fee_icp:e.Opt(t)}),dr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:Te}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:Te}),An=e.Record({iframe:e.Opt(M),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),pr=e.Record({segment_id:e.Principal,segment_kind:Te}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Cn=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([w],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([T],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[L],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Y],[ne],[]),get_fee:e.Func([ie],[an],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rate_config:e.Func([ie],[nr],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([cn],[Tt],[]),http_request_streaming_callback:e.Func([bt],[rt],[]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[wt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,wt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,pn],[_n],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,yn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,lr))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(ur,gn))],[]),list_proposals:e.Func([bn],[Et],[]),list_segments:e.Func([wn],[e.Vec(e.Tuple(Nn,it))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,vn],[],[]),set_many_segments:e.Func([e.Vec(dr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,nr],[],[]),set_segment:e.Func([dr],[it],[]),set_segment_metadata:e.Func([In],[it],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(pr)],[],[]),unset_segment:e.Func([pr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[Cn],[])})};var hy=async({identity:e,host:t,localActor:r})=>await Dr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),my=async({agent:e,...t})=>e??await _y(t),_y=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await hy({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var up=({satelliteId:e,certified:t=!1,...r})=>pp({canisterId:e,...r,idlFactory:t?al:sl});var dp=({consoleId:e,certified:t=!1,...r})=>pp({canisterId:e,...r,idlFactory:t?fy:py}),pp=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return yy({canisterId:e,idlFactory:t,...r})},yy=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await my(n);return No.createActor(t,{agent:o,canisterId:e,...r??{}})};var fp=({satelliteId:e,container:t})=>{let{satelliteId:r}=cl({satelliteId:e}),{container:n}=ll({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Eo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},cl=({satelliteId:e})=>J(e)?{satelliteId:e}:Ie.getInstance().get()??{satelliteId:void 0},ll=({container:e})=>J(e)?{container:e}:Ie.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>mp({idlFactory:t?al:sl,actorKey:`stock#${t?"update":"query"}`,...e}),hp=({idlFactory:e,...t})=>mp({idlFactory:e,actorKey:"extended#query",...t}),mp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=cl({satelliteId:e});ko(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=ll({container:t});return await vo.getInstance().getActor({satelliteId:n,container:o,...r})};var Xs=class extends Error{},Ur=class extends Error{},Qs=class extends Error{},ea=class extends Error{},Ao=class extends Error{},ta=class extends Error{},ra=class extends Error{},na=class extends Error{},oa=class extends Error{};var _p=e=>{if(k(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new oa("Invalid list matcher for timestamp",e)}},sn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:se(e.key),description:se(e.description),created_at:_p(e.createdAt),updated_at:_p(e.updatedAt)}],paginate:se(k(t)?void 0:{start_after:se(t.startAfter),limit:se(k(t.limit)?void 0:BigInt(t.limit))}),order:se(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(k(n)?void 0:typeof n=="string"?U.fromText(n):n)});var yp=async({data:e})=>{try{return await ki(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var ul=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await ql(t),version:se(r)}},dl=e=>{let{version:t}=e;return{version:se(t)}},eo=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:me(o),owner:r.toText(),data:await ki(i),version:me(n),...s}};var gp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=me(await n(e,t));if(!k(o))return eo({doc:o,key:t})},xp=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=me(a);i.push(J(c)?await eo({key:s,doc:c}):void 0)}return i},bp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await ul(t),s=await n(e,o,i);return await eo({key:o,doc:s})},Tp=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await ul(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await eo({key:s,doc:a}));return i},wp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,dl(t))},Np=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,dl(i)]);await r(n)},Op=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,sn(t))},Ep=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,sn(t)),l=[];for(let[p,d]of o){let{data:u,owner:f,description:h,version:_,...y}=d;l.push({key:p,description:me(h),owner:f.toText(),data:await yp({data:u}),version:me(_),...y})}return{items:l,items_length:s,items_page:me(i),matches_length:a,matches_pages:me(c)}},Rp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,sn(t))};var ia=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await gp({...r,satellite:{...e,identity:n},options:t??Zt})},rO=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await xp({...r,satellite:{...e,identity:n},options:t??Zt})},vp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await bp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Ip=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Tp({...t,satellite:{...e,identity:r},options:{certified:!0}})},nO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await wp({...t,satellite:{...e,identity:r},options:{certified:!0}})},oO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Np({...t,satellite:{...e,identity:r},options:{certified:!0}})},iO=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await Op({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},sO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Ep({...n,filter:r??{},satellite:{...e,identity:o},options:t??Zt})},aO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Rp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Zt})};var Ap=async({provider:e})=>{let{user:t,userId:r}=await sa();if(J(t))return t;try{return await gy({userId:r,provider:e})}catch(n){if(il({error:n,type:lp})){let o=await Sp({userId:r});if(J(o))return o}throw n}},sa=async()=>{let e=Zs();if(k(e))throw new na("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Sp({userId:t});return{userId:t,user:r}},Sp=({userId:e})=>ia({collection:"#user",key:e}),gy=({userId:e,...t})=>vp({collection:"#user",doc:{key:e,data:t}});var aa=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Ii({fn:async()=>{let{user:r}=await sa();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},Cp=async()=>{await cp({fn:async({authenticated:t})=>{let n=t?sa:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},ca=async({user:e})=>{await Ii({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Vp=()=>{try{let e=Io.getInstance(),t=async()=>{await Cp(),wi({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Pp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Fp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},Bp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()},Dp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},la=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var Up=BigInt(144e11),kp=!1,Lp={width:576,height:576},qp={width:424,height:576},pl="internetcomputer.org",Mp="ic0.app",ua="id.ai";var jp=({width:e,height:t})=>{if(!Li()||k(window)||k(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Xt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Kp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Kp||{});var da=class{async signIn({options:t,authClient:r,initAuth:n}){await Xt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Xt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new Ur("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Ys){o(new Qs(i));return}o(new Xs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Up,allowPinAuthentication:t?.allowPin??kp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var pa=class extends da{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ie.getInstance().get()?.container;if(k(i)||i===!1){let p=[pl,Mp].includes(this.#e??ua);return pt(this.#e)?`https://${ua}`:p?`https://identity.${this.#e??pl}`:`https://${this.#e}`}let s=Ie.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:$d,{host:c,protocol:l}=new URL(i===!0?Eo:i);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${a}`:`${l}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:jp((()=>{try{let{hostname:i}=new URL(n);return i.includes(ua)}catch{return!1}})()?qp:Lp)},identityProvider:n}}};var fl=e=>Mr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),xy=()=>crypto.getRandomValues(new Uint8Array(32)),by=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await crypto.subtle.digest("SHA-256",n);return fl(_r(o))},$p=async({caller:e})=>{let t=xy();return{nonce:await by({salt:t,caller:e}),salt:t}};var Jp="juno:auth:openid",Hp={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},Wp={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"},Ty=class extends Error{},wy=class extends Error{},Ny=class extends Error{},Oy=class extends Error{},Ey=class extends Error{},Ry=class extends Error{},vy=class extends Error{},zp=class extends Error{},Iy=class extends Error{},Ay=class extends Error{},Sy=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},Cy=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},Yp="__caller__",Zp="__salt__",Xp="__state__",Vy=({caller:e,state:t,salt:r})=>{let n={[Yp]:e.toJSON(),[Zp]:Mr(r),[Xp]:t};return JSON.stringify(n)},Py=e=>{let{[Yp]:t,[Zp]:r,[Xp]:n}=JSON.parse(e);return{caller:dt.fromParsedJson(t),salt:Ll(r),state:n}},Gp=async({generateState:e})=>{let t=dt.generate(),{nonce:r,salt:n}=await $p({caller:t}),o=await e({nonce:r}),i=Vy({caller:t,salt:n,state:o});return sessionStorage.setItem(Jp,i),{nonce:r,state:o}},Fy=()=>{let e=sessionStorage.getItem(Jp);if(k(e))throw new wy;return Py(e)},Qp=({auth:e,identity:t})=>"satellite"in e?up({...e.satellite,identity:t}):dp({...e.console,identity:t}),By=async({actorParams:e,args:t})=>{let{authenticate:r}=await Qp(e);return await r(t)},Dy=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Qp(e);return await r(t)},Uy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Lt.fromDelegations(n,Uint8Array.from(r));return{identity:qt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},hl=async({jwt:e,context:t,auth:r})=>{let n=await xt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await ky({jwt:e,publicKey:o,context:t,auth:r});return{identity:Uy({sessionKey:n,delegations:i}),data:s}},ky=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await By({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ey("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,l=await Ly({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=l,{pubkey:u,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new on(Uint8Array.from(u),f,me(h)),signature:Uint8Array.from(d)}]],data:c}},Ly=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(l=>{setInterval(l,1e3*a)});let c=await Dy({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new Iy("Getting delegation failed",{cause:c})}return c.Ok}throw new Ay},qy=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new Sy({cause:t})}}},My=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new Cy({cause:r})}}},jy=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await My({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(pt(c))throw new zp;return await hl({jwt:c,auth:e,context:t})},Ky=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(pt(r)||!r.startsWith("#"))throw new Ry("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(pt(s)||o!==s)throw new vy("The provided state is invalid",{cause:o});if(pt(i))throw new zp;return await hl({jwt:i,auth:e,context:t})},ef=async e=>{let t=Fy();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=Wp;return await jy({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await hl({jwt:n,context:t,auth:o})}return await Ky({...r,context:t})},ml=({url:e})=>{try{return new URL(e)}catch{throw new Ty("Cannot parse authURL",{cause:e})}},$y=({initUrl:e})=>async({nonce:t})=>{let r=ml({url:e});r.searchParams.set("nonce",t);let n=await qy({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},Hy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=ml({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Gy=()=>fl(crypto.getRandomValues(new Uint8Array(12))),Jy=async e=>Gy(),Wy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=ml({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),yr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},zy=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(k(i))throw new Ny;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Oy("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function fa(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...l}=a,{authUrl:p,authScopes:d,initUrl:u}=Wp,f=await Gp({generateState:$y({initUrl:c??u})});Hy({...l,...f,authUrl:p,authScopes:d});return}let t=await Gp({generateState:Jy}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=Hp;return await zy({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=Hp;Wy({...n,...t,authUrl:o,authScopes:i})}var ha=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var Yy=async e=>{let{satelliteId:t}=Ie.getInstance().get()??{satelliteId:void 0};if(k(t))throw new Ur("Satellite ID not set. Have you initialized the Satellite?");let r=Ie.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(yr(d))return d;let u=la();return pt(u)?null:ha({url:`${u}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:l}}=await ef("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ce.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await eo({doc:l,key:c.getPrincipal().toText()});await ca({user:p})};var tf=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Zy=()=>{window.addEventListener("beforeunload",tf,{capture:!0})},Xy=()=>{window.removeEventListener("beforeunload",tf,{capture:!0})},ma=async({fn:e})=>{try{return Zy(),await e()}finally{Xy()}};function rf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function yl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=rf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var _l;function Qy(){return _l||(_l=yl("keyval-store","keyval")),_l}function nf(e,t,r=Qy()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(rf(n.transaction))}catch(s){i(s)}}}))}var eg=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},tg=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},rg=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},ng=yl("juno-dev-identifiers","juno-dev-identifiers-store");var of=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new eg;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new tg;let n=()=>{if(e.length>32)throw new rg(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=dt.generate(a),l=await xt.generate({extractable:!1}),p=t??6048e5,d=await Lt.create(c,l.getPublicKey(),new Date(Date.now()+p));return{identity:qt.fromDelegation(l,d),sessionKey:l,delegationChain:d}},i=async()=>{await nf(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},ng)},s=await o();return await i(),s};var _a=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await of(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var ya=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Dp();if(k(r))throw new Ao;let{redirect:n}=t;await fa({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(yr(i))return i;let s=la();if(!pt(s))return ha({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var ga=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Bp();if(k(r))throw new Ao;let{redirect:n}=t;await fa({google:{redirect:{...n??{},clientId:r}}})}};var sf=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Ip({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:Ui(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var af=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(af||{}),cf=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(cf||{});var So=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ie.getInstance().get()??{satelliteId:void 0};if(k(i))throw new Ur("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:y})=>{switch(_){case nn.RequestingUserCredential:t?.({step:1,state:y});break;case nn.FinalizingCredential:t?.({step:2,state:y});break;case nn.Signing:t?.({step:3,state:y});break}},c=await Xt({fn:async()=>await Gc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:l,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await Xt({fn:async()=>await sf({delegationIdentity:l,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Xt({fn:async()=>await this.#t({delegationIdentity:l,sessionKey:p}),step:4,onProgress:t}),await Xt({fn:async()=>await o({user:u}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ie.getInstance().get()??{satelliteId:void 0};if(k(o))throw new Ur("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let u=await ia({collection:"#user-webauthn",key:Mr(d),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(k(u))throw new ta("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return Qn(h,bi)},s=({step:d,state:u})=>{switch(d){case nn.RequestingUserCredential:t?.({step:0,state:u});break;case nn.FinalizingCredential:t?.({step:1,state:u});break;case nn.Signing:t?.({step:2,state:u});break}},a=await Gc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Xt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:l}),step:3,onProgress:t}),await Xt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await xt.generate({extractable:!1}),o=r??144e5,i=await Lt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Yt;await Promise.all([n.set(We,t.getKeyPair()),n.set(ke,JSON.stringify(r.getDelegation().toJSON()))])}};var lf=async({provider:e})=>{await Ii({fn:async()=>{let r=await Ap({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},ig=async e=>{if("google"in e){let{google:{options:t}}=e;await Ai({fn:()=>new ga().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Ai({fn:()=>new ya().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Ai({fn:()=>new So().signIn({options:t,loadAuth:()=>aa({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Ai({fn:()=>new pa({domain:n}).signIn({options:o,authClient:Ce.getInstance().getAuthClient(),initAuth:lf}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ce.getInstance();await Ai({fn:()=>new _a().signIn({options:t,initAuth:lf,setStorage:r}),context:{windowGuard:!1}});return}throw new ea("An unknown or unsupported provider was provided for sign-in.")},Ai=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await ma({fn:e})};var sg=async e=>{let t=async()=>await ag(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await ma({fn:t})},ag=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new So().signUp({options:t,loadAuthWithUser:ca});return}throw new ra("An unknown or unsupported provider was provided for sign-up.")};var VR=e=>e?.data?.provider==="webauthn",PR=e=>e?.data?.provider==="google",FR=e=>e?.data?.provider==="github";var kR=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await hp({idlFactory:e,...t,identity:r})};var uf=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(cg(r));o?.onInitiatedBatch();let{chunkIds:l}=await dg({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await ug({commitFn:a,batchId:c,data:e,headers:t,chunkIds:l}),o?.onCommittedBatch()};var cg=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),lg=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},ug=async({commitFn:e,...t})=>{let r=lg(t);await e(r)},dg=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Li()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of pg({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*pg({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>fg(o)))}}var fg=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var df=async({asset:e,...t})=>{let r=await ge(t);await uf({actor:r,asset:e})},pf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,sn(t));return{items:o.map(([l,p])=>p),items_length:i,items_page:me(s),matches_length:a,matches_pages:me(c)}},ff=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,sn(t))},hf=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),mf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},_f=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,sn(t))},yf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,se(r))},gf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return me(await n(e,t))},xf=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>me(s))};var bf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var e6=e=>Tf(e),t6=e=>Tf({filename:e.data.name,...e}),Tf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let l=ue(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,u={...s,identity:l};return await df({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:wf({satellite:u,assetKey:{fullPath:d,token:i}}),fullPath:d,...J(i)&&{token:i},name:p}},r6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await pf({collection:e,filter:t??{},satellite:o,options:n??Zt}),a=i.map(({key:{full_path:c,token:l,name:p,owner:d,description:u},headers:f,encodings:h,created_at:_,updated_at:y})=>{let m=me(l);return{fullPath:c,description:me(u),name:p,downloadUrl:wf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[g,{modified:w,sha256:O,total_length:v}])=>({...b,[g]:{modified:w,sha256:bf(O),total_length:v}}),{}),owner:d.toText(),created_at:_,updated_at:y}});return{items:a,assets:a,...s}},n6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await ff({collection:e,satellite:o,filter:t??{},options:n??Zt})},o6=({collection:e,fullPath:t,satellite:r})=>hf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),i6=({collection:e,fullPath:t,token:r,satellite:n})=>yf({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),s6=({assets:e,satellite:t})=>mf({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),a6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await _f({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},c6=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await gf({...r,satellite:{...e,identity:n},options:t??Zt})},l6=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await xf({...r,satellite:{...e,identity:n},options:t??Zt})},wf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${fp(n)}${e}${J(t)?`?token=${t}`:""}`};var hg=e=>{let t=e?.satelliteId??Pp();ko(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Fp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},x6=e=>mg(e),mg=async e=>{let t=hg(e);Ie.getInstance().set(t),await aa();let r=t.workers?.auth!==void 0?ap(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Vp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},_g=e=>Ue.getInstance().subscribe(e),b6=_g;export{Kp as AuthClientSignInProgressStep,na as InitError,pa as InternetIdentityProvider,oa as ListError,Xs as SignInError,Ur as SignInInitError,Ao as SignInMissingClientIdError,ea as SignInProviderNotSupportedError,Qs as SignInUserInterruptError,ra as SignUpProviderNotSupportedError,af as WebAuthnSignInProgressStep,ta as WebAuthnSignInRetrievePublicKeyError,cf as WebAuthnSignUpProgressStep,b6 as authSubscribe,n6 as countAssets,aO as countDocs,o6 as deleteAsset,nO as deleteDoc,a6 as deleteFilteredAssets,iO as deleteFilteredDocs,s6 as deleteManyAssets,oO as deleteManyDocs,wf as downloadUrl,c6 as getAsset,ia as getDoc,dy as getIdentityOnce,l6 as getManyAssets,rO as getManyDocs,kR as getSatelliteExtendedActor,Yy as handleRedirectCallback,x6 as initJuno,mg as initSatellite,FR as isGitHubUser,PR as isGoogleUser,U_ as isWebAuthnAvailable,VR as isWebAuthnUser,r6 as listAssets,sO as listDocs,_g as onAuthStateChange,i6 as setAssetToken,vp as setDoc,Ip as setManyDocs,ig as signIn,ol as signOut,sg as signUp,uy as unsafeIdentity,e6 as uploadBlob,t6 as uploadFile};
62
57
  /*! Bundled license information:
63
58
 
64
59
  @noble/hashes/esm/utils.js: