simple-hpke 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var Be=Object.defineProperty;var i=(e,t)=>Be(e,"name",{value:t,configurable:!0});var m=(e,t)=>{for(var r in t)Be(e,r,{get:t[r],enumerable:!0})};function Z(e=0){return new Uint8Array(e)}i(Z,"allocUnsafe");var pe={};m(pe,{base10:()=>_t});var fn=new Uint8Array(0);function Me(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}i(Me,"equals");function I(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}i(I,"coerce");function Oe(e){return new TextEncoder().encode(e)}i(Oe,"fromString");function Ve(e){return new TextDecoder().decode(e)}i(Ve,"toString");function vt(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var a=e.charAt(o),s=a.charCodeAt(0);if(r[s]!==255)throw new TypeError(a+" is ambiguous");r[s]=o}var c=e.length,u=e.charAt(0),h=Math.log(c)/Math.log(256),E=Math.log(256)/Math.log(c);function K(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,L=0,x=0,A=p.length;x!==A&&p[x]===0;)x++,d++;for(var U=(A-x)*E+1>>>0,l=new Uint8Array(U);x!==A;){for(var S=p[x],D=0,g=U-1;(S!==0||D<L)&&g!==-1;g--,D++)S+=256*l[g]>>>0,l[g]=S%c>>>0,S=S/c>>>0;if(S!==0)throw new Error("Non-zero carry");L=D,x++}for(var C=U-L;C!==U&&l[C]===0;)C++;for(var W=u.repeat(d);C<U;++C)W+=e.charAt(l[C]);return W}i(K,"encode");function R(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var L=0,x=0;p[d]===u;)L++,d++;for(var A=(p.length-d)*h+1>>>0,U=new Uint8Array(A);p[d];){var l=r[p.charCodeAt(d)];if(l===255)return;for(var S=0,D=A-1;(l!==0||S<x)&&D!==-1;D--,S++)l+=c*U[D]>>>0,U[D]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");x=S,d++}if(p[d]!==" "){for(var g=A-x;g!==A&&U[g]===0;)g++;for(var C=new Uint8Array(L+(A-g)),W=L;g!==A;)C[W++]=U[g++];return C}}}i(R,"decodeUnsafe");function Q(p){var d=R(p);if(d)return d;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:K,decodeUnsafe:R,decode:Q}}i(vt,"base");var Ct=vt,It=Ct,He=It;var ie=class{static{i(this,"Encoder")}name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ae=class{static{i(this,"Decoder")}name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Fe(this,t)}},se=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return Fe(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Fe(e,t){return new se({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i(Fe,"or");var ce=class{static{i(this,"Codec")}name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ie(t,r,n),this.decoder=new ae(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function k({name:e,prefix:t,encode:r,decode:n}){return new ce(e,t,r,n)}i(k,"from");function _({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=He(r,e);return k({prefix:t,name:e,encode:n,decode:i(a=>I(o(a)),"decode")})}i(_,"baseX");function Kt(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let a=new Uint8Array(o*r/8|0),s=0,c=0,u=0;for(let h=0;h<o;++h){let E=t[e[h]];if(E===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|E,s+=r,s>=8&&(s-=8,a[u++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return a}i(Kt,"decode");function Rt(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,a="",s=0,c=0;for(let u=0;u<e.length;++u)for(c=c<<8|e[u],s+=8;s>r;)s-=r,a+=t[o&c>>s];if(s!==0&&(a+=t[o&c<<r-s]),n)for(;(a.length*r&7)!==0;)a+="=";return a}i(Rt,"encode");function Dt(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}i(Dt,"createAlphabetIdx");function f({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Dt(n);return k({prefix:t,name:e,encode(a){return Rt(a,n,r)},decode(a){return Kt(a,o,r,e)}})}i(f,"rfc4648");var _t=_({prefix:"9",name:"base10",alphabet:"0123456789"});var fe={};m(fe,{base16:()=>Pt,base16upper:()=>Lt});var Pt=f({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Lt=f({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ue={};m(ue,{base2:()=>Nt});var Nt=f({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ye={};m(ye,{base256emoji:()=>Ot});var Ge=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),kt=Ge.reduce((e,t,r)=>(e[r]=t,e),[]),Tt=Ge.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Bt(e){return e.reduce((t,r)=>(t+=kt[r],t),"")}i(Bt,"encode");function Mt(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Tt[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}i(Mt,"decode");var Ot=k({prefix:"\u{1F680}",name:"base256emoji",encode:Bt,decode:Mt});var de={};m(de,{base32:()=>T,base32hex:()=>Ft,base32hexpad:()=>$t,base32hexpadupper:()=>Yt,base32hexupper:()=>Gt,base32pad:()=>zt,base32padupper:()=>Ht,base32upper:()=>Vt,base32z:()=>qt});var T=f({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Vt=f({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zt=f({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ht=f({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ft=f({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gt=f({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$t=f({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yt=f({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),qt=f({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var he={};m(he,{base36:()=>F,base36upper:()=>Xt});var F=_({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xt=_({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var le={};m(le,{base58btc:()=>v,base58flickr:()=>jt});var v=_({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),jt=_({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var me={};m(me,{base64:()=>Jt,base64pad:()=>Qt,base64url:()=>Wt,base64urlpad:()=>Zt});var Jt=f({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qt=f({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Wt=f({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Zt=f({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var be={};m(be,{base8:()=>er});var er=f({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var we={};m(we,{identity:()=>tr});var tr=k({prefix:"\0",name:"identity",encode:i(e=>Ve(e),"encode"),decode:i(e=>Oe(e),"decode")});var _n=new TextEncoder,Pn=new TextDecoder;var ge={};m(ge,{identity:()=>Sr});var or=qe,$e=128,ir=127,ar=~ir,sr=Math.pow(2,31);function qe(e,t,r){t=t||[],r=r||0;for(var n=r;e>=sr;)t[r++]=e&255|$e,e/=128;for(;e&ar;)t[r++]=e&255|$e,e>>>=7;return t[r]=e|0,qe.bytes=r-n+1,t}i(qe,"encode");var cr=xe,pr=128,Ye=127;function xe(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw xe.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&Ye)<<o:(s&Ye)*Math.pow(2,o),o+=7}while(s>=pr);return xe.bytes=a-n,r}i(xe,"read");var fr=Math.pow(2,7),ur=Math.pow(2,14),yr=Math.pow(2,21),dr=Math.pow(2,28),hr=Math.pow(2,35),lr=Math.pow(2,42),mr=Math.pow(2,49),br=Math.pow(2,56),wr=Math.pow(2,63),xr=i(function(e){return e<fr?1:e<ur?2:e<yr?3:e<dr?4:e<hr?5:e<lr?6:e<mr?7:e<br?8:e<wr?9:10},"length"),gr={encode:or,decode:cr,encodingLength:xr},Er=gr,G=Er;function $(e,t=0){return[G.decode(e,t),G.decode.bytes]}i($,"decode");function B(e,t,r=0){return G.encode(e,t,r),t}i(B,"encodeTo");function M(e){return G.encodingLength(e)}i(M,"encodingLength");function V(e,t){let r=t.byteLength,n=M(e),o=n+M(r),a=new Uint8Array(o+r);return B(e,a,0),B(r,a,n),a.set(t,o),new O(e,r,t,a)}i(V,"create");function Xe(e){let t=I(e),[r,n]=$(t),[o,a]=$(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new O(r,o,s,t)}i(Xe,"decode");function je(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Me(e.bytes,r.bytes)}}i(je,"equals");var O=class{static{i(this,"Digest")}code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var Je=0,Ar="identity",Qe=I;function Ur(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return V(Je,Qe(e))}i(Ur,"digest");var Sr={code:Je,name:Ar,encode:Qe,digest:Ur};var Ue={};m(Ue,{sha256:()=>Cr,sha512:()=>Ir});var vr=20;function Ae({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Ee(e,t,r,n,o)}i(Ae,"from");var Ee=class{static{i(this,"Hasher")}name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,a){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??vr,this.maxDigestLength=a}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?We(n,this.code,r?.truncate):n.then(o=>We(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function We(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return V(t,e)}i(We,"createDigest");function et(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(et,"sha");var Cr=Ae({name:"sha2-256",code:18,encode:et("SHA-256")}),Ir=Ae({name:"sha2-512",code:19,encode:et("SHA-512")});function tt(e,t){let{bytes:r,version:n}=e;return n===0?Rr(r,Se(e),t??v.encoder):Dr(r,Se(e),t??T.encoder)}i(tt,"format");var rt=new WeakMap;function Se(e){let t=rt.get(e);if(t==null){let r=new Map;return rt.set(e,r),r}return t}i(Se,"baseCache");var te=class e{static{i(this,"CID")}code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==q)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_r)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=V(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&je(t.multihash,n.multihash)}toString(t){return tt(this,t)}toJSON(){return{"/":tt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:a,bytes:s}=r;return new e(n,o,a,s??nt(n,o,a.bytes))}else if(r[Pr]===!0){let{version:n,multihash:o,code:a}=r,s=Xe(o);return e.create(n,a,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==q)throw new Error(`Version 0 CID must use dag-pb (code: ${q}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=nt(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,q,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=I(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let a=o.subarray(r.multihashSize-r.digestSize),s=new O(r.multihashCode,r.digestSize,a,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=i(()=>{let[K,R]=$(t.subarray(r));return r+=R,K},"next"),o=n(),a=q;if(o===18?(o=0,r=0):a=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),u=n(),h=r+u,E=h-s;return{version:o,codec:a,multihashCode:c,digestSize:u,multihashSize:E,size:h}}static parse(t,r){let[n,o]=Kr(t,r),a=e.decode(o);if(a.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Se(a).set(n,t),a}};function Kr(e,t){switch(e[0]){case"Q":{let r=t??v;return[v.prefix,r.decode(`${v.prefix}${e}`)]}case v.prefix:{let r=t??v;return[v.prefix,r.decode(e)]}case T.prefix:{let r=t??T;return[T.prefix,r.decode(e)]}case F.prefix:{let r=t??F;return[F.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}i(Kr,"parseCIDtoBytes");function Rr(e,t,r){let{prefix:n}=r;if(n!==v.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let a=r.encode(e).slice(1);return t.set(n,a),a}else return o}i(Rr,"toStringV0");function Dr(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let a=r.encode(e);return t.set(n,a),a}else return o}i(Dr,"toStringV1");var q=112,_r=18;function nt(e,t,r){let n=M(e),o=n+M(t),a=new Uint8Array(o+r.byteLength);return B(e,a,0),B(t,a,n),a.set(r,o),a}i(nt,"encodeCID");var Pr=Symbol.for("@ipld/js-cid/CID");var ve={...we,...ue,...be,...pe,...fe,...de,...he,...le,...me,...ye},po={...Ue,...ge};function it(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}i(it,"createCodec");var ot=it("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ce=it("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Z(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Lr={utf8:ot,"utf-8":ot,hex:ve.base16,latin1:Ce,ascii:Ce,binary:Ce,...ve},re=Lr;function X(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(X,"fromString");function Ie(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(Ie,"toString");var y=class extends Error{static{i(this,"HpkeError")}code;constructor(t,r,n){super(r,n),this.name="HpkeError",this.code=t}};var oe=globalThis.crypto.subtle;var Oo=Object.assign(Or,{raw:Re}),Vo=Object.assign(De,{asString:dt}),zo=Object.assign(Ke,{asString:Nr,fromString:kr});async function Ke(e,t,r){if(t.byteLength<H)throw new y("ERR_MALFORMED_MESSAGE","malformed message: too short");let n=t[0]<<8|t[1],o=H+n,a=o+J;if(t.byteLength<a+_e)throw new y("ERR_MALFORMED_MESSAGE","malformed message: too short");let s=t.slice(H,o),c=t.slice(o,a),u=t.slice(a),h=await Re(e,s,r?.info!==void 0?{info:r.info}:void 0),E=await Mr(h),K;try{K=await oe.decrypt({name:"AES-GCM",iv:c},E,u)}catch(R){throw new y("ERR_DECRYPT_FAILED","failed to decrypt the message: tampered ciphertext",{cause:R})}return new Uint8Array(K)}i(Ke,"decryptBytes");async function Nr(e,t,r){let n=await Ke(e,t,r);return new TextDecoder().decode(n)}i(Nr,"decryptToString");async function kr(e,t,r){let n=X(t,"base64url"),o=await Ke(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(kr,"decryptFromString");function Tr(e){if(e!==128&&e!==256)throw new y("ERR_INVALID_KEYSIZE",`invalid keysize: ${e} (expected 128 or 256)`)}i(Tr,"validateKeysize");function at(e){if(e.length!==16&&e.length!==32)throw new y("ERR_INVALID_AES_KEY",`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(at,"validateRawKeyBytes");function st(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(st,"normalizeInfo");async function Br(e){if(!e.extractable)throw new y("ERR_INVALID_AES_KEY","aesKey must be extractable: its raw bytes are what get sealed");return new Uint8Array(await oe.exportKey("raw",e))}i(Br,"exportAesKeyBytes");async function ct(e,t){return oe.importKey("raw",e,{name:"AES-GCM"},t,["encrypt","decrypt"])}i(ct,"importAesKey");async function Mr(e){return oe.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(Mr,"importAesKeyDecryptOnly");async function pt(e,t){let r=new Uint8Array(0),n=await j(z,r,"psk_id_hash",r),o=await j(z,r,"info_hash",t),a=b(new Uint8Array([wt]),n,o),s=await j(z,e,"secret",r),c=await ne(z,s,"key",a,bt),u=await ne(z,s,"base_nonce",a,J);return{key:c,baseNonce:u}}i(pt,"keySchedule");async function Re(e,t,r){if(t.byteLength<N+_e)throw new y("ERR_MALFORMED_ENVELOPE","malformed envelope: too short");let n=st(r?.info),o=t.slice(0,N),a=t.slice(N),s=await mt(o,e),{key:c,baseNonce:u}=await pt(s,n);return yt(c,u,a)}i(Re,"openRawBytes");async function Or(e,t,r){let n=await Re(e,t,r);return ct(n,r?.extractable??!1)}i(Or,"openBytes");async function ft(e,t,r){let n=st(r?.info),o;if(t instanceof Uint8Array)at(t),o=t;else if(t)o=await Br(t),at(o);else{let Q=r?.size??256;Tr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await ht(e),{sharedSecret:s,enc:c}=await lt(a),{key:u,baseNonce:h}=await pt(s,n),E=await ut(u,h,o),K=b(c,E),R=await ct(o,r?.extractable??!1);return{wrapped:K,key:R}}i(ft,"encryptKey");var w=globalThis.crypto.subtle;async function ut(e,t,r){let n=await w.importKey("raw",e,{name:"AES-GCM"},!1,["encrypt"]),o=await w.encrypt({name:"AES-GCM",iv:t},n,r);return new Uint8Array(o)}i(ut,"aeadSeal");async function yt(e,t,r){let n=await w.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"]),o;try{o=await w.decrypt({name:"AES-GCM",iv:t},n,r)}catch(a){throw new y("ERR_DECRYPT_FAILED","failed to decrypt the wrapped key: wrong keypair, wrong info, or a tampered envelope",{cause:a})}return new Uint8Array(o)}i(yt,"aeadOpen");async function De(e,t,r,n){let o=typeof t=="string"?new TextEncoder().encode(t):t,{wrapped:a,key:s}=await ft(e,r,n),c=globalThis.crypto.getRandomValues(new Uint8Array(J)),u=new Uint8Array(await w.encrypt({name:"AES-GCM",iv:c},s,o));return b(P(a.length,H),a,c,u)}i(De,"encryptBytes");async function dt(e,t,r,n){let o=await De(e,t,r,n);return Ie(o,n?.encoding??"base64url")}i(dt,"encryptToString");async function gt(e,t){let r=await w.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return new Uint8Array(await w.sign("HMAC",r,t))}i(gt,"hmac");async function Vr(e,t){let r=e.length===0?new Uint8Array(ke):e;return gt(r,t)}i(Vr,"extract");async function zr(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await gt(e,b(o,t,P(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i(zr,"expand");async function j(e,t,r,n){let o=b(Te,e,new TextEncoder().encode(r),n);return Vr(t,o)}i(j,"labeledExtract");async function ne(e,t,r,n,o){let a=b(P(o,2),Te,e,new TextEncoder().encode(r),n);return zr(t,a,o)}i(ne,"labeledExpand");async function Pe(e){return new Uint8Array(await w.exportKey("raw",e))}i(Pe,"exportRawPublic");async function xt(e){if(e.length!==N)throw new y("ERR_INVALID_RECIPIENT_KEY",`invalid public key length: ${e.length} bytes (expected ${N})`);return w.importKey("raw",e,{name:"X25519"},!0,[])}i(xt,"importRawPublic");async function ht(e){if(e instanceof Uint8Array)return xt(e);if(e instanceof CryptoKey){if(e.type!=="public")throw new y("ERR_INVALID_RECIPIENT_KEY","recipient CryptoKey must be a public key");return Le(e,"recipient CryptoKey","ERR_INVALID_RECIPIENT_KEY"),e}if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e;return xt(X(r,n??"base64url"))}let t=e;if(t.publicKey instanceof CryptoKey){if(t.publicKey.type!=="public")throw new y("ERR_INVALID_RECIPIENT_KEY","recipient keypair publicKey must be a public key");return Le(t.publicKey,"recipient keypair publicKey","ERR_INVALID_RECIPIENT_KEY"),t.publicKey}throw new y("ERR_INVALID_RECIPIENT_KEY","unrecognized recipient key form")}i(ht,"resolveRecipientPublicKey");function Le(e,t,r){if(e.algorithm.name!=="X25519")throw new y(r,`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Le,"assertX25519Algorithm");async function Et(e,t){let r=await w.deriveBits({name:"X25519",public:t},e,256),n=new Uint8Array(r);if(n.every(o=>o===0))throw new y("ERR_SMALL_ORDER_KEY","X25519 shared secret is all-zero (small-order public key?)");return n}i(Et,"dh");async function At(e,t){let r=await j(Ne,new Uint8Array(0),"eae_prk",e);return ne(Ne,r,"shared_secret",t,ke)}i(At,"extractAndExpand");async function lt(e){let t=await w.generateKey({name:"X25519"},!1,["deriveBits"]),r=await Et(t.privateKey,e),n=await Pe(t.publicKey),o=await Pe(e),a=b(n,o);return{sharedSecret:await At(r,a),enc:n}}i(lt,"encap");async function mt(e,t){if(t.privateKey.type!=="private")throw new y("ERR_INVALID_KEYPAIR","keypair.privateKey must be a private key");Le(t.privateKey,"keypair.privateKey","ERR_INVALID_KEYPAIR");let r=await w.importKey("raw",e,{name:"X25519"},!1,[]),n=await Et(t.privateKey,r),o=await Pe(t.publicKey),a=b(e,o);return At(n,a)}i(mt,"decap");function P(e,t){let r=new Uint8Array(t),n=e;for(let o=t-1;o>=0;o--)r[o]=n&255,n=Math.floor(n/256);return r}i(P,"i2osp");function b(...e){let t=0;for(let o of e)t+=o.length;let r=new Uint8Array(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}i(b,"concat");var Ut=32,Gr=1,$r=2,ke=32,bt=32,J=12,N=32,_e=16,wt=0,Te=new TextEncoder().encode("HPKE-v1"),H=2,Ne=b(new TextEncoder().encode("KEM"),P(Ut,2)),z=b(new TextEncoder().encode("HPKE"),P(Ut,2),P(Gr,2),P($r,2)),Hr=new TextEncoder().encode("simple-hpke/keyId/v1"),Fr=12;export{$r as AEAD_ID,_e as AEAD_TAG_LENGTH,N as ENC_LENGTH,z as HPKE_SUITE_ID,Te as HPKE_V1,Gr as KDF_ID,Ut as KEM_ID,Ne as KEM_SUITE_ID,Hr as KEY_ID_LABEL,Fr as KEY_ID_NONCE_LENGTH,wt as MODE_BASE,bt as NK,J as NN,ke as NSECRET,H as WRAPPED_LEN_PREFIX};
1
+ var Me=Object.defineProperty;var i=(e,t)=>Me(e,"name",{value:t,configurable:!0});var m=(e,t)=>{for(var r in t)Me(e,r,{get:t[r],enumerable:!0})};function Z(e=0){return new Uint8Array(e)}i(Z,"allocUnsafe");var fe={};m(fe,{base10:()=>Lt});var un=new Uint8Array(0);function Be(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}i(Be,"equals");function K(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}i(K,"coerce");function Ve(e){return new TextEncoder().encode(e)}i(Ve,"fromString");function Oe(e){return new TextDecoder().decode(e)}i(Oe,"toString");function Ct(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var a=e.charAt(o),s=a.charCodeAt(0);if(r[s]!==255)throw new TypeError(a+" is ambiguous");r[s]=o}var c=e.length,y=e.charAt(0),h=Math.log(c)/Math.log(256),E=Math.log(256)/Math.log(c);function C(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,P=0,x=0,A=p.length;x!==A&&p[x]===0;)x++,d++;for(var U=(A-x)*E+1>>>0,l=new Uint8Array(U);x!==A;){for(var v=p[x],_=0,g=U-1;(v!==0||_<P)&&g!==-1;g--,_++)v+=256*l[g]>>>0,l[g]=v%c>>>0,v=v/c>>>0;if(v!==0)throw new Error("Non-zero carry");P=_,x++}for(var I=U-P;I!==U&&l[I]===0;)I++;for(var W=y.repeat(d);I<U;++I)W+=e.charAt(l[I]);return W}i(C,"encode");function R(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var P=0,x=0;p[d]===y;)P++,d++;for(var A=(p.length-d)*h+1>>>0,U=new Uint8Array(A);p[d];){var l=r[p.charCodeAt(d)];if(l===255)return;for(var v=0,_=A-1;(l!==0||v<x)&&_!==-1;_--,v++)l+=c*U[_]>>>0,U[_]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");x=v,d++}if(p[d]!==" "){for(var g=A-x;g!==A&&U[g]===0;)g++;for(var I=new Uint8Array(P+(A-g)),W=P;g!==A;)I[W++]=U[g++];return I}}}i(R,"decodeUnsafe");function Q(p){var d=R(p);if(d)return d;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:C,decodeUnsafe:R,decode:Q}}i(Ct,"base");var It=Ct,Kt=It,He=Kt;var ie=class{static{i(this,"Encoder")}name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ae=class{static{i(this,"Decoder")}name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ge(this,t)}},se=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return Ge(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ge(e,t){return new se({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i(Ge,"or");var ce=class{static{i(this,"Codec")}name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ie(t,r,n),this.decoder=new ae(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function T({name:e,prefix:t,encode:r,decode:n}){return new ce(e,t,r,n)}i(T,"from");function D({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=He(r,e);return T({prefix:t,name:e,encode:n,decode:i(a=>K(o(a)),"decode")})}i(D,"baseX");function Rt(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let a=new Uint8Array(o*r/8|0),s=0,c=0,y=0;for(let h=0;h<o;++h){let E=t[e[h]];if(E===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|E,s+=r,s>=8&&(s-=8,a[y++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return a}i(Rt,"decode");function _t(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,a="",s=0,c=0;for(let y=0;y<e.length;++y)for(c=c<<8|e[y],s+=8;s>r;)s-=r,a+=t[o&c>>s];if(s!==0&&(a+=t[o&c<<r-s]),n)for(;(a.length*r&7)!==0;)a+="=";return a}i(_t,"encode");function Dt(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}i(Dt,"createAlphabetIdx");function u({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Dt(n);return T({prefix:t,name:e,encode(a){return _t(a,n,r)},decode(a){return Rt(a,o,r,e)}})}i(u,"rfc4648");var Lt=D({prefix:"9",name:"base10",alphabet:"0123456789"});var pe={};m(pe,{base16:()=>Pt,base16upper:()=>Nt});var Pt=u({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nt=u({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ue={};m(ue,{base2:()=>Tt});var Tt=u({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ye={};m(ye,{base256emoji:()=>Ot});var Ye=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),kt=Ye.reduce((e,t,r)=>(e[r]=t,e),[]),Mt=Ye.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Bt(e){return e.reduce((t,r)=>(t+=kt[r],t),"")}i(Bt,"encode");function Vt(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Mt[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}i(Vt,"decode");var Ot=T({prefix:"\u{1F680}",name:"base256emoji",encode:Bt,decode:Vt});var de={};m(de,{base32:()=>k,base32hex:()=>Yt,base32hexpad:()=>$t,base32hexpadupper:()=>qt,base32hexupper:()=>Ft,base32pad:()=>Ht,base32padupper:()=>Gt,base32upper:()=>zt,base32z:()=>Xt});var k=u({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),zt=u({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ht=u({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gt=u({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Yt=u({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ft=u({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$t=u({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qt=u({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Xt=u({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var he={};m(he,{base36:()=>G,base36upper:()=>jt});var G=D({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),jt=D({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var le={};m(le,{base58btc:()=>S,base58flickr:()=>Jt});var S=D({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Jt=D({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var me={};m(me,{base64:()=>Qt,base64pad:()=>Wt,base64url:()=>Zt,base64urlpad:()=>er});var Qt=u({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Wt=u({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Zt=u({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),er=u({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var be={};m(be,{base8:()=>tr});var tr=u({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var we={};m(we,{identity:()=>rr});var rr=T({prefix:"\0",name:"identity",encode:i(e=>Oe(e),"encode"),decode:i(e=>Ve(e),"decode")});var Ln=new TextEncoder,Pn=new TextDecoder;var ge={};m(ge,{identity:()=>Sr});var ir=qe,Fe=128,ar=127,sr=~ar,cr=Math.pow(2,31);function qe(e,t,r){t=t||[],r=r||0;for(var n=r;e>=cr;)t[r++]=e&255|Fe,e/=128;for(;e&sr;)t[r++]=e&255|Fe,e>>>=7;return t[r]=e|0,qe.bytes=r-n+1,t}i(qe,"encode");var fr=xe,pr=128,$e=127;function xe(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw xe.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&$e)<<o:(s&$e)*Math.pow(2,o),o+=7}while(s>=pr);return xe.bytes=a-n,r}i(xe,"read");var ur=Math.pow(2,7),yr=Math.pow(2,14),dr=Math.pow(2,21),hr=Math.pow(2,28),lr=Math.pow(2,35),mr=Math.pow(2,42),br=Math.pow(2,49),wr=Math.pow(2,56),xr=Math.pow(2,63),gr=i(function(e){return e<ur?1:e<yr?2:e<dr?3:e<hr?4:e<lr?5:e<mr?6:e<br?7:e<wr?8:e<xr?9:10},"length"),Er={encode:ir,decode:fr,encodingLength:gr},Ar=Er,Y=Ar;function F(e,t=0){return[Y.decode(e,t),Y.decode.bytes]}i(F,"decode");function M(e,t,r=0){return Y.encode(e,t,r),t}i(M,"encodeTo");function B(e){return Y.encodingLength(e)}i(B,"encodingLength");function O(e,t){let r=t.byteLength,n=B(e),o=n+B(r),a=new Uint8Array(o+r);return M(e,a,0),M(r,a,n),a.set(t,o),new V(e,r,t,a)}i(O,"create");function Xe(e){let t=K(e),[r,n]=F(t),[o,a]=F(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new V(r,o,s,t)}i(Xe,"decode");function je(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Be(e.bytes,r.bytes)}}i(je,"equals");var V=class{static{i(this,"Digest")}code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var Je=0,Ur="identity",Qe=K;function vr(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return O(Je,Qe(e))}i(vr,"digest");var Sr={code:Je,name:Ur,encode:Qe,digest:vr};var Ue={};m(Ue,{sha256:()=>Ir,sha512:()=>Kr});var Cr=20;function Ae({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Ee(e,t,r,n,o)}i(Ae,"from");var Ee=class{static{i(this,"Hasher")}name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,a){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??Cr,this.maxDigestLength=a}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?We(n,this.code,r?.truncate):n.then(o=>We(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function We(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return O(t,e)}i(We,"createDigest");function et(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(et,"sha");var Ir=Ae({name:"sha2-256",code:18,encode:et("SHA-256")}),Kr=Ae({name:"sha2-512",code:19,encode:et("SHA-512")});function tt(e,t){let{bytes:r,version:n}=e;return n===0?_r(r,ve(e),t??S.encoder):Dr(r,ve(e),t??k.encoder)}i(tt,"format");var rt=new WeakMap;function ve(e){let t=rt.get(e);if(t==null){let r=new Map;return rt.set(e,r),r}return t}i(ve,"baseCache");var te=class e{static{i(this,"CID")}code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==q)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Lr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=O(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&je(t.multihash,n.multihash)}toString(t){return tt(this,t)}toJSON(){return{"/":tt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:a,bytes:s}=r;return new e(n,o,a,s??nt(n,o,a.bytes))}else if(r[Pr]===!0){let{version:n,multihash:o,code:a}=r,s=Xe(o);return e.create(n,a,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==q)throw new Error(`Version 0 CID must use dag-pb (code: ${q}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=nt(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,q,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=K(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let a=o.subarray(r.multihashSize-r.digestSize),s=new V(r.multihashCode,r.digestSize,a,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=i(()=>{let[C,R]=F(t.subarray(r));return r+=R,C},"next"),o=n(),a=q;if(o===18?(o=0,r=0):a=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),y=n(),h=r+y,E=h-s;return{version:o,codec:a,multihashCode:c,digestSize:y,multihashSize:E,size:h}}static parse(t,r){let[n,o]=Rr(t,r),a=e.decode(o);if(a.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ve(a).set(n,t),a}};function Rr(e,t){switch(e[0]){case"Q":{let r=t??S;return[S.prefix,r.decode(`${S.prefix}${e}`)]}case S.prefix:{let r=t??S;return[S.prefix,r.decode(e)]}case k.prefix:{let r=t??k;return[k.prefix,r.decode(e)]}case G.prefix:{let r=t??G;return[G.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}i(Rr,"parseCIDtoBytes");function _r(e,t,r){let{prefix:n}=r;if(n!==S.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let a=r.encode(e).slice(1);return t.set(n,a),a}else return o}i(_r,"toStringV0");function Dr(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let a=r.encode(e);return t.set(n,a),a}else return o}i(Dr,"toStringV1");var q=112,Lr=18;function nt(e,t,r){let n=B(e),o=n+B(t),a=new Uint8Array(o+r.byteLength);return M(e,a,0),M(t,a,n),a.set(r,o),a}i(nt,"encodeCID");var Pr=Symbol.for("@ipld/js-cid/CID");var Se={...we,...ue,...be,...fe,...pe,...de,...he,...le,...me,...ye},po={...Ue,...ge};function it(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}i(it,"createCodec");var ot=it("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ce=it("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Z(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Nr={utf8:ot,"utf-8":ot,hex:Se.base16,latin1:Ce,ascii:Ce,binary:Ce,...Se},re=Nr;function X(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(X,"fromString");function Ie(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(Ie,"toString");var f=class extends Error{static{i(this,"HpkeError")}code;constructor(t,r,n){super(r,n),this.name="HpkeError",this.code=t}};var oe=globalThis.crypto.subtle;var Oo=Object.assign(Or,{raw:Re}),zo=Object.assign(_e,{asString:dt}),Ho=Object.assign(Ke,{asString:Tr,fromString:kr});async function Ke(e,t,r){if(t.byteLength<H)throw new f("ERR_MALFORMED_MESSAGE","malformed message: too short");let n=t[0]<<8|t[1],o=H+n,a=o+J;if(t.byteLength<a+De)throw new f("ERR_MALFORMED_MESSAGE","malformed message: too short");let s=t.slice(H,o),c=t.slice(o,a),y=t.slice(a),h=await Re(e,s,r?.info!==void 0?{info:r.info}:void 0),E=await Vr(h),C;try{C=await oe.decrypt({name:"AES-GCM",iv:c},E,y)}catch(R){throw new f("ERR_DECRYPT_FAILED","failed to decrypt the message: tampered ciphertext",{cause:R})}return new Uint8Array(C)}i(Ke,"decryptBytes");async function Tr(e,t,r){let n=await Ke(e,t,r);return new TextDecoder().decode(n)}i(Tr,"decryptToString");async function kr(e,t,r){let n;try{n=X(t,"base64url")}catch(a){throw new f("ERR_MALFORMED_MESSAGE","malformed message: not base64url",{cause:a})}let o=await Ke(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(kr,"decryptFromString");function Mr(e){if(e!==128&&e!==256)throw new f("ERR_INVALID_KEYSIZE",`invalid keysize: ${e} (expected 128 or 256)`)}i(Mr,"validateKeysize");function at(e){if(e.length!==16&&e.length!==32)throw new f("ERR_INVALID_AES_KEY",`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(at,"validateRawKeyBytes");function st(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(st,"normalizeInfo");async function Br(e){if(!e.extractable)throw new f("ERR_INVALID_AES_KEY","aesKey must be extractable: its raw bytes are what get sealed");return new Uint8Array(await oe.exportKey("raw",e))}i(Br,"exportAesKeyBytes");async function ct(e,t){return oe.importKey("raw",e,{name:"AES-GCM"},t,["encrypt","decrypt"])}i(ct,"importAesKey");async function Vr(e){return oe.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(Vr,"importAesKeyDecryptOnly");async function ft(e,t){let r=new Uint8Array(0),n=await j(z,r,"psk_id_hash",r),o=await j(z,r,"info_hash",t),a=b(new Uint8Array([wt]),n,o),s=await j(z,e,"secret",r),c=await ne(z,s,"key",a,bt),y=await ne(z,s,"base_nonce",a,J);return{key:c,baseNonce:y}}i(ft,"keySchedule");async function Re(e,t,r){if(t.byteLength<N+De)throw new f("ERR_MALFORMED_ENVELOPE","malformed envelope: too short");let n=st(r?.info),o=t.slice(0,N),a=t.slice(N),s=await mt(o,e),{key:c,baseNonce:y}=await ft(s,n);return yt(c,y,a)}i(Re,"openRawBytes");async function Or(e,t,r){let n=await Re(e,t,r);return ct(n,r?.extractable??!1)}i(Or,"openBytes");async function pt(e,t,r){let n=st(r?.info),o;if(t instanceof Uint8Array)at(t),o=t;else if(t){if(t.algorithm.name!=="AES-GCM")throw new f("ERR_INVALID_AES_KEY","aesKey must be an AES-GCM key, got "+t.algorithm.name);o=await Br(t),at(o)}else{let Q=r?.size??256;Mr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await ht(e),{sharedSecret:s,enc:c}=await lt(a),{key:y,baseNonce:h}=await ft(s,n),E=await ut(y,h,o),C=b(c,E);if(t instanceof CryptoKey)return{wrapped:C,key:t};let R=await ct(o,r?.extractable??!1);return{wrapped:C,key:R}}i(pt,"encryptKey");var w=globalThis.crypto.subtle;async function ut(e,t,r){let n=await w.importKey("raw",e,{name:"AES-GCM"},!1,["encrypt"]),o=await w.encrypt({name:"AES-GCM",iv:t},n,r);return new Uint8Array(o)}i(ut,"aeadSeal");async function yt(e,t,r){let n=await w.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"]),o;try{o=await w.decrypt({name:"AES-GCM",iv:t},n,r)}catch(a){throw new f("ERR_DECRYPT_FAILED","failed to decrypt the wrapped key: wrong keypair, wrong info, or a tampered envelope",{cause:a})}return new Uint8Array(o)}i(yt,"aeadOpen");async function _e(e,t,r,n){if(r instanceof CryptoKey&&!r.usages.includes("encrypt"))throw new f("ERR_INVALID_AES_KEY",'aesKey is missing the "encrypt" usage, which encrypt needs to encrypt the message');let o=typeof t=="string"?new TextEncoder().encode(t):t,{wrapped:a,key:s}=await pt(e,r,n),c=globalThis.crypto.getRandomValues(new Uint8Array(J)),y=new Uint8Array(await w.encrypt({name:"AES-GCM",iv:c},s,o));return b(L(a.length,H),a,c,y)}i(_e,"encryptBytes");async function dt(e,t,r,n){let o=await _e(e,t,r,n);return Ie(o,n?.encoding??"base64url")}i(dt,"encryptToString");async function Et(e,t){let r=await w.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return new Uint8Array(await w.sign("HMAC",r,t))}i(Et,"hmac");async function zr(e,t){let r=e.length===0?new Uint8Array(Te):e;return Et(r,t)}i(zr,"extract");async function Hr(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await Et(e,b(o,t,L(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i(Hr,"expand");async function j(e,t,r,n){let o=b(ke,e,new TextEncoder().encode(r),n);return zr(t,o)}i(j,"labeledExtract");async function ne(e,t,r,n,o){let a=b(L(o,2),ke,e,new TextEncoder().encode(r),n);return Hr(t,a,o)}i(ne,"labeledExpand");async function Le(e){return new Uint8Array(await w.exportKey("raw",e))}i(Le,"exportRawPublic");async function xt(e){if(e.length!==N)throw new f("ERR_INVALID_RECIPIENT_KEY",`invalid public key length: ${e.length} bytes (expected ${N})`);return w.importKey("raw",e,{name:"X25519"},!0,[])}i(xt,"importRawPublic");async function ht(e){if(e instanceof Uint8Array)return xt(e);if(e instanceof CryptoKey)return gt(e,"recipient CryptoKey");if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e,o;try{o=X(r,n??"base64url")}catch(a){throw new f("ERR_INVALID_RECIPIENT_KEY",`recipient publicKey string does not decode as ${n??"base64url"}`,{cause:a})}return xt(o)}let t=e;if(t.publicKey instanceof CryptoKey)return gt(t.publicKey,"recipient keypair publicKey");throw new f("ERR_INVALID_RECIPIENT_KEY","unrecognized recipient key form")}i(ht,"resolveRecipientPublicKey");function gt(e,t){if(e.type!=="public")throw new f("ERR_INVALID_RECIPIENT_KEY",`${t} must be a public key`);if(Pe(e,t,"ERR_INVALID_RECIPIENT_KEY"),!e.extractable)throw new f("ERR_INVALID_RECIPIENT_KEY",`${t} must be extractable (the KEM exports it)`);return e}i(gt,"assertRecipientPublicKey");function Pe(e,t,r){if(e.algorithm.name!=="X25519")throw new f(r,`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Pe,"assertX25519Algorithm");async function At(e,t){let r;try{r=await w.deriveBits({name:"X25519",public:t},e,256)}catch(o){throw o?.name==="OperationError"?new f("ERR_SMALL_ORDER_KEY","X25519 deriveBits rejected a small-order public key",{cause:o}):o}let n=new Uint8Array(r);if(n.every(o=>o===0))throw new f("ERR_SMALL_ORDER_KEY","X25519 shared secret is all-zero (small-order public key?)");return n}i(At,"dh");async function Ut(e,t){let r=await j(Ne,new Uint8Array(0),"eae_prk",e);return ne(Ne,r,"shared_secret",t,Te)}i(Ut,"extractAndExpand");async function lt(e){let t=await w.generateKey({name:"X25519"},!1,["deriveBits"]),r=await At(t.privateKey,e),n=await Le(t.publicKey),o=await Le(e),a=b(n,o);return{sharedSecret:await Ut(r,a),enc:n}}i(lt,"encap");async function mt(e,t){if(t.privateKey.type!=="private")throw new f("ERR_INVALID_KEYPAIR","keypair.privateKey must be a private key");if(Pe(t.privateKey,"keypair.privateKey","ERR_INVALID_KEYPAIR"),!t.privateKey.usages.includes("deriveBits"))throw new f("ERR_INVALID_KEYPAIR","keypair.privateKey must have the deriveBits usage");if(t.publicKey.type!=="public"||!t.publicKey.extractable)throw new f("ERR_INVALID_KEYPAIR","keypair.publicKey must be an extractable public key");Pe(t.publicKey,"keypair.publicKey","ERR_INVALID_KEYPAIR");let r=await w.importKey("raw",e,{name:"X25519"},!1,[]),n=await At(t.privateKey,r),o=await Le(t.publicKey),a=b(e,o);return Ut(n,a)}i(mt,"decap");function L(e,t){let r=new Uint8Array(t),n=e;for(let o=t-1;o>=0;o--)r[o]=n&255,n=Math.floor(n/256);return r}i(L,"i2osp");function b(...e){let t=0;for(let o of e)t+=o.length;let r=new Uint8Array(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}i(b,"concat");var vt=32,Fr=1,$r=2,Te=32,bt=32,J=12,N=32,De=16,wt=0,ke=new TextEncoder().encode("HPKE-v1"),H=2,Ne=b(new TextEncoder().encode("KEM"),L(vt,2)),z=b(new TextEncoder().encode("HPKE"),L(vt,2),L(Fr,2),L($r,2)),Gr=new TextEncoder().encode("simple-hpke/keyId/v1"),Yr=12;export{$r as AEAD_ID,De as AEAD_TAG_LENGTH,N as ENC_LENGTH,z as HPKE_SUITE_ID,ke as HPKE_V1,Fr as KDF_ID,vt as KEM_ID,Ne as KEM_SUITE_ID,Gr as KEY_ID_LABEL,Yr as KEY_ID_NONCE_LENGTH,wt as MODE_BASE,bt as NK,J as NN,Te as NSECRET,H as WRAPPED_LEN_PREFIX};
2
2
  //# sourceMappingURL=constants.min.js.map