@junobuild/core-standalone 2.2.1 → 3.0.1

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.
Files changed (39) hide show
  1. package/dist/browser/index.js +28 -28
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/node/index.mjs +31 -108
  4. package/dist/node/index.mjs.map +4 -4
  5. package/dist/types/auth/providers/_auth-client.providers.d.ts +3 -12
  6. package/dist/types/auth/providers/_auth.providers.d.ts +11 -0
  7. package/dist/types/auth/providers/google.providers.d.ts +25 -0
  8. package/dist/types/auth/providers/webauthn.providers.d.ts +1 -1
  9. package/dist/types/auth/services/_auth-client.services.d.ts +17 -0
  10. package/dist/types/auth/services/identity.services.d.ts +22 -0
  11. package/dist/types/auth/services/load.services.d.ts +13 -0
  12. package/dist/types/auth/services/redirect.services.d.ts +1 -0
  13. package/dist/types/auth/services/sign-in.services.d.ts +19 -0
  14. package/dist/types/auth/services/sign-out.services.d.ts +10 -0
  15. package/dist/types/auth/services/sign-up.services.d.ts +8 -0
  16. package/dist/types/auth/services/user-webauthn.services.d.ts +1 -1
  17. package/dist/types/auth/stores/auth-client.store.d.ts +15 -0
  18. package/dist/types/auth/types/auth.d.ts +11 -12
  19. package/dist/types/auth/types/errors.d.ts +2 -0
  20. package/dist/types/auth/types/google.d.ts +50 -0
  21. package/dist/types/auth/types/provider.d.ts +42 -12
  22. package/dist/types/core/api/actor.api.d.ts +2 -2
  23. package/dist/types/core/services/{identity.services.d.ts → any-identity.services.d.ts} +1 -1
  24. package/dist/types/core/stores/_agent.factory.d.ts +1 -1
  25. package/dist/types/core/stores/actor.store.d.ts +2 -2
  26. package/dist/types/core/stores/agent.store.d.ts +1 -1
  27. package/dist/types/core/types/list.d.ts +1 -1
  28. package/dist/types/core/types/satellite.d.ts +1 -1
  29. package/dist/types/core/types/utility.d.ts +5 -3
  30. package/dist/types/core/utils/window.env.utils.d.ts +1 -0
  31. package/dist/types/functions/services/functions.services.d.ts +2 -2
  32. package/dist/types/index.d.ts +5 -3
  33. package/dist/workers/auth.worker.js +6 -6
  34. package/dist/workers/auth.worker.js.map +4 -4
  35. package/package.json +15 -16
  36. package/dist/types/auth/providers/nfid.providers.d.ts +0 -28
  37. package/dist/types/auth/services/auth.services.d.ts +0 -60
  38. package/dist/types/auth/types/nfid.d.ts +0 -22
  39. package/dist/types/auth/utils/auth.utils.d.ts +0 -3
@@ -1,14 +1,14 @@
1
- "use strict";(()=>{var Qt="abcdefghijklmnopqrstuvwxyz234567",St=Object.create(null);for(let e=0;e<Qt.length;e++)St[Qt[e]]=e;St[0]=St.o;St[1]=St.i;function pr(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=Qt[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?Qt[r>>3]:"")}function yr(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let a=St[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let i of e)s(i);return n.slice(0,o)}var Un=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 gr(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Un[o]^t>>>8}return(t^-1)>>>0}var mt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ee(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function $(e,...t){if(!wt(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 _e(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 mr(e,t){$(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Et(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ee(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function F(e,t){return e<<32-t|e>>>t}var wr=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Mn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function v(e){if($(e),wr)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Mn[e[r]];return t}var tt={_0:48,_9:57,A:65,F:70,a:97,f:102};function br(e){if(e>=tt._0&&e<=tt._9)return e-tt._0;if(e>=tt.A&&e<=tt.F)return e-(tt.A-10);if(e>=tt.a&&e<=tt.f)return e-(tt.a-10)}function q(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(wr)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=br(e.charCodeAt(s)),a=br(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ie(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Be(e){return typeof e=="string"&&(e=Ie(e)),$(e),e}function G(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];$(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var te=class{};function re(e){let t=n=>e().update(Be(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Ae(e=32){if(mt&&typeof mt.getRandomValues=="function")return mt.getRandomValues(new Uint8Array(e));if(mt&&typeof mt.randomBytes=="function")return Uint8Array.from(mt.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function jn(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,i,n),e.setUint32(t+u,a,n)}function Er(e,t,r){return e&t^~e&r}function _r(e,t,r){return e&t^e&r^t&r}var Ct=class extends te{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=ee(this.buffer)}update(t){_e(this),t=Be(t),$(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=ee(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){_e(this),mr(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Et(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;jn(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=ee(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,l[d],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},et=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var N=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ne=BigInt(4294967295),Ir=BigInt(32);function qn(e,t=!1){return t?{h:Number(e&ne),l:Number(e>>Ir&ne)}:{h:Number(e>>Ir&ne)|0,l:Number(e&ne)|0}}function Br(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=qn(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var Se=(e,t,r)=>e>>>r,Oe=(e,t,r)=>e<<32-r|t>>>r,_t=(e,t,r)=>e>>>r|t<<32-r,It=(e,t,r)=>e<<32-r|t>>>r,Pt=(e,t,r)=>e<<64-r|t>>>r-32,Rt=(e,t,r)=>e>>>r-32|t<<64-r;function W(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ar=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Sr=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Or=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Tr=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,vr=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Dr=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Kn=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]),at=new Uint32Array(64),oe=class extends Ct{constructor(t=32){super(64,t,8,!1),this.A=et[0]|0,this.B=et[1]|0,this.C=et[2]|0,this.D=et[3]|0,this.E=et[4]|0,this.F=et[5]|0,this.G=et[6]|0,this.H=et[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)at[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let f=at[d-15],p=at[d-2],x=F(f,7)^F(f,18)^f>>>3,b=F(p,17)^F(p,19)^p>>>10;at[d]=b+at[d-7]+x+at[d-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:l}=this;for(let d=0;d<64;d++){let f=F(a,6)^F(a,11)^F(a,25),p=l+f+Er(a,c,u)+Kn[d]+at[d]|0,b=(F(n,2)^F(n,13)^F(n,22))+_r(n,o,s)|0;l=u,u=c,c=a,a=i+p|0,i=s,s=o,o=n,n=p+b|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,c,u,l)}roundClean(){Et(at)}destroy(){this.set(0,0,0,0,0,0,0,0),Et(this.buffer)}},Te=class extends oe{constructor(){super(28),this.A=rt[0]|0,this.B=rt[1]|0,this.C=rt[2]|0,this.D=rt[3]|0,this.E=rt[4]|0,this.F=rt[5]|0,this.G=rt[6]|0,this.H=rt[7]|0}},Lr=Br(["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))),kn=Lr[0],Vn=Lr[1],ft=new Uint32Array(80),ut=new Uint32Array(80),ve=class extends Ct{constructor(t=64){super(128,t,16,!1),this.Ah=N[0]|0,this.Al=N[1]|0,this.Bh=N[2]|0,this.Bl=N[3]|0,this.Ch=N[4]|0,this.Cl=N[5]|0,this.Dh=N[6]|0,this.Dl=N[7]|0,this.Eh=N[8]|0,this.El=N[9]|0,this.Fh=N[10]|0,this.Fl=N[11]|0,this.Gh=N[12]|0,this.Gl=N[13]|0,this.Hh=N[14]|0,this.Hl=N[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:l,Fh:d,Fl:f,Gh:p,Gl:x,Hh:b,Hl:E}=this;return[t,r,n,o,s,i,a,c,u,l,d,f,p,x,b,E]}set(t,r,n,o,s,i,a,c,u,l,d,f,p,x,b,E){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=d|0,this.Fl=f|0,this.Gh=p|0,this.Gl=x|0,this.Hh=b|0,this.Hl=E|0}process(t,r){for(let y=0;y<16;y++,r+=4)ft[y]=t.getUint32(r),ut[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let I=ft[y-15]|0,A=ut[y-15]|0,D=_t(I,A,1)^_t(I,A,8)^Se(I,A,7),L=It(I,A,1)^It(I,A,8)^Oe(I,A,7),B=ft[y-2]|0,g=ut[y-2]|0,m=_t(B,g,19)^Pt(B,g,61)^Se(B,g,6),_=It(B,g,19)^Rt(B,g,61)^Oe(B,g,6),S=Or(L,_,ut[y-7],ut[y-16]),T=Tr(S,D,m,ft[y-7],ft[y-16]);ft[y]=T|0,ut[y]=S|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:l,Eh:d,El:f,Fh:p,Fl:x,Gh:b,Gl:E,Hh:h,Hl:w}=this;for(let y=0;y<80;y++){let I=_t(d,f,14)^_t(d,f,18)^Pt(d,f,41),A=It(d,f,14)^It(d,f,18)^Rt(d,f,41),D=d&p^~d&b,L=f&x^~f&E,B=vr(w,A,L,Vn[y],ut[y]),g=Dr(B,h,I,D,kn[y],ft[y]),m=B|0,_=_t(n,o,28)^Pt(n,o,34)^Pt(n,o,39),S=It(n,o,28)^Rt(n,o,34)^Rt(n,o,39),T=n&s^n&a^s&a,O=o&i^o&c^i&c;h=b|0,w=E|0,b=p|0,E=x|0,p=d|0,x=f|0,{h:d,l:f}=W(u|0,l|0,g|0,m|0),u=a|0,l=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let P=Ar(m,S,O);n=Sr(P,g,_,T),o=P|0}({h:n,l:o}=W(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=W(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=W(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=W(this.Dh|0,this.Dl|0,u|0,l|0),{h:d,l:f}=W(this.Eh|0,this.El|0,d|0,f|0),{h:p,l:x}=W(this.Fh|0,this.Fl|0,p|0,x|0),{h:b,l:E}=W(this.Gh|0,this.Gl|0,b|0,E|0),{h,l:w}=W(this.Hh|0,this.Hl|0,h|0,w|0),this.set(n,o,s,i,a,c,u,l,d,f,p,x,b,E,h,w)}roundClean(){Et(ft,ut)}destroy(){Et(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var dt=re(()=>new oe),Cr=re(()=>new Te),Pr=re(()=>new ve);var se="__principal__",$n=2,Rr=4,Gn="aaaaa-aa",Z=class e{static anonymous(){return new this(new Uint8Array([Rr]))}static managementCanister(){return this.fromText(Gn)}static selfAuthenticating(t){let r=Cr(t);return new this(new Uint8Array([...r,$n]))}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(q(t))}static fromText(t){let r=t;if(t.includes(se)){let i=JSON.parse(t);se in i&&(r=i[se])}let n=r.toLowerCase().replace(/-/g,""),o=yr(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Rr}toUint8Array(){return this._arr}toHex(){return v(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,gr(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=pr(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[se]: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 De;(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"})(De||(De={}));var Ot=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
1
+ "use strict";(()=>{var te="abcdefghijklmnopqrstuvwxyz234567",Tt=Object.create(null);for(let e=0;e<te.length;e++)Tt[te[e]]=e;Tt[0]=Tt.o;Tt[1]=Tt.i;function gr(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=te[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?te[r>>3]:"")}function mr(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let c=Tt[i.toLowerCase()];if(c===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);c<<=3,r|=c>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=c<<5-t&255:r=0)}for(let i of e)s(i);return n.slice(0,o)}var kn=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 br(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=kn[o]^t>>>8}return(t^-1)>>>0}var bt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function _e(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function F(e,...t){if(!wt(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 Ae(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 Er(e,t){F(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Et(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function re(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Y(e,t){return e<<32-t|e>>>t}var Ir=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Hn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function N(e){if(F(e),Ir)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Hn[e[r]];return t}var et={_0:48,_9:57,A:65,F:70,a:97,f:102};function wr(e){if(e>=et._0&&e<=et._9)return e-et._0;if(e>=et.A&&e<=et.F)return e-(et.A-10);if(e>=et.a&&e<=et.f)return e-(et.a-10)}function q(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ir)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=wr(e.charCodeAt(s)),c=wr(e.charCodeAt(s+1));if(i===void 0||c===void 0){let a=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+s)}n[o]=i*16+c}return n}function Be(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Se(e){return typeof e=="string"&&(e=Be(e)),F(e),e}function G(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];F(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var ee=class{};function ne(e){let t=n=>e().update(Se(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Te(e=32){if(bt&&typeof bt.getRandomValues=="function")return bt.getRandomValues(new Uint8Array(e));if(bt&&typeof bt.randomBytes=="function")return Uint8Array.from(bt.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function $n(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),c=Number(r&s),a=n?4:0,u=n?0:4;e.setUint32(t+a,i,n),e.setUint32(t+u,c,n)}function _r(e,t,r){return e&t^~e&r}function Ar(e,t,r){return e&t^e&r^t&r}var Ut=class extends ee{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=re(this.buffer)}update(t){Ae(this),t=Se(t),F(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let c=Math.min(o-this.pos,s-i);if(c===o){let a=re(t);for(;o<=s-i;i+=o)this.process(a,i);continue}n.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ae(this),Er(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Et(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;$n(n,o-8,BigInt(this.length*8),s),this.process(n,0);let c=re(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=a/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)c.setUint32(4*d,l[d],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:c}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=c,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},rt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var P=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var oe=BigInt(4294967295),Br=BigInt(32);function Vn(e,t=!1){return t?{h:Number(e&oe),l:Number(e>>Br&oe)}:{h:Number(e>>Br&oe)|0,l:Number(e&oe)|0}}function Sr(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:c}=Vn(e[s],t);[n[s],o[s]]=[i,c]}return[n,o]}var Oe=(e,t,r)=>e>>>r,ve=(e,t,r)=>e<<32-r|t>>>r,It=(e,t,r)=>e>>>r|t<<32-r,_t=(e,t,r)=>e<<32-r|t>>>r,Lt=(e,t,r)=>e<<64-r|t>>>r-32,Pt=(e,t,r)=>e>>>r-32|t<<64-r;function X(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Tr=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Or=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,vr=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Dr=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Nr=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Cr=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Gn=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]),ft=new Uint32Array(64),se=class extends Ut{constructor(t=32){super(64,t,8,!1),this.A=rt[0]|0,this.B=rt[1]|0,this.C=rt[2]|0,this.D=rt[3]|0,this.E=rt[4]|0,this.F=rt[5]|0,this.G=rt[6]|0,this.H=rt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:c,H:a}=this;return[t,r,n,o,s,i,c,a]}set(t,r,n,o,s,i,c,a){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=a|0}process(t,r){for(let d=0;d<16;d++,r+=4)ft[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let f=ft[d-15],x=ft[d-2],p=Y(f,7)^Y(f,18)^f>>>3,m=Y(x,17)^Y(x,19)^x>>>10;ft[d]=m+ft[d-7]+p+ft[d-16]|0}let{A:n,B:o,C:s,D:i,E:c,F:a,G:u,H:l}=this;for(let d=0;d<64;d++){let f=Y(c,6)^Y(c,11)^Y(c,25),x=l+f+_r(c,a,u)+Gn[d]+ft[d]|0,m=(Y(n,2)^Y(n,13)^Y(n,22))+Ar(n,o,s)|0;l=u,u=a,a=c,c=i+x|0,i=s,s=o,o=n,n=x+m|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,a=a+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,c,a,u,l)}roundClean(){Et(ft)}destroy(){this.set(0,0,0,0,0,0,0,0),Et(this.buffer)}},De=class extends se{constructor(){super(28),this.A=nt[0]|0,this.B=nt[1]|0,this.C=nt[2]|0,this.D=nt[3]|0,this.E=nt[4]|0,this.F=nt[5]|0,this.G=nt[6]|0,this.H=nt[7]|0}},Ur=Sr(["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))),Yn=Ur[0],Zn=Ur[1],ut=new Uint32Array(80),dt=new Uint32Array(80),Ne=class extends Ut{constructor(t=64){super(128,t,16,!1),this.Ah=P[0]|0,this.Al=P[1]|0,this.Bh=P[2]|0,this.Bl=P[3]|0,this.Ch=P[4]|0,this.Cl=P[5]|0,this.Dh=P[6]|0,this.Dl=P[7]|0,this.Eh=P[8]|0,this.El=P[9]|0,this.Fh=P[10]|0,this.Fl=P[11]|0,this.Gh=P[12]|0,this.Gl=P[13]|0,this.Hh=P[14]|0,this.Hl=P[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:c,Dl:a,Eh:u,El:l,Fh:d,Fl:f,Gh:x,Gl:p,Hh:m,Hl:E}=this;return[t,r,n,o,s,i,c,a,u,l,d,f,x,p,m,E]}set(t,r,n,o,s,i,c,a,u,l,d,f,x,p,m,E){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=c|0,this.Dl=a|0,this.Eh=u|0,this.El=l|0,this.Fh=d|0,this.Fl=f|0,this.Gh=x|0,this.Gl=p|0,this.Hh=m|0,this.Hl=E|0}process(t,r){for(let y=0;y<16;y++,r+=4)ut[y]=t.getUint32(r),dt[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let _=ut[y-15]|0,B=dt[y-15]|0,v=It(_,B,1)^It(_,B,8)^Oe(_,B,7),D=_t(_,B,1)^_t(_,B,8)^ve(_,B,7),A=ut[y-2]|0,g=dt[y-2]|0,b=It(A,g,19)^Lt(A,g,61)^Oe(A,g,6),I=_t(A,g,19)^Pt(A,g,61)^ve(A,g,6),S=vr(D,I,dt[y-7],dt[y-16]),O=Dr(S,v,b,ut[y-7],ut[y-16]);ut[y]=O|0,dt[y]=S|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:c,Cl:a,Dh:u,Dl:l,Eh:d,El:f,Fh:x,Fl:p,Gh:m,Gl:E,Hh:h,Hl:w}=this;for(let y=0;y<80;y++){let _=It(d,f,14)^It(d,f,18)^Lt(d,f,41),B=_t(d,f,14)^_t(d,f,18)^Pt(d,f,41),v=d&x^~d&m,D=f&p^~f&E,A=Nr(w,B,D,Zn[y],dt[y]),g=Cr(A,h,_,v,Yn[y],ut[y]),b=A|0,I=It(n,o,28)^Lt(n,o,34)^Lt(n,o,39),S=_t(n,o,28)^Pt(n,o,34)^Pt(n,o,39),O=n&s^n&c^s&c,T=o&i^o&a^i&a;h=m|0,w=E|0,m=x|0,E=p|0,x=d|0,p=f|0,{h:d,l:f}=X(u|0,l|0,g|0,b|0),u=c|0,l=a|0,c=s|0,a=i|0,s=n|0,i=o|0;let U=Tr(b,S,T);n=Or(U,g,I,O),o=U|0}({h:n,l:o}=X(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=X(this.Bh|0,this.Bl|0,s|0,i|0),{h:c,l:a}=X(this.Ch|0,this.Cl|0,c|0,a|0),{h:u,l}=X(this.Dh|0,this.Dl|0,u|0,l|0),{h:d,l:f}=X(this.Eh|0,this.El|0,d|0,f|0),{h:x,l:p}=X(this.Fh|0,this.Fl|0,x|0,p|0),{h:m,l:E}=X(this.Gh|0,this.Gl|0,m|0,E|0),{h,l:w}=X(this.Hh|0,this.Hl|0,h|0,w|0),this.set(n,o,s,i,c,a,u,l,d,f,x,p,m,E,h,w)}roundClean(){Et(ut,dt)}destroy(){Et(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var lt=ne(()=>new se),Lr=ne(()=>new De),Pr=ne(()=>new Ne);var ie="__principal__",zn=2,Rr=4,Xn="aaaaa-aa",Z=class e{static anonymous(){return new this(new Uint8Array([Rr]))}static managementCanister(){return this.fromText(Xn)}static selfAuthenticating(t){let r=Lr(t);return new this(new Uint8Array([...r,zn]))}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(q(t))}static fromText(t){let r=t;if(t.includes(ie)){let i=JSON.parse(t);ie in i&&(r=i[ie])}let n=r.toLowerCase().replace(/-/g,""),o=mr(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Rr}toUint8Array(){return this._arr}toHex(){return N(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,br(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=gr(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[ie]: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 Ce;(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"})(Ce||(Ce={}));var Ot=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
2
2
  Request context:
3
- Request ID (hex): ${this.requestContext.requestId?v(this.requestContext.requestId):"undefined"}
4
- Sender pubkey (hex): ${v(this.requestContext.senderPubKey)}
5
- Sender signature (hex): ${v(this.requestContext.senderSignature)}
3
+ Request ID (hex): ${this.requestContext.requestId?N(this.requestContext.requestId):"undefined"}
4
+ Sender pubkey (hex): ${N(this.requestContext.senderPubKey)}
5
+ Sender signature (hex): ${N(this.requestContext.senderSignature)}
6
6
  Ingress expiry: ${this.requestContext.ingressExpiry.toString()}`),this.callContext&&(t+=`
7
7
  Call context:
8
8
  Canister ID: ${this.callContext.canisterId.toText()}
9
9
  Method name: ${this.callContext.methodName}
10
- HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},Le=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}`}},Ce=class extends Le{static fromCode(t){return new this(t)}};var H=class e extends Ce{constructor(t){super(t,De.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}};var ie=class e extends Ot{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}`}},lt=class e extends Ot{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Nt=class e extends Ot{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}};var ce=class e extends Ot{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}`}};var gs=new Error("unreachable");var ae=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=X(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 X(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?X(e.buffer):new Uint8Array(e)}function Pe(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 Nr(e,t){return Pe(e,t)===0}function Ur(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Re(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:Ur(e))+1,r=new ae(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 Ne(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?Ne(e.buffer):new Uint8Array(e)}function Mr(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 Ue(e){if(typeof e=="string")return jr(e);if(typeof e=="number")return dt(Re(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return dt(Ne(e));if(Array.isArray(e)){let t=e.map(Ue);return dt(G(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return dt(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ue(e.toHash());if(typeof e=="object")return qr(e);if(typeof e=="bigint")return dt(Re(e))}throw H.fromCode(new ce(e))}var jr=e=>{let t=new TextEncoder().encode(e);return dt(t)};function Ut(e){return qr(e)}function qr(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=jr(i),u=Ue(a);return[c,u]}).sort(([i],[a])=>Pe(i,a)),o=G(...n.map(i=>G(...i)));return dt(o)}var Mt=new TextEncoder().encode(`
11
- ic-request`),Yn=new TextEncoder().encode("\vic-response"),Me=new TextEncoder().encode("ic-request-auth-delegation");var ht=class{getPrincipal(){return this._principal||(this._principal=Z.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Ut(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(G(Mt,o))}}}},jt=class{getPrincipal(){return Z.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var He=BigInt(0),qe=BigInt(1);function fe(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function qt(e,t,r=""){let n=wt(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function Hr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?He:BigInt("0x"+e)}function Kr(e){return Hr(v(e))}function xt(e){return $(e),Hr(v(Uint8Array.from(e).reverse()))}function Ke(e,t){return q(e.toString(16).padStart(t*2,"0"))}function kr(e,t){return Ke(e,t).reverse()}function K(e,t,r){let n;if(typeof t=="string")try{n=q(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(wt(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 Vr(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 ke(e){return Uint8Array.from(e)}var je=e=>typeof e=="bigint"&&He<=e;function Fn(e,t,r){return je(e)&&je(t)&&je(r)&&t<=e&&e<r}function Ve(e,t,r,n){if(!Fn(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function $r(e){let t;for(t=0;e>He;e>>=qe,t+=1);return t}var Ht=e=>(qe<<BigInt(e))-qe;function Kt(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var $e=()=>{throw new Error("not implemented")};function Ge(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var M=BigInt(0),U=BigInt(1),Bt=BigInt(2),Fr=BigInt(3),Zr=BigInt(4),zr=BigInt(5),Zn=BigInt(7),Wr=BigInt(8),zn=BigInt(9),Xr=BigInt(16);function C(e,t){let r=e%t;return r>=M?r:t+r}function z(e,t,r){let n=e;for(;t-- >M;)n*=n,n%=r;return n}function Gr(e,t){if(e===M)throw new Error("invert: expected non-zero number");if(t<=M)throw new Error("invert: expected positive modulus, got "+t);let r=C(e,t),n=t,o=M,s=U,i=U,a=M;for(;r!==M;){let u=n/r,l=n%r,d=o-i*u,f=s-a*u;n=r,r=l,o=i,s=a,i=d,a=f}if(n!==U)throw new Error("invert: does not exist");return C(o,t)}function Ye(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Jr(e,t){let r=(e.ORDER+U)/Zr,n=e.pow(t,r);return Ye(e,n,t),n}function Wn(e,t){let r=(e.ORDER-zr)/Wr,n=e.mul(t,Bt),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Bt),o),a=e.mul(s,e.sub(i,e.ONE));return Ye(e,a,t),a}function Xn(e){let t=ot(e),r=Qr(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Zn)/Xr;return(a,c)=>{let u=a.pow(c,i),l=a.mul(u,n),d=a.mul(u,o),f=a.mul(u,s),p=a.eql(a.sqr(l),c),x=a.eql(a.sqr(d),c);u=a.cmov(u,l,p),l=a.cmov(f,d,x);let b=a.eql(a.sqr(l),c),E=a.cmov(u,l,b);return Ye(a,E,c),E}}function Qr(e){if(e<Fr)throw new Error("sqrt is not defined for small field");let t=e-U,r=0;for(;t%Bt===M;)t/=Bt,r++;let n=Bt,o=ot(e);for(;Yr(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Jr;let s=o.pow(n,t),i=(t+U)/Bt;return function(c,u){if(c.is0(u))return u;if(Yr(c,u)!==1)throw new Error("Cannot find square root");let l=r,d=c.mul(c.ONE,s),f=c.pow(u,t),p=c.pow(u,i);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let x=1,b=c.sqr(f);for(;!c.eql(b,c.ONE);)if(x++,b=c.sqr(b),x===l)throw new Error("Cannot find square root");let E=U<<BigInt(l-x-1),h=c.pow(d,E);l=x,d=c.sqr(h),f=c.mul(f,d),p=c.mul(p,h)}return p}}function Jn(e){return e%Zr===Fr?Jr:e%Wr===zr?Wn:e%Xr===zn?Xn(e):Qr(e)}var nt=(e,t)=>(C(e,t)&U)===U,Qn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function tn(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Qn.reduce((n,o)=>(n[o]="function",n),t);return Kt(e,r),e}function to(e,t,r){if(r<M)throw new Error("invalid exponent, negatives unsupported");if(r===M)return e.ONE;if(r===U)return t;let n=e.ONE,o=t;for(;r>M;)r&U&&(n=e.mul(n,o)),o=e.sqr(o),r>>=U;return n}function ue(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Yr(e,t){let r=(e.ORDER-U)/Bt,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function en(e,t){t!==void 0&&Ee(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ot(e,t,r=!1,n={}){if(e<=M)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let f=t;f.BITS&&(o=f.BITS),f.sqrt&&(s=f.sqrt),typeof f.isLE=="boolean"&&(r=f.isLE),typeof f.modFromBytes=="boolean"&&(i=f.modFromBytes),a=f.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:u}=en(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let l,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Ht(c),ZERO:M,ONE:U,allowedLengths:a,create:f=>C(f,e),isValid:f=>{if(typeof f!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof f);return M<=f&&f<e},is0:f=>f===M,isValidNot0:f=>!d.is0(f)&&d.isValid(f),isOdd:f=>(f&U)===U,neg:f=>C(-f,e),eql:(f,p)=>f===p,sqr:f=>C(f*f,e),add:(f,p)=>C(f+p,e),sub:(f,p)=>C(f-p,e),mul:(f,p)=>C(f*p,e),pow:(f,p)=>to(d,f,p),div:(f,p)=>C(f*Gr(p,e),e),sqrN:f=>f*f,addN:(f,p)=>f+p,subN:(f,p)=>f-p,mulN:(f,p)=>f*p,inv:f=>Gr(f,e),sqrt:s||(f=>(l||(l=Jn(e)),l(d,f))),toBytes:f=>r?kr(f,u):Ke(f,u),fromBytes:(f,p=!0)=>{if(a){if(!a.includes(f.length)||f.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+f.length);let b=new Uint8Array(u);b.set(f,r?0:b.length-f.length),f=b}if(f.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+f.length);let x=r?xt(f):Kr(f);if(i&&(x=C(x,e)),!p&&!d.isValid(x))throw new Error("invalid field element: outside of range 0..ORDER");return x},invertBatch:f=>ue(d,f),cmov:(f,p,x)=>x?p:f});return Object.freeze(d)}var de=BigInt(0),We=BigInt(1);function rn(e,t){let r=t.negate();return e?r:t}function kt(e,t){let r=ue(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function cn(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Fe(e,t){cn(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=Ht(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function nn(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=We);let u=t*n,l=u+Math.abs(a)-1,d=a===0,f=a<0,p=t%2!==0;return{nextN:c,offset:l,isZero:d,isNeg:f,isNegF:p,offsetF:u}}function eo(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 ro(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 Ze=new WeakMap,an=new WeakMap;function ze(e){return an.get(e)||1}function on(e){if(e!==de)throw new Error("invalid wNAF")}var le=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>de;)r&We&&(n=n.add(o)),o=o.double(),r>>=We;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Fe(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Fe(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:d,isNegF:f,offsetF:p}=nn(n,a,i);n=c,l?s=s.add(rn(f,r[p])):o=o.add(rn(d,r[u]))}return on(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Fe(t,this.bits);for(let i=0;i<s.windows&&n!==de;i++){let{nextN:a,offset:c,isZero:u,isNeg:l}=nn(n,i,s);if(n=a,!u){let d=r[c];o=o.add(l?d.negate():d)}}return on(n),o}getPrecomputes(t,r,n){let o=Ze.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ze.set(r,o))),o}cached(t,r,n){let o=ze(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=ze(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){cn(r,this.bits),an.set(t,r),Ze.delete(t)}hasCache(t){return ze(t)!==1}};function he(e,t,r,n){eo(r,e),ro(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=$r(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Ht(c),l=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/c)*c,f=i;for(let p=d;p>=0;p-=c){l.fill(i);for(let b=0;b<s;b++){let E=n[b],h=Number(E>>BigInt(p)&u);l[h]=l[h].add(r[b])}let x=i;for(let b=l.length-1,E=i;b>0;b--)E=E.add(l[b]),x=x.add(E);if(f=f.add(x),p!==0)for(let b=0;b<c;b++)f=f.double()}return f}function sn(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return tn(t),t}else return ot(e,{isLE:r})}function fn(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>de))throw new Error(`CURVE.${c} must be positive bigint`)}let o=sn(t.p,r.Fp,n),s=sn(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}var pt=BigInt(0),R=BigInt(1),Xe=BigInt(2),no=BigInt(8);function oo(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function so(e,t={}){let r=fn("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Kt(t,{},{uvRatio:"function"});let a=Xe<<BigInt(o.BYTES*8)-R,c=E=>n.create(E),u=t.uvRatio||((E,h)=>{try{return{isValid:!0,value:n.sqrt(n.div(E,h))}}catch{return{isValid:!1,value:pt}}});if(!oo(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(E,h,w=!1){let y=w?R:pt;return Ve("coordinate "+E,h,y,a),h}function d(E){if(!(E instanceof x))throw new Error("ExtendedPoint expected")}let f=Ge((E,h)=>{let{X:w,Y:y,Z:I}=E,A=E.is0();h==null&&(h=A?no:n.inv(I));let D=c(w*h),L=c(y*h),B=n.mul(I,h);if(A)return{x:pt,y:R};if(B!==R)throw new Error("invZ was invalid");return{x:D,y:L}}),p=Ge(E=>{let{a:h,d:w}=s;if(E.is0())throw new Error("bad point: ZERO");let{X:y,Y:I,Z:A,T:D}=E,L=c(y*y),B=c(I*I),g=c(A*A),m=c(g*g),_=c(L*h),S=c(g*c(_+B)),T=c(m+c(w*c(L*B)));if(S!==T)throw new Error("bad point: equation left != right (1)");let O=c(y*I),P=c(A*D);if(O!==P)throw new Error("bad point: equation left != right (2)");return!0});class x{constructor(h,w,y,I){this.X=l("x",h),this.Y=l("y",w),this.Z=l("z",y,!0),this.T=l("t",I),Object.freeze(this)}static CURVE(){return s}static fromAffine(h){if(h instanceof x)throw new Error("extended point not allowed");let{x:w,y}=h||{};return l("x",w),l("y",y),new x(w,y,R,c(w*y))}static fromBytes(h,w=!1){let y=n.BYTES,{a:I,d:A}=s;h=ke(qt(h,y,"point")),fe(w,"zip215");let D=ke(h),L=h[y-1];D[y-1]=L&-129;let B=xt(D),g=w?a:n.ORDER;Ve("point.y",B,pt,g);let m=c(B*B),_=c(m-R),S=c(A*m-I),{isValid:T,value:O}=u(_,S);if(!T)throw new Error("bad point: invalid y coordinate");let P=(O&R)===R,j=(L&128)!==0;if(!w&&O===pt&&j)throw new Error("bad point: x=0 and x_0=1");return j!==P&&(O=c(-O)),x.fromAffine({x:O,y:B})}static fromHex(h,w=!1){return x.fromBytes(K("point",h),w)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(h=8,w=!0){return b.createCache(this,h),w||this.multiply(Xe),this}assertValidity(){p(this)}equals(h){d(h);let{X:w,Y:y,Z:I}=this,{X:A,Y:D,Z:L}=h,B=c(w*L),g=c(A*I),m=c(y*L),_=c(D*I);return B===g&&m===_}is0(){return this.equals(x.ZERO)}negate(){return new x(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:h}=s,{X:w,Y:y,Z:I}=this,A=c(w*w),D=c(y*y),L=c(Xe*c(I*I)),B=c(h*A),g=w+y,m=c(c(g*g)-A-D),_=B+D,S=_-L,T=B-D,O=c(m*S),P=c(_*T),j=c(m*T),ct=c(S*_);return new x(O,P,ct,j)}add(h){d(h);let{a:w,d:y}=s,{X:I,Y:A,Z:D,T:L}=this,{X:B,Y:g,Z:m,T:_}=h,S=c(I*B),T=c(A*g),O=c(L*y*_),P=c(D*m),j=c((I+A)*(B+g)-S-T),ct=P-O,bt=P+O,Q=c(T-w*S),Lt=c(j*ct),Jt=c(bt*Q),we=c(j*Q),xr=c(ct*bt);return new x(Lt,Jt,xr,we)}subtract(h){return this.add(h.negate())}multiply(h){if(!o.isValidNot0(h))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:w,f:y}=b.cached(this,h,I=>kt(x,I));return kt(x,[w,y])[0]}multiplyUnsafe(h,w=x.ZERO){if(!o.isValid(h))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return h===pt?x.ZERO:this.is0()||h===R?this:b.unsafe(this,h,y=>kt(x,y),w)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return b.unsafe(this,s.n).is0()}toAffine(h){return f(this,h)}clearCofactor(){return i===R?this:this.multiplyUnsafe(i)}toBytes(){let{x:h,y:w}=this.toAffine(),y=n.toBytes(w);return y[y.length-1]|=h&R?128:0,y}toHex(){return v(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(h){return kt(x,h)}static msm(h,w){return he(x,o,h,w)}_setWindowSize(h){this.precompute(h)}toRawBytes(){return this.toBytes()}}x.BASE=new x(s.Gx,s.Gy,R,c(s.Gx*s.Gy)),x.ZERO=new x(pt,R,R,pt),x.Fp=n,x.Fn=o;let b=new le(x,o.BITS);return x.BASE.precompute(8),x}var xe=class{constructor(t){this.ep=t}static fromBytes(t){$e()}static fromHex(t){$e()}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 v(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 io(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Kt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||Ae,c=r.adjustScalarBytes||(g=>g),u=r.domain||((g,m,_)=>{if(fe(_,"phflag"),m.length||_)throw new Error("Contexts/pre-hash are not supported");return g});function l(g){return i.create(xt(g))}function d(g){let m=y.secretKey;g=K("private key",g,m);let _=K("hashed private key",t(g),2*m),S=c(_.slice(0,m)),T=_.slice(m,2*m),O=l(S);return{head:S,prefix:T,scalar:O}}function f(g){let{head:m,prefix:_,scalar:S}=d(g),T=o.multiply(S),O=T.toBytes();return{head:m,prefix:_,scalar:S,point:T,pointBytes:O}}function p(g){return f(g).pointBytes}function x(g=Uint8Array.of(),...m){let _=G(...m);return l(t(u(_,K("context",g),!!n)))}function b(g,m,_={}){g=K("message",g),n&&(g=n(g));let{prefix:S,scalar:T,pointBytes:O}=f(m),P=x(_.context,S,g),j=o.multiply(P).toBytes(),ct=x(_.context,j,O,g),bt=i.create(P+ct*T);if(!i.isValid(bt))throw new Error("sign failed: invalid s");let Q=G(j,i.toBytes(bt));return qt(Q,y.signature,"result")}let E={zip215:!0};function h(g,m,_,S=E){let{context:T,zip215:O}=S,P=y.signature;g=K("signature",g,P),m=K("message",m),_=K("publicKey",_,y.publicKey),O!==void 0&&fe(O,"zip215"),n&&(m=n(m));let j=P/2,ct=g.subarray(0,j),bt=xt(g.subarray(j,P)),Q,Lt,Jt;try{Q=e.fromBytes(_,O),Lt=e.fromBytes(ct,O),Jt=o.multiplyUnsafe(bt)}catch{return!1}if(!O&&Q.isSmallOrder())return!1;let we=x(T,Lt.toBytes(),Q.toBytes(),m);return Lt.add(Q.multiplyUnsafe(we)).subtract(Jt).clearCofactor().is0()}let w=s.BYTES,y={secretKey:w,publicKey:w,signature:2*w,seed:w};function I(g=a(y.seed)){return qt(g,y.seed,"seed")}function A(g){let m=B.randomSecretKey(g);return{secretKey:m,publicKey:p(m)}}function D(g){return wt(g)&&g.length===i.BYTES}function L(g,m){try{return!!e.fromBytes(g,m)}catch{return!1}}let B={getExtendedPublicKey:f,randomSecretKey:I,isValidSecretKey:D,isValidPublicKey:L,toMontgomery(g){let{y:m}=e.fromBytes(g),_=y.publicKey,S=_===32;if(!S&&_!==57)throw new Error("only defined for 25519 and 448");let T=S?s.div(R+m,R-m):s.div(m-R,m+R);return s.toBytes(T)},toMontgomerySecret(g){let m=y.secretKey;qt(g,m);let _=t(g.subarray(0,m));return c(_).subarray(0,m)},randomPrivateKey:I,precompute(g=8,m=e.BASE){return m.precompute(g,!1)}};return Object.freeze({keygen:A,getPublicKey:p,sign:b,verify:h,utils:B,Point:e,lengths:y})}function co(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=ot(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function ao(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function un(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=co(e),s=so(t,r),i=io(s,n,o);return ao(e,i)}var fo=BigInt(0),st=BigInt(1),dn=BigInt(2),oi=BigInt(3),uo=BigInt(5),lo=BigInt(8),Tt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Vt={p:Tt,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:lo,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function ho(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Tt,a=e*e%s*e%s,c=z(a,dn,s)*a%s,u=z(c,st,s)*e%s,l=z(u,uo,s)*u%s,d=z(l,t,s)*l%s,f=z(d,r,s)*d%s,p=z(f,n,s)*f%s,x=z(p,o,s)*p%s,b=z(x,o,s)*p%s,E=z(b,t,s)*l%s;return{pow_p_5_8:z(E,dn,s)*e%s,b2:a}}function xo(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Je=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function er(e,t){let r=Tt,n=C(t*t*t,r),o=C(n*n*t,r),s=ho(e*o).pow_p_5_8,i=C(e*n*s,r),a=C(t*i*i,r),c=i,u=C(i*Je,r),l=a===e,d=a===C(-e,r),f=a===C(-e*Je,r);return l&&(i=c),(d||f)&&(i=u),nt(i,r)&&(i=C(-i,r)),{isValid:l||d,value:i}}var yt=ot(Vt.p,{isLE:!0}),po=ot(Vt.n,{isLE:!0}),yo={...Vt,Fp:yt,hash:Pr,adjustScalarBytes:xo,uvRatio:er},k=un(yo);var Qe=Je,go=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),bo=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),mo=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),wo=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ln=e=>er(st,e),Eo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),tr=e=>k.Point.Fp.create(xt(e)&Eo);function hn(e){let{d:t}=Vt,r=Tt,n=h=>yt.create(h),o=n(Qe*e*e),s=n((o+st)*mo),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=er(s,a),l=n(u*e);nt(l,r)||(l=n(-l)),c||(u=l),c||(i=o);let d=n(i*(o-st)*wo-a),f=u*u,p=n((u+u)*a),x=n(d*go),b=n(st-f),E=n(st+f);return new k.Point(n(p*E),n(b*x),n(x*E),n(p*b))}function _o(e){$(e,64);let t=tr(e.subarray(0,32)),r=hn(t),n=tr(e.subarray(32,64)),o=hn(n);return new it(r.add(o))}var it=class e extends xe{constructor(t){super(t)}static fromAffine(t){return new e(k.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return _o(K("ristrettoHash",t,64))}static fromBytes(t){$(t,32);let{a:r,d:n}=Vt,o=Tt,s=I=>yt.create(I),i=tr(t);if(!Vr(yt.toBytes(i),t)||nt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(st+r*a),u=s(st-r*a),l=s(c*c),d=s(u*u),f=s(r*n*l-d),{isValid:p,value:x}=ln(s(f*d)),b=s(x*u),E=s(x*b*f),h=s((i+i)*b);nt(h,o)&&(h=s(-h));let w=s(c*E),y=s(h*w);if(!p||nt(y,o)||w===fo)throw new Error("invalid ristretto255 encoding 2");return new e(new k.Point(h,w,st,y))}static fromHex(t){return e.fromBytes(K("ristrettoHex",t,32))}static msm(t,r){return he(e,k.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=Tt,i=E=>yt.create(E),a=i(i(n+r)*i(n-r)),c=i(t*r),u=i(c*c),{value:l}=ln(i(a*u)),d=i(l*a),f=i(l*c),p=i(d*f*o),x;if(nt(o*p,s)){let E=i(r*Qe),h=i(t*Qe);t=E,r=h,x=i(d*bo)}else x=f;nt(t*p,s)&&(r=i(-r));let b=i((n-r)*x);return nt(b,s)&&(b=i(-b)),yt.toBytes(b)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>yt.create(u),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(e.ZERO)}};it.BASE=new it(k.Point.BASE);it.ZERO=new it(k.Point.ZERO);it.Fp=yt;it.Fn=po;var xn=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw H.fromCode(new Nt("Length too long (> 4 bytes)"))},pn=(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 H.fromCode(new Nt("Length too long (> 4 bytes)"))},rr=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw H.fromCode(new lt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw H.fromCode(new lt("Length too long (> 4 bytes)"))},Io=(e,t)=>{let r=rr(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 H.fromCode(new lt("Length too long (> 4 bytes)"))},ai=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),nr=Uint8Array.from([48,5,6,3,43,101,112]),fi=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),ui=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function yn(e,t){let r=2+xn(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+xn(n)+n);return s[o++]=48,o+=pn(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=pn(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var gn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw H.fromCode(new lt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=rr(o,r),!Mr(o.slice(r,r+t.byteLength),t))throw H.fromCode(new lt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=Io(o,r)-1;r+=rr(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw H.fromCode(new ie(s,i.length));return i};function bn(e){return e!==null&&typeof e=="object"}var $t=class e{static from(t){if(typeof t=="string"){let r=q(t);return this.fromRaw(r)}else if(bn(t)){let r=t;if(bn(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(X(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(X(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=yn(t,nr);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=gn(t,nr);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#t;get rawKey(){return this.#t}#e;get derKey(){return this.#e}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#t=t,this.#e=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},vt=class e extends ht{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=k.utils.randomPrivateKey()),Nr(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=k.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e($t.fromDer(q(r)),q(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($t.fromRaw(t),r)}static fromSecretKey(t){let r=k.getPublicKey(t);return e.fromKeyPair(r,t)}#t;#e;constructor(t,r){super(),this.#t=$t.from(t),this.#e=r}toJSON(){return[v(this.#t.toDer()),v(this.#e)]}getKeyPair(){return{secretKey:this.#e,publicKey:this.#t}}getPublicKey(){return this.#t}async sign(t){let r=k.sign(t,this.#e.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,s,i]=[t,r,n].map(a=>(typeof a=="string"&&(a=q(a)),X(a)));return k.verify(o,s,i)}};var or=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function mn(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 or("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 Gt=class e extends ht{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=mn(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=X(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(t,r){let n=mn(r),o=X(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=X(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var pe=class{#t;get rawKey(){return this.#t.rawKey}get derKey(){return this.#t.derKey}toDer(){return this.#t.toDer()}getPublicKey(){return this.#t}getPrincipal(){if(!this.#t.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return Z.fromUint8Array(new Uint8Array(this.#t.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.#t=t}};function sr(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return q(e)}var Dt=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:v(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Bo(e,t,r,n){let o=new Dt(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Me,...new Uint8Array(Ut({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var At=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await Bo(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:u,targets:l}=i;if(l!==void 0&&!Array.isArray(l))throw new Error("Invalid targets.");return{delegation:new Dt(sr(c),BigInt("0x"+u),l&&l.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return Z.fromHex(d)})),signature:sr(a)}});return new this(o,sr(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:v(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:v(n)}}),publicKey:v(this.publicKey)}}},Yt=class extends ht{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 Ut(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Mt,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ft=class e extends pe{#t;get delegation(){return this.#t}constructor(t,r){super(t),this.#t=r}static fromDelegation(t,r){return new e(t,r)}};function Zt(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"?Z.fromText(o):o)):r.push(typeof n=="string"?Z.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var wn=["mousedown","mousemove","keydown","touchstart","wheel"],zt=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new this(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),wn.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...u)=>{let l=this,d=function(){c=void 0,i.apply(l,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);wn.forEach(function(r){document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var Ao=(e,t)=>t.some(r=>e instanceof r),En,_n;function So(){return En||(En=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Oo(){return _n||(_n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var In=new WeakMap,cr=new WeakMap,Bn=new WeakMap,ir=new WeakMap,fr=new WeakMap;function To(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(J(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return t.then(r=>{r instanceof IDBCursor&&In.set(r,e)}).catch(()=>{}),fr.set(t,e),t}function vo(e){if(cr.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});cr.set(e,t)}var ar={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return cr.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Bn.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return J(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 An(e){ar=e(ar)}function Do(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(ye(this),t,...r);return Bn.set(n,t.sort?t.sort():[t]),J(n)}:Oo().includes(e)?function(...t){return e.apply(ye(this),t),J(In.get(this))}:function(...t){return J(e.apply(ye(this),t))}}function Lo(e){return typeof e=="function"?Do(e):(e instanceof IDBTransaction&&vo(e),Ao(e,So())?new Proxy(e,ar):e)}function J(e){if(e instanceof IDBRequest)return To(e);if(ir.has(e))return ir.get(e);let t=Lo(e);return t!==e&&(ir.set(e,t),fr.set(t,e)),t}var ye=e=>fr.get(e);function On(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),a=J(i);return n&&i.addEventListener("upgradeneeded",c=>{n(J(i.result),c.oldVersion,c.newVersion,J(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Co=["get","getKey","getAll","getAllKeys","count"],Po=["put","add","delete","clear"],ur=new Map;function Sn(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(ur.get(t))return ur.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Po.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Co.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return ur.set(t,s),s}An(e=>({...e,get:(t,r,n)=>Sn(t,r)||e.get(t,r,n),has:(t,r)=>!!Sn(t,r)||e.has(t,r)}));var Tn="auth-client-db",vn="ic-keyval",Ro=async(e=Tn,t=vn,r)=>(ge&&localStorage?.getItem(V)&&(localStorage.removeItem(V),localStorage.removeItem(Y)),await On(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function No(e,t,r){return await e.get(t,r)}async function Uo(e,t,r,n){return await e.put(t,n,r)}async function Mo(e,t,r){return await e.delete(t,r)}var Wt=class e{_db;_storeName;static async create(t){let{dbName:r=Tn,storeName:n=vn,version:o=Dn}=t??{},s=await Ro(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await Uo(this._db,this._storeName,t,r)}async get(t){return await No(this._db,this._storeName,t)??null}async remove(t){return await Mo(this._db,this._storeName,t)}};var Y="identity",V="delegation",Ln="iv",Dn=1,ge=typeof window<"u",Xt=class{prefix;_localStorage;constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},gt=class{#t;constructor(t){this.#t=t??{}}initializedDb;get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}Wt.create(this.#t).then(r=>{this.initializedDb=r,t(r)})})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var jo=BigInt(1e9),qo=BigInt(3600),Ho=jo*qo,Ko="https://identity.internetcomputer.org",ko="#authorize",Vo=BigInt(8)*Ho,dr="ECDSA",lr="Ed25519",$o=500,Go="UserInterrupt",be=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(t={}){let r=t.storage??new gt,n=t.keyType??dr,o=null;if(t.identity)o=t.identity;else{let c=await r.get(Y);if(!c&&ge)try{let u=new Xt,l=await u.get(V),d=await u.get(Y);l&&d&&n===dr&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(V,l),await r.set(Y,d),c=l,await u.remove(V),await u.remove(Y))}catch(u){console.error("error while attempting to recover localstorage: "+u)}if(c)try{typeof c=="object"?n===lr&&typeof c=="string"?o=vt.fromJSON(c):o=await Gt.fromKeyPair(c):typeof c=="string"&&(o=vt.fromJSON(c))}catch{}}let s=new jt,i=null;if(o)try{let c=await r.get(V);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?s=t.identity:c&&(i=At.fromJSON(c),Zt(i)?"toDer"in o?s=Ft.fromDelegation(o,i):s=Yt.fromDelegation(o,i):(await hr(r),o=null))}catch(c){console.error(c),await hr(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=zt.create(t.idleOptions)),o||(n===lr?(o=vt.generate(),await r.set(Y,JSON.stringify(o.toJSON()))):(t.storage&&n===dr&&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 '${lr}' as the key type, as it can serialize to a string`),o=await Gt.generate(),await r.set(Y,o.getKeyPair()))),new this(s,o,i,r,a,t)}constructor(t,r,n,o,s,i,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Dt(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=At.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=Ft.fromDelegation(s,this._chain):this._identity=Yt.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=zt.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(V,JSON.stringify(this._chain.toJSON())),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Zt(this._chain)}async login(t){let r=Yo(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??Vo,o=new URL(r?.identityProvider?.toString()||Ko);o.hash=ko,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Go,r?.onError):setTimeout(s,$o))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default:break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await hr(this._storage),this._identity=new jt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function hr(e){await e.remove(Y),await e.remove(V),await e.remove(Ln)}function Yo(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}var lc=BigInt(144e11);var Cn=1e3;var Pn=()=>be.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var Rn=({data:e})=>{let{msg:t}=e;switch(t){case"junoStartAuthTimer":Fo();return;case"junoStopAuthTimer":Nn();return}},me,Fo=()=>me=setInterval(async()=>await Zo(),Cn),Nn=()=>{me&&(clearInterval(me),me=void 0)},Zo=async()=>{let[e,t]=await Promise.all([zo(),Wo()]);if(e&&t.valid&&t.delegation!==null){Jo(t.delegation);return}Xo()},zo=async()=>(await Pn()).isAuthenticated(),Wo=async()=>{let t=await new gt().get(V),r=t!==null?At.fromJSON(t):null;return{valid:r!==null&&Zt(r),delegation:r}},Xo=()=>{Nn(),postMessage({msg:"junoSignOutAuthTimer"})},Jo=e=>{let t=e.delegations[0]?.delegation.expiration;if(t===void 0)return;let r=new Date(Number(t/BigInt(1e6))).getTime()-Date.now();postMessage({msg:"junoDelegationRemainingTime",data:{authRemainingTime:r}})};onmessage=e=>{Rn(e)};})();
10
+ HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},Ue=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}`}},Le=class extends Ue{static fromCode(t){return new this(t)}};var k=class e extends Le{constructor(t){super(t,Ce.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}};var ae=class e extends Ot{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}`}},ht=class e extends Ot{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Rt=class e extends Ot{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}};var ce=class e extends Ot{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}`}};var _s=new Error("unreachable");var fe=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=W(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 W(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?W(e.buffer):new Uint8Array(e)}function Pe(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 Mr(e,t){return Pe(e,t)===0}function jr(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Re(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:jr(e))+1,r=new fe(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 Me(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?Me(e.buffer):new Uint8Array(e)}function Kr(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 je(e){if(typeof e=="string")return qr(e);if(typeof e=="number")return lt(Re(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return lt(Me(e));if(Array.isArray(e)){let t=e.map(je);return lt(G(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return lt(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return je(e.toHash());if(typeof e=="object")return kr(e);if(typeof e=="bigint")return lt(Re(e))}throw k.fromCode(new ce(e))}var qr=e=>{let t=new TextEncoder().encode(e);return lt(t)};function Mt(e){return kr(e)}function kr(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,c])=>{let a=qr(i),u=je(c);return[a,u]}).sort(([i],[c])=>Pe(i,c)),o=G(...n.map(i=>G(...i)));return lt(o)}var jt=new TextEncoder().encode(`
11
+ ic-request`),Wn=new TextEncoder().encode("\vic-response"),Ke=new TextEncoder().encode("ic-request-auth-delegation");var pt=class{getPrincipal(){return this._principal||(this._principal=Z.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Mt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(G(jt,o))}}}},Kt=class{getPrincipal(){return Z.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var He=BigInt(0),ke=BigInt(1);function ue(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function qt(e,t,r=""){let n=wt(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,c=s?` of length ${t}`:"",a=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+c+", got "+a)}return e}function Hr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?He:BigInt("0x"+e)}function $r(e){return Hr(N(e))}function xt(e){return F(e),Hr(N(Uint8Array.from(e).reverse()))}function $e(e,t){return q(e.toString(16).padStart(t*2,"0"))}function Vr(e,t){return $e(e,t).reverse()}function H(e,t,r){let n;if(typeof t=="string")try{n=q(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(wt(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 Fr(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 Ve(e){return Uint8Array.from(e)}var qe=e=>typeof e=="bigint"&&He<=e;function Jn(e,t,r){return qe(e)&&qe(t)&&qe(r)&&t<=e&&e<r}function Fe(e,t,r,n){if(!Jn(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Gr(e){let t;for(t=0;e>He;e>>=ke,t+=1);return t}var kt=e=>(ke<<BigInt(e))-ke;function Ht(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let c=e[o];if(i&&c===void 0)return;let a=typeof c;if(a!==s||c===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${a}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var Ge=()=>{throw new Error("not implemented")};function Ye(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var M=BigInt(0),R=BigInt(1),At=BigInt(2),zr=BigInt(3),Xr=BigInt(4),Wr=BigInt(5),Qn=BigInt(7),Jr=BigInt(8),to=BigInt(9),Qr=BigInt(16);function C(e,t){let r=e%t;return r>=M?r:t+r}function z(e,t,r){let n=e;for(;t-- >M;)n*=n,n%=r;return n}function Yr(e,t){if(e===M)throw new Error("invert: expected non-zero number");if(t<=M)throw new Error("invert: expected positive modulus, got "+t);let r=C(e,t),n=t,o=M,s=R,i=R,c=M;for(;r!==M;){let u=n/r,l=n%r,d=o-i*u,f=s-c*u;n=r,r=l,o=i,s=c,i=d,c=f}if(n!==R)throw new Error("invert: does not exist");return C(o,t)}function Ze(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function tn(e,t){let r=(e.ORDER+R)/Xr,n=e.pow(t,r);return Ze(e,n,t),n}function eo(e,t){let r=(e.ORDER-Wr)/Jr,n=e.mul(t,At),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,At),o),c=e.mul(s,e.sub(i,e.ONE));return Ze(e,c,t),c}function ro(e){let t=st(e),r=en(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Qn)/Qr;return(c,a)=>{let u=c.pow(a,i),l=c.mul(u,n),d=c.mul(u,o),f=c.mul(u,s),x=c.eql(c.sqr(l),a),p=c.eql(c.sqr(d),a);u=c.cmov(u,l,x),l=c.cmov(f,d,p);let m=c.eql(c.sqr(l),a),E=c.cmov(u,l,m);return Ze(c,E,a),E}}function en(e){if(e<zr)throw new Error("sqrt is not defined for small field");let t=e-R,r=0;for(;t%At===M;)t/=At,r++;let n=At,o=st(e);for(;Zr(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return tn;let s=o.pow(n,t),i=(t+R)/At;return function(a,u){if(a.is0(u))return u;if(Zr(a,u)!==1)throw new Error("Cannot find square root");let l=r,d=a.mul(a.ONE,s),f=a.pow(u,t),x=a.pow(u,i);for(;!a.eql(f,a.ONE);){if(a.is0(f))return a.ZERO;let p=1,m=a.sqr(f);for(;!a.eql(m,a.ONE);)if(p++,m=a.sqr(m),p===l)throw new Error("Cannot find square root");let E=R<<BigInt(l-p-1),h=a.pow(d,E);l=p,d=a.sqr(h),f=a.mul(f,d),x=a.mul(x,h)}return x}}function no(e){return e%Xr===zr?tn:e%Jr===Wr?eo:e%Qr===to?ro(e):en(e)}var ot=(e,t)=>(C(e,t)&R)===R,oo=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rn(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=oo.reduce((n,o)=>(n[o]="function",n),t);return Ht(e,r),e}function so(e,t,r){if(r<M)throw new Error("invalid exponent, negatives unsupported");if(r===M)return e.ONE;if(r===R)return t;let n=e.ONE,o=t;for(;r>M;)r&R&&(n=e.mul(n,o)),o=e.sqr(o),r>>=R;return n}function de(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,c,a)=>e.is0(c)?i:(n[a]=i,e.mul(i,c)),e.ONE),s=e.inv(o);return t.reduceRight((i,c,a)=>e.is0(c)?i:(n[a]=e.mul(i,n[a]),e.mul(i,c)),s),n}function Zr(e,t){let r=(e.ORDER-R)/At,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function nn(e,t){t!==void 0&&_e(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function st(e,t,r=!1,n={}){if(e<=M)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!1,c;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let f=t;f.BITS&&(o=f.BITS),f.sqrt&&(s=f.sqrt),typeof f.isLE=="boolean"&&(r=f.isLE),typeof f.modFromBytes=="boolean"&&(i=f.modFromBytes),c=f.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:a,nByteLength:u}=nn(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let l,d=Object.freeze({ORDER:e,isLE:r,BITS:a,BYTES:u,MASK:kt(a),ZERO:M,ONE:R,allowedLengths:c,create:f=>C(f,e),isValid:f=>{if(typeof f!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof f);return M<=f&&f<e},is0:f=>f===M,isValidNot0:f=>!d.is0(f)&&d.isValid(f),isOdd:f=>(f&R)===R,neg:f=>C(-f,e),eql:(f,x)=>f===x,sqr:f=>C(f*f,e),add:(f,x)=>C(f+x,e),sub:(f,x)=>C(f-x,e),mul:(f,x)=>C(f*x,e),pow:(f,x)=>so(d,f,x),div:(f,x)=>C(f*Yr(x,e),e),sqrN:f=>f*f,addN:(f,x)=>f+x,subN:(f,x)=>f-x,mulN:(f,x)=>f*x,inv:f=>Yr(f,e),sqrt:s||(f=>(l||(l=no(e)),l(d,f))),toBytes:f=>r?Vr(f,u):$e(f,u),fromBytes:(f,x=!0)=>{if(c){if(!c.includes(f.length)||f.length>u)throw new Error("Field.fromBytes: expected "+c+" bytes, got "+f.length);let m=new Uint8Array(u);m.set(f,r?0:m.length-f.length),f=m}if(f.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+f.length);let p=r?xt(f):$r(f);if(i&&(p=C(p,e)),!x&&!d.isValid(p))throw new Error("invalid field element: outside of range 0..ORDER");return p},invertBatch:f=>de(d,f),cmov:(f,x,p)=>p?x:f});return Object.freeze(d)}var le=BigInt(0),Je=BigInt(1);function on(e,t){let r=t.negate();return e?r:t}function $t(e,t){let r=de(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function fn(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ze(e,t){fn(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=kt(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function sn(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,c=Number(e&o),a=e>>i;c>n&&(c-=s,a+=Je);let u=t*n,l=u+Math.abs(c)-1,d=c===0,f=c<0,x=t%2!==0;return{nextN:a,offset:l,isZero:d,isNeg:f,isNegF:x,offsetF:u}}function io(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 ao(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 Xe=new WeakMap,un=new WeakMap;function We(e){return un.get(e)||1}function an(e){if(e!==le)throw new Error("invalid wNAF")}var he=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>le;)r&Je&&(n=n.add(o)),o=o.double(),r>>=Je;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ze(r,this.bits),s=[],i=t,c=i;for(let a=0;a<n;a++){c=i,s.push(c);for(let u=1;u<o;u++)c=c.add(i),s.push(c);i=c.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=ze(t,this.bits);for(let c=0;c<i.windows;c++){let{nextN:a,offset:u,isZero:l,isNeg:d,isNegF:f,offsetF:x}=sn(n,c,i);n=a,l?s=s.add(on(f,r[x])):o=o.add(on(d,r[u]))}return an(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=ze(t,this.bits);for(let i=0;i<s.windows&&n!==le;i++){let{nextN:c,offset:a,isZero:u,isNeg:l}=sn(n,i,s);if(n=c,!u){let d=r[a];o=o.add(l?d.negate():d)}}return an(n),o}getPrecomputes(t,r,n){let o=Xe.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Xe.set(r,o))),o}cached(t,r,n){let o=We(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=We(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){fn(r,this.bits),un.set(t,r),Xe.delete(t)}hasCache(t){return We(t)!==1}};function pe(e,t,r,n){io(r,e),ao(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,c=Gr(BigInt(o)),a=1;c>12?a=c-3:c>4?a=c-2:c>0&&(a=2);let u=kt(a),l=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/a)*a,f=i;for(let x=d;x>=0;x-=a){l.fill(i);for(let m=0;m<s;m++){let E=n[m],h=Number(E>>BigInt(x)&u);l[h]=l[h].add(r[m])}let p=i;for(let m=l.length-1,E=i;m>0;m--)E=E.add(l[m]),p=p.add(E);if(f=f.add(p),x!==0)for(let m=0;m<a;m++)f=f.double()}return f}function cn(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return rn(t),t}else return st(e,{isLE:r})}function dn(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 a of["p","n","h"]){let u=t[a];if(!(typeof u=="bigint"&&u>le))throw new Error(`CURVE.${a} must be positive bigint`)}let o=cn(t.p,r.Fp,n),s=cn(t.n,r.Fn,n),c=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of c)if(!o.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}var yt=BigInt(0),L=BigInt(1),Qe=BigInt(2),co=BigInt(8);function fo(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),c=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,c)}function uo(e,t={}){let r=dn("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Ht(t,{},{uvRatio:"function"});let c=Qe<<BigInt(o.BYTES*8)-L,a=E=>n.create(E),u=t.uvRatio||((E,h)=>{try{return{isValid:!0,value:n.sqrt(n.div(E,h))}}catch{return{isValid:!1,value:yt}}});if(!fo(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(E,h,w=!1){let y=w?L:yt;return Fe("coordinate "+E,h,y,c),h}function d(E){if(!(E instanceof p))throw new Error("ExtendedPoint expected")}let f=Ye((E,h)=>{let{X:w,Y:y,Z:_}=E,B=E.is0();h==null&&(h=B?co:n.inv(_));let v=a(w*h),D=a(y*h),A=n.mul(_,h);if(B)return{x:yt,y:L};if(A!==L)throw new Error("invZ was invalid");return{x:v,y:D}}),x=Ye(E=>{let{a:h,d:w}=s;if(E.is0())throw new Error("bad point: ZERO");let{X:y,Y:_,Z:B,T:v}=E,D=a(y*y),A=a(_*_),g=a(B*B),b=a(g*g),I=a(D*h),S=a(g*a(I+A)),O=a(b+a(w*a(D*A)));if(S!==O)throw new Error("bad point: equation left != right (1)");let T=a(y*_),U=a(B*v);if(T!==U)throw new Error("bad point: equation left != right (2)");return!0});class p{constructor(h,w,y,_){this.X=l("x",h),this.Y=l("y",w),this.Z=l("z",y,!0),this.T=l("t",_),Object.freeze(this)}static CURVE(){return s}static fromAffine(h){if(h instanceof p)throw new Error("extended point not allowed");let{x:w,y}=h||{};return l("x",w),l("y",y),new p(w,y,L,a(w*y))}static fromBytes(h,w=!1){let y=n.BYTES,{a:_,d:B}=s;h=Ve(qt(h,y,"point")),ue(w,"zip215");let v=Ve(h),D=h[y-1];v[y-1]=D&-129;let A=xt(v),g=w?c:n.ORDER;Fe("point.y",A,yt,g);let b=a(A*A),I=a(b-L),S=a(B*b-_),{isValid:O,value:T}=u(I,S);if(!O)throw new Error("bad point: invalid y coordinate");let U=(T&L)===L,K=(D&128)!==0;if(!w&&T===yt&&K)throw new Error("bad point: x=0 and x_0=1");return K!==U&&(T=a(-T)),p.fromAffine({x:T,y:A})}static fromHex(h,w=!1){return p.fromBytes(H("point",h),w)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(h=8,w=!0){return m.createCache(this,h),w||this.multiply(Qe),this}assertValidity(){x(this)}equals(h){d(h);let{X:w,Y:y,Z:_}=this,{X:B,Y:v,Z:D}=h,A=a(w*D),g=a(B*_),b=a(y*D),I=a(v*_);return A===g&&b===I}is0(){return this.equals(p.ZERO)}negate(){return new p(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:h}=s,{X:w,Y:y,Z:_}=this,B=a(w*w),v=a(y*y),D=a(Qe*a(_*_)),A=a(h*B),g=w+y,b=a(a(g*g)-B-v),I=A+v,S=I-D,O=A-v,T=a(b*S),U=a(I*O),K=a(b*O),ct=a(S*I);return new p(T,U,ct,K)}add(h){d(h);let{a:w,d:y}=s,{X:_,Y:B,Z:v,T:D}=this,{X:A,Y:g,Z:b,T:I}=h,S=a(_*A),O=a(B*g),T=a(D*y*I),U=a(v*b),K=a((_+B)*(A+g)-S-O),ct=U-T,mt=U+T,tt=a(O-w*S),Ct=a(K*ct),Qt=a(mt*tt),Ie=a(K*tt),yr=a(ct*mt);return new p(Ct,Qt,yr,Ie)}subtract(h){return this.add(h.negate())}multiply(h){if(!o.isValidNot0(h))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:w,f:y}=m.cached(this,h,_=>$t(p,_));return $t(p,[w,y])[0]}multiplyUnsafe(h,w=p.ZERO){if(!o.isValid(h))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return h===yt?p.ZERO:this.is0()||h===L?this:m.unsafe(this,h,y=>$t(p,y),w)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return m.unsafe(this,s.n).is0()}toAffine(h){return f(this,h)}clearCofactor(){return i===L?this:this.multiplyUnsafe(i)}toBytes(){let{x:h,y:w}=this.toAffine(),y=n.toBytes(w);return y[y.length-1]|=h&L?128:0,y}toHex(){return N(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(h){return $t(p,h)}static msm(h,w){return pe(p,o,h,w)}_setWindowSize(h){this.precompute(h)}toRawBytes(){return this.toBytes()}}p.BASE=new p(s.Gx,s.Gy,L,a(s.Gx*s.Gy)),p.ZERO=new p(yt,L,L,yt),p.Fp=n,p.Fn=o;let m=new he(p,o.BITS);return p.BASE.precompute(8),p}var xe=class{constructor(t){this.ep=t}static fromBytes(t){Ge()}static fromHex(t){Ge()}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 N(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 lo(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Ht(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,c=r.randomBytes||Te,a=r.adjustScalarBytes||(g=>g),u=r.domain||((g,b,I)=>{if(ue(I,"phflag"),b.length||I)throw new Error("Contexts/pre-hash are not supported");return g});function l(g){return i.create(xt(g))}function d(g){let b=y.secretKey;g=H("private key",g,b);let I=H("hashed private key",t(g),2*b),S=a(I.slice(0,b)),O=I.slice(b,2*b),T=l(S);return{head:S,prefix:O,scalar:T}}function f(g){let{head:b,prefix:I,scalar:S}=d(g),O=o.multiply(S),T=O.toBytes();return{head:b,prefix:I,scalar:S,point:O,pointBytes:T}}function x(g){return f(g).pointBytes}function p(g=Uint8Array.of(),...b){let I=G(...b);return l(t(u(I,H("context",g),!!n)))}function m(g,b,I={}){g=H("message",g),n&&(g=n(g));let{prefix:S,scalar:O,pointBytes:T}=f(b),U=p(I.context,S,g),K=o.multiply(U).toBytes(),ct=p(I.context,K,T,g),mt=i.create(U+ct*O);if(!i.isValid(mt))throw new Error("sign failed: invalid s");let tt=G(K,i.toBytes(mt));return qt(tt,y.signature,"result")}let E={zip215:!0};function h(g,b,I,S=E){let{context:O,zip215:T}=S,U=y.signature;g=H("signature",g,U),b=H("message",b),I=H("publicKey",I,y.publicKey),T!==void 0&&ue(T,"zip215"),n&&(b=n(b));let K=U/2,ct=g.subarray(0,K),mt=xt(g.subarray(K,U)),tt,Ct,Qt;try{tt=e.fromBytes(I,T),Ct=e.fromBytes(ct,T),Qt=o.multiplyUnsafe(mt)}catch{return!1}if(!T&&tt.isSmallOrder())return!1;let Ie=p(O,Ct.toBytes(),tt.toBytes(),b);return Ct.add(tt.multiplyUnsafe(Ie)).subtract(Qt).clearCofactor().is0()}let w=s.BYTES,y={secretKey:w,publicKey:w,signature:2*w,seed:w};function _(g=c(y.seed)){return qt(g,y.seed,"seed")}function B(g){let b=A.randomSecretKey(g);return{secretKey:b,publicKey:x(b)}}function v(g){return wt(g)&&g.length===i.BYTES}function D(g,b){try{return!!e.fromBytes(g,b)}catch{return!1}}let A={getExtendedPublicKey:f,randomSecretKey:_,isValidSecretKey:v,isValidPublicKey:D,toMontgomery(g){let{y:b}=e.fromBytes(g),I=y.publicKey,S=I===32;if(!S&&I!==57)throw new Error("only defined for 25519 and 448");let O=S?s.div(L+b,L-b):s.div(b-L,b+L);return s.toBytes(O)},toMontgomerySecret(g){let b=y.secretKey;qt(g,b);let I=t(g.subarray(0,b));return a(I).subarray(0,b)},randomPrivateKey:_,precompute(g=8,b=e.BASE){return b.precompute(g,!1)}};return Object.freeze({keygen:B,getPublicKey:x,sign:m,verify:h,utils:A,Point:e,lengths:y})}function ho(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=st(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function po(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function ln(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=ho(e),s=uo(t,r),i=lo(s,n,o);return po(e,i)}var xo=BigInt(0),it=BigInt(1),hn=BigInt(2),ui=BigInt(3),yo=BigInt(5),go=BigInt(8),vt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Vt={p:vt,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:go,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function mo(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=vt,c=e*e%s*e%s,a=z(c,hn,s)*c%s,u=z(a,it,s)*e%s,l=z(u,yo,s)*u%s,d=z(l,t,s)*l%s,f=z(d,r,s)*d%s,x=z(f,n,s)*f%s,p=z(x,o,s)*x%s,m=z(p,o,s)*x%s,E=z(m,t,s)*l%s;return{pow_p_5_8:z(E,hn,s)*e%s,b2:c}}function bo(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var tr=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function nr(e,t){let r=vt,n=C(t*t*t,r),o=C(n*n*t,r),s=mo(e*o).pow_p_5_8,i=C(e*n*s,r),c=C(t*i*i,r),a=i,u=C(i*tr,r),l=c===e,d=c===C(-e,r),f=c===C(-e*tr,r);return l&&(i=a),(d||f)&&(i=u),ot(i,r)&&(i=C(-i,r)),{isValid:l||d,value:i}}var gt=st(Vt.p,{isLE:!0}),wo=st(Vt.n,{isLE:!0}),Eo={...Vt,Fp:gt,hash:Pr,adjustScalarBytes:bo,uvRatio:nr},$=ln(Eo);var er=tr,Io=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),_o=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ao=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Bo=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),pn=e=>nr(it,e),So=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),rr=e=>$.Point.Fp.create(xt(e)&So);function xn(e){let{d:t}=Vt,r=vt,n=h=>gt.create(h),o=n(er*e*e),s=n((o+it)*Ao),i=BigInt(-1),c=n((i-t*o)*n(o+t)),{isValid:a,value:u}=nr(s,c),l=n(u*e);ot(l,r)||(l=n(-l)),a||(u=l),a||(i=o);let d=n(i*(o-it)*Bo-c),f=u*u,x=n((u+u)*c),p=n(d*Io),m=n(it-f),E=n(it+f);return new $.Point(n(x*E),n(m*p),n(p*E),n(x*m))}function To(e){F(e,64);let t=rr(e.subarray(0,32)),r=xn(t),n=rr(e.subarray(32,64)),o=xn(n);return new at(r.add(o))}var at=class e extends xe{constructor(t){super(t)}static fromAffine(t){return new e($.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return To(H("ristrettoHash",t,64))}static fromBytes(t){F(t,32);let{a:r,d:n}=Vt,o=vt,s=_=>gt.create(_),i=rr(t);if(!Fr(gt.toBytes(i),t)||ot(i,o))throw new Error("invalid ristretto255 encoding 1");let c=s(i*i),a=s(it+r*c),u=s(it-r*c),l=s(a*a),d=s(u*u),f=s(r*n*l-d),{isValid:x,value:p}=pn(s(f*d)),m=s(p*u),E=s(p*m*f),h=s((i+i)*m);ot(h,o)&&(h=s(-h));let w=s(a*E),y=s(h*w);if(!x||ot(y,o)||w===xo)throw new Error("invalid ristretto255 encoding 2");return new e(new $.Point(h,w,it,y))}static fromHex(t){return e.fromBytes(H("ristrettoHex",t,32))}static msm(t,r){return pe(e,$.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=vt,i=E=>gt.create(E),c=i(i(n+r)*i(n-r)),a=i(t*r),u=i(a*a),{value:l}=pn(i(c*u)),d=i(l*c),f=i(l*a),x=i(d*f*o),p;if(ot(o*x,s)){let E=i(r*er),h=i(t*er);t=E,r=h,p=i(d*_o)}else p=f;ot(t*x,s)&&(r=i(-r));let m=i((n-r)*p);return ot(m,s)&&(m=i(-m)),gt.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>gt.create(u),c=i(r*s)===i(n*o),a=i(n*s)===i(r*o);return c||a}is0(){return this.equals(e.ZERO)}};at.BASE=new at($.Point.BASE);at.ZERO=new at($.Point.ZERO);at.Fp=gt;at.Fn=wo;var yn=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw k.fromCode(new Rt("Length too long (> 4 bytes)"))},gn=(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 k.fromCode(new Rt("Length too long (> 4 bytes)"))},or=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw k.fromCode(new ht("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw k.fromCode(new ht("Length too long (> 4 bytes)"))},Oo=(e,t)=>{let r=or(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 k.fromCode(new ht("Length too long (> 4 bytes)"))},pi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),sr=Uint8Array.from([48,5,6,3,43,101,112]),xi=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),yi=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 mn(e,t){let r=2+yn(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+yn(n)+n);return s[o++]=48,o+=gn(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=gn(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var bn=(e,t)=>{let r=0,n=(c,a)=>{if(o[r++]!==c)throw k.fromCode(new ht(`Expected ${a} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=or(o,r),!Kr(o.slice(r,r+t.byteLength),t))throw k.fromCode(new ht("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=Oo(o,r)-1;r+=or(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw k.fromCode(new ae(s,i.length));return i};function wn(e){return e!==null&&typeof e=="object"}var Ft=class e{static from(t){if(typeof t=="string"){let r=q(t);return this.fromRaw(r)}else if(wn(t)){let r=t;if(wn(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(W(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(W(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=mn(t,sr);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=bn(t,sr);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#t;get rawKey(){return this.#t}#e;get derKey(){return this.#e}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#t=t,this.#e=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},Bt=class e extends pt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=$.utils.randomPrivateKey()),Mr(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=$.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Ft.fromDer(q(r)),q(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(Ft.fromRaw(t),r)}static fromSecretKey(t){let r=$.getPublicKey(t);return e.fromKeyPair(r,t)}#t;#e;constructor(t,r){super(),this.#t=Ft.from(t),this.#e=r}toJSON(){return[N(this.#t.toDer()),N(this.#e)]}getKeyPair(){return{secretKey:this.#e,publicKey:this.#t}}getPublicKey(){return this.#t}async sign(t){let r=$.sign(t,this.#e.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,s,i]=[t,r,n].map(c=>(typeof c=="string"&&(c=q(c)),W(c)));return $.verify(o,s,i)}};var ir=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function En(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 ir("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 Dt=class e extends pt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=En(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),c=W(await s.exportKey("spki",i.publicKey));return Object.assign(c,{__derEncodedPublicKey__:void 0}),new this(i,c,s)}static async fromKeyPair(t,r){let n=En(r),o=W(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=W(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ye=class{#t;get rawKey(){return this.#t.rawKey}get derKey(){return this.#t.derKey}toDer(){return this.#t.toDer()}getPublicKey(){return this.#t}getPrincipal(){if(!this.#t.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return Z.fromUint8Array(new Uint8Array(this.#t.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.#t=t}};function ge(e){return e instanceof Uint8Array?N(e):N(new Uint8Array(e))}function ar(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return q(e)}var Nt=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:ge(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function vo(e,t,r,n){let o=new Nt(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Ke,...new Uint8Array(Mt({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var St=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await vo(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:c}=s,{pubkey:a,expiration:u,targets:l}=i;if(l!==void 0&&!Array.isArray(l))throw new Error("Invalid targets.");return{delegation:new Nt(ar(a),BigInt("0x"+u),l&&l.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return Z.fromHex(d)})),signature:ar(c)}});return new this(o,ar(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:ge(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:ge(n)}}),publicKey:ge(this.publicKey)}}},Gt=class extends pt{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 Mt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...jt,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Yt=class e extends ye{#t;get delegation(){return this.#t}constructor(t,r){super(t),this.#t=r}static fromDelegation(t,r){return new e(t,r)}};function Zt(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"?Z.fromText(o):o)):r.push(typeof n=="string"?Z.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let c=!0;for(let a of i.targets)if(a.toText()===s){c=!1;break}if(c)return!1}}return!0}var In=["mousedown","mousemove","keydown","touchstart","wheel"],zt=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),In.forEach(i=>{document.addEventListener(i,o,!0)});let s=(i,c)=>{let a;return(...u)=>{let l=this,d=()=>{a=void 0,i.apply(l,u)};clearTimeout(a),a=window.setTimeout(d,c)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);In.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 Do=(e,t)=>t.some(r=>e instanceof r),_n,An;function No(){return _n||(_n=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Co(){return An||(An=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Bn=new WeakMap,fr=new WeakMap,Sn=new WeakMap,cr=new WeakMap,dr=new WeakMap;function Uo(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(J(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return t.then(r=>{r instanceof IDBCursor&&Bn.set(r,e)}).catch(()=>{}),dr.set(t,e),t}function Lo(e){if(fr.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});fr.set(e,t)}var ur={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return fr.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Sn.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return J(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 Tn(e){ur=e(ur)}function Po(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(me(this),t,...r);return Sn.set(n,t.sort?t.sort():[t]),J(n)}:Co().includes(e)?function(...t){return e.apply(me(this),t),J(Bn.get(this))}:function(...t){return J(e.apply(me(this),t))}}function Ro(e){return typeof e=="function"?Po(e):(e instanceof IDBTransaction&&Lo(e),Do(e,No())?new Proxy(e,ur):e)}function J(e){if(e instanceof IDBRequest)return Uo(e);if(cr.has(e))return cr.get(e);let t=Ro(e);return t!==e&&(cr.set(e,t),dr.set(t,e)),t}var me=e=>dr.get(e);function vn(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),c=J(i);return n&&i.addEventListener("upgradeneeded",a=>{n(J(i.result),a.oldVersion,a.newVersion,J(i.transaction),a)}),r&&i.addEventListener("blocked",a=>r(a.oldVersion,a.newVersion,a)),c.then(a=>{s&&a.addEventListener("close",()=>s()),o&&a.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),c}var Mo=["get","getKey","getAll","getAllKeys","count"],jo=["put","add","delete","clear"],lr=new Map;function On(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(lr.get(t))return lr.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=jo.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Mo.includes(r)))return;let s=async function(i,...c){let a=this.transaction(i,o?"readwrite":"readonly"),u=a.store;return n&&(u=u.index(c.shift())),(await Promise.all([u[r](...c),o&&a.done]))[0]};return lr.set(t,s),s}Tn(e=>({...e,get:(t,r,n)=>On(t,r)||e.get(t,r,n),has:(t,r)=>!!On(t,r)||e.has(t,r)}));var Dn="auth-client-db",Nn="ic-keyval",Ko=async(e=Dn,t=Nn,r)=>(globalThis.localStorage?.getItem(j)&&(globalThis.localStorage.removeItem(j),globalThis.localStorage.removeItem(V)),await vn(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function qo(e,t,r){return await e.get(t,r)}async function ko(e,t,r,n){return await e.put(t,n,r)}async function Ho(e,t,r){return await e.delete(t,r)}var be=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Dn,storeName:n=Nn,version:o=Cn}=t??{},s=await Ko(r,n,o);return new e(s,n)}async set(t,r){return await ko(this._db,this._storeName,t,r)}async get(t){return await qo(this._db,this._storeName,t)??null}async remove(t){return await Ho(this._db,this._storeName,t)}};var V="identity",j="delegation",Un="iv",Cn=1,Xt=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}},Q=class{#t;constructor(t){this.#t=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}be.create(this.#t).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 $o=BigInt(1e9),Vo=BigInt(3600),Fo=$o*Vo,Go="https://identity.internetcomputer.org",Yo="#authorize",Zo=BigInt(8)*Fo,hr="ECDSA",pr="Ed25519",zo=500,Pn="UserInterrupt",Wt=class e{constructor(t,r,n,o,s,i,c,a){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=c,this._eventHandler=a,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Q,n=t.keyType??hr,o=null;if(t.identity)o=t.identity;else{let a=await r.get(V);if(!a)try{let u=new Xt,l=await u.get(j),d=await u.get(V);l&&d&&n===hr&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(j,l),await r.set(V,d),a=l,await u.remove(j),await u.remove(V))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(a)try{typeof a=="object"?n===pr&&typeof a=="string"?o=Bt.fromJSON(a):o=await Dt.fromKeyPair(a):typeof a=="string"&&(o=Bt.fromJSON(a))}catch{}}let s=new Kt,i=null;if(o)try{let a=await r.get(j);if(typeof a=="object"&&a!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?s=t.identity:a&&(i=St.fromJSON(a),Zt(i)?"toDer"in o?s=Yt.fromDelegation(o,i):s=Gt.fromDelegation(o,i):(await xr(r),o=null))}catch(a){console.error(a),await xr(r),o=null}let c;return t.idleOptions?.disableIdle?c=void 0:(i||t.identity)&&(c=zt.create(t.idleOptions)),o||(n===pr?o=Bt.generate():(t.storage&&n===hr&&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 '${pr}' as the key type, as it can serialize to a string`),o=await Dt.generate()),await Ln(r,o)),new e(s,o,i,r,c,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(c=>({delegation:new Nt(c.delegation.pubkey,c.delegation.expiration,c.delegation.targets),signature:c.signature})),o=St.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=Yt.fromDelegation(s,this._chain):this._identity=Gt.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=zt.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(j,JSON.stringify(this._chain.toJSON())),await Ln(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Zt(this._chain)}async login(t){let r=Xo(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??Zo,o=new URL(r?.identityProvider?.toString()||Go);o.hash=Yo,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Pn,r?.onError):setTimeout(s,zo))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await xr(this._storage),this._identity=new Kt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function xr(e){await e.remove(V),await e.remove(j),await e.remove(Un)}function Xo(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function Wo(e){if(e instanceof Dt)return e.getKeyPair();if(e instanceof Bt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Ln(e,t){let r=Wo(t);await e.set(V,r)}var ya=BigInt(144e11);var Rn=1e3;var Jo=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(Jo||{}),ma=BigInt(1e8);var jn=e=>e==null;var Mn="abcdefghijklmnopqrstuvwxyz234567",Jt=Object.create(null);for(let e=0;e<Mn.length;e++)Jt[Mn[e]]=e;Jt[0]=Jt.o;Jt[1]=Jt.i;var ba=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var we=class e{static#t;#e;constructor(){}static getInstance(){return jn(this.#t)&&(this.#t=new e),this.#t}createAuthClient=async()=>(this.#e=await Wt.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#e);safeCreateAuthClient=async()=>(await new Q().remove(V),await this.createAuthClient());getAuthClient=()=>this.#e;logout=async()=>{await this.#e?.logout(),this.#e=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Q;await Promise.all([n.set(V,r.getKeyPair()),n.set(j,JSON.stringify(t.toJSON()))])}};var Kn=({data:e})=>{let{msg:t}=e;switch(t){case"junoStartAuthTimer":Qo();return;case"junoStopAuthTimer":qn();return}},Ee,Qo=()=>Ee=setInterval(async()=>await ts(),Rn),qn=()=>{Ee&&(clearInterval(Ee),Ee=void 0)},ts=async()=>{let[e,t]=await Promise.all([es(),rs()]);if(e&&t.valid&&t.delegation!==null){os(t.delegation);return}ns()},es=async()=>(await we.getInstance().createAuthClient()).isAuthenticated(),rs=async()=>{let t=await new Q().get(j),r=t!==null?St.fromJSON(t):null;return{valid:r!==null&&Zt(r),delegation:r}},ns=()=>{qn(),postMessage({msg:"junoSignOutAuthTimer"})},os=e=>{let t=e.delegations[0]?.delegation.expiration;if(t===void 0)return;let r=new Date(Number(t/BigInt(1e6))).getTime()-Date.now();postMessage({msg:"junoDelegationRemainingTime",data:{authRemainingTime:r}})};onmessage=e=>{Kn(e)};})();
12
12
  /*! Bundled license information:
13
13
 
14
14
  @noble/hashes/esm/utils.js: