@libp2p/webtransport 6.0.30-f144def15 → 6.0.31-4bb8fbe8d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PWebtransport = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebtransport=(()=>{var Us=Object.defineProperty;var Xl=Object.getOwnPropertyDescriptor;var Ql=Object.getOwnPropertyNames;var Jl=Object.prototype.hasOwnProperty;var tt=(r,t)=>{for(var e in t)Us(r,e,{get:t[e],enumerable:!0})},td=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ql(t))!Jl.call(r,o)&&o!==e&&Us(r,o,{get:()=>t[o],enumerable:!(n=Xl(t,o))||n.enumerable});return r};var ed=r=>td(Us({},"__esModule",{value:!0}),r);var xg={};tt(xg,{webTransport:()=>wg});var oo=class extends Error{static name="UnexpectedPeerError";constructor(t="Unexpected Peer"){super(t),this.name="UnexpectedPeerError"}},yr=class extends Error{static name="InvalidCryptoExchangeError";constructor(t="Invalid crypto exchange"){super(t),this.name="InvalidCryptoExchangeError"}},Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},gr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var so=class extends Error{static name="MuxerClosedError";constructor(t="The muxer is closed"){super(t),this.name="MuxerClosedError"}},io=class extends Error{static name="StreamResetError";constructor(t="The stream has been reset"){super(t),this.name="StreamResetError"}};var Ae=class extends Error{static name="StreamStateError";constructor(t="The stream is in an invalid state"){super(t),this.name="StreamStateError"}},an=class extends Error{static name="StreamBufferError";constructor(t="The stream buffer was full"){super(t),this.name="StreamBufferError"}};var ao=class extends Error{static name="InvalidMultiaddrError";constructor(t="Invalid multiaddr"){super(t),this.name="InvalidMultiaddrError"}},co=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},fo=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var ze=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var uo=class extends Event{data;constructor(t,e){super("message",e),this.data=t}},br=class extends Event{error;local;constructor(t,e,n){super("close",n),this.error=e,this.local=t}},ho=class extends br{constructor(t,e){super(!0,t,e)}},lo=class extends br{constructor(t,e){super(!1,t,e)}};var Ps=Symbol.for("@libp2p/peer-id");var pf=Symbol.for("@libp2p/transport");var df;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(df||(df={}));function rd(r){return typeof r?.handleEvent=="function"}function nd(r){return(r!==!0&&r!==!1&&r?.once)??!1}var wr=class extends EventTarget{#t=new Map;constructor(){super()}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){let o=nd(n);super.addEventListener(t,i=>{if(o){let a=this.#t.get(i.type);a!=null&&(a=a.filter(({callback:c})=>c!==e),this.#t.set(i.type,a))}rd(e)?e.handleEvent(i):e(i)},n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:o})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var po=Symbol.for("@libp2p/service-capabilities");var Ks={};tt(Ks,{base58btc:()=>ut,base58flickr:()=>hd});var Qg=new Uint8Array(0);function mf(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function ue(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return qe(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return qe(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function yf(r){return new TextEncoder().encode(r)}function gf(r){return new TextDecoder().decode(r)}function od(r){return r?.buffer instanceof ArrayBuffer}function qe(r){return od(r)?r:r.slice()}function sd(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var b=0,l=0,g=0,v=d.length;g!==v&&d[g]===0;)g++,b++;for(var _=(v-g)*u+1>>>0,R=new Uint8Array(_);g!==v;){for(var D=d[g],P=0,T=_-1;(D!==0||P<l)&&T!==-1;T--,P++)D+=256*R[T]>>>0,R[T]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");l=P,g++}for(var I=_-l;I!==_&&R[I]===0;)I++;for(var U=c.repeat(b);I<_;++I)U+=r.charAt(R[I]);return U}function m(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var b=0;if(d[b]!==" "){for(var l=0,g=0;d[b]===c;)l++,b++;for(var v=(d.length-b)*f+1>>>0,_=new Uint8Array(v);d[b];){var R=e[d.charCodeAt(b)];if(R===255)return;for(var D=0,P=v-1;(R!==0||D<g)&&P!==-1;P--,D++)R+=a*_[P]>>>0,_[P]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");g=D,b++}if(d[b]!==" "){for(var T=v-g;T!==v&&_[T]===0;)T++;for(var I=new Uint8Array(l+(v-T)),U=l;T!==v;)I[U++]=_[T++];return I}}}function p(d){var b=m(d);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:m,decode:p}}var id=sd,ad=id,wf=ad;var Ns=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ms=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.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 xf(this,t)}},ks=class{decoders;constructor(t){this.decoders=t}or(t){return xf(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 xf(r,t){return new ks({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Fs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ns(t,e,n),this.decoder=new Ms(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function xr({name:r,prefix:t,encode:e,decode:n}){return new Fs(r,t,e,n)}function ve({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=wf(e,r);return xr({prefix:t,name:r,encode:n,decode:s=>ue(o(s))})}function cd(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,c=0;for(let f=0;f<o;++f){let u=t[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,i+=e,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function fd(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function ud(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function ft({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let o=ud(n);return xr({prefix:t,name:r,encode(s){return fd(s,n,e)},decode(s){return cd(s,o,e,r)}})}var ut=ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),hd=ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hs={};tt(Hs,{base32:()=>Be,base32hex:()=>md,base32hexpad:()=>gd,base32hexpadupper:()=>bd,base32hexupper:()=>yd,base32pad:()=>dd,base32padupper:()=>pd,base32upper:()=>ld,base32z:()=>wd});var Be=ft({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ld=ft({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),dd=ft({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),pd=ft({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),md=ft({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),yd=ft({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),gd=ft({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),bd=ft({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wd=ft({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vs={};tt(Vs,{base36:()=>cn,base36upper:()=>xd});var cn=ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),xd=ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var he={};tt(he,{Digest:()=>$e,create:()=>Ht,decode:()=>Ar,equals:()=>qs,hasCode:()=>Fd});var Ed=Af,Ef=128,Sd=127,Ad=~Sd,vd=Math.pow(2,31);function Af(r,t,e){t=t||[],e=e||0;for(var n=e;r>=vd;)t[e++]=r&255|Ef,r/=128;for(;r&Ad;)t[e++]=r&255|Ef,r>>>=7;return t[e]=r|0,Af.bytes=e-n+1,t}var Bd=zs,Ld=128,Sf=127;function zs(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw zs.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Sf)<<o:(i&Sf)*Math.pow(2,o),o+=7}while(i>=Ld);return zs.bytes=s-n,e}var _d=Math.pow(2,7),Id=Math.pow(2,14),Cd=Math.pow(2,21),Td=Math.pow(2,28),Dd=Math.pow(2,35),Rd=Math.pow(2,42),Od=Math.pow(2,49),Ud=Math.pow(2,56),Pd=Math.pow(2,63),Nd=function(r){return r<_d?1:r<Id?2:r<Cd?3:r<Td?4:r<Dd?5:r<Rd?6:r<Od?7:r<Ud?8:r<Pd?9:10},Md={encode:Ed,decode:Bd,encodingLength:Nd},kd=Md,fn=kd;function un(r,t=0){return[fn.decode(r,t),fn.decode.bytes]}function Er(r,t,e=0){return fn.encode(r,t,e),t}function Sr(r){return fn.encodingLength(r)}function Ht(r,t){let e=t.byteLength,n=Sr(r),o=n+Sr(e),s=new Uint8Array(o+e);return Er(r,s,0),Er(e,s,n),s.set(t,o),new $e(r,e,t,s)}function Ar(r){let t=ue(r),[e,n]=un(t),[o,s]=un(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new $e(e,o,i,t)}function qs(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&mf(r.bytes,e.bytes)}}var $e=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=qe(n),this.bytes=qe(o)}};function Fd(r,t){return r.code===t}function vf(r,t){let{bytes:e,version:n}=r;return n===0?Hd(e,$s(r),t??ut.encoder):Vd(e,$s(r),t??Be.encoder)}var Bf=new WeakMap;function $s(r){let t=Bf.get(r);if(t==null){let e=new Map;return Bf.set(r,e),e}return t}var dt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=qe(o),this["/"]=this.bytes}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:e}=this;if(t!==hn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==zd)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=Ht(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&qs(t.multihash,n.multihash)}toString(t){return vf(this,t)}toJSON(){return{"/":vf(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??Lf(n,o,s.bytes))}else if(e[qd]===!0){let{version:n,multihash:o,code:s}=e,i=Ar(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="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(e!==hn)throw new Error(`Version 0 CID must use dag-pb (code: ${hn}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Lf(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,hn,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=ue(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new $e(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,m]=un(t.subarray(e));return e+=m,h},o=n(),s=hn;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),f=e+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Kd(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $s(s).set(n,t),s}};function Kd(r,t){switch(r[0]){case"Q":{let e=t??ut;return[ut.prefix,e.decode(`${ut.prefix}${r}`)]}case ut.prefix:{let e=t??ut;return[ut.prefix,e.decode(r)]}case Be.prefix:{let e=t??Be;return[Be.prefix,e.decode(r)]}case cn.prefix:{let e=t??cn;return[cn.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Hd(r,t,e){let{prefix:n}=e;if(n!==ut.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Vd(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var hn=112,zd=18;function Lf(r,t,e){let n=Sr(r),o=n+Sr(t),s=new Uint8Array(o+e.byteLength);return Er(r,s,0),Er(t,s,n),s.set(e,o),s}var qd=Symbol.for("@ipld/js-cid/CID");var js={};tt(js,{identity:()=>Vt});var _f=0,$d="identity",If=ue;function jd(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return Ht(_f,If(r))}var Vt={code:_f,name:$d,encode:If,digest:jd};function pt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Wd(r){return r.buffer instanceof ArrayBuffer}function xt(r){return Wd(r)?r:r.slice()}async function Cf(r,t,e,n){let o=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,xt(t),xt(e.subarray()));return n?.signal?.throwIfAborted(),s}function Xt(r=0){return new Uint8Array(r)}function Bt(r=0){return new Uint8Array(r)}function Gd(r){return r?.buffer instanceof ArrayBuffer}function Ws(r){if(Gd(r))return r;let t=r.slice();return new Uint8Array(t.buffer,0,t.byteLength)}function Qt(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Bt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return Ws(e)}var Df=Symbol.for("@achingbrain/uint8arraylist");function Tf(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function yo(r){return!!r?.[Df]}var it=class r{bufs;length;[Df]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(yo(n)){e+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(yo(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Tf(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Tf(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(yo(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return Qt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Qt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(i);break}let h=t-a;n.push(i.subarray(h,h+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(u){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!yo(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let h=e;h<=c;h+=u){u=0;for(let m=f;m>=0;m--){let p=this.get(h+m);if(n[m]!==p){u=Math.max(1,m-a[p]);break}}if(u===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Xt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Xt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Xt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Xt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Xt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Xt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Xt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Xt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!pt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};var Gs={};tt(Gs,{base10:()=>Zd});var Zd=ve({prefix:"9",name:"base10",alphabet:"0123456789"});var Zs={};tt(Zs,{base16:()=>Yd,base16upper:()=>Xd});var Yd=ft({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xd=ft({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ys={};tt(Ys,{base2:()=>Qd});var Qd=ft({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xs={};tt(Xs,{base256emoji:()=>np});var Rf=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}"),Jd=Rf.reduce((r,t,e)=>(r[e]=t,r),[]),tp=Rf.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function ep(r){return r.reduce((t,e)=>(t+=Jd[e],t),"")}function rp(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=tp[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var np=xr({prefix:"\u{1F680}",name:"base256emoji",encode:ep,decode:rp});var Js={};tt(Js,{base64:()=>op,base64pad:()=>sp,base64url:()=>Qs,base64urlpad:()=>ip});var op=ft({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),sp=ft({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Qs=ft({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ip=ft({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ti={};tt(ti,{base8:()=>ap});var ap=ft({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ei={};tt(ei,{identity:()=>cp});var cp=xr({prefix:"\0",name:"identity",encode:r=>gf(r),decode:r=>yf(r)});var Mb=new TextEncoder,kb=new TextDecoder;var oi={};tt(oi,{sha256:()=>ln,sha512:()=>lp});var hp=20;function ni({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new ri(r,t,e,n,o)}var ri=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??hp,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.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?Of(n,this.code,e?.truncate):n.then(o=>Of(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Of(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return Ht(t,r)}function Pf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ln=ni({name:"sha2-256",code:18,encode:Pf("SHA-256")}),lp=ni({name:"sha2-512",code:19,encode:Pf("SHA-512")});var je={...ei,...Ys,...ti,...Gs,...Zs,...Hs,...Vs,...Ks,...Js,...Xs},Yb={...oi,...js};function Mf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Nf=Mf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),si=Mf("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),dp={utf8:Nf,"utf-8":Nf,hex:je.base16,latin1:si,ascii:si,binary:si,...je},go=dp;function et(r,t="utf8"){let e=go[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function j(r,t="utf8"){let e=go[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var pp=parseInt("11111",2),ii=parseInt("10000000",2),mp=parseInt("01111111",2),kf={0:dn,1:dn,2:yp,3:wp,4:xp,5:bp,6:gp,16:dn,22:dn,48:dn};function le(r,t={offset:0}){let e=r[t.offset]&pp;if(t.offset++,kf[e]!=null)return kf[e](r,t);throw new Error("No decoder for tag "+e)}function pn(r,t){let e=0;if((r[t.offset]&ii)===ii){let n=r[t.offset]&mp,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(o,16)}else e=r[t.offset],t.offset++;return e}function dn(r,t){pn(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=le(r,t);if(n===null)break;e.push(n)}return e}function yp(r,t){let e=pn(r,t),n=t.offset,o=t.offset+e,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return t.offset+=e,Uint8Array.from(s)}function gp(r,t){let e=pn(r,t),n=t.offset+e,o=r[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;t.offset<n;){let f=r[t.offset];if(t.offset++,c.push(f&127),f<128){c.reverse();let u=0;for(let h=0;h<c.length;h++)u+=c[h]<<h*7;a+=`.${u}`,c=[]}}return a}function bp(r,t){return t.offset++,null}function wp(r,t){let e=pn(r,t),n=r[t.offset];t.offset++;let o=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function xp(r,t){let e=pn(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function Ep(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new it;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function ai(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=Ep(r.byteLength);return new it(Uint8Array.from([t.byteLength|ii]),t)}function Ut(r){let t=new it,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new it(Uint8Array.from([2]),ai(t),t)}function bo(r){let t=Uint8Array.from([0]),e=new it(t,r);return new it(Uint8Array.from([3]),ai(e),e)}function Le(r,t=48){let e=new it;for(let n of r)e.append(n);return new it(Uint8Array.from([t]),ai(e),e)}var Sp=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Ap=Uint8Array.from([6,5,43,129,4,0,34]),vp=Uint8Array.from([6,5,43,129,4,0,35]),Bp={ext:!0,kty:"EC",crv:"P-256"},Lp={ext:!0,kty:"EC",crv:"P-384"},_p={ext:!0,kty:"EC",crv:"P-521"},ci=32,fi=48,ui=66;function hi(r){let t=le(r);return Ff(t)}function Ff(r){let t=r[1][1][0],e=1,n,o;if(t.byteLength===ci*2+1)return n=j(t.subarray(e,e+ci),"base64url"),o=j(t.subarray(e+ci),"base64url"),new vr({...Bp,key_ops:["verify"],x:n,y:o});if(t.byteLength===fi*2+1)return n=j(t.subarray(e,e+fi),"base64url"),o=j(t.subarray(e+fi),"base64url"),new vr({...Lp,key_ops:["verify"],x:n,y:o});if(t.byteLength===ui*2+1)return n=j(t.subarray(e,e+ui),"base64url"),o=j(t.subarray(e+ui),"base64url"),new vr({..._p,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Kf(r){return Le([Ut(Uint8Array.from([1])),Le([Ip(r.crv)],160),Le([bo(new it(Uint8Array.from([4]),et(r.x??"","base64url"),et(r.y??"","base64url")))],161)]).subarray()}function Ip(r){if(r==="P-256")return Sp;if(r==="P-384")return Ap;if(r==="P-521")return vp;throw new Q(`Invalid curve ${r}`)}var vr=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Kf(this.jwk)),this._raw}toMultihash(){return Vt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}async verify(t,e,n){return Cf(this.jwk,e,t,n)}};function li(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function Jt(r,t=""){if(typeof r!="number"){let e=t&&`"${t}" `;throw new TypeError(`${e}expected number, got ${typeof r}`)}if(!Number.isSafeInteger(r)||r<0){let e=t&&`"${t}" `;throw new RangeError(`${e}expected integer >= 0, got ${r}`)}}function Lt(r,t,e=""){let n=li(r),o=r?.length,s=t!==void 0;if(!n||s&&o!==t){let i=e&&`"${e}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof r}`,f=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(f):new TypeError(f)}return r}function We(r){if(typeof r!="function"||typeof r.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(Jt(r.outputLen),Jt(r.blockLen),r.outputLen<1)throw new Error('"outputLen" must be >= 1');if(r.blockLen<1)throw new Error('"blockLen" must be >= 1')}function Br(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function wo(r,t){Lt(r,void 0,"digestInto() output");let e=t.outputLen;if(r.length<e)throw new RangeError('"digestInto() output" expected to be of length >='+e)}function zt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function xo(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function qt(r,t){return r<<32-t|r>>>t}var Vf=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Cp=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Eo(r){if(Lt(r),Vf)return r.toHex();let t="";for(let e=0;e<r.length;e++)t+=Cp[r[e]];return t}var de={_0:48,_9:57,A:65,F:70,a:97,f:102};function Hf(r){if(r>=de._0&&r<=de._9)return r-de._0;if(r>=de.A&&r<=de.F)return r-(de.A-10);if(r>=de.a&&r<=de.f)return r-(de.a-10)}function mn(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);if(Vf)try{return Uint8Array.fromHex(r)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let t=r.length,e=t/2;if(t%2)throw new RangeError("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=Hf(r.charCodeAt(s)),a=Hf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function di(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Lt(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function pi(r,t={}){let e=(o,s)=>r(s).update(o).digest(),n=r(void 0);return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.canXOF=n.canXOF,e.create=o=>r(o),Object.assign(e,t),Object.freeze(e)}function zf(r=32){Jt(r,"bytesLength");let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(r>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${r}`);return t.getRandomValues(new Uint8Array(r))}var mi=r=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,r])});function qf(r,t,e){return r&t^~r&e}function $f(r,t,e){return r&t^r&e^t&e}var yn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,e,n,o){this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=xo(this.buffer)}update(t){Br(this),Lt(t);let{view:e,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=xo(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(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Br(this),wo(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,zt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let h=i;h<o;h++)e[h]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=xo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,u[h],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:e,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%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}},pe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Et=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var So=BigInt(4294967295),jf=BigInt(32);function Tp(r,t=!1){return t?{h:Number(r&So),l:Number(r>>jf&So)}:{h:Number(r>>jf&So)|0,l:Number(r&So)|0}}function Wf(r,t=!1){let e=r.length,n=new Uint32Array(e),o=new Uint32Array(e);for(let s=0;s<e;s++){let{h:i,l:a}=Tp(r[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var yi=(r,t,e)=>r>>>e,gi=(r,t,e)=>r<<32-e|t>>>e,Ge=(r,t,e)=>r>>>e|t<<32-e,Ze=(r,t,e)=>r<<32-e|t>>>e,gn=(r,t,e)=>r<<64-e|t>>>e-32,bn=(r,t,e)=>r>>>e-32|t<<64-e;function te(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var Gf=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Zf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Yf=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Xf=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,Qf=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),Jf=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var Rp=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]),Ie=new Uint32Array(64),bi=class extends yn{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|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,e){for(let h=0;h<16;h++,e+=4)Ie[h]=t.getUint32(e,!1);for(let h=16;h<64;h++){let m=Ie[h-15],p=Ie[h-2],d=qt(m,7)^qt(m,18)^m>>>3,b=qt(p,17)^qt(p,19)^p>>>10;Ie[h]=b+Ie[h-7]+d+Ie[h-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:f,H:u}=this;for(let h=0;h<64;h++){let m=qt(a,6)^qt(a,11)^qt(a,25),p=u+m+qf(a,c,f)+Rp[h]+Ie[h]|0,b=(qt(n,2)^qt(n,13)^qt(n,22))+$f(n,o,s)|0;u=f,f=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,f=f+this.G|0,u=u+this.H|0,this.set(n,o,s,i,a,c,f,u)}roundClean(){zt(Ie)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),zt(this.buffer)}},wi=class extends bi{A=pe[0]|0;B=pe[1]|0;C=pe[2]|0;D=pe[3]|0;E=pe[4]|0;F=pe[5]|0;G=pe[6]|0;H=pe[7]|0;constructor(){super(32)}};var tu=Wf(["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(r=>BigInt(r))),Op=tu[0],Up=tu[1],Ce=new Uint32Array(80),Te=new Uint32Array(80),xi=class extends yn{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:f,El:u,Fh:h,Fl:m,Gh:p,Gl:d,Hh:b,Hl:l}=this;return[t,e,n,o,s,i,a,c,f,u,h,m,p,d,b,l]}set(t,e,n,o,s,i,a,c,f,u,h,m,p,d,b,l){this.Ah=t|0,this.Al=e|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=f|0,this.El=u|0,this.Fh=h|0,this.Fl=m|0,this.Gh=p|0,this.Gl=d|0,this.Hh=b|0,this.Hl=l|0}process(t,e){for(let _=0;_<16;_++,e+=4)Ce[_]=t.getUint32(e),Te[_]=t.getUint32(e+=4);for(let _=16;_<80;_++){let R=Ce[_-15]|0,D=Te[_-15]|0,P=Ge(R,D,1)^Ge(R,D,8)^yi(R,D,7),T=Ze(R,D,1)^Ze(R,D,8)^gi(R,D,7),I=Ce[_-2]|0,U=Te[_-2]|0,k=Ge(I,U,19)^gn(I,U,61)^yi(I,U,6),N=Ze(I,U,19)^bn(I,U,61)^gi(I,U,6),y=Yf(T,N,Te[_-7],Te[_-16]),A=Xf(y,P,k,Ce[_-7],Ce[_-16]);Ce[_]=A|0,Te[_]=y|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:f,Dl:u,Eh:h,El:m,Fh:p,Fl:d,Gh:b,Gl:l,Hh:g,Hl:v}=this;for(let _=0;_<80;_++){let R=Ge(h,m,14)^Ge(h,m,18)^gn(h,m,41),D=Ze(h,m,14)^Ze(h,m,18)^bn(h,m,41),P=h&p^~h&b,T=m&d^~m&l,I=Qf(v,D,T,Up[_],Te[_]),U=Jf(I,g,R,P,Op[_],Ce[_]),k=I|0,N=Ge(n,o,28)^gn(n,o,34)^gn(n,o,39),y=Ze(n,o,28)^bn(n,o,34)^bn(n,o,39),A=n&s^n&a^s&a,S=o&i^o&c^i&c;g=b|0,v=l|0,b=p|0,l=d|0,p=h|0,d=m|0,{h,l:m}=te(f|0,u|0,U|0,k|0),f=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let x=Gf(k,y,S);n=Zf(x,U,N,A),o=x|0}({h:n,l:o}=te(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=te(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=te(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=te(this.Dh|0,this.Dl|0,f|0,u|0),{h,l:m}=te(this.Eh|0,this.El|0,h|0,m|0),{h:p,l:d}=te(this.Fh|0,this.Fl|0,p|0,d|0),{h:b,l}=te(this.Gh|0,this.Gl|0,b|0,l|0),{h:g,l:v}=te(this.Hh|0,this.Hl|0,g|0,v|0),this.set(n,o,s,i,a,c,f,u,h,m,p,d,b,l,g,v)}roundClean(){zt(Ce,Te)}destroy(){this.destroyed=!0,zt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ei=class extends xi{Ah=Et[0]|0;Al=Et[1]|0;Bh=Et[2]|0;Bl=Et[3]|0;Ch=Et[4]|0;Cl=Et[5]|0;Dh=Et[6]|0;Dl=Et[7]|0;Eh=Et[8]|0;El=Et[9]|0;Fh=Et[10]|0;Fl=Et[11]|0;Gh=Et[12]|0;Gl=Et[13]|0;Hh=Et[14]|0;Hl=Et[15]|0;constructor(){super(64)}};var ee=pi(()=>new wi,mi(1));var Ao=pi(()=>new Ei,mi(3));var V=(r,t,e)=>Lt(r,t,e),Ai=Jt,Lr=Eo,mt=(...r)=>di(...r),_r=r=>mn(r),Ye=li,Xe=r=>zf(r),Bo=BigInt(0),Si=BigInt(1);function $t(r,t=""){if(typeof r!="boolean"){let e=t&&`"${t}" `;throw new TypeError(e+"expected boolean, got type="+typeof r)}return r}function Lo(r){if(typeof r=="bigint"){if(!vo(r))throw new RangeError("positive bigint expected, got "+r)}else Ai(r);return r}function jt(r,t=""){if(typeof r!="number"){let e=t&&`"${t}" `;throw new TypeError(e+"expected number, got type="+typeof r)}if(!Number.isSafeInteger(r)){let e=t&&`"${t}" `;throw new RangeError(e+"expected safe integer, got "+r)}}function wn(r){let t=Lo(r).toString(16);return t.length&1?"0"+t:t}function eu(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);return r===""?Bo:BigInt("0x"+r)}function Qe(r){return eu(Eo(r))}function Pt(r){return eu(Eo(De(Lt(r)).reverse()))}function _o(r,t){if(Jt(t),t===0)throw new RangeError("zero length");r=Lo(r);let e=r.toString(16);if(e.length>t*2)throw new RangeError("number too large");return mn(e.padStart(t*2,"0"))}function xn(r,t){return _o(r,t).reverse()}function ru(r,t){if(r=V(r),t=V(t),r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function De(r){return Uint8Array.from(V(r))}function Io(r){if(typeof r!="string")throw new TypeError("ascii string expected, got "+typeof r);return Uint8Array.from(r,(t,e)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${r[e]}" with code ${n} at position ${e}`);return n})}var vo=r=>typeof r=="bigint"&&Bo<=r;function Pp(r,t,e){return vo(r)&&vo(t)&&vo(e)&&t<=r&&r<e}function me(r,t,e,n){if(!Pp(t,e,n))throw new RangeError("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Ir(r){if(r<Bo)throw new Error("expected non-negative bigint, got "+r);let t;for(t=0;r>Bo;r>>=Si,t+=1);return t}var En=r=>(Si<<BigInt(r))-Si;function nu(r,t,e){if(Jt(r,"hashLen"),Jt(t,"qByteLen"),typeof e!="function")throw new TypeError("hmacFn must be a function");let n=l=>new Uint8Array(l),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(r),f=n(r),u=0,h=()=>{c.fill(1),f.fill(0),u=0},m=(...l)=>e(f,mt(c,...l)),p=(l=o)=>{f=m(s,l),c=m(),l.length!==0&&(f=m(i,l),c=m())},d=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let l=0,g=[];for(;l<t;){c=m();let v=c.slice();g.push(v),l+=c.length}return mt(...g)};return(l,g)=>{h(),p(l);let v;for(;(v=g(d()))===void 0;)p();return h(),v}}function Nt(r,t={},e={}){if(Object.prototype.toString.call(r)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(r,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let c=r[s];if(a&&c===void 0)return;let f=typeof c;if(f!==i||c===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${f}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(t,!1),o(e,!0)}var vi=()=>{throw new Error("not implemented")};var St=BigInt(0),ht=BigInt(1),Je=BigInt(2),au=BigInt(3),cu=BigInt(4),fu=BigInt(5),Np=BigInt(7),uu=BigInt(8),Mp=BigInt(9),hu=BigInt(16);function at(r,t){if(t<=St)throw new Error("mod: expected positive modulus, got "+t);let e=r%t;return e>=St?e:t+e}function rt(r,t,e){if(t<St)throw new Error("pow2: expected non-negative exponent, got "+t);let n=r;for(;t-- >St;)n*=n,n%=e;return n}function ou(r,t){if(r===St)throw new Error("invert: expected non-zero number");if(t<=St)throw new Error("invert: expected positive modulus, got "+t);let e=at(r,t),n=t,o=St,s=ht,i=ht,a=St;for(;e!==St;){let f=n/e,u=n-e*f,h=o-i*f,m=s-a*f;n=e,e=u,o=i,s=a,i=h,a=m}if(n!==ht)throw new Error("invert: does not exist");return at(o,t)}function Bi(r,t,e){let n=r;if(!n.eql(n.sqr(t),e))throw new Error("Cannot find square root")}function lu(r,t){let e=r,n=(e.ORDER+ht)/cu,o=e.pow(t,n);return Bi(e,o,t),o}function kp(r,t){let e=r,n=(e.ORDER-fu)/uu,o=e.mul(t,Je),s=e.pow(o,n),i=e.mul(t,s),a=e.mul(e.mul(i,Je),s),c=e.mul(i,e.sub(a,e.ONE));return Bi(e,c,t),c}function Fp(r){let t=Cr(r),e=du(r),n=e(t,t.neg(t.ONE)),o=e(t,n),s=e(t,t.neg(n)),i=(r+Np)/hu;return((a,c)=>{let f=a,u=f.pow(c,i),h=f.mul(u,n),m=f.mul(u,o),p=f.mul(u,s),d=f.eql(f.sqr(h),c),b=f.eql(f.sqr(m),c);u=f.cmov(u,h,d),h=f.cmov(p,m,b);let l=f.eql(f.sqr(h),c),g=f.cmov(u,h,l);return Bi(f,g,c),g})}function du(r){if(r<au)throw new Error("sqrt is not defined for small field");let t=r-ht,e=0;for(;t%Je===St;)t/=Je,e++;let n=Je,o=Cr(r);for(;su(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(e===1)return lu;let s=o.pow(n,t),i=(t+ht)/Je;return function(c,f){let u=c;if(u.is0(f))return f;if(su(u,f)!==1)throw new Error("Cannot find square root");let h=e,m=u.mul(u.ONE,s),p=u.pow(f,t),d=u.pow(f,i);for(;!u.eql(p,u.ONE);){if(u.is0(p))return u.ZERO;let b=1,l=u.sqr(p);for(;!u.eql(l,u.ONE);)if(b++,l=u.sqr(l),b===h)throw new Error("Cannot find square root");let g=ht<<BigInt(h-b-1),v=u.pow(m,g);h=b,m=u.sqr(v),p=u.mul(p,m),d=u.mul(d,v)}return d}}function Kp(r){return r%cu===au?lu:r%uu===fu?kp:r%hu===Mp?Fp(r):du(r)}var ye=(r,t)=>(at(r,t)&ht)===ht,Hp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Li(r){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},e=Hp.reduce((n,o)=>(n[o]="function",n),t);if(Nt(r,e),jt(r.BYTES,"BYTES"),jt(r.BITS,"BITS"),r.BYTES<1||r.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(r.ORDER<=ht)throw new Error("invalid field: expected ORDER > 1, got "+r.ORDER);return r}function Vp(r,t,e){let n=r;if(e<St)throw new Error("invalid exponent, negatives unsupported");if(e===St)return n.ONE;if(e===ht)return t;let o=n.ONE,s=t;for(;e>St;)e&ht&&(o=n.mul(o,s)),s=n.sqr(s),e>>=ht;return o}function Sn(r,t,e=!1){let n=r,o=new Array(t.length).fill(e?n.ZERO:void 0),s=t.reduce((a,c,f)=>n.is0(c)?a:(o[f]=a,n.mul(a,c)),n.ONE),i=n.inv(s);return t.reduceRight((a,c,f)=>n.is0(c)?a:(o[f]=n.mul(a,o[f]),n.mul(a,c)),i),o}function su(r,t){let e=r,n=(e.ORDER-ht)/Je,o=e.pow(t,n),s=e.eql(o,e.ONE),i=e.eql(o,e.ZERO),a=e.eql(o,e.neg(e.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function zp(r,t){if(t!==void 0&&Ai(t),r<=St)throw new Error("invalid n length: expected positive n, got "+r);if(t!==void 0&&t<1)throw new Error("invalid n length: expected positive bit length, got "+t);let e=Ir(r);if(t!==void 0&&t<e)throw new Error(`invalid n length: expected bit length (${e}) >= n.length (${t})`);let n=t!==void 0?t:e,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var iu=new WeakMap,Co=class{ORDER;BITS;BYTES;isLE;ZERO=St;ONE=ht;_lengths;_mod;constructor(t,e={}){if(t<=ht)throw new Error("invalid field: expected ORDER > 1, got "+t);let n;this.isLE=!1,e!=null&&typeof e=="object"&&(typeof e.BITS=="number"&&(n=e.BITS),typeof e.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:e.sqrt,enumerable:!0}),typeof e.isLE=="boolean"&&(this.isLE=e.isLE),e.allowedLengths&&(this._lengths=Object.freeze(e.allowedLengths.slice())),typeof e.modFromBytes=="boolean"&&(this._mod=e.modFromBytes));let{nBitLength:o,nByteLength:s}=zp(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(t){return at(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof t);return St<=t&&t<this.ORDER}is0(t){return t===St}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&ht)===ht}neg(t){return at(-t,this.ORDER)}eql(t,e){return t===e}sqr(t){return at(t*t,this.ORDER)}add(t,e){return at(t+e,this.ORDER)}sub(t,e){return at(t-e,this.ORDER)}mul(t,e){return at(t*e,this.ORDER)}pow(t,e){return Vp(this,t,e)}div(t,e){return at(t*ou(e,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,e){return t+e}subN(t,e){return t-e}mulN(t,e){return t*e}inv(t){return ou(t,this.ORDER)}sqrt(t){let e=iu.get(this);return e||iu.set(this,e=Kp(this.ORDER)),e(this,t)}toBytes(t){return this.isLE?xn(t,this.BYTES):_o(t,this.BYTES)}fromBytes(t,e=!1){V(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(t.length<1||!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let f=new Uint8Array(o);f.set(t,s?0:f.length-t.length),t=f}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let c=s?Pt(t):Qe(t);if(a&&(c=at(c,i)),!e&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return Sn(this,t)}cmov(t,e,n){return $t(n,"condition"),n?e:t}};Object.freeze(Co.prototype);function Cr(r,t={}){return new Co(r,t)}function pu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");if(r<=ht)throw new Error("field order must be greater than 1");let t=Ir(r-ht);return Math.ceil(t/8)}function _i(r){let t=pu(r);return t+Math.ceil(t/2)}function Ii(r,t,e=!1){V(r);let n=r.length,o=pu(t),s=Math.max(_i(t),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=e?Pt(r):Qe(r),a=at(i,t-ht)+ht;return e?xn(a,o):_o(a,o)}var Tr=BigInt(0),tr=BigInt(1);function An(r,t){let e=t.negate();return r?e:t}function er(r,t){let e=Sn(r.Fp,t.map(n=>n.Z));return t.map((n,o)=>r.fromAffine(n.toAffine(e[o])))}function bu(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function Ci(r,t){bu(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1),o=2**r,s=En(r),i=BigInt(r);return{windows:e,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function mu(r,t,e){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=e,a=Number(r&o),c=r>>i;a>n&&(a-=s,c+=tr);let f=t*n,u=f+Math.abs(a)-1,h=a===0,m=a<0,p=t%2!==0;return{nextN:c,offset:u,isZero:h,isNeg:m,isNegF:p,offsetF:f}}var Ti=new WeakMap,wu=new WeakMap;function Di(r){return wu.get(r)||1}function yu(r){if(r!==Tr)throw new Error("invalid wNAF")}var Dr=class{BASE;ZERO;Fn;bits;constructor(t,e){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=e}_unsafeLadder(t,e,n=this.ZERO){let o=t;for(;e>Tr;)e&tr&&(n=n.add(o)),o=o.double(),e>>=tr;return n}precomputeWindow(t,e){let{windows:n,windowSize:o}=Ci(e,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let f=1;f<o;f++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,e,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Ci(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:f,isZero:u,isNeg:h,isNegF:m,offsetF:p}=mu(n,a,i);n=c,u?s=s.add(An(m,e[p])):o=o.add(An(h,e[f]))}return yu(n),{p:o,f:s}}wNAFUnsafe(t,e,n,o=this.ZERO){let s=Ci(t,this.bits);for(let i=0;i<s.windows&&n!==Tr;i++){let{nextN:a,offset:c,isZero:f,isNeg:u}=mu(n,i,s);if(n=a,!f){let h=e[c];o=o.add(u?h.negate():h)}}return yu(n),o}getPrecomputes(t,e,n){let o=Ti.get(e);return o||(o=this.precomputeWindow(e,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ti.set(e,o))),o}cached(t,e,n){let o=Di(t);return this.wNAF(o,this.getPrecomputes(o,t,n),e)}unsafe(t,e,n,o){let s=Di(t);return s===1?this._unsafeLadder(t,e,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),e,o)}createCache(t,e){bu(e,this.bits),wu.set(t,e),Ti.delete(t)}hasCache(t){return Di(t)!==1}};function xu(r,t,e,n){let o=t,s=r.ZERO,i=r.ZERO;for(;e>Tr||n>Tr;)e&tr&&(s=s.add(o)),n&tr&&(i=i.add(o)),o=o.double(),e>>=tr,n>>=tr;return{p1:s,p2:i}}function gu(r,t,e){if(t){if(t.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Li(t),t}else return Cr(r,{isLE:e})}function To(r,t,e={},n){if(n===void 0&&(n=r==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${r} CURVE object`);for(let c of["p","n","h"]){let f=t[c];if(!(typeof f=="bigint"&&f>Tr))throw new Error(`CURVE.${c} must be positive bigint`)}let o=gu(t.p,e.Fp,n),s=gu(t.n,e.Fn,n),a=["Gx","Gy","a",r==="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}}function Rr(r,t){return function(n){let o=r(n);return{secretKey:o,publicKey:t(o)}}}var Re=BigInt(0),bt=BigInt(1),Ri=BigInt(2),qp=BigInt(8);function $p(r,t,e,n){let o=r.sqr(e),s=r.sqr(n),i=r.add(r.mul(t.a,o),s),a=r.add(r.ONE,r.mul(t.d,r.mul(o,s)));return r.eql(i,a)}function Eu(r,t={}){let e=t,n=To("edwards",r,e,e.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;Nt(e,{},{uvRatio:"function"});let c=Ri<<BigInt(s.BYTES*8)-bt,f=b=>o.create(b),u=e.uvRatio===void 0?(b,l)=>{try{return{isValid:!0,value:o.sqrt(o.div(b,l))}}catch{return{isValid:!1,value:Re}}}:e.uvRatio;if(!$p(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function h(b,l,g=!1){let v=g?bt:Re;return me("coordinate "+b,l,v,c),l}function m(b){if(!(b instanceof p))throw new Error("EdwardsPoint expected")}class p{static BASE=new p(i.Gx,i.Gy,bt,f(i.Gx*i.Gy));static ZERO=new p(Re,bt,bt,Re);static Fp=o;static Fn=s;X;Y;Z;T;constructor(l,g,v,_){this.X=h("x",l),this.Y=h("y",g),this.Z=h("z",v,!0),this.T=h("t",_),Object.freeze(this)}static CURVE(){return i}static fromAffine(l){if(l instanceof p)throw new Error("extended point not allowed");let{x:g,y:v}=l||{};return h("x",g),h("y",v),new p(g,v,bt,f(g*v))}static fromBytes(l,g=!1){let v=o.BYTES,{a:_,d:R}=i;l=De(V(l,v,"point")),$t(g,"zip215");let D=De(l),P=l[v-1];D[v-1]=P&-129;let T=Pt(D),I=g?c:o.ORDER;me("point.y",T,Re,I);let U=f(T*T),k=f(U-bt),N=f(R*U-_),{isValid:y,value:A}=u(k,N);if(!y)throw new Error("bad point: invalid y coordinate");let S=(A&bt)===bt,x=(P&128)!==0;if(!g&&A===Re&&x)throw new Error("bad point: x=0 and x_0=1");return x!==S&&(A=f(-A)),p.fromAffine({x:A,y:T})}static fromHex(l,g=!1){return p.fromBytes(_r(l),g)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(l=8,g=!0){return d.createCache(this,l),g||this.multiply(Ri),this}assertValidity(){let l=this,{a:g,d:v}=i;if(l.is0())throw new Error("bad point: ZERO");let{X:_,Y:R,Z:D,T:P}=l,T=f(_*_),I=f(R*R),U=f(D*D),k=f(U*U),N=f(T*g),y=f(U*f(N+I)),A=f(k+f(v*f(T*I)));if(y!==A)throw new Error("bad point: equation left != right (1)");let S=f(_*R),x=f(D*P);if(S!==x)throw new Error("bad point: equation left != right (2)")}equals(l){m(l);let{X:g,Y:v,Z:_}=this,{X:R,Y:D,Z:P}=l,T=f(g*P),I=f(R*_),U=f(v*P),k=f(D*_);return T===I&&U===k}is0(){return this.equals(p.ZERO)}negate(){return new p(f(-this.X),this.Y,this.Z,f(-this.T))}double(){let{a:l}=i,{X:g,Y:v,Z:_}=this,R=f(g*g),D=f(v*v),P=f(Ri*f(_*_)),T=f(l*R),I=g+v,U=f(f(I*I)-R-D),k=T+D,N=k-P,y=T-D,A=f(U*N),S=f(k*y),x=f(U*y),w=f(N*k);return new p(A,S,w,x)}add(l){m(l);let{a:g,d:v}=i,{X:_,Y:R,Z:D,T:P}=this,{X:T,Y:I,Z:U,T:k}=l,N=f(_*T),y=f(R*I),A=f(P*v*k),S=f(D*U),x=f((_+R)*(T+I)-N-y),w=S-A,B=S+A,L=f(y-g*N),E=f(x*w),C=f(B*L),O=f(x*L),M=f(w*B);return new p(E,C,M,O)}subtract(l){return m(l),this.add(l.negate())}multiply(l){if(!s.isValidNot0(l))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:g,f:v}=d.cached(this,l,_=>er(p,_));return er(p,[g,v])[0]}multiplyUnsafe(l){if(!s.isValid(l))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return l===Re?p.ZERO:this.is0()||l===bt?this:d.unsafe(this,l,g=>er(p,g))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return d.unsafe(this,i.n).is0()}toAffine(l){let g=this,v=l,{X:_,Y:R,Z:D}=g,P=g.is0();v==null&&(v=P?qp:o.inv(D));let T=f(_*v),I=f(R*v),U=o.mul(D,v);if(P)return{x:Re,y:bt};if(U!==bt)throw new Error("invZ was invalid");return{x:T,y:I}}clearCofactor(){return a===bt?this:this.multiplyUnsafe(a)}toBytes(){let{x:l,y:g}=this.toAffine(),v=o.toBytes(g);return v[v.length-1]|=l&bt?128:0,v}toHex(){return Lr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let d=new Dr(p,s.BITS);return s.BITS>=8&&p.BASE.precompute(8),Object.freeze(p.prototype),Object.freeze(p),p}var Do=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(t){this.ep=t}static fromBytes(t){vi()}static fromHex(t){vi()}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 Lr(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,e){return this.ep.precompute(t,e),this}};function Su(r,t,e={}){if(typeof t!="function")throw new Error('"hash" function param is required');let n=t,o=e;Nt(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:c}=r,f=n.outputLen,u=2*a.BYTES;if(f!==void 0&&(jt(f,"hash.outputLen"),f!==u))throw new Error(`hash.outputLen must be ${u}, got ${f}`);let h=o.randomBytes===void 0?Xe:o.randomBytes,m=o.adjustScalarBytes===void 0?y=>y:o.adjustScalarBytes,p=o.domain===void 0?(y,A,S)=>{if($t(S,"phflag"),A.length||S)throw new Error("Contexts/pre-hash are not supported");return y}:o.domain;function d(y){return c.create(Pt(y))}function b(y){let A=T.secretKey;V(y,T.secretKey,"secretKey");let S=V(n(y),2*A,"hashedSecretKey"),x=m(S.slice(0,A)),w=S.slice(A,2*A),B=d(x);return{head:x,prefix:w,scalar:B}}function l(y){let{head:A,prefix:S,scalar:x}=b(y),w=i.multiply(x),B=w.toBytes();return{head:A,prefix:S,scalar:x,point:w,pointBytes:B}}function g(y){return l(y).pointBytes}function v(y=Uint8Array.of(),...A){let S=mt(...A);return d(n(p(S,V(y,void 0,"context"),!!s)))}function _(y,A,S={}){y=V(y,void 0,"message"),s&&(y=s(y));let{prefix:x,scalar:w,pointBytes:B}=l(A),L=v(S.context,x,y),E=i.multiply(L).toBytes(),C=v(S.context,E,B,y),O=c.create(L+C*w);if(!c.isValid(O))throw new Error("sign failed: invalid s");let M=mt(E,c.toBytes(O));return V(M,T.signature,"result")}let R={zip215:o.zip215};function D(y,A,S,x=R){let{context:w}=x,B=x.zip215===void 0?!!R.zip215:x.zip215,L=T.signature;y=V(y,L,"signature"),A=V(A,void 0,"message"),S=V(S,T.publicKey,"publicKey"),B!==void 0&&$t(B,"zip215"),s&&(A=s(A));let E=L/2,C=y.subarray(0,E),O=Pt(y.subarray(E,L)),M,H,K;try{M=r.fromBytes(S,B),H=r.fromBytes(C,B),K=i.multiplyUnsafe(O)}catch{return!1}if(!B&&M.isSmallOrder())return!1;let Z=v(w,C,S,A);return H.add(M.multiplyUnsafe(Z)).subtract(K).clearCofactor().is0()}let P=a.BYTES,T={secretKey:P,publicKey:P,signature:2*P,seed:P};function I(y){return y=y===void 0?h(T.seed):y,V(y,T.seed,"seed")}function U(y){return Ye(y)&&y.length===T.secretKey}function k(y,A){try{return!!r.fromBytes(y,A===void 0?R.zip215:A)}catch{return!1}}let N={getExtendedPublicKey:l,randomSecretKey:I,isValidSecretKey:U,isValidPublicKey:k,toMontgomery(y){let{y:A}=r.fromBytes(y),S=T.publicKey,x=S===32;if(!x&&S!==57)throw new Error("only defined for 25519 and 448");let w=x?a.div(bt+A,bt-A):a.div(A-bt,A+bt);return a.toBytes(w)},toMontgomerySecret(y){let A=T.secretKey;V(y,A);let S=n(y.subarray(0,A));return m(S).subarray(0,A)}};return Object.freeze(T),Object.freeze(N),Object.freeze({keygen:Rr(I,g),getPublicKey:g,sign:_,verify:D,utils:N,Point:r,lengths:T})}function vn(r,t){if(jt(r),jt(t),t<0||t>4)throw new Error("invalid I2OSP length: "+t);if(r<0||r>2**(8*t)-1)throw new Error("invalid I2OSP input: "+r);let e=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)e[n]=r&255,r>>>=8;return new Uint8Array(e)}function jp(r,t){let e=new Uint8Array(r.length);for(let n=0;n<r.length;n++)e[n]=r[n]^t[n];return e}function Wp(r){if(!Ye(r)&&typeof r!="string")throw new Error("DST must be Uint8Array or ascii string");let t=typeof r=="string"?Io(r):r;if(t.length===0)throw new Error("DST must be non-empty");return t}function Oi(r,t,e,n){V(r),jt(e),t=Wp(t),t.length>255&&(t=n(mt(Io("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(e/o);if(e>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=mt(t,vn(t.length,1)),c=new Uint8Array(s),f=vn(e,2),u=new Array(i),h=n(mt(c,r,f,vn(0,1),a));u[0]=n(mt(h,vn(1,1),a));for(let p=1;p<i;p++){let d=[jp(h,u[p-1]),vn(p+1,1),a];u[p]=n(mt(...d))}return mt(...u).slice(0,e)}var Au="HashToScalar-";var Bn=BigInt(0),Or=BigInt(1),Ro=BigInt(2);function Gp(r){return Nt(r,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...r})}function vu(r){let t=Gp(r),{P:e,type:n,adjustScalarBytes:o,powPminus2:s,randomBytes:i}=t,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");let c=i===void 0?Xe:i,f=a?255:448,u=a?32:56,h=BigInt(a?9:5),m=BigInt(a?121665:39081),p=a?Ro**BigInt(254):Ro**BigInt(447),d=a?BigInt(8)*Ro**BigInt(251)-Or:BigInt(4)*Ro**BigInt(445)-Or,b=p+d+Or,l=S=>at(S,e),g=v(h);function v(S){return xn(l(S),u)}function _(S){let x=De(V(S,u,"uCoordinate"));return a&&(x[31]&=127),l(Pt(x))}function R(S){return Pt(o(De(V(S,u,"scalar"))))}function D(S,x){let w=k(_(x),R(S));if(w===Bn)throw new Error("invalid private or public key received");return v(w)}function P(S){return D(S,g)}let T=P,I=D;function U(S,x,w){let B=l(S*(x-w));return x=l(x-B),w=l(w+B),{x_2:x,x_3:w}}function k(S,x){me("u",S,Bn,e),me("scalar",x,p,b);let w=x,B=S,L=Or,E=Bn,C=S,O=Or,M=Bn;for(let K=BigInt(f-1);K>=Bn;K--){let Z=w>>K&Or;M^=Z,{x_2:L,x_3:C}=U(M,L,C),{x_2:E,x_3:O}=U(M,E,O),M=Z;let Y=L+E,X=l(Y*Y),$=L-E,st=l($*$),fe=X-st,Ve=C+O,mr=C-O,on=l(mr*Y),sn=l(Ve*$),hf=on+sn,lf=on-sn;C=l(hf*hf),O=l(B*l(lf*lf)),L=l(X*st),E=l(fe*(X+l(m*fe)))}({x_2:L,x_3:C}=U(M,L,C)),{x_2:E,x_3:O}=U(M,E,O);let H=s(E);return l(L*H)}let N={secretKey:u,publicKey:u,seed:u},y=S=>(S=S===void 0?c(u):S,V(S,N.seed,"seed"),S),A={randomSecretKey:y};return Object.freeze(N),Object.freeze(A),Object.freeze({keygen:Rr(y,T),getSharedSecret:I,getPublicKey:T,scalarMult:D,scalarMultBase:P,utils:A,GuBytes:g.slice(),lengths:N})}var Zp=BigInt(0),ge=BigInt(1),Bu=BigInt(2),Yp=BigInt(3),Xp=BigInt(5),Qp=BigInt(8),rr=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Mi={p:rr,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Qp,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Iu(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),s=rr,a=r*r%s*r%s,c=rt(a,Bu,s)*a%s,f=rt(c,ge,s)*r%s,u=rt(f,Xp,s)*f%s,h=rt(u,t,s)*u%s,m=rt(h,e,s)*h%s,p=rt(m,n,s)*m%s,d=rt(p,o,s)*p%s,b=rt(d,o,s)*p%s,l=rt(b,t,s)*u%s;return{pow_p_5_8:rt(l,Bu,s)*r%s,b2:a}}function Cu(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Ui=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ki(r,t){let e=rr,n=at(t*t*t,e),o=at(n*n*t,e),s=Iu(r*o).pow_p_5_8,i=at(r*n*s,e),a=at(t*i*i,e),c=i,f=at(i*Ui,e),u=a===r,h=a===at(-r,e),m=a===at(-r*Ui,e);return u&&(i=c),(h||m)&&(i=f),ye(i,e)&&(i=at(-i,e)),{isValid:u||h,value:i}}var Ue=Eu(Mi,{uvRatio:ki}),Oe=Ue.Fp,Tu=Ue.Fn;function Jp(r){return Su(Ue,Ao,Object.assign({adjustScalarBytes:Cu,zip215:!0},r))}var Du=Jp({});var Ln=(()=>{let r=rr;return vu({P:r,type:"x25519",powPminus2:t=>{let{pow_p_5_8:e,b2:n}=Iu(t);return at(rt(e,Yp,r)*n,r)},adjustScalarBytes:Cu})})();var Pi=Ui,tm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),em=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),rm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),nm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Lu=r=>ki(ge,r),om=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ni=r=>Oe.create(Pt(r)&om);function _u(r){let{d:t}=Mi,e=rr,n=g=>Oe.create(g),o=n(Pi*r*r),s=n((o+ge)*rm),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:f}=ki(s,a),u=n(f*r);ye(u,e)||(u=n(-u)),c||(f=u),c||(i=o);let h=n(i*(o-ge)*nm-a),m=f*f,p=n((f+f)*a),d=n(h*tm),b=n(ge-m),l=n(ge+m);return new Ue(n(p*l),n(b*d),n(d*l),n(p*b))}var Pe=class r extends Do{static BASE=new r(Ue.BASE);static ZERO=new r(Ue.ZERO);static Fp=Oe;static Fn=Tu;constructor(t){super(t)}static fromAffine(t){return new r(Ue.fromAffine(t))}assertSame(t){if(!(t instanceof r))throw new Error("RistrettoPoint expected")}init(t){return new r(t)}static fromBytes(t){Lt(t,32);let{a:e,d:n}=Mi,o=rr,s=R=>Oe.create(R),i=Ni(t);if(!ru(Oe.toBytes(i),t)||ye(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(ge+e*a),f=s(ge-e*a),u=s(c*c),h=s(f*f),m=s(e*n*u-h),{isValid:p,value:d}=Lu(s(m*h)),b=s(d*f),l=s(d*b*m),g=s((i+i)*b);ye(g,o)&&(g=s(-g));let v=s(c*l),_=s(g*v);if(!p||ye(_,o)||v===Zp)throw new Error("invalid ristretto255 encoding 2");return new r(new Ue(g,v,ge,_))}static fromHex(t){return r.fromBytes(mn(t))}toBytes(){let{X:t,Y:e,Z:n,T:o}=this.ep,s=rr,i=l=>Oe.create(l),a=i(i(n+e)*i(n-e)),c=i(t*e),f=i(c*c),{value:u}=Lu(i(a*f)),h=i(u*a),m=i(u*c),p=i(h*m*o),d;if(ye(o*p,s)){let l=i(e*Pi),g=i(t*Pi);t=l,e=g,d=i(h*em)}else d=m;ye(t*p,s)&&(e=i(-e));let b=i((n-e)*d);return ye(b,s)&&(b=i(-b)),Oe.toBytes(b)}equals(t){this.assertSame(t);let{X:e,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=f=>Oe.create(f),a=i(e*s)===i(n*o),c=i(n*s)===i(e*o);return a||c}is0(){return this.equals(r.ZERO)}};Object.freeze(Pe.BASE);Object.freeze(Pe.ZERO);Object.freeze(Pe.prototype);Object.freeze(Pe);var sm=Object.freeze({Point:Pe,hashToCurve(r,t){let e=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,n=Oi(r,e,64,Ao);return sm.deriveToCurve(n)},hashToScalar(r,t={DST:Au}){let e=Oi(r,t.DST,64,Ao);return Tu.create(Pt(e))},deriveToCurve(r){Lt(r,64);let t=Ni(r.subarray(0,32)),e=_u(t),n=Ni(r.subarray(32,64)),o=_u(n);return new Pe(e.add(o))}});var _n=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Oo=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Ft={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new Oo("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Uo=32;var Fi,im=(async()=>{try{return await Ft.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function am(r,t,e){if(r.buffer instanceof ArrayBuffer){let n=await Ft.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await Ft.get().subtle.verify({name:"Ed25519"},n,xt(t),xt(e instanceof Uint8Array?e:e.subarray()))}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function cm(r,t,e){return Du.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}async function Ru(r,t,e){return Fi==null&&(Fi=await im),Fi?am(r,t,e):cm(r,t,e)}function Po(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var No=class{type="Ed25519";raw;constructor(t){this.raw=Ki(t,Uo)}toMultihash(){return Vt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){n?.signal?.throwIfAborted();let o=Ru(this.raw,e,t);return Po(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Hi(r){return r=Ki(r,Uo),new No(r)}function Ki(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new Q(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var um=Math.pow(2,7),hm=Math.pow(2,14),lm=Math.pow(2,21),Vi=Math.pow(2,28),zi=Math.pow(2,35),qi=Math.pow(2,42),$i=Math.pow(2,49),G=128,_t=127;function It(r){if(r<um)return 1;if(r<hm)return 2;if(r<lm)return 3;if(r<Vi)return 4;if(r<zi)return 5;if(r<qi)return 6;if(r<$i)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ur(r,t,e=0){switch(It(r)){case 8:t[e++]=r&255|G,r/=128;case 7:t[e++]=r&255|G,r/=128;case 6:t[e++]=r&255|G,r/=128;case 5:t[e++]=r&255|G,r/=128;case 4:t[e++]=r&255|G,r>>>=7;case 3:t[e++]=r&255|G,r>>>=7;case 2:t[e++]=r&255|G,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function dm(r,t,e=0){switch(It(r)){case 8:t.set(e++,r&255|G),r/=128;case 7:t.set(e++,r&255|G),r/=128;case 6:t.set(e++,r&255|G),r/=128;case 5:t.set(e++,r&255|G),r/=128;case 4:t.set(e++,r&255|G),r>>>=7;case 3:t.set(e++,r&255|G),r>>>=7;case 2:t.set(e++,r&255|G),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ji(r,t){let e=r[t],n=0;if(n+=e&_t,e<G||(e=r[t+1],n+=(e&_t)<<7,e<G)||(e=r[t+2],n+=(e&_t)<<14,e<G)||(e=r[t+3],n+=(e&_t)<<21,e<G)||(e=r[t+4],n+=(e&_t)*Vi,e<G)||(e=r[t+5],n+=(e&_t)*zi,e<G)||(e=r[t+6],n+=(e&_t)*qi,e<G)||(e=r[t+7],n+=(e&_t)*$i,e<G))return n;throw new RangeError("Could not decode varint")}function pm(r,t){let e=r.get(t),n=0;if(n+=e&_t,e<G||(e=r.get(t+1),n+=(e&_t)<<7,e<G)||(e=r.get(t+2),n+=(e&_t)<<14,e<G)||(e=r.get(t+3),n+=(e&_t)<<21,e<G)||(e=r.get(t+4),n+=(e&_t)*Vi,e<G)||(e=r.get(t+5),n+=(e&_t)*zi,e<G)||(e=r.get(t+6),n+=(e&_t)*qi,e<G)||(e=r.get(t+7),n+=(e&_t)*$i,e<G))return n;throw new RangeError("Could not decode varint")}function Uu(r,t,e=0){return t==null&&(t=Bt(It(r))),t instanceof Uint8Array?Ur(r,t,e):dm(r,t,e)}function nr(r,t=0){return r instanceof Uint8Array?ji(r,t):pm(r,t)}var Gi=new Float32Array([-0]),Ne=new Uint8Array(Gi.buffer);function Pu(r,t,e){Gi[0]=r,t[e]=Ne[0],t[e+1]=Ne[1],t[e+2]=Ne[2],t[e+3]=Ne[3]}function Nu(r,t){return Ne[0]=r[t],Ne[1]=r[t+1],Ne[2]=r[t+2],Ne[3]=r[t+3],Gi[0]}var Zi=new Float64Array([-0]),Ct=new Uint8Array(Zi.buffer);function Mu(r,t,e){Zi[0]=r,t[e]=Ct[0],t[e+1]=Ct[1],t[e+2]=Ct[2],t[e+3]=Ct[3],t[e+4]=Ct[4],t[e+5]=Ct[5],t[e+6]=Ct[6],t[e+7]=Ct[7]}function ku(r,t){return Ct[0]=r[t],Ct[1]=r[t+1],Ct[2]=r[t+2],Ct[3]=r[t+3],Ct[4]=r[t+4],Ct[5]=r[t+5],Ct[6]=r[t+6],Ct[7]=r[t+7],Zi[0]}var mm=BigInt(Number.MAX_SAFE_INTEGER),ym=BigInt(Number.MIN_SAFE_INTEGER),Mt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return or;if(t<mm&&t>ym)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Fu&&(o=0n,++n>Fu&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return or;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):or}},or=new Mt(0,0);or.toBigInt=function(){return 0n};or.zzEncode=or.zzDecode=function(){return this};or.length=function(){return 1};var Fu=4294967296n;function Ku(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Hu(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Yi(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Wt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Mo(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Xi=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=xt(t),this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Wt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Wt(this,4);return Mo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Wt(this,4);return Mo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Wt(this,4);let t=Nu(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Wt(this,4);let t=ku(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Wt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Hu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Wt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Wt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Mt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Wt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Wt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Wt(this,8);let t=Mo(this.buf,this.pos+=4),e=Mo(this.buf,this.pos+=4);return new Mt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=ji(this.buf,this.pos);return this.pos+=It(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function In(r){return new Xi(r instanceof Uint8Array?r:r.subarray())}function ko(r,t,e){let n=In(r);return t.decode(n,void 0,e)}function Qi(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Bt(i);o+i>t&&(n=Bt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var sr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ji(){}var ea=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},gm=Qi();function bm(r){return globalThis.Buffer!=null?Bt(r):gm(r)}var Tn=class{len;head;tail;states;constructor(){this.len=0,this.head=new sr(Ji,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new sr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ra((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Fo,10,Mt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Mt.fromBigInt(t);return this._push(Fo,e.length(),e)}uint64Number(t){return this._push(Ur,It(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Mt.fromBigInt(t).zzEncode();return this._push(Fo,e.length(),e)}sint64Number(t){let e=Mt.fromNumber(t).zzEncode();return this._push(Fo,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ta,1,t?1:0)}fixed32(t){return this._push(Cn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Mt.fromBigInt(t);return this._push(Cn,4,e.lo)._push(Cn,4,e.hi)}fixed64Number(t){let e=Mt.fromNumber(t);return this._push(Cn,4,e.lo)._push(Cn,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Pu,4,t)}double(t){return this._push(Mu,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(ta,1,0):this.uint32(e)._push(xm,e,t)}string(t){let e=Ku(t);return e!==0?this.uint32(e)._push(Yi,e,t):this._push(ta,1,0)}fork(){return this.states=new ea(this),this.head=this.tail=new sr(Ji,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new sr(Ji,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=bm(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function ta(r,t,e){t[e]=r&255}function wm(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ra=class extends sr{next;constructor(t,e){super(wm,t,e),this.next=void 0}};function Fo(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Cn(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function xm(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Tn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Em,t,r),this},Tn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Sm,t,r),this});function Em(r,t,e){t.set(r,e)}function Sm(r,t,e){r.length<40?Yi(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(et(r),e)}function na(){return new Tn}function Ko(r,t){let e=na();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}function*Ho(r,t,e){let n=In(r);yield*t.stream(n,void 0,"$",e)}var Vo={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function zo(r,t,e,n,o){return{name:r,type:t,encode:e,decode:n,stream:o}}function oa(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,a){let c=t(i);a.int32(c)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return zo("enum",Vo.VARINT,e,n,o)}function qo(r,t,e){return zo("message",Vo.LENGTH_DELIMITED,r,t,e)}var ct;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(ct||(ct={}));var sa;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(sa||(sa={}));(function(r){r.codec=()=>oa(sa)})(ct||(ct={}));var re;(function(r){let t;r.codec=()=>(t==null&&(t=qo((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ct.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ct.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ct.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function e(s){return Ko(s,r.codec())}r.encode=e;function n(s,i){return ko(s,r.codec(),i)}r.decode=n;function o(s,i){return Ho(s,r.codec(),i)}r.stream=o})(re||(re={}));var ia;(function(r){let t;r.codec=()=>(t==null&&(t=qo((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ct.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ct.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ct.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function e(s){return Ko(s,r.codec())}r.encode=e;function n(s,i){return ko(s,r.codec(),i)}r.decode=n;function o(s,i){return Ho(s,r.codec(),i)}r.stream=o})(ia||(ia={}));var Rn={};tt(Rn,{MAX_RSA_KEY_SIZE:()=>aa,generateRSAKeyPair:()=>Wu,jwkToJWKKeyPair:()=>Gu,jwkToPkcs1:()=>Lm,jwkToPkix:()=>ha,jwkToRSAPrivateKey:()=>ma,pkcs1MessageToJwk:()=>fa,pkcs1MessageToRSAPrivateKey:()=>la,pkcs1ToJwk:()=>Bm,pkcs1ToRSAPrivateKey:()=>ju,pkixMessageToJwk:()=>ua,pkixMessageToRSAPublicKey:()=>pa,pkixToJwk:()=>_m,pkixToRSAPublicKey:()=>da});var Pr=class{type="RSA";jwk;_raw;_multihash;constructor(t,e){this.jwk=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Rn.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return dt.createV1(114,this._multihash)}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){return $u(this.jwk,e,t,n)}},Dn=class{type="RSA";jwk;_raw;publicKey;constructor(t,e){this.jwk=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Rn.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}sign(t,e){return qu(this.jwk,t,e)}};var aa=8192,ca=18,Am=1062,vm=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Bm(r){let t=le(r);return fa(t)}function fa(r){return{n:j(r[1],"base64url"),e:j(r[2],"base64url"),d:j(r[3],"base64url"),p:j(r[4],"base64url"),q:j(r[5],"base64url"),dp:j(r[6],"base64url"),dq:j(r[7],"base64url"),qi:j(r[8],"base64url"),kty:"RSA"}}function Lm(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new Q("JWK was missing components");return Le([Ut(Uint8Array.from([0])),Ut(et(r.n,"base64url")),Ut(et(r.e,"base64url")),Ut(et(r.d,"base64url")),Ut(et(r.p,"base64url")),Ut(et(r.q,"base64url")),Ut(et(r.dp,"base64url")),Ut(et(r.dq,"base64url")),Ut(et(r.qi,"base64url"))]).subarray()}function _m(r){let t=le(r,{offset:0});return ua(t)}function ua(r){let t=le(r[1],{offset:0});return{kty:"RSA",n:j(t[0],"base64url"),e:j(t[1],"base64url")}}function ha(r){if(r.n==null||r.e==null)throw new Q("JWK was missing components");return Le([vm,bo(Le([Ut(et(r.n,"base64url")),Ut(et(r.e,"base64url"))]))]).subarray()}function ju(r){let t=le(r);return la(t)}function la(r){let t=fa(r);return ma(t)}function da(r,t){if(r.byteLength>=Am)throw new gr("Key size is too large");let e=le(r,{offset:0});return pa(e,r,t)}function pa(r,t,e){let n=ua(r);if(e==null){let o=ee(re.encode({Type:ct.RSA,Data:t}));e=Ht(ca,o)}return new Pr(n,e)}function ma(r){if(Yu(r)>aa)throw new Q("Key size is too large");let t=Gu(r),e=ee(re.encode({Type:ct.RSA,Data:ha(t.publicKey)})),n=Ht(ca,e);return new Dn(t.privateKey,new Pr(t.publicKey,n))}async function Wu(r){if(r>aa)throw new Q("Key size is too large");let t=await Zu(r),e=ee(re.encode({Type:ct.RSA,Data:ha(t.publicKey)})),n=Ht(ca,e);return new Dn(t.privateKey,new Pr(t.publicKey,n))}function Gu(r){if(r==null)throw new Q("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function Zu(r,t){let e=await Ft.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await Im(e,t);return{privateKey:n[0],publicKey:n[1]}}async function qu(r,t,e){let n=await Ft.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);e?.signal?.throwIfAborted();let o=await Ft.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,xt(t instanceof Uint8Array?t:t.subarray()));return e?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function $u(r,t,e,n){let o=await Ft.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await Ft.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,xt(t),xt(e instanceof Uint8Array?e:e.subarray()));return n?.signal?.throwIfAborted(),s}async function Im(r,t){if(r.privateKey==null||r.publicKey==null)throw new Q("Private and public key are required");let e=await Promise.all([Ft.get().subtle.exportKey("jwk",r.privateKey),Ft.get().subtle.exportKey("jwk",r.publicKey)]);return t?.signal?.throwIfAborted(),e}function Yu(r){if(r.kty!=="RSA")throw new Q("invalid key type");if(r.n==null)throw new Q("invalid key modulus");return et(r.n,"base64url").length*8}var $o=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(t,e){if(We(t),Lt(e,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(e.length>n?t.create().update(e).digest():e);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),zt(o)}update(t){return Br(this),this.iHash.update(t),this}digestInto(t){Br(this),wo(t,this),this.finished=!0;let e=t.subarray(0,this.outputLen);this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||=Object.create(Object.getPrototypeOf(this),{});let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},On=(()=>{let r=((t,e,n)=>new $o(t,e).update(n).digest());return r.create=(t,e)=>new $o(t,e),r})();var Xu=(r,t)=>(r+(r>=0?t:-t)/Qu)/t;function Cm(r,t,e){me("scalar",r,ne,e);let[[n,o],[s,i]]=t,a=Xu(i*r,e),c=Xu(-o*r,e),f=r-a*n-c*s,u=-a*o-c*i,h=f<ne,m=u<ne;h&&(f=-f),m&&(u=-u);let p=En(Math.ceil(Ir(e)/2))+Me;if(f<ne||f>=p||u<ne||u>=p)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:h,k1:f,k2neg:m,k2:u}}function ga(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function ya(r,t){Nt(r);let e={};for(let n of Object.keys(t))e[n]=r[n]===void 0?t[n]:r[n];return $t(e.lowS,"lowS"),$t(e.prehash,"prehash"),e.format!==void 0&&ga(e.format),e}var ba=class extends Error{constructor(t=""){super(t)}},Gt={Err:ba,_tlv:{encode:(r,t)=>{let{Err:e}=Gt;if(jt(r,"tag"),r<0||r>255)throw new e("tlv.encode: wrong tag");if(typeof t!="string")throw new TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=wn(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let s=n>127?wn(o.length/2|128):"";return wn(r)+s+o+t},decode(r,t){let{Err:e}=Gt;t=V(t,void 0,"DER data");let n=0;if(r<0||r>255)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)i=i<<8|u;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=Gt;if(Lo(r),r<ne)throw new t("integer: negative integers are not allowed");let e=wn(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=Gt;if(r.length<1)throw new t("invalid signature integer: empty");if(r[0]&128)throw new t("invalid signature integer: negative");if(r.length>1&&r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Qe(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Gt,o=V(r,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=Gt,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),s=n+o;return t.encode(48,s)}};Object.freeze(Gt._tlv);Object.freeze(Gt._int);Object.freeze(Gt);var ne=BigInt(0),Me=BigInt(1),Qu=BigInt(2),jo=BigInt(3),Tm=BigInt(4);function Ju(r,t={}){let e=To("weierstrass",r,t),n=e.Fp,o=e.Fn,s=e.CURVE,{h:i,n:a}=s;Nt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:f}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=eh(n,o);function h(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function m(N,y,A){if(f&&y.is0())return Uint8Array.of(0);let{x:S,y:x}=y.toAffine(),w=n.toBytes(S);if($t(A,"isCompressed"),A){h();let B=!n.isOdd(x);return mt(th(B),w)}else return mt(Uint8Array.of(4),w,n.toBytes(x))}function p(N){V(N,void 0,"Point");let{publicKey:y,publicKeyUncompressed:A}=u,S=N.length,x=N[0],w=N.subarray(1);if(f&&S===1&&x===0)return{x:n.ZERO,y:n.ZERO};if(S===y&&(x===2||x===3)){let B=n.fromBytes(w);if(!n.isValid(B))throw new Error("bad point: is not on curve, wrong x");let L=l(B),E;try{E=n.sqrt(L)}catch(M){let H=M instanceof Error?": "+M.message:"";throw new Error("bad point: is not on curve, sqrt error"+H)}h();let C=n.isOdd(E);return(x&1)===1!==C&&(E=n.neg(E)),{x:B,y:E}}else if(S===A&&x===4){let B=n.BYTES,L=n.fromBytes(w.subarray(0,B)),E=n.fromBytes(w.subarray(B,B*2));if(!g(L,E))throw new Error("bad point: is not on curve");return{x:L,y:E}}else throw new Error(`bad point: got length ${S}, expected compressed=${y} or uncompressed=${A}`)}let d=t.toBytes===void 0?m:t.toBytes,b=t.fromBytes===void 0?p:t.fromBytes;function l(N){let y=n.sqr(N),A=n.mul(y,N);return n.add(n.add(A,n.mul(N,s.a)),s.b)}function g(N,y){let A=n.sqr(y),S=l(N);return n.eql(A,S)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let v=n.mul(n.pow(s.a,jo),Tm),_=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(v,_)))throw new Error("bad curve params: a or b");function R(N,y,A=!1){if(!n.isValid(y)||A&&n.is0(y))throw new Error(`bad point coordinate ${N}`);return y}function D(N){if(!(N instanceof I))throw new Error("Weierstrass Point expected")}function P(N){if(!c||!c.basises)throw new Error("no endo");return Cm(N,c.basises,o.ORDER)}function T(N,y,A,S,x){return A=new I(n.mul(A.X,N),A.Y,A.Z),y=An(S,y),A=An(x,A),y.add(A)}class I{static BASE=new I(s.Gx,s.Gy,n.ONE);static ZERO=new I(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(y,A,S){this.X=R("x",y),this.Y=R("y",A,!0),this.Z=R("z",S),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){let{x:A,y:S}=y||{};if(!y||!n.isValid(A)||!n.isValid(S))throw new Error("invalid affine point");if(y instanceof I)throw new Error("projective point not allowed");return n.is0(A)&&n.is0(S)?I.ZERO:new I(A,S,n.ONE)}static fromBytes(y){let A=I.fromAffine(b(V(y,void 0,"point")));return A.assertValidity(),A}static fromHex(y){return I.fromBytes(_r(y))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,A=!0){return k.createCache(this,y),A||this.multiply(jo),this}assertValidity(){let y=this;if(y.is0()){if(t.allowInfinityPoint&&n.is0(y.X)&&n.eql(y.Y,n.ONE)&&n.is0(y.Z))return;throw new Error("bad point: ZERO")}let{x:A,y:S}=y.toAffine();if(!n.isValid(A)||!n.isValid(S))throw new Error("bad point: x or y not field elements");if(!g(A,S))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(y)}equals(y){D(y);let{X:A,Y:S,Z:x}=this,{X:w,Y:B,Z:L}=y,E=n.eql(n.mul(A,L),n.mul(w,x)),C=n.eql(n.mul(S,L),n.mul(B,x));return E&&C}negate(){return new I(this.X,n.neg(this.Y),this.Z)}double(){let{a:y,b:A}=s,S=n.mul(A,jo),{X:x,Y:w,Z:B}=this,L=n.ZERO,E=n.ZERO,C=n.ZERO,O=n.mul(x,x),M=n.mul(w,w),H=n.mul(B,B),K=n.mul(x,w);return K=n.add(K,K),C=n.mul(x,B),C=n.add(C,C),L=n.mul(y,C),E=n.mul(S,H),E=n.add(L,E),L=n.sub(M,E),E=n.add(M,E),E=n.mul(L,E),L=n.mul(K,L),C=n.mul(S,C),H=n.mul(y,H),K=n.sub(O,H),K=n.mul(y,K),K=n.add(K,C),C=n.add(O,O),O=n.add(C,O),O=n.add(O,H),O=n.mul(O,K),E=n.add(E,O),H=n.mul(w,B),H=n.add(H,H),O=n.mul(H,K),L=n.sub(L,O),C=n.mul(H,M),C=n.add(C,C),C=n.add(C,C),new I(L,E,C)}add(y){D(y);let{X:A,Y:S,Z:x}=this,{X:w,Y:B,Z:L}=y,E=n.ZERO,C=n.ZERO,O=n.ZERO,M=s.a,H=n.mul(s.b,jo),K=n.mul(A,w),Z=n.mul(S,B),Y=n.mul(x,L),X=n.add(A,S),$=n.add(w,B);X=n.mul(X,$),$=n.add(K,Z),X=n.sub(X,$),$=n.add(A,x);let st=n.add(w,L);return $=n.mul($,st),st=n.add(K,Y),$=n.sub($,st),st=n.add(S,x),E=n.add(B,L),st=n.mul(st,E),E=n.add(Z,Y),st=n.sub(st,E),O=n.mul(M,$),E=n.mul(H,Y),O=n.add(E,O),E=n.sub(Z,O),O=n.add(Z,O),C=n.mul(E,O),Z=n.add(K,K),Z=n.add(Z,K),Y=n.mul(M,Y),$=n.mul(H,$),Z=n.add(Z,Y),Y=n.sub(K,Y),Y=n.mul(M,Y),$=n.add($,Y),K=n.mul(Z,$),C=n.add(C,K),K=n.mul(st,$),E=n.mul(X,E),E=n.sub(E,K),K=n.mul(X,Z),O=n.mul(st,O),O=n.add(O,K),new I(E,C,O)}subtract(y){return D(y),this.add(y.negate())}is0(){return this.equals(I.ZERO)}multiply(y){let{endo:A}=t;if(!o.isValidNot0(y))throw new RangeError("invalid scalar: out of range");let S,x,w=B=>k.cached(this,B,L=>er(I,L));if(A){let{k1neg:B,k1:L,k2neg:E,k2:C}=P(y),{p:O,f:M}=w(L),{p:H,f:K}=w(C);x=M.add(K),S=T(A.beta,O,H,B,E)}else{let{p:B,f:L}=w(y);S=B,x=L}return er(I,[S,x])[0]}multiplyUnsafe(y){let{endo:A}=t,S=this,x=y;if(!o.isValid(x))throw new RangeError("invalid scalar: out of range");if(x===ne||S.is0())return I.ZERO;if(x===Me)return S;if(k.hasCache(this))return this.multiply(x);if(A){let{k1neg:w,k1:B,k2neg:L,k2:E}=P(x),{p1:C,p2:O}=xu(I,S,B,E);return T(A.beta,C,O,w,L)}else return k.unsafe(S,x)}toAffine(y){let A=this,S=y,{X:x,Y:w,Z:B}=A;if(n.eql(B,n.ONE))return{x,y:w};let L=A.is0();S==null&&(S=L?n.ONE:n.inv(B));let E=n.mul(x,S),C=n.mul(w,S),O=n.mul(B,S);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x:E,y:C}}isTorsionFree(){let{isTorsionFree:y}=t;return i===Me?!0:y?y(I,this):k.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:y}=t;return i===Me?this:y?y(I,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===Me?this.is0():this.clearCofactor().is0()}toBytes(y=!0){return $t(y,"isCompressed"),this.assertValidity(),d(I,this,y)}toHex(y=!0){return Lr(this.toBytes(y))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let U=o.BITS,k=new Dr(I,t.endo?Math.ceil(U/2):U);return U>=8&&I.BASE.precompute(8),Object.freeze(I.prototype),Object.freeze(I),I}function th(r){return Uint8Array.of(r?2:3)}function eh(r,t){return{secretKey:t.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Dm(r,t={}){let{Fn:e}=r,n=t.randomBytes===void 0?Xe:t.randomBytes,o=Object.assign(eh(r.Fp,e),{seed:Math.max(_i(e.ORDER),16)});function s(p){try{let d=e.fromBytes(p);return e.isValidNot0(d)}catch{return!1}}function i(p,d){let{publicKey:b,publicKeyUncompressed:l}=o;try{let g=p.length;return d===!0&&g!==b||d===!1&&g!==l?!1:!!r.fromBytes(p)}catch{return!1}}function a(p){return p=p===void 0?n(o.seed):p,Ii(V(p,o.seed,"seed"),e.ORDER)}function c(p,d=!0){return r.BASE.multiply(e.fromBytes(p)).toBytes(d)}function f(p){let{secretKey:d,publicKey:b,publicKeyUncompressed:l}=o,g=e._lengths;if(!Ye(p))return;let v=V(p,void 0,"key").length,_=v===b||v===l,R=v===d||!!g?.includes(v);if(!(_&&R))return _}function u(p,d,b=!0){if(f(p)===!0)throw new Error("first arg must be private key");if(f(d)===!1)throw new Error("second arg must be public key");let l=e.fromBytes(p);return r.fromBytes(d).multiply(l).toBytes(b)}let h={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},m=Rr(a,c);return Object.freeze(h),Object.freeze(o),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:m,Point:r,utils:h,lengths:o})}function rh(r,t,e={}){let n=t;We(n),Nt(e,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),e=Object.assign({},e);let o=e.randomBytes===void 0?Xe:e.randomBytes,s=e.hmac===void 0?(x,w)=>On(n,x,w):e.hmac,{Fp:i,Fn:a}=r,{ORDER:c,BITS:f}=a,{keygen:u,getPublicKey:h,getSharedSecret:m,utils:p,lengths:d}=Dm(r,e),b={prehash:!0,lowS:typeof e.lowS=="boolean"?e.lowS:!0,format:"compact",extraEntropy:!1},l=c*Qu+Me<i.ORDER;function g(x){let w=c>>Me;return x>w}function v(x,w){if(!a.isValidNot0(w))throw new Error(`invalid signature ${x}: out of range 1..Point.Fn.ORDER`);return w}function _(){if(l)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function R(x,w){ga(w);let B=d.signature,L=w==="compact"?B:w==="recovered"?B+1:void 0;return V(x,L)}class D{r;s;recovery;constructor(w,B,L){if(this.r=v("r",w),this.s=v("s",B),L!=null){if(_(),![0,1,2,3].includes(L))throw new Error("invalid recovery id");this.recovery=L}Object.freeze(this)}static fromBytes(w,B=b.format){R(w,B);let L;if(B==="der"){let{r:M,s:H}=Gt.toSig(V(w));return new D(M,H)}B==="recovered"&&(L=w[0],B="compact",w=w.subarray(1));let E=d.signature/2,C=w.subarray(0,E),O=w.subarray(E,E*2);return new D(a.fromBytes(C),a.fromBytes(O),L)}static fromHex(w,B){return this.fromBytes(_r(w),B)}assertRecovery(){let{recovery:w}=this;if(w==null)throw new Error("invalid recovery id: must be present");return w}addRecoveryBit(w){return new D(this.r,this.s,w)}recoverPublicKey(w){let{r:B,s:L}=this,E=this.assertRecovery(),C=E===2||E===3?B+c:B;if(!i.isValid(C))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(C),M=r.fromBytes(mt(th((E&1)===0),O)),H=a.inv(C),K=T(V(w,void 0,"msgHash")),Z=a.create(-K*H),Y=a.create(L*H),X=r.BASE.multiplyUnsafe(Z).add(M.multiplyUnsafe(Y));if(X.is0())throw new Error("invalid recovery: point at infinify");return X.assertValidity(),X}hasHighS(){return g(this.s)}toBytes(w=b.format){if(ga(w),w==="der")return _r(Gt.hexFromSig(this));let{r:B,s:L}=this,E=a.toBytes(B),C=a.toBytes(L);return w==="recovered"?(_(),mt(Uint8Array.of(this.assertRecovery()),E,C)):mt(E,C)}toHex(w){return Lr(this.toBytes(w))}}Object.freeze(D.prototype),Object.freeze(D);let P=e.bits2int===void 0?function(w){if(w.length>8192)throw new Error("input is too large");let B=Qe(w),L=w.length*8-f;return L>0?B>>BigInt(L):B}:e.bits2int,T=e.bits2int_modN===void 0?function(w){return a.create(P(w))}:e.bits2int_modN,I=En(f);function U(x){return me("num < 2^"+f,x,ne,I),a.toBytes(x)}function k(x,w){return V(x,void 0,"message"),w?V(n(x),void 0,"prehashed message"):x}function N(x,w,B){let{lowS:L,prehash:E,extraEntropy:C}=ya(B,b);x=k(x,E);let O=T(x),M=a.fromBytes(w);if(!a.isValidNot0(M))throw new Error("invalid private key");let H=[U(M),U(O)];if(C!=null&&C!==!1){let X=C===!0?o(d.secretKey):C;H.push(V(X,void 0,"extraEntropy"))}let K=mt(...H),Z=O;function Y(X){let $=P(X);if(!a.isValidNot0($))return;let st=a.inv($),fe=r.BASE.multiply($).toAffine(),Ve=a.create(fe.x);if(Ve===ne)return;let mr=a.create(st*a.create(Z+Ve*M));if(mr===ne)return;let on=(fe.x===Ve?0:2)|Number(fe.y&Me),sn=mr;return L&&g(mr)&&(sn=a.neg(mr),on^=1),new D(Ve,sn,l?void 0:on)}return{seed:K,k2sig:Y}}function y(x,w,B={}){let{seed:L,k2sig:E}=N(x,w,B);return nu(n.outputLen,a.BYTES,s)(L,E).toBytes(B.format)}function A(x,w,B,L={}){let{lowS:E,prehash:C,format:O}=ya(L,b);if(B=V(B,void 0,"publicKey"),w=k(w,C),!Ye(x)){let M=x instanceof D?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+M)}R(x,O);try{let M=D.fromBytes(x,O),H=r.fromBytes(B);if(E&&M.hasHighS())return!1;let{r:K,s:Z}=M,Y=T(w),X=a.inv(Z),$=a.create(Y*X),st=a.create(K*X),fe=r.BASE.multiplyUnsafe($).add(H.multiplyUnsafe(st));return fe.is0()?!1:a.create(fe.x)===K}catch{return!1}}function S(x,w,B={}){let{prehash:L}=ya(B,b);return w=k(w,L),D.fromBytes(x,"recovered").recoverPublicKey(w).toBytes()}return Object.freeze({keygen:u,getPublicKey:h,getSharedSecret:m,utils:p,lengths:d,Point:r,sign:y,verify:A,recoverPublicKey:S,Signature:D,hash:n})}var xa={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Rm={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var nh=BigInt(2);function Om(r){let t=xa.p,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,h=rt(u,e,t)*u%t,m=rt(h,e,t)*u%t,p=rt(m,nh,t)*f%t,d=rt(p,o,t)*p%t,b=rt(d,s,t)*d%t,l=rt(b,a,t)*b%t,g=rt(l,c,t)*l%t,v=rt(g,a,t)*b%t,_=rt(v,e,t)*u%t,R=rt(_,i,t)*d%t,D=rt(R,n,t)*f%t,P=rt(D,nh,t);if(!wa.eql(wa.sqr(P),r))throw new Error("Cannot find square root");return P}var wa=Cr(xa.p,{sqrt:Om}),Um=Ju(xa,{Fp:wa,endo:Rm}),Nr=rh(Um,ee);function oh(r,t,e,n){let o=ln.digest(e instanceof Uint8Array?e:e.subarray());if(Po(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Nr.verify(t,s,r,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new _n(String(s))});try{return n?.signal?.throwIfAborted(),Nr.verify(t,o.digest,r,{prehash:!1,format:"der"})}catch(s){throw new _n(String(s))}}var Wo=class{type="secp256k1";raw;_key;constructor(t){this._key=ih(t),this.raw=sh(this._key)}toMultihash(){return Vt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){return oh(this._key,e,t,n)}};function Ea(r){return new Wo(r)}function sh(r){return Nr.Point.fromBytes(r).toBytes()}function ih(r){try{return Nr.Point.fromBytes(r),r}catch(t){throw new gr(String(t))}}function Un(r,t){let{Type:e,Data:n}=re.decode(r),o=n??new Uint8Array;switch(e){case ct.RSA:return da(o,t);case ct.Ed25519:return Hi(o);case ct.secp256k1:return Ea(o);case ct.ECDSA:return hi(o);default:throw new ze}}function ah(r){let{Type:t,Data:e}=re.decode(r.digest),n=e??new Uint8Array;switch(t){case ct.Ed25519:return Hi(n);case ct.secp256k1:return Ea(n);case ct.ECDSA:return hi(n);default:throw new ze}}function _e(r){return re.encode({Type:ct[r.type],Data:r.raw})}var ch=Symbol.for("nodejs.util.inspect.custom"),Pm=114,Pn=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ps]=!0;toString(){return this.string==null&&(this.string=ut.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return dt.createV1(Pm,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return pt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return pt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[ch](){return`PeerId(${this.toString()})`}},Nn=class extends Pn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Mn=class extends Pn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},kn=class extends Pn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Nm=2336,Fn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Vt.digest(et(this.url))}[ch](){return`PeerId(${this.url})`}[Ps]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return dt.createV1(Nm,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=j(t)),t.toString()===this.toString())}};var Mm=114,fh=2336;function uh(r,t){let e;if(r.charAt(0)==="1"||r.charAt(0)==="Q")e=Ar(ut.decode(`z${r}`));else{if(r.startsWith("k51qzi5uqu5")||r.startsWith("kzwfwjn5ji4")||r.startsWith("k2k4r8")||r.startsWith("bafz"))return km(dt.parse(r));if(t==null)throw new Q('Please pass a multibase decoder for strings that do not start with "1" or "Q"');e=Ar(t.decode(r))}return hh(e)}function Sa(r){if(r.type==="Ed25519")return new Mn({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new kn({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Nn({multihash:r.toCID().multihash,publicKey:r});throw new ze}function hh(r){if(Km(r))return new Nn({multihash:r});if(Fm(r))try{let t=ah(r);if(t.type==="Ed25519")return new Mn({multihash:r,publicKey:t});if(t.type==="secp256k1")return new kn({multihash:r,publicKey:t})}catch{let e=j(r.digest);return new Fn(new URL(e))}throw new fo("Supplied PeerID Multihash is invalid")}function km(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==Mm&&r.code!==fh)throw new co("Supplied PeerID CID is invalid");if(r.code===fh){let t=j(r.multihash.digest);return new Fn(new URL(t))}return hh(r.multihash)}function Fm(r){return r.code===Vt.code}function Km(r){return r.code===ln.code}function Hm(r){let t=r.getComponents(),e={},n=0;return t[n]?.name==="ip6zone"&&(e.zone=`${t[n].value}`,n++),t[n]?.name==="ip4"||t[n]?.name==="ip6"||t[n]?.name==="dns"||t[n]?.name==="dns4"||t[n]?.name==="dns6"?(e.type=t[n].name,e.host=t[n].value,n++):t[n]?.name==="dnsaddr"&&(e.type=t[n].name,e.host=`_dnsaddr.${t[n].value}`,n++),(t[n]?.name==="tcp"||t[n]?.name==="udp")&&(e.protocol=t[n].name==="tcp"?"tcp":"udp",e.port=parseInt(`${t[n].value}`),n++),t[n]?.name==="ipcidr"&&(e.type==="ip4"?e.cidr=parseInt(`${t[n].value}`):e.type==="ip6"&&(e.cidr=`${t[n].value}`),n++),e.type==null||e.host==null?null:(t[n]?.name==="tls"&&t[n+1]?.name==="sni"&&(e.sni=t[n+1].value,n+=2),e)}function lh(r){let t=Hm(r);if(t==null)throw new Q(`Multiaddr ${r} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return t}var Go=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let m=Number.parseInt(h,t);if(!Number.isNaN(m))return m});if(u===void 0)break;if(s*=t,s+=u,s>f||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Vm=45,zm=15,Zo=new Go;function dh(r){if(!(r.length>zm))return Zo.new(r).parseWith(()=>Zo.readIPv4Addr())}function ph(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Vm))return Zo.new(r).parseWith(()=>Zo.readIPv6Addr())}function Yo(r){return!!dh(r)}function mh(r){return!!ph(r)}var At=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},be=class extends Error{static name="ValidationError";name="ValidationError"},Xo=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Qo=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function va(r){return t=>j(t,r)}function Ba(r){return t=>et(t,r)}function Mr(r){return new DataView(r.buffer).getUint16(r.byteOffset).toString()}function ir(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof r=="string"?parseInt(r):r),new Uint8Array(t)}function yh(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=et(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ir(n);return Qt([e,o],e.length+o.length)}function gh(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Be.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ir(n);return Qt([e,o],e.length+o.length)}function La(r){let t=r.subarray(0,r.length-2),e=r.subarray(r.length-2),n=j(t,"base32"),o=Mr(e);return`${n}:${o}`}var _a=function(r){r=r.toString().trim();let t=new Uint8Array(4);return r.split(/\./g).forEach((e,n)=>{let o=parseInt(e,10);if(isNaN(o)||o<0||o>255)throw new At("Invalid byte value in IP address");t[n]=o}),t},bh=function(r){let t=0;r=r.toString().trim();let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Yo(e[n]),i;s&&(i=_a(e[n]),e[n]=j(i.subarray(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,j(i.subarray(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){e[n]===""&&(e[n]="0");let s=parseInt(e[n],16);if(isNaN(s)||s<0||s>65535)throw new At("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},wh=function(r){if(r.byteLength!==4)throw new At("IPv4 address was incorrect length");let t=[];for(let e=0;e<r.byteLength;e++)t.push(r[e]);return t.join(".")},xh=function(r){if(r.byteLength!==16)throw new At("IPv6 address was incorrect length");let t=[];for(let n=0;n<r.byteLength;n+=2){let o=r[n],s=r[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;t.push(i)}let e=t.join(":");try{let n=new URL(`http://[${e}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new At(`Invalid IPv6 address "${e}"`)}};function Eh(r){try{let t=new URL(`http://[${r}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new At(`Invalid IPv6 address "${r}"`)}}var Aa=Object.values(je).map(r=>r.decoder),qm=(function(){let r=Aa[0].or(Aa[1]);return Aa.slice(2).forEach(t=>r=r.or(t)),r})();function Sh(r){return qm.decode(r)}function Ah(r){return t=>r.encoder.encode(t)}function $m(r){if(parseInt(r).toString()!==r)throw new be("Value must be an integer")}function jm(r){if(r<0)throw new be("Value must be a positive integer, or zero")}function Wm(r){return t=>{if(t>r)throw new be(`Value must be smaller than or equal to ${r}`)}}function Gm(...r){return t=>{for(let e of r)e(t)}}var Kn=Gm($m,jm,Wm(65535));var wt=-1,Ia=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let e;if(typeof t=="string"?e=this.protocolsByName.get(t):e=this.protocolsByCode.get(t),e==null)throw new Qo(`Protocol ${t} was unknown`);return e}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(e=>{this.protocolsByName.set(e,t)})}removeProtocol(t){let e=this.protocolsByCode.get(t);e!=null&&(this.protocolsByCode.delete(e.code),this.protocolsByName.delete(e.name),e.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},xe=new Ia,c0=[{code:4,name:"ip4",size:32,valueToBytes:_a,bytesToValue:wh,validate:r=>{if(!Yo(r))throw new be(`Invalid IPv4 address "${r}"`)}},{code:6,name:"tcp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:273,name:"udp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:33,name:"dccp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:41,name:"ip6",size:128,valueToBytes:bh,bytesToValue:xh,stringToValue:Eh,validate:r=>{if(!mh(r))throw new be(`Invalid IPv6 address "${r}"`)}},{code:42,name:"ip6zone",size:wt},{code:43,name:"ipcidr",size:8,bytesToValue:va("base10"),valueToBytes:Ba("base10")},{code:53,name:"dns",size:wt},{code:54,name:"dns4",size:wt},{code:55,name:"dns6",size:wt},{code:56,name:"dnsaddr",size:wt},{code:132,name:"sctp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:wt,stringToValue:r=>decodeURIComponent(r),valueToString:r=>encodeURIComponent(r)},{code:421,name:"p2p",aliases:["ipfs"],size:wt,bytesToValue:va("base58btc"),valueToBytes:r=>r.startsWith("Q")||r.startsWith("1")?Ba("base58btc")(r):dt.parse(r).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:La,valueToBytes:yh},{code:445,name:"onion3",size:296,bytesToValue:La,valueToBytes:gh},{code:446,name:"garlic64",size:wt},{code:447,name:"garlic32",size:wt},{code:448,name:"tls"},{code:449,name:"sni",size:wt},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:wt,bytesToValue:Ah(Qs),valueToBytes:Sh},{code:480,name:"http"},{code:481,name:"http-path",size:wt,stringToValue:r=>`/${decodeURIComponent(r)}`,valueToString:r=>encodeURIComponent(r.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:wt}];c0.forEach(r=>{xe.addProtocol(r)});function vh(r){let t=[],e=0;for(;e<r.length;){let n=nr(r,e),o=xe.getProtocol(n),s=It(n),i=f0(o,r,e+s),a=0;i>0&&o.size===wt&&(a=It(i));let c=s+a+i,f={code:n,name:o.name,bytes:xt(r.subarray(e,e+c))};if(i>0){let u=e+s+a,h=r.subarray(u,u+i);f.value=o.bytesToValue?.(h)??j(h)}t.push(f),e+=c}return t}function Bh(r){let t=0,e=[];for(let n of r){if(n.bytes==null){let o=xe.getProtocol(n.code),s=It(n.code),i,a=0,c=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??et(n.value),a=i.byteLength,o.size===wt&&(c=It(a)));let f=new Uint8Array(s+c+a),u=0;Ur(n.code,f,u),u+=s,i!=null&&(o.size===wt&&(Ur(a,f,u),u+=c),f.set(i,u)),n.bytes=f}e.push(n.bytes),t+=n.bytes.byteLength}return Qt(e,t)}function Lh(r){if(r.charAt(0)!=="/")throw new At('String multiaddr must start with "/"');let t=[],e="protocol",n="",o="";for(let s=1;s<r.length;s++){let i=r.charAt(s);i!=="/"&&(e==="protocol"?o+=r.charAt(s):n+=r.charAt(s));let a=s===r.length-1;if(i==="/"||a){let c=xe.getProtocol(o);if(e==="protocol"){if(c.size==null||c.size===0){t.push({code:c.code,name:c.name}),n="",o="",e="protocol";continue}else if(a)throw new At(`Component ${o} was missing value`);e="value"}else if(e==="value"){let f={code:c.code,name:c.name};if(c.size!=null&&c.size!==0){if(n==="")throw new At(`Component ${o} was missing value`);f.value=c.stringToValue?.(n)??n}t.push(f),n="",o="",e="protocol"}}}if(o!==""&&n!=="")throw new At("Incomplete multiaddr");return t}function _h(r){return`/${r.flatMap(t=>{if(t.value==null)return t.name;let e=xe.getProtocol(t.code);if(e==null)throw new At(`Unknown protocol code ${t.code}`);return[t.name,e.valueToString?.(t.value)??t.value]}).join("/")}`}function f0(r,t,e){return r.size==null||r.size===0?0:r.size>0?r.size/8:nr(t,e)}var u0=Symbol.for("nodejs.util.inspect.custom"),ja=Symbol.for("@multiformats/multiaddr");function h0(r){if(r==null&&(r="/"),Ih(r))return r.getComponents();if(r instanceof Uint8Array)return vh(r);if(typeof r=="string")return r=r.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),r===""&&(r="/"),Lh(r);if(Array.isArray(r))return r;throw new At("Must be a string, Uint8Array, Component[], or another Multiaddr")}var $a=class r{[ja]=!0;#t;#e;#r;constructor(t="/",e={}){this.#t=h0(t),e.validate!==!1&&l0(this)}get bytes(){return this.#r==null&&(this.#r=Bh(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=_h(this.#t)),this.#e}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let e=new r(t);return new r([...this.#t,...e.getComponents()],{validate:!1})}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Xo(`Address ${this.toString()} does not contain subaddress: ${e}`);return new r(n.slice(0,o),{validate:!1})}decapsulateCode(t){let e;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){e=n;break}return new r(this.#t.slice(0,e),{validate:!1})}equals(t){return pt(this.bytes,t.bytes)}[u0](){return`Multiaddr(${this.toString()})`}};function l0(r){r.getComponents().forEach(t=>{let e=xe.getProtocol(t.code);t.value!=null&&e.validate?.(t.value)})}function Ih(r){return!!r?.[ja]}var nt=r=>({match:t=>{let e=t[0];return e==null||e.code!==r||e.value!=null?!1:t.slice(1)}}),F=(r,t)=>({match:e=>{let n=e[0];return n?.code!==r||n.value==null||t!=null&&n.value!==t?!1:e.slice(1)}}),Ch=r=>({match:t=>r.match(t)===!1?t:!1}),z=r=>({match:t=>{let e=r.match(t);return e===!1?t:e}}),Tt=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1}}),W=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t}});function ot(...r){function t(o){if(o==null)return!1;let s=o.getComponents();for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matchers:r,matches:e,exactMatch:n}}var d0=F(421),oS=ot(d0),ss=F(54),is=F(55),as=F(56),Ga=F(53),sS=ot(ss,z(F(421))),iS=ot(is,z(F(421))),aS=ot(as,z(F(421))),cS=ot(Tt(Ga,as,ss,is),z(F(421))),Th=W(F(4),z(F(43))),Dh=W(z(F(42)),F(41),z(F(43))),Za=Tt(Th,Dh),Hr=Tt(Za,Ga,ss,is,as),fS=ot(Tt(Za,W(Tt(Ga,as,ss,is),z(F(421))))),uS=ot(Th),hS=ot(Dh),lS=ot(Za),Ya=W(Hr,F(6)),Hn=W(Hr,F(273)),dS=ot(W(Ya,z(F(421)))),pS=ot(Hn),Xa=W(Hn,nt(460),z(F(421))),cs=W(Hn,nt(461),z(F(421))),p0=Tt(Xa,cs),mS=ot(Xa),yS=ot(cs),Wa=Tt(Hr,Ya,Hn,Xa,cs),Rh=Tt(W(Wa,nt(477),z(F(421)))),gS=ot(Rh),Oh=Tt(W(Wa,nt(478),z(F(421))),W(Wa,nt(448),z(F(449)),nt(477),z(F(421)))),bS=ot(Oh),Uh=W(Hn,nt(280),z(F(466)),z(F(466)),z(F(421))),wS=ot(Uh),Ph=W(cs,nt(465),z(F(466)),z(F(466)),z(F(421))),fs=ot(Ph),os=Tt(Rh,Oh,W(Ya,z(F(421))),W(p0,z(F(421))),W(Hr,z(F(421))),Uh,Ph,F(421)),xS=ot(os),m0=W(z(os),nt(290),Ch(nt(281)),z(F(421))),ES=ot(m0),y0=Tt(W(os,nt(290),nt(281),z(F(421))),W(os,nt(281),z(F(421))),W(nt(281),z(F(421)))),SS=ot(y0),g0=W(Hr,Tt(W(F(6,"80")),W(F(6),nt(480)),nt(480)),z(F(481)),z(F(421))),AS=ot(g0),b0=W(Hr,Tt(W(F(6,"443")),W(F(6,"443"),nt(480)),W(F(6),nt(443)),W(F(6),nt(448),nt(480)),W(nt(448),nt(480)),nt(448),nt(443)),z(F(481)),z(F(421))),vS=ot(b0),w0=Tt(W(F(777),z(F(421)))),BS=ot(w0),x0=Tt(W(F(400),z(F(421)))),LS=ot(x0);function us(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var hs=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||(t-1&t)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Vr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new hs(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new hs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Qa=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ls(r={}){return E0(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function E0(r,t){t=t??{};let e=t.onEnd,n=new Vr,o,s,i,a=us(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((l,g)=>{s=v=>{s=null,n.push(v);try{l(r(n))}catch(_){g(_)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=us()})}},f=l=>s!=null?s(l):(n.push(l),o),u=l=>(n=new Vr,s!=null?s({error:l}):(n.push({error:l}),o)),h=l=>{if(i)return o;if(t?.objectMode!==!0&&l?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:l})},m=l=>i?o:(i=!0,l!=null?u(l):f({done:!0})),p=()=>(n=new Vr,m(),{done:!0}),d=l=>(m(l),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:p,throw:d,push:h,end:m,get readableLength(){return n.size},onEmpty:async l=>{let g=l?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let v,_;g!=null&&(v=new Promise((R,D)=>{_=()=>{D(new Qa)},g.addEventListener("abort",_)}));try{await Promise.race([a.promise,v])}finally{_!=null&&g!=null&&g?.removeEventListener("abort",_)}}},e==null)return o;let b=o;return o={[Symbol.asyncIterator](){return this},next(){return b.next()},throw(l){return b.throw(l),e!=null&&(e(l),e=void 0),{done:!0}},return(){return b.return(),e!=null&&(e(),e=void 0),{done:!0}},push:h,end(l){return b.end(l),e!=null&&(e(l),e=void 0),o},get readableLength(){return b.readableLength},onEmpty:l=>b.onEmpty(l)},o}var Ja=class r extends Error{name="TimeoutError";constructor(t,e){super(t,e),Error.captureStackTrace?.(this,r)}},Nh=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function tc(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=t,a,c,u=new Promise((h,m)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(i?.aborted){m(Nh(i));return}if(i&&(c=()=>{m(Nh(i))},i.addEventListener("abort",c,{once:!0})),r.then(h,m),e===Number.POSITIVE_INFINITY)return;let p=new Ja;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(d){m(d)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?h():o instanceof Error?m(o):(p.message=o??`Promise timed out after ${e} milliseconds`,m(p))},e)}).finally(()=>{u.clear(),c&&i&&i.removeEventListener("abort",c)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var S0=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function A0(r,t,e){let n,o=new Promise((s,i)=>{if(e={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:f,removeListener:u}=S0(r),h=async(...p)=>{let d=e.multiArgs?p:p[0];if(e.filter)try{if(!await e.filter(d))return}catch(b){n(),i(b);return}c.push(d),e.count===c.length&&(n(),s(c))},m=(...p)=>{n(),i(e.rejectionMultiArgs?p:p[0])};n=()=>{for(let p of a)u(p,h);for(let p of e.rejectionEvents)a.includes(p)||u(p,m)};for(let p of a)f(p,h);for(let p of e.rejectionEvents)a.includes(p)||f(p,m);e.signal&&e.signal.addEventListener("abort",()=>{m(e.signal.reason)},{once:!0}),e.resolveImmediately&&s(c)});if(o.cancel=n,typeof e.timeout=="number"){let s=tc(o,{milliseconds:e.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function ke(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=A0(r,t,e),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var cr=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},ds=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},ps=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function v0(r){return r.reason}async function Kt(r,t,e){if(t==null)return r;let n=e?.translateError??v0;if(t.aborted)return r.catch(()=>{}),Promise.reject(n(t));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(t))},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var B0=Math.pow(2,20)*4,oe=class extends wr{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(t){super(),this.status="open",this.log=t.log,this.direction=t.direction??"outbound",this.inactivityTimeout=t.inactivityTimeout??12e4,this.maxReadBufferLength=t.maxReadBufferLength??B0,this.maxWriteBufferLength=t.maxWriteBufferLength,this.maxMessageSize=t.maxMessageSize,this.readBuffer=new it,this.writeBuffer=new it,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let e=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,queueMicrotask(()=>{try{this.processSendQueue()}catch(o){this.log.error("processSendQueue threw - %e",o)}})),this.onDrainPromise?.resolve()};this.addEventListener("drain",e);let n=o=>{this.onDrainPromise?.reject(o.error??new ps)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(t){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),Kt(this.onDrainPromise.promise,t?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let t=ls(),e=s=>{t.push(s.data)};this.addEventListener("message",e);let n=s=>{t.end(s.error)};this.addEventListener("close",n);let o=()=>{t.end()};this.addEventListener("remoteCloseWrite",o);try{yield*t}finally{this.removeEventListener("message",e),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(t){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new Ae(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",t.byteLength),this.writeBuffer.append(t),this.processSendQueue()}abort(t){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",t),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(t)}catch(e){this.log("failed to send reset to remote - %e",e)}this.dispatchEvent(new ho(t))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(t){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae(`Cannot push data onto a stream that is ${this.readStatus}`);if(t.byteLength!==0){if(this.readBuffer.append(t),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(t){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae(`Cannot push data onto a stream that is ${this.readStatus}`);if(t.byteLength!==0){if(this.readBuffer.prepend(t),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(t){if(t.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(t),this.dispatchReadBuffer()}}addEventListener(...t){super.addEventListener.apply(this,t),t[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let t=new io;this.dispatchEvent(new lo(t))}onTransportClosed(t){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),t!=null?this.abort(t):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new br))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;if(this.writeStatus!=="writable"&&this.writeStatus!=="closing")return this.log.trace("not processing send queue as stream is %s",this.writeStatus),!1;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let t=!0,e=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){t=!1;break}let s=this.writeBuffer.sublist(0,o),i=new it(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(c){throw this.writeBuffer.prepend(i),this.abort(c),c}if(t=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!t)break}return t||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,e,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),t}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let t=this.readBuffer.sublist();this.readBuffer.consume(t.byteLength),this.dispatchEvent(new uo(t))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new an(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new an(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var ms=class extends oe{remoteAddr;metricPrefix;metrics;constructor(t){super(t),this.metricPrefix=t.metricPrefix??"",this.metrics=t.metrics,this.remoteAddr=t.remoteAddr,this.addEventListener("close",e=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),e.error!=null?e.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):e.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(t){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"idle",{...t,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"drain",{...t,rejectionEvents:["close"]})),await this.sendClose(t),this.onTransportClosed())}};function Mh(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var ys=class extends wr{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(t,e){super(),this.maConn=t,this.protocol=e.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=t.log.newScope(e.name),this.streamOptions=e.streamOptions,this.maxEarlyStreams=e.maxEarlyStreams??10,this.metrics=e.metrics;let n=i=>{try{this.onData(i.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(i=>{i.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let s=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",s)}send(t){let e=this.maConn.send(t);return e===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),e}async close(t){this.status==="closed"||this.status==="closing"||(this.status="closing",await Kt(Promise.all([...this.streams].map(async e=>{await e.close(t)})),t?.signal),this.status="closed")}abort(t){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(e=>{e.abort(t)}),this.status="closed")}onTransportClosed(t){this.status="closing";try{[...this.streams].forEach(e=>{e.onTransportClosed(t)})}catch(e){this.abort(e)}this.status="closed"}async createStream(t){if(this.status!=="open")throw new so;let e=this.onCreateStream({...this.streamOptions,...t});return Mh(e)&&(e=await e),this.streams.push(e),this.cleanUpStream(e),e}onRemoteStream(t){if(this.streams.push(t),this.cleanUpStream(t),this.listenerCount("stream")===0){this.earlyStreams.push(t),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new ds(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:t})}cleanUpStream(t){let e=n=>{let o=this.streams.findIndex(s=>s===t);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${t.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${t.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${t.direction}_stream_end`]:!0})};t.addEventListener("close",e),this.metrics?.increment({[`${t.direction}_stream`]:!0})}addEventListener(...t){super.addEventListener.apply(this,t),t[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(e=>{this.safeDispatchEvent("stream",{detail:e})}),this.earlyStreams=[]})}};var gs=class extends oe{id;protocol;constructor(t){super(t),this.id=t.id,this.protocol=t.protocol??""}async close(t){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"idle",{...t,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await ke(this,"drain",{...t,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(t),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(t){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(t),this.readStatus="closed",this.log("closed readable end gracefully"))}};var L0=4194304,bs=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Vn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},rc=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},nc=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function _0(r){return typeof r?.closeRead=="function"}function I0(r){return typeof r?.close=="function"}function ec(r){return _0(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:I0(r)?r.status!=="open":!1}function C0(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function T0(r,t){let e=t?.maxBufferSize??L0,n=new it,o,s=!1;if(!C0(r))throw new Q("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>e){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${e}`))}o?.resolve()};r.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let f={readBuffer:n,async read(u){if(s===!0)throw new bs("Stream was unwrapped");if(ec(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new cr(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let h=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await Kt(o.promise,u?.signal),ec(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let m=u?.bytes??n.byteLength;if(n.byteLength<m){if(ec(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,m),new cr(`Unexpected EOF - stream closed while reading ${n.byteLength}/${m} bytes`);return f.read(u)}let p=n.sublist(0,m);return n.consume(m),p},async write(u,h){if(s===!0)throw new bs("Stream was unwrapped");r.send(u)||await ke(r,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return f}function oc(r,t={}){let e=T0(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=It(t.maxDataLength));let n=t?.lengthDecoder??nr,o=t?.lengthEncoder??Uu;return{async read(i){let a=-1,c=new it;for(;;){let u=await e.read({...i,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new Vn("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new nc(`Message length length too long - ${c.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new rc(`Message length too long - ${a} > ${t.maxDataLength}`);let f=await e.read({...i,bytes:a});if(f==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new cr(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(f.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",f.byteLength,a),new cr(`Unexpected EOF - read ${f.byteLength}/${a} bytes before the stream closed`);return f},async write(i,a){await e.write(new it(o(i.byteLength),i),a)},async writeV(i,a){let c=new it(...i.flatMap(f=>[o(f.byteLength),f]));await e.write(c,a)},unwrap(){return e.unwrap()}}}var D0=1024*1024*4,R0=1024*1024*4,ws=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(t={}){this.buffer=new it,this.maxBufferSize=t.maxBufferSize??D0,this.maxDataLength=t.maxDataLength??R0,this.lengthDecoder=t.lengthDecoder??nr,this.encodingLength=t.encodingLength??It}*decode(t){if(this.buffer.append(t),this.buffer.byteLength>this.maxBufferSize)throw new Q(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let e;try{e=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(e<0||e>this.maxDataLength)throw new Vn("Invalid message length");let n=this.encodingLength(e),o=n+e;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function yt(r=0){return new Uint8Array(r)}function Dt(r=0){return new Uint8Array(r)}var zr=!!globalThis.process?.env?.DUMP_SESSION_KEYS,sc=16;function O0(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function xs(r){if(typeof r!="boolean")throw new TypeError(`boolean expected, not ${r}`)}function qr(r){if(typeof r!="number")throw new TypeError("number expected, got "+typeof r);if(!Number.isSafeInteger(r)||r<0)throw new RangeError("positive integer expected, got "+r)}function gt(r,t,e=""){let n=O0(r),o=r?.length,s=t!==void 0;if(!n||s&&o!==t){let i=e&&`"${e}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof r}`,f=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(f):new TypeError(f)}return r}function ic(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function kh(r,t,e=!1){gt(r,void 0,"output");let n=t.outputLen;if(r.length<n)throw new RangeError("digestInto() expects output buffer of length at least "+n);if(e&&!$r(r))throw new Error("invalid output, must be aligned")}function se(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function Zt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function U0(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}var fr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,P0=r=>r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255;var N0=r=>{for(let t=0;t<r.length;t++)r[t]=P0(r[t]);return r},Ee=fr?r=>r:N0;function Fh(r,t){if(t==null||typeof t!="object")throw new Error("options must be defined");return Object.assign(r,t)}function Kh(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Hh(r,t,e){let n=t,o=e||(()=>[]),s=(a,c)=>n(c,...o(a)).update(a).digest(),i=n(new Uint8Array(r),...o(new Uint8Array(0)));return s.outputLen=i.outputLen,s.blockLen=i.blockLen,s.create=(a,...c)=>n(a,...c),s}var Vh=(r,t)=>{function e(n,...o){if(gt(n,void 0,"key"),r.nonceLength!==void 0){let u=o[0];gt(u,r.varSizeNonce?void 0:r.nonceLength,"nonce")}let s=r.tagLength;s&&o[1]!==void 0&&gt(o[1],void 0,"AAD");let i=t(n,...o),a=(u,h)=>{if(h!==void 0){if(u!==2)throw new Error("cipher output not supported");gt(h,void 0,"output")}},c=!1;return{encrypt(u,h){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,gt(u),a(i.encrypt.length,h),i.encrypt(u,h)},decrypt(u,h){if(gt(u),s&&u.length<s)throw new Error('"ciphertext" expected length bigger than tagLength='+s);return a(i.decrypt.length,h),i.decrypt(u,h)}}}return Object.assign(e,r),e};function zn(r,t,e=!0){if(t===void 0)return new Uint8Array(r);if(gt(t,void 0,"output"),t.length!==r)throw new Error('"output" expected Uint8Array of length '+r+", got: "+t.length);if(e&&!$r(t))throw new Error("invalid output, must be aligned");return t}function zh(r,t,e){qr(r),qr(t),xs(e);let n=new Uint8Array(16),o=U0(n);return o.setBigUint64(0,BigInt(t),e),o.setBigUint64(8,BigInt(r),e),n}function $r(r){return r.byteOffset%4===0}function jr(r){return Uint8Array.from(gt(r))}var $h=r=>Uint8Array.from(r.split(""),t=>t.charCodeAt(0)),M0=Ee(se($h("expand 16-byte k"))),k0=Ee(se($h("expand 32-byte k")));function q(r,t){return r<<t|r>>>32-t}var qn=64,F0=16,ac=2**32-1,qh=Uint32Array.of();function K0(r,t,e,n,o,s,i,a){let c=o.length,f=new Uint8Array(qn),u=se(f),h=fr&&$r(o)&&$r(s),m=h?se(o):qh,p=h?se(s):qh;if(!fr){for(let d=0;d<c;i++){if(r(t,e,n,u,i,a),Ee(u),i>=ac)throw new Error("arx: counter overflow");let b=Math.min(qn,c-d);for(let l=0,g;l<b;l++)g=d+l,s[g]=o[g]^f[l];d+=b}return}for(let d=0;d<c;i++){if(r(t,e,n,u,i,a),i>=ac)throw new Error("arx: counter overflow");let b=Math.min(qn,c-d);if(h&&b===qn){let l=d/4;if(d%4!==0)throw new Error("arx: invalid block position");for(let g=0,v;g<F0;g++)v=l+g,p[v]=m[v]^u[g];d+=qn;continue}for(let l=0,g;l<b;l++)g=d+l,s[g]=o[g]^f[l];d+=b}}function jh(r,t){let{allowShortKeys:e,extendNonceFn:n,counterLength:o,counterRight:s,rounds:i}=Fh({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof r!="function")throw new Error("core must be a function");return qr(o),qr(i),xs(s),xs(e),(a,c,f,u,h=0)=>{gt(a,void 0,"key"),gt(c,void 0,"nonce"),gt(f,void 0,"data");let m=f.length;if(u=zn(m,u,!1),qr(h),h<0||h>=ac)throw new Error("arx: counter overflow");let p=[],d=a.length,b,l;if(d===32)p.push(b=jr(a)),l=k0;else if(d===16&&e)b=new Uint8Array(32),b.set(a),b.set(a,16),l=M0,p.push(b);else throw gt(a,32,"arx key"),new Error("invalid key size");(!fr||!$r(c))&&p.push(c=jr(c));let g=se(b);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");let R=c.subarray(0,16);if(fr)n(l,g,se(R),g);else{let D=Ee(Uint32Array.from(l));n(D,g,se(R),g),Zt(D),Ee(g)}c=c.subarray(16)}else fr||Ee(g);let v=16-o;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let R=new Uint8Array(12);R.set(c,s?0:12-c.length),c=R,p.push(c)}let _=Ee(se(c));try{return K0(r,l,g,_,f,u,h,i),u}finally{Zt(...p)}}}function vt(r,t){return r[t++]&255|(r[t++]&255)<<8}var cc=class{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(t){t=jr(gt(t,32,"key"));let e=vt(t,0),n=vt(t,2),o=vt(t,4),s=vt(t,6),i=vt(t,8),a=vt(t,10),c=vt(t,12),f=vt(t,14);this.r[0]=e&8191,this.r[1]=(e>>>13|n<<3)&8191,this.r[2]=(n>>>10|o<<6)&7939,this.r[3]=(o>>>7|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=vt(t,16+2*u)}process(t,e,n=!1){let o=n?0:2048,{h:s,r:i}=this,a=i[0],c=i[1],f=i[2],u=i[3],h=i[4],m=i[5],p=i[6],d=i[7],b=i[8],l=i[9],g=vt(t,e+0),v=vt(t,e+2),_=vt(t,e+4),R=vt(t,e+6),D=vt(t,e+8),P=vt(t,e+10),T=vt(t,e+12),I=vt(t,e+14),U=s[0]+(g&8191),k=s[1]+((g>>>13|v<<3)&8191),N=s[2]+((v>>>10|_<<6)&8191),y=s[3]+((_>>>7|R<<9)&8191),A=s[4]+((R>>>4|D<<12)&8191),S=s[5]+(D>>>1&8191),x=s[6]+((D>>>14|P<<2)&8191),w=s[7]+((P>>>11|T<<5)&8191),B=s[8]+((T>>>8|I<<8)&8191),L=s[9]+(I>>>5|o),E=0,C=E+U*a+k*(5*l)+N*(5*b)+y*(5*d)+A*(5*p);E=C>>>13,C&=8191,C+=S*(5*m)+x*(5*h)+w*(5*u)+B*(5*f)+L*(5*c),E+=C>>>13,C&=8191;let O=E+U*c+k*a+N*(5*l)+y*(5*b)+A*(5*d);E=O>>>13,O&=8191,O+=S*(5*p)+x*(5*m)+w*(5*h)+B*(5*u)+L*(5*f),E+=O>>>13,O&=8191;let M=E+U*f+k*c+N*a+y*(5*l)+A*(5*b);E=M>>>13,M&=8191,M+=S*(5*d)+x*(5*p)+w*(5*m)+B*(5*h)+L*(5*u),E+=M>>>13,M&=8191;let H=E+U*u+k*f+N*c+y*a+A*(5*l);E=H>>>13,H&=8191,H+=S*(5*b)+x*(5*d)+w*(5*p)+B*(5*m)+L*(5*h),E+=H>>>13,H&=8191;let K=E+U*h+k*u+N*f+y*c+A*a;E=K>>>13,K&=8191,K+=S*(5*l)+x*(5*b)+w*(5*d)+B*(5*p)+L*(5*m),E+=K>>>13,K&=8191;let Z=E+U*m+k*h+N*u+y*f+A*c;E=Z>>>13,Z&=8191,Z+=S*a+x*(5*l)+w*(5*b)+B*(5*d)+L*(5*p),E+=Z>>>13,Z&=8191;let Y=E+U*p+k*m+N*h+y*u+A*f;E=Y>>>13,Y&=8191,Y+=S*c+x*a+w*(5*l)+B*(5*b)+L*(5*d),E+=Y>>>13,Y&=8191;let X=E+U*d+k*p+N*m+y*h+A*u;E=X>>>13,X&=8191,X+=S*f+x*c+w*a+B*(5*l)+L*(5*b),E+=X>>>13,X&=8191;let $=E+U*b+k*d+N*p+y*m+A*h;E=$>>>13,$&=8191,$+=S*u+x*f+w*c+B*a+L*(5*l),E+=$>>>13,$&=8191;let st=E+U*l+k*b+N*d+y*p+A*m;E=st>>>13,st&=8191,st+=S*h+x*u+w*f+B*c+L*a,E+=st>>>13,st&=8191,E=(E<<2)+E|0,E=E+C|0,C=E&8191,E=E>>>13,O+=E,s[0]=C,s[1]=O,s[2]=M,s[3]=H,s[4]=K,s[5]=Z,s[6]=Y,s[7]=X,s[8]=$,s[9]=st}finalize(){let{h:t,pad:e}=this,n=new Uint16Array(10),o=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=o,o=t[a]>>>13,t[a]&=8191;t[0]+=o*5,o=t[0]>>>13,t[0]&=8191,t[1]+=o,o=t[1]>>>13,t[1]&=8191,t[2]+=o,n[0]=t[0]+5,o=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+o,o=n[a]>>>13,n[a]&=8191;n[9]-=8192;let s=(o^1)-1;for(let a=0;a<10;a++)n[a]&=s;s=~s;for(let a=0;a<10;a++)t[a]=t[a]&s|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let i=t[0]+e[0];t[0]=i&65535;for(let a=1;a<8;a++)i=(t[a]+e[a]|0)+(i>>>16)|0,t[a]=i&65535;Zt(n)}update(t){ic(this),gt(t),t=jr(t);let{buffer:e,blockLen:n}=this,o=t.length;for(let s=0;s<o;){let i=Math.min(n-this.pos,o-s);if(i===n){for(;n<=o-s;s+=n)this.process(t,s);continue}e.set(t.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===n&&(this.process(e,0,!1),this.pos=0)}return this}destroy(){this.destroyed=!0,Zt(this.h,this.r,this.buffer,this.pad)}digestInto(t){ic(this),kh(t,this),this.finished=!0;let{buffer:e,h:n}=this,{pos:o}=this;if(o){for(e[o++]=1;o<16;o++)e[o]=0;this.process(e,0,!0)}this.finalize();let s=0;for(let i=0;i<8;i++)t[s++]=n[i]>>>0,t[s++]=n[i]>>>8}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}},Wh=Hh(32,r=>new cc(r));function H0(r,t,e,n,o,s=20){let i=r[0],a=r[1],c=r[2],f=r[3],u=t[0],h=t[1],m=t[2],p=t[3],d=t[4],b=t[5],l=t[6],g=t[7],v=o,_=e[0],R=e[1],D=e[2],P=i,T=a,I=c,U=f,k=u,N=h,y=m,A=p,S=d,x=b,w=l,B=g,L=v,E=_,C=R,O=D;for(let H=0;H<s;H+=2)P=P+k|0,L=q(L^P,16),S=S+L|0,k=q(k^S,12),P=P+k|0,L=q(L^P,8),S=S+L|0,k=q(k^S,7),T=T+N|0,E=q(E^T,16),x=x+E|0,N=q(N^x,12),T=T+N|0,E=q(E^T,8),x=x+E|0,N=q(N^x,7),I=I+y|0,C=q(C^I,16),w=w+C|0,y=q(y^w,12),I=I+y|0,C=q(C^I,8),w=w+C|0,y=q(y^w,7),U=U+A|0,O=q(O^U,16),B=B+O|0,A=q(A^B,12),U=U+A|0,O=q(O^U,8),B=B+O|0,A=q(A^B,7),P=P+N|0,O=q(O^P,16),w=w+O|0,N=q(N^w,12),P=P+N|0,O=q(O^P,8),w=w+O|0,N=q(N^w,7),T=T+y|0,L=q(L^T,16),B=B+L|0,y=q(y^B,12),T=T+y|0,L=q(L^T,8),B=B+L|0,y=q(y^B,7),I=I+A|0,E=q(E^I,16),S=S+E|0,A=q(A^S,12),I=I+A|0,E=q(E^I,8),S=S+E|0,A=q(A^S,7),U=U+k|0,C=q(C^U,16),x=x+C|0,k=q(k^x,12),U=U+k|0,C=q(C^U,8),x=x+C|0,k=q(k^x,7);let M=0;n[M++]=i+P|0,n[M++]=a+T|0,n[M++]=c+I|0,n[M++]=f+U|0,n[M++]=u+k|0,n[M++]=h+N|0,n[M++]=m+y|0,n[M++]=p+A|0,n[M++]=d+S|0,n[M++]=b+x|0,n[M++]=l+w|0,n[M++]=g+B|0,n[M++]=v+L|0,n[M++]=_+E|0,n[M++]=R+C|0,n[M++]=D+O|0}var V0=jh(H0,{counterRight:!1,counterLength:4,allowShortKeys:!1});var z0=new Uint8Array(16),Gh=(r,t)=>{r.update(t);let e=t.length%16;e&&r.update(z0.subarray(e))},q0=new Uint8Array(32);function Zh(r,t,e,n,o){o!==void 0&&gt(o,void 0,"AAD");let s=r(t,e,q0),i=zh(n.length,o?o.length:0,!0),a=Wh.create(s);o&&Gh(a,o),Gh(a,n),a.update(i);let c=a.digest();return Zt(s,i),c}var $0=r=>(t,e,n)=>({encrypt(s,i){let a=s.length;i=zn(a+16,i,!1),i.set(s);let c=i.subarray(0,-16);r(t,e,c,c,1);let f=Zh(r,t,e,c,n);return i.set(f,a),Zt(f),i},decrypt(s,i){i=zn(s.length-16,i,!1);let a=s.subarray(0,-16),c=s.subarray(-16),f=Zh(r,t,e,a,n);if(!Kh(c,f))throw Zt(f),new Error("invalid tag");return i.set(s.subarray(0,-16)),r(t,e,i,i,1),Zt(f),i}}),fc=Vh({blockSize:64,nonceLength:12,tagLength:16},$0(V0));function Xh(r,t,e){return We(r),e===void 0&&(e=new Uint8Array(r.outputLen)),On(r,e,t)}var uc=Uint8Array.of(0),Yh=Uint8Array.of();function Qh(r,t,e,n=32){We(r),Jt(n,"length"),Lt(t,void 0,"prk");let o=r.outputLen;if(t.length<o)throw new Error('"prk" must be at least HashLen octets');if(n>255*o)throw new Error("Length must be <= 255*HashLen");let s=Math.ceil(n/o);e===void 0?e=Yh:Lt(e,void 0,"info");let i=new Uint8Array(s*o),a=On.create(r,t),c=a._cloneInto(),f=new Uint8Array(a.outputLen);for(let u=0;u<s;u++)uc[0]=u+1,c.update(u===0?Yh:f).update(e).update(uc).digestInto(f),i.set(f,o*u),a._cloneInto(c);return a.destroy(),c.destroy(),zt(f,uc),i.slice(0,n)}var hc={hashSHA256(r){return ee(r.subarray())},getHKDF(r,t){let e=Xh(ee,t,r),o=Qh(ee,e,void 0,96),s=o.subarray(0,32),i=o.subarray(32,64),a=o.subarray(64,96);return[s,i,a]},generateX25519KeyPair(){let r=Ln.utils.randomSecretKey();return{publicKey:Ln.getPublicKey(r),privateKey:r}},generateX25519KeyPairFromSeed(r){return{publicKey:Ln.getPublicKey(r),privateKey:r}},generateX25519SharedKey(r,t){return Ln.getSharedSecret(r.subarray(),t.subarray())},chaCha20Poly1305Encrypt(r,t,e,n){return fc(n,t,e).encrypt(r.subarray())},chaCha20Poly1305Decrypt(r,t,e,n,o){return fc(n,t,e).decrypt(r.subarray(),o)}};var Jh=hc;function tl(r){return{generateKeypair:r.generateX25519KeyPair,dh:(t,e)=>r.generateX25519SharedKey(t.privateKey,e).subarray(0,32),encrypt:r.chaCha20Poly1305Encrypt,decrypt:r.chaCha20Poly1305Decrypt,hash:r.hashSHA256,hkdf:r.getHKDF}}var Wr=r=>{let t=Dt(2);return t[0]=r>>8,t[1]=r,t};Wr.bytes=2;var Gr=r=>{if(r.length<2)throw RangeError("Could not decode int16BE");if(r instanceof Uint8Array){let t=0;return t+=r[0]<<8,t+=r[1],t}return r.getUint16(0)};Gr.bytes=2;function el(r){return{xxHandshakeSuccesses:r.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:r.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:r.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:r.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:r.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var yc={};tt(yc,{base10:()=>Q0});var o8=new Uint8Array(0);function rl(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Se(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function nl(r){return new TextEncoder().encode(r)}function ol(r){return new TextDecoder().decode(r)}function j0(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var b=0,l=0,g=0,v=d.length;g!==v&&d[g]===0;)g++,b++;for(var _=(v-g)*u+1>>>0,R=new Uint8Array(_);g!==v;){for(var D=d[g],P=0,T=_-1;(D!==0||P<l)&&T!==-1;T--,P++)D+=256*R[T]>>>0,R[T]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");l=P,g++}for(var I=_-l;I!==_&&R[I]===0;)I++;for(var U=c.repeat(b);I<_;++I)U+=r.charAt(R[I]);return U}function m(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var b=0;if(d[b]!==" "){for(var l=0,g=0;d[b]===c;)l++,b++;for(var v=(d.length-b)*f+1>>>0,_=new Uint8Array(v);d[b];){var R=e[d.charCodeAt(b)];if(R===255)return;for(var D=0,P=v-1;(R!==0||D<g)&&P!==-1;P--,D++)R+=a*_[P]>>>0,_[P]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");g=D,b++}if(d[b]!==" "){for(var T=v-g;T!==v&&_[T]===0;)T++;for(var I=new Uint8Array(l+(v-T)),U=l;T!==v;)I[U++]=_[T++];return I}}}function p(d){var b=m(d);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:m,decode:p}}var W0=j0,G0=W0,il=G0;var lc=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},dc=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.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 al(this,t)}},pc=class{decoders;constructor(t){this.decoders=t}or(t){return al(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 al(r,t){return new pc({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var mc=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new lc(t,e,n),this.decoder=new dc(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Zr({name:r,prefix:t,encode:e,decode:n}){return new mc(r,t,e,n)}function Fe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=il(e,r);return Zr({prefix:t,name:r,encode:n,decode:s=>Se(o(s))})}function Z0(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,c=0;for(let f=0;f<o;++f){let u=t[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,i+=e,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Y0(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function X0(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function lt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let o=X0(n);return Zr({prefix:t,name:r,encode(s){return Y0(s,n,e)},decode(s){return Z0(s,o,e,r)}})}var Q0=Fe({prefix:"9",name:"base10",alphabet:"0123456789"});var gc={};tt(gc,{base16:()=>J0,base16upper:()=>ty});var J0=lt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ty=lt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var bc={};tt(bc,{base2:()=>ey});var ey=lt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var wc={};tt(wc,{base256emoji:()=>iy});var cl=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}"),ry=cl.reduce((r,t,e)=>(r[e]=t,r),[]),ny=cl.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function oy(r){return r.reduce((t,e)=>(t+=ry[e],t),"")}function sy(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=ny[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var iy=Zr({prefix:"\u{1F680}",name:"base256emoji",encode:oy,decode:sy});var xc={};tt(xc,{base32:()=>Yr,base32hex:()=>uy,base32hexpad:()=>ly,base32hexpadupper:()=>dy,base32hexupper:()=>hy,base32pad:()=>cy,base32padupper:()=>fy,base32upper:()=>ay,base32z:()=>py});var Yr=lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ay=lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),cy=lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fy=lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),uy=lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hy=lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ly=lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),dy=lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),py=lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ec={};tt(Ec,{base36:()=>$n,base36upper:()=>my});var $n=Fe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),my=Fe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sc={};tt(Sc,{base58btc:()=>ie,base58flickr:()=>yy});var ie=Fe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),yy=Fe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ac={};tt(Ac,{base64:()=>gy,base64pad:()=>by,base64url:()=>wy,base64urlpad:()=>xy});var gy=lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),by=lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),wy=lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),xy=lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var vc={};tt(vc,{base8:()=>Ey});var Ey=lt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Bc={};tt(Bc,{identity:()=>Sy});var Sy=Zr({prefix:"\0",name:"identity",encode:r=>ol(r),decode:r=>nl(r)});var x8=new TextEncoder,E8=new TextDecoder;var _c={};tt(_c,{identity:()=>$y});var By=hl,fl=128,Ly=127,_y=~Ly,Iy=Math.pow(2,31);function hl(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Iy;)t[e++]=r&255|fl,r/=128;for(;r&_y;)t[e++]=r&255|fl,r>>>=7;return t[e]=r|0,hl.bytes=e-n+1,t}var Cy=Lc,Ty=128,ul=127;function Lc(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Lc.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&ul)<<o:(i&ul)*Math.pow(2,o),o+=7}while(i>=Ty);return Lc.bytes=s-n,e}var Dy=Math.pow(2,7),Ry=Math.pow(2,14),Oy=Math.pow(2,21),Uy=Math.pow(2,28),Py=Math.pow(2,35),Ny=Math.pow(2,42),My=Math.pow(2,49),ky=Math.pow(2,56),Fy=Math.pow(2,63),Ky=function(r){return r<Dy?1:r<Ry?2:r<Oy?3:r<Uy?4:r<Py?5:r<Ny?6:r<My?7:r<ky?8:r<Fy?9:10},Hy={encode:By,decode:Cy,encodingLength:Ky},Vy=Hy,jn=Vy;function Wn(r,t=0){return[jn.decode(r,t),jn.decode.bytes]}function Xr(r,t,e=0){return jn.encode(r,t,e),t}function Qr(r){return jn.encodingLength(r)}function tn(r,t){let e=t.byteLength,n=Qr(r),o=n+Qr(e),s=new Uint8Array(o+e);return Xr(r,s,0),Xr(e,s,n),s.set(t,o),new Jr(r,e,t,s)}function ll(r){let t=Se(r),[e,n]=Wn(t),[o,s]=Wn(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Jr(e,o,i,t)}function dl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&rl(r.bytes,e.bytes)}}var Jr=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var pl=0,zy="identity",ml=Se;function qy(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return tn(pl,ml(r))}var $y={code:pl,name:zy,encode:ml,digest:qy};var Tc={};tt(Tc,{sha256:()=>Wy,sha512:()=>Gy});var jy=20;function Cc({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new Ic(r,t,e,n,o)}var Ic=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??jy,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.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?yl(n,this.code,e?.truncate):n.then(o=>yl(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function yl(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return tn(t,r)}function bl(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Wy=Cc({name:"sha2-256",code:18,encode:bl("SHA-256")}),Gy=Cc({name:"sha2-512",code:19,encode:bl("SHA-512")});function wl(r,t){let{bytes:e,version:n}=r;return n===0?Yy(e,Dc(r),t??ie.encoder):Xy(e,Dc(r),t??Yr.encoder)}var xl=new WeakMap;function Dc(r){let t=xl.get(r);if(t==null){let e=new Map;return xl.set(r,e),e}return t}var Ss=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,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:e}=this;if(t!==Zn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Qy)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=tn(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&dl(t.multihash,n.multihash)}toString(t){return wl(this,t)}toJSON(){return{"/":wl(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??El(n,o,s.bytes))}else if(e[Jy]===!0){let{version:n,multihash:o,code:s}=e,i=ll(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="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(e!==Zn)throw new Error(`Version 0 CID must use dag-pb (code: ${Zn}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=El(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Zn,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Se(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new Jr(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,m]=Wn(t.subarray(e));return e+=m,h},o=n(),s=Zn;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),f=e+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Zy(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Dc(s).set(n,t),s}};function Zy(r,t){switch(r[0]){case"Q":{let e=t??ie;return[ie.prefix,e.decode(`${ie.prefix}${r}`)]}case ie.prefix:{let e=t??ie;return[ie.prefix,e.decode(r)]}case Yr.prefix:{let e=t??Yr;return[Yr.prefix,e.decode(r)]}case $n.prefix:{let e=t??$n;return[$n.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Yy(r,t,e){let{prefix:n}=e;if(n!==ie.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Xy(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var Zn=112,Qy=18;function El(r,t,e){let n=Qr(r),o=n+Qr(t),s=new Uint8Array(o+e.byteLength);return Xr(r,s,0),Xr(t,s,n),s.set(e,o),s}var Jy=Symbol.for("@ipld/js-cid/CID");var Rc={...Bc,...bc,...vc,...yc,...gc,...xc,...Ec,...Sc,...Ac,...wc},z8={...Tc,..._c};function Al(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Sl=Al("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Oc=Al("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Dt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),tg={utf8:Sl,"utf-8":Sl,hex:Rc.base16,latin1:Oc,ascii:Oc,binary:Oc,...Rc},As=tg;function ae(r,t="utf8"){let e=As[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function Uc(r,t){!t.enabled||!zr||(r?(t(`LOCAL_STATIC_PUBLIC_KEY ${ae(r.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ae(r.privateKey,"hex")}`)):t("Missing local static keys."))}function Pc(r,t){!t.enabled||!zr||(r?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ae(r.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ae(r.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function vl(r,t){!t.enabled||!zr||t(r?`REMOTE_STATIC_PUBLIC_KEY ${ae(r.subarray(),"hex")}`:"Missing remote static public key.")}function Nc(r,t){!t.enabled||!zr||t(r?`REMOTE_EPHEMERAL_PUBLIC_KEY ${ae(r.subarray(),"hex")}`:"Missing remote ephemeral keys.")}function Mc(r,t,e){!e.enabled||!zr||(e(`CIPHER_STATE_1 ${r.n.getUint64()} ${r.k&&ae(r.k,"hex")}`),e(`CIPHER_STATE_2 ${t.n.getUint64()} ${t.k&&ae(t.k,"hex")}`))}function en(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Dt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function kc(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Ll=Symbol.for("@achingbrain/uint8arraylist");function Bl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function vs(r){return!!r?.[Ll]}var ce=class r{bufs;length;[Ll]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(vs(n)){e+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(vs(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Bl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Bl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(vs(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return en(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:en(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(i);break}let h=t-a;n.push(i.subarray(h,h+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(u){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!vs(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let h=e;h<=c;h+=u){u=0;for(let m=f;m>=0;m--){let p=this.get(h+m);if(n[m]!==p){u=Math.max(1,m-a[p]);break}}if(u===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=yt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=yt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!kc(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function ur(r,t="utf8"){let e=As[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}var rn=class r extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=r.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var rg=0,ng=4294967295,og="Cipherstate has reached maximum n, a new handshake must be performed",Bs=class{n;bytes;view;constructor(t=rg){this.n=t,this.bytes=yt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>ng)throw new Error(og)}};var hr=yt(0),nn=class{k;n;crypto;constructor(t,e=void 0,n=0){this.crypto=t,this.k=e,this.n=new Bs(n)}hasKey(){return!!this.k}encryptWithAd(t,e){if(!this.hasKey())return e;this.n.assertValue();let n=this.crypto.encrypt(e,this.n.getBytes(),t,this.k);return this.n.increment(),n}decryptWithAd(t,e,n){if(!this.hasKey())return e;this.n.assertValue();let o=this.crypto.decrypt(e,this.n.getBytes(),t,this.k,n);return this.n.increment(),o}},Fc=class{cs;ck;h;crypto;constructor(t,e){this.crypto=t;let n=ur(e,"utf-8");this.h=sg(t,n),this.ck=this.h,this.cs=new nn(t)}mixKey(t){let[e,n]=this.crypto.hkdf(this.ck,t);this.ck=e,this.cs=new nn(this.crypto,n)}mixHash(t){this.h=this.crypto.hash(new ce(this.h,t))}encryptAndHash(t){let e=this.cs.encryptWithAd(this.h,t);return this.mixHash(e),e}decryptAndHash(t){let e=this.cs.decryptWithAd(this.h,t);return this.mixHash(t),e}split(){let[t,e]=this.crypto.hkdf(this.ck,hr);return[new nn(this.crypto,t),new nn(this.crypto,e)]}},Kc=class{ss;s;e;rs;re;initiator;crypto;constructor(t){let{crypto:e,protocolName:n,prologue:o,initiator:s,s:i,e:a,rs:c,re:f}=t;this.crypto=e,this.ss=new Fc(e,n),this.ss.mixHash(o),this.initiator=s,this.s=i,this.e=a,this.rs=c,this.re=f}writeE(){if(this.e)throw new Error("ephemeral keypair is already set");let t=this.crypto.generateKeypair();return this.ss.mixHash(t.publicKey),this.e=t,t.publicKey}writeS(){if(!this.s)throw new Error("static keypair is not set");return this.ss.encryptAndHash(this.s.publicKey)}writeEE(){if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.re))}writeES(){if(this.initiator){if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.rs)throw new Error("remote static public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.rs))}else{if(!this.s)throw new Error("static keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.s,this.re))}}writeSE(){if(this.initiator){if(!this.s)throw new Error("static keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.s,this.re))}else{if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.rs)throw new Error("remote static public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.rs))}}readE(t,e=0){if(this.re)throw new Error("remote ephemeral public key is already set");if(t.byteLength<e+32)throw new Error("message is not long enough");this.re=t.sublist(e,e+32),this.ss.mixHash(this.re)}readS(t,e=0){if(this.rs)throw new Error("remote static public key is already set");let n=32+(this.ss.cs.hasKey()?16:0);if(t.byteLength<e+n)throw new Error("message is not long enough");let o=t.sublist(e,e+n);return this.rs=this.ss.decryptAndHash(o),n}readEE(){this.writeEE()}readES(){this.writeES()}readSE(){this.writeSE()}},Yn=class extends Kc{writeMessageA(t){return new ce(this.writeE(),this.ss.encryptAndHash(t))}writeMessageB(t){let e=this.writeE();this.writeEE();let n=this.writeS();return this.writeES(),new ce(e,n,this.ss.encryptAndHash(t))}writeMessageC(t){let e=this.writeS();return this.writeSE(),new ce(e,this.ss.encryptAndHash(t))}readMessageA(t){try{return this.readE(t),this.ss.decryptAndHash(t.sublist(32))}catch(e){throw new rn(`handshake stage 0 validation fail: ${e.message}`)}}readMessageB(t){try{this.readE(t),this.readEE();let e=this.readS(t,32);return this.readES(),this.ss.decryptAndHash(t.sublist(32+e))}catch(e){throw new rn(`handshake stage 1 validation fail: ${e.message}`)}}readMessageC(t){try{let e=this.readS(t);return this.readSE(),this.ss.decryptAndHash(t.sublist(e))}catch(e){throw new rn(`handshake stage 2 validation fail: ${e.message}`)}}};function sg(r,t){if(t.length<=32){let e=yt(32);return e.set(t),e}else return r.hash(t)}var ig=Math.pow(2,7),ag=Math.pow(2,14),cg=Math.pow(2,21),_l=Math.pow(2,28),Il=Math.pow(2,35),Cl=Math.pow(2,42),Tl=Math.pow(2,49),Ot=128,Ke=127;function Xn(r){if(r<ig)return 1;if(r<ag)return 2;if(r<cg)return 3;if(r<_l)return 4;if(r<Il)return 5;if(r<Cl)return 6;if(r<Tl)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Dl(r,t,e=0){switch(Xn(r)){case 8:t[e++]=r&255|Ot,r/=128;case 7:t[e++]=r&255|Ot,r/=128;case 6:t[e++]=r&255|Ot,r/=128;case 5:t[e++]=r&255|Ot,r/=128;case 4:t[e++]=r&255|Ot,r>>>=7;case 3:t[e++]=r&255|Ot,r>>>=7;case 2:t[e++]=r&255|Ot,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Rl(r,t){let e=r[t],n=0;if(n+=e&Ke,e<Ot||(e=r[t+1],n+=(e&Ke)<<7,e<Ot)||(e=r[t+2],n+=(e&Ke)<<14,e<Ot)||(e=r[t+3],n+=(e&Ke)<<21,e<Ot)||(e=r[t+4],n+=(e&Ke)*_l,e<Ot)||(e=r[t+5],n+=(e&Ke)*Il,e<Ot)||(e=r[t+6],n+=(e&Ke)*Cl,e<Ot)||(e=r[t+7],n+=(e&Ke)*Tl,e<Ot))return n;throw new RangeError("Could not decode varint")}var Hc=new Float32Array([-0]),He=new Uint8Array(Hc.buffer);function Ol(r,t,e){Hc[0]=r,t[e]=He[0],t[e+1]=He[1],t[e+2]=He[2],t[e+3]=He[3]}function Ul(r,t){return He[0]=r[t],He[1]=r[t+1],He[2]=r[t+2],He[3]=r[t+3],Hc[0]}var Vc=new Float64Array([-0]),Rt=new Uint8Array(Vc.buffer);function Pl(r,t,e){Vc[0]=r,t[e]=Rt[0],t[e+1]=Rt[1],t[e+2]=Rt[2],t[e+3]=Rt[3],t[e+4]=Rt[4],t[e+5]=Rt[5],t[e+6]=Rt[6],t[e+7]=Rt[7]}function Nl(r,t){return Rt[0]=r[t],Rt[1]=r[t+1],Rt[2]=r[t+2],Rt[3]=r[t+3],Rt[4]=r[t+4],Rt[5]=r[t+5],Rt[6]=r[t+6],Rt[7]=r[t+7],Vc[0]}var fg=BigInt(Number.MAX_SAFE_INTEGER),ug=BigInt(Number.MIN_SAFE_INTEGER),kt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return lr;if(t<fg&&t>ug)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ml&&(o=0n,++n>Ml&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return lr;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):lr}},lr=new kt(0,0);lr.toBigInt=function(){return 0n};lr.zzEncode=lr.zzDecode=function(){return this};lr.length=function(){return 1};var Ml=4294967296n;function kl(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Fl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function zc(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Yt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Ls(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var qc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Yt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Yt(this,4);return Ls(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Yt(this,4);return Ls(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Yt(this,4);let t=Ul(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Yt(this,4);let t=Nl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Yt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Fl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Yt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Yt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new kt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Yt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Yt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Yt(this,8);let t=Ls(this.buf,this.pos+=4),e=Ls(this.buf,this.pos+=4);return new kt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Rl(this.buf,this.pos);return this.pos+=Xn(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function $c(r){return new qc(r instanceof Uint8Array?r:r.subarray())}function _s(r,t,e){let n=$c(r);return t.decode(n,void 0,e)}function jc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Dt(i);o+i>t&&(n=Dt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var dr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Wc(){}var Zc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},hg=jc();function lg(r){return globalThis.Buffer!=null?Dt(r):hg(r)}var Jn=class{len;head;tail;states;constructor(){this.len=0,this.head=new dr(Wc,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new dr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Yc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Is,10,kt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=kt.fromBigInt(t);return this._push(Is,e.length(),e)}uint64Number(t){return this._push(Dl,Xn(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=kt.fromBigInt(t).zzEncode();return this._push(Is,e.length(),e)}sint64Number(t){let e=kt.fromNumber(t).zzEncode();return this._push(Is,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Gc,1,t?1:0)}fixed32(t){return this._push(Qn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=kt.fromBigInt(t);return this._push(Qn,4,e.lo)._push(Qn,4,e.hi)}fixed64Number(t){let e=kt.fromNumber(t);return this._push(Qn,4,e.lo)._push(Qn,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ol,4,t)}double(t){return this._push(Pl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Gc,1,0):this.uint32(e)._push(pg,e,t)}string(t){let e=kl(t);return e!==0?this.uint32(e)._push(zc,e,t):this._push(Gc,1,0)}fork(){return this.states=new Zc(this),this.head=this.tail=new dr(Wc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new dr(Wc,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=lg(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Gc(r,t,e){t[e]=r&255}function dg(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Yc=class extends dr{next;constructor(t,e){super(dg,t,e),this.next=void 0}};function Is(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Qn(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function pg(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Jn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(mg,t,r),this},Jn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(yg,t,r),this});function mg(r,t,e){t.set(r,e)}function yg(r,t,e){r.length<40?zc(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(ur(r),e)}function Xc(){return new Jn}function Cs(r,t){let e=Xc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var to;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(to||(to={}));function Qc(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ts(r,t){return Qc("message",to.LENGTH_DELIMITED,r,t)}var eo=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var Ds;(function(r){let t;r.codec=()=>(t==null&&(t=Ts((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.webtransportCerthashes!=null)for(let s of e.webtransportCerthashes)n.uint32(10),n.bytes(s);if(e.streamMuxers!=null)for(let s of e.streamMuxers)n.uint32(18),n.string(s);o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={webtransportCerthashes:[],streamMuxers:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{if(o.limits?.webtransportCerthashes!=null&&s.webtransportCerthashes.length===o.limits.webtransportCerthashes)throw new eo('Decode error - map field "webtransportCerthashes" had too many elements');s.webtransportCerthashes.push(e.bytes());break}case 2:{if(o.limits?.streamMuxers!=null&&s.streamMuxers.length===o.limits.streamMuxers)throw new eo('Decode error - map field "streamMuxers" had too many elements');s.streamMuxers.push(e.string());break}default:{e.skipType(a&7);break}}}return s})),t),r.encode=e=>Cs(e,r.codec()),r.decode=(e,n)=>_s(e,r.codec(),n)})(Ds||(Ds={}));var ro;(function(r){let t;r.codec=()=>(t==null&&(t=Ts((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.identityKey!=null&&e.identityKey.byteLength>0&&(n.uint32(10),n.bytes(e.identityKey)),e.identitySig!=null&&e.identitySig.byteLength>0&&(n.uint32(18),n.bytes(e.identitySig)),e.extensions!=null&&(n.uint32(34),Ds.codec().encode(e.extensions,n)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={identityKey:yt(0),identitySig:yt(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{s.identityKey=e.bytes();break}case 2:{s.identitySig=e.bytes();break}case 4:{s.extensions=Ds.codec().decode(e,e.uint32(),{limits:o.limits?.extensions});break}default:{e.skipType(a&7);break}}}return s})),t),r.encode=e=>Cs(e,r.codec()),r.decode=(e,n)=>_s(e,r.codec(),n)})(ro||(ro={}));async function tf(r,t,e){let n=await r.sign(Vl(t));return ro.encode({identityKey:_e(r.publicKey),identitySig:n,extensions:e})}async function ef(r,t,e){try{let n=ro.decode(r),o=Un(n.identityKey);if(e?.equals(o)===!1)throw new Error(`Payload identity key ${o} does not match expected remote identity key ${e}`);if(!t)throw new Error("Remote static does not exist");let s=Vl(t);if(!await o.verify(s,n.identitySig))throw new Error("Invalid payload signature");return n}catch(n){throw new oo(n.message)}}function Vl(r){let t=ur("noise-libp2p-static-key:");return r instanceof Uint8Array?en([t,r],t.length+r.length):(r.prepend(t),r)}var Jc=class extends oe{stream;handshake;metrics;decoder;constructor(t,e,n){super({log:t.log,inactivityTimeout:t.inactivityTimeout,maxReadBufferLength:t.maxReadBufferLength,direction:t.direction}),this.stream=t,this.handshake=e,this.metrics=n,this.decoder=new ws({lengthDecoder:Gr,maxBufferSize:16*1024*1024,encodingLength:()=>2});let o=c=>{try{for(let f of this.decoder.decode(c.data))this.onData(this.decrypt(f))}catch(f){this.abort(f)}};this.stream.addEventListener("message",o);let s=c=>{c.error!=null?c.local===!0?this.abort(c.error):this.onRemoteReset():this.onTransportClosed()};this.stream.addEventListener("close",s);let i=()=>{this.safeDispatchEvent("drain")};this.stream.addEventListener("drain",i);let a=()=>{this.onRemoteCloseWrite()};this.stream.addEventListener("remoteCloseWrite",a)}encrypt(t){let e=new ce;for(let n=0;n<t.byteLength;n+=65519){let o=n+65519;o>t.byteLength&&(o=t.byteLength);let s;t instanceof Uint8Array?s=this.handshake.encrypt(t.subarray(n,o)):s=this.handshake.encrypt(t.sublist(n,o)),this.metrics?.encryptedPackets.increment(),e.append(Wr(s.byteLength)),e.append(s)}return e}decrypt(t){let e=new ce;for(let n=0;n<t.byteLength;n+=65535){let o=n+65535;if(o>t.byteLength&&(o=t.byteLength),o-sc<n)throw new Error("Invalid chunk");let s;t instanceof Uint8Array?s=t.subarray(n,o):s=t.sublist(n,o);let i=t.subarray(n,o-sc);try{let a=this.handshake.decrypt(s,i);this.metrics?.decryptedPackets.increment(),e.append(a)}catch(a){throw this.metrics?.decryptErrors.increment(),a}}return e}close(t){return this.stream.close(t)}sendPause(){this.stream.pause()}sendResume(){this.stream.resume()}sendReset(t){this.stream.abort(t)}sendData(t){return{sentBytes:t.byteLength,canSendMore:this.stream.send(this.encrypt(t))}}};function rf(r,t,e){return new Jc(r,t,e)}async function zl(r,t){let{log:e,connection:n,crypto:o,privateKey:s,prologue:i,s:a,remoteIdentityKey:c,extensions:f}=r,u=await tf(s,a.publicKey,f),h=new Yn({crypto:o,protocolName:"Noise_XX_25519_ChaChaPoly_SHA256",initiator:!0,prologue:i,s:a});Uc(h.s,e),e.trace("Stage 0 - Initiator starting to send first message."),await n.write(h.writeMessageA(hr),t),e.trace("Stage 0 - Initiator finished sending first message."),Pc(h.e,e),e.trace("Stage 1 - Initiator waiting to receive first message from responder...");let m=h.readMessageB(await n.read(t));e.trace("Stage 1 - Initiator received the message."),Nc(h.re,e),vl(h.rs,e),e.trace("Initiator going to check remote's signature...");let p=await ef(m,h.rs,c);e.trace("All good with the signature!"),e.trace("Stage 2 - Initiator sending third handshake message."),await n.write(h.writeMessageC(u),t),e.trace("Stage 2 - Initiator sent message with signed payload.");let[d,b]=h.ss.split();return Mc(d,b,e),{payload:p,encrypt:l=>d.encryptWithAd(hr,l),decrypt:(l,g)=>b.decryptWithAd(hr,l,g)}}async function ql(r,t){let{log:e,connection:n,crypto:o,privateKey:s,prologue:i,s:a,remoteIdentityKey:c,extensions:f}=r,u=await tf(s,a.publicKey,f),h=new Yn({crypto:o,protocolName:"Noise_XX_25519_ChaChaPoly_SHA256",initiator:!1,prologue:i,s:a});Uc(h.s,e),e.trace("Stage 0 - Responder waiting to receive first message."),h.readMessageA(await n.read(t)),e.trace("Stage 0 - Responder received first message."),Nc(h.re,e),e.trace("Stage 1 - Responder sending out first message with signed payload and static key."),await n.write(h.writeMessageB(u),t),e.trace("Stage 1 - Responder sent the second handshake message with signed payload."),Pc(h.e,e),e.trace("Stage 2 - Responder waiting for third handshake message...");let m=h.readMessageC(await n.read(t));e.trace("Stage 2 - Responder received the message, finished handshake.");let p=await ef(m,h.rs,c),[d,b]=h.ss.split();return Mc(d,b,e),{payload:p,encrypt:l=>b.encryptWithAd(hr,l),decrypt:(l,g)=>d.decryptWithAd(hr,l,g)}}var Rs=class{protocol="/noise";crypto;prologue;staticKey;extensions;metrics;components;log;constructor(t,e={}){let{staticNoiseKey:n,extensions:o,crypto:s,prologueBytes:i}=e,{metrics:a}=t;this.components=t,this.log=t.logger.forComponent("libp2p:noise");let c=s??Jh;this.crypto=tl(c),this.extensions={webtransportCerthashes:[],...o},this.metrics=a?el(a):void 0,n?this.staticKey=c.generateX25519KeyPairFromSeed(n):this.staticKey=c.generateX25519KeyPair(),this.prologue=i??yt(0)}[Symbol.toStringTag]="@chainsafe/libp2p-noise";[po]=["@libp2p/connection-encryption","@chainsafe/libp2p-noise"];async secureOutbound(t,e){let n=t.log?.newScope("noise")??this.log,o=oc(t,{lengthEncoder:Wr,lengthDecoder:Gr,maxDataLength:65535}),s=await this.performHandshakeInitiator(o,this.components.privateKey,n,e?.remotePeer?.publicKey,e),i=Un(s.payload.identityKey);return{connection:rf(o.unwrap(),s,this.metrics),remoteExtensions:s.payload.extensions,remotePeer:Sa(i),streamMuxer:e?.skipStreamMuxerNegotiation===!0?void 0:this.getStreamMuxer(s.payload.extensions?.streamMuxers)}}getStreamMuxer(t){if(t==null||t.length===0)return;let e=this.components.upgrader.getStreamMuxers();if(e!=null)for(let n of t){let o=e.get(n);if(o!=null)return o}if(t.length)throw new yr("Early muxer negotiation was requested but the initiator and responder had no common muxers")}async secureInbound(t,e){let n=t.log?.newScope("noise")??this.log,o=oc(t,{lengthEncoder:Wr,lengthDecoder:Gr,maxDataLength:65535}),s=await this.performHandshakeResponder(o,this.components.privateKey,n,e?.remotePeer?.publicKey,e),i=Un(s.payload.identityKey);return{connection:rf(o.unwrap(),s,this.metrics),remoteExtensions:s.payload.extensions,remotePeer:Sa(i),streamMuxer:e?.skipStreamMuxerNegotiation===!0?void 0:this.getStreamMuxer(s.payload.extensions?.streamMuxers)}}async performHandshakeInitiator(t,e,n,o,s){let i,a=s?.skipStreamMuxerNegotiation===!0?[]:[...this.components.upgrader.getStreamMuxers().keys()];try{i=await zl({connection:t,privateKey:e,remoteIdentityKey:o,log:n.newScope("xxhandshake"),crypto:this.crypto,prologue:this.prologue,s:this.staticKey,extensions:{streamMuxers:a,webtransportCerthashes:[],...this.extensions}},s),this.metrics?.xxHandshakeSuccesses.increment()}catch(c){throw this.metrics?.xxHandshakeErrors.increment(),c}return i}async performHandshakeResponder(t,e,n,o,s){let i,a=s?.skipStreamMuxerNegotiation===!0?[]:[...this.components.upgrader.getStreamMuxers().keys()];try{i=await ql({connection:t,privateKey:e,remoteIdentityKey:o,log:n.newScope("xxhandshake"),crypto:this.crypto,prologue:this.prologue,s:this.staticKey,extensions:{streamMuxers:a,webtransportCerthashes:[],...this.extensions}},s),this.metrics?.xxHandshakeSuccesses.increment()}catch(c){throw this.metrics?.xxHandshakeErrors.increment(),c}return i}};function $l(r={}){return t=>new Rs(t,r)}var pr=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};function nf(r){throw new Error("Not implemented")}var of=class extends gs{writer;reader;constructor(t){super(t),this.writer=t.stream.writable.getWriter(),this.reader=t.stream.readable.getReader(),this.writer.closed.then(()=>{this.log("writer closed gracefully")}).catch(e=>{e.message.includes("STOP_SENDING")||e.message.includes("StopSending")?this.onRemoteCloseRead():e.message.includes("RESET_STREAM")||e.message.includes("Reset")?this.onRemoteReset():this.log("writer close promise rejected - %e",e)}),this.readData()}readData(){Promise.resolve().then(async()=>{for(;;){let t=await this.reader.read();if(t.value!=null&&this.onData(t.value),t.done){this.log("remote closed write"),this.onRemoteCloseWrite();return}if(this.readStatus==="paused")break}}).catch(t=>{this.abort(t)}).finally(()=>{this.reader.releaseLock()})}sendData(t){for(let n of t)this.writer.write(n).catch(o=>{this.abort(o)});if(this.log.trace("desired size after sending %d bytes is %d bytes",t.byteLength,this.writer.desiredSize),this.writer.desiredSize==null)return{sentBytes:t.byteLength,canSendMore:!1};let e=this.writer.desiredSize>0;return e||this.writer.ready.then(()=>{this.safeDispatchEvent("drain")},n=>{this.abort(n)}),{sentBytes:t.byteLength,canSendMore:e}}sendReset(t){this.writer.abort(t).catch(e=>{this.log.error("error aborting writer - %e",e)})}async sendCloseWrite(t){this.log("sendCloseWrite closing writer"),await Kt(this.writer.close().catch(()=>{}),t?.signal),this.log("sendCloseWrite closed writer")}async sendCloseRead(t){this.log("sendCloseRead cancelling reader"),await Kt(this.reader.cancel(),t?.signal),this.log("sendCloseRead cancelled reader")}sendPause(){}sendResume(){this.readData()}};function sf(r,t,e,n,o){return new of({...o,stream:r,id:t,direction:e,log:n.newScope(`${e}:${t}`),protocol:""})}var jl="/webtransport",af=class extends ys{webTransport;streamIDCounter;reader;constructor(t,e){super(e,{protocol:jl,name:"muxer"}),this.webTransport=t,this.streamIDCounter=0,this.reader=this.webTransport.incomingBidirectionalStreams.getReader(),Promise.resolve().then(async()=>{for(;;){let{done:n,value:o}=await this.reader.read();if(n||o==null)break;this.onRemoteStream(sf(o,String(this.streamIDCounter++),"inbound",this.log,this.streamOptions))}}).catch(n=>{this.log.error("could not create a new stream - %e",n)})}async onCreateStream(t){let e=await this.webTransport.createBidirectionalStream();return t?.signal?.throwIfAborted(),sf(e,String(this.streamIDCounter++),"outbound",this.log,t)}onData(){}sendReset(){this.webTransport.close()}};function Wl(r){return{protocol:jl,createStreamMuxer(t){return new af(r,t)}}}var cf=class extends ms{cleanUpWTSession;constructor(t){super(t),this.cleanUpWTSession=t.cleanUpWTSession}sendData(t){return{sentBytes:t.byteLength,canSendMore:!0}}sendReset(){this.cleanUpWTSession("abort")}async sendClose(t){this.cleanUpWTSession("close"),t?.signal?.throwIfAborted()}sendPause(){}sendResume(){}},Gl=r=>new cf(r);function Zl(r,t){return t.filter(n=>!!r.find(o=>pt(n,o))).length===t.length}var gg=Object.values(je).map(r=>r.decoder).reduce((r,t)=>r.or(t));function bg(r){return he.decode(gg.decode(r))}function ff(r){if(!fs.matches(r))throw new ao("Invalid multiaddr, was not a WebTransport address");let t=[],e;for(let s of r.getComponents())s.name==="certhash"&&t.push(bg(s.value??"")),s.name==="p2p"&&e==null&&(e=uh(s.value??""));let n=lh(r),o=n.host;return n.type==="ip6"&&o.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${n.port}`,certhashes:t,remotePeer:e}}var Os=class extends oe{writer;reader;constructor(t){super(t),this.writer=t.stream.writable.getWriter(),this.reader=t.stream.readable.getReader(),Promise.resolve().then(async()=>{for(;;){let{done:e,value:n}=await this.reader.read();if(n!=null&&this.onData(n),e)break}}).catch(e=>{this.abort(e)})}async close(t){await Kt(this.writer.close(),t?.signal)}sendData(t){return this.writer.write(t.subarray()).catch(e=>{this.abort(e)}),{sentBytes:t.byteLength,canSendMore:!0}}sendReset(t){this.writer.abort(t).catch(e=>{this.log.error("could not send reset - %e",e)})}sendPause(){}sendResume(){}};var Yl=globalThis.WebTransport;var uf=class{log;components;config;metrics;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={...e,certificates:e.certificates??[]},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[pf]=!0;[po]=["@libp2p/transport"];async dial(t,e){e.signal.throwIfAborted(),this.log("dialing %s",t),e=e??{};let{url:n,certhashes:o,remotePeer:s}=ff(t),i,a,c=()=>{},f=!1,u=!1,h=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let m=new Yl(`${n}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(d=>({algorithm:"sha-256",value:xt(d.digest)}))});c=d=>{if(!f)try{this.metrics?.dialerEvents.increment({[d]:!0}),m.close()}catch(b){this.log.error("error closing wt session - %e",b)}finally{a!=null&&(a.timeline.close=Date.now()),f=!0}},i=()=>{c(u?"noise_timeout":"ready_timeout")},e.signal.addEventListener("abort",i,{once:!0}),this.log("wait for session to be ready"),e.onProgress?.(new pr("webtransport:wait-for-session")),await Promise.race([m.closed,m.ready]),this.log("session became ready"),u=!0,this.metrics?.dialerEvents.increment({ready:!0}),m.closed.catch(d=>{this.log.error("error on remote wt session close - %e",d)}).finally(()=>{c("remote_close")}),this.metrics?.dialerEvents.increment({open:!0}),a=Gl({remoteAddr:t,cleanUpWTSession:c,direction:"outbound",log:this.components.logger.forComponent("libp2p:webtransport:connection")});let p=await this.authenticateWebTransport({wt:m,maConn:a,remotePeer:s,certhashes:o,...e});if(h=!0,s!=null&&(h=s.equals(p)),!h)throw new yr("Failed to authenticate webtransport");return await e.upgrader.upgradeOutbound(a,{...e,skipEncryption:!0,remotePeer:p,muxerFactory:Wl(m),skipProtection:!0})}catch(m){throw this.log.error("caught wt session err - %e",m),c(h?"upgrade_error":u?"noise_error":"ready_error"),m}finally{i!=null&&e.signal?.removeEventListener("abort",i)}}async authenticateWebTransport({wt:t,maConn:e,remotePeer:n,certhashes:o,onProgress:s,signal:i}){s?.(new pr("webtransport:open-authentication-stream"));let a=await t.createBidirectionalStream();i?.throwIfAborted();let c=new Os({stream:a,log:e.log.newScope("muxer")}),f=$l()(this.components);s?.(new pr("webtransport:secure-outbound-connection"));let{remoteExtensions:u,remotePeer:h}=await f.secureOutbound(c,{signal:i,remotePeer:n,skipStreamMuxerNegotiation:!0});if(s?.(new pr("webtransport:close-authentication-stream")),await c.close({signal:i}),!Zl(u?.webtransportCerthashes??[],o.map(m=>m.bytes)))throw new Q("Our certhashes are not a subset of the remote's reported certhashes");return h}createListener(t){return nf(this.components,{...t,certificates:this.config.certificates})}listenFilter(){return[]}dialFilter(t){return globalThis.WebTransport==null?[]:t.filter(e=>{if(!fs.exactMatch(e))return!1;let{url:n,certhashes:o}=ff(e);return n!=null&&o.length>0})}};function wg(r={}){return t=>new uf(t,r)}return ed(xg);})();
2
+ "use strict";var Libp2PWebtransport=(()=>{var Us=Object.defineProperty;var Ql=Object.getOwnPropertyDescriptor;var Jl=Object.getOwnPropertyNames;var td=Object.prototype.hasOwnProperty;var tt=(r,t)=>{for(var e in t)Us(r,e,{get:t[e],enumerable:!0})},ed=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Jl(t))!td.call(r,o)&&o!==e&&Us(r,o,{get:()=>t[o],enumerable:!(n=Ql(t,o))||n.enumerable});return r};var rd=r=>ed(Us({},"__esModule",{value:!0}),r);var Eg={};tt(Eg,{webTransport:()=>xg});var oo=class extends Error{static name="UnexpectedPeerError";constructor(t="Unexpected Peer"){super(t),this.name="UnexpectedPeerError"}},yr=class extends Error{static name="InvalidCryptoExchangeError";constructor(t="Invalid crypto exchange"){super(t),this.name="InvalidCryptoExchangeError"}},Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},gr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var so=class extends Error{static name="MuxerClosedError";constructor(t="The muxer is closed"){super(t),this.name="MuxerClosedError"}},io=class extends Error{static name="StreamResetError";constructor(t="The stream has been reset"){super(t),this.name="StreamResetError"}};var Ae=class extends Error{static name="StreamStateError";constructor(t="The stream is in an invalid state"){super(t),this.name="StreamStateError"}},an=class extends Error{static name="StreamBufferError";constructor(t="The stream buffer was full"){super(t),this.name="StreamBufferError"}};var ao=class extends Error{static name="InvalidMultiaddrError";constructor(t="Invalid multiaddr"){super(t),this.name="InvalidMultiaddrError"}},co=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},fo=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var ze=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var uo=class extends Event{data;constructor(t,e){super("message",e),this.data=t}},br=class extends Event{error;local;constructor(t,e,n){super("close",n),this.error=e,this.local=t}},ho=class extends br{constructor(t,e){super(!0,t,e)}},lo=class extends br{constructor(t,e){super(!1,t,e)}};var Ps=Symbol.for("@libp2p/peer-id");var pf=Symbol.for("@libp2p/transport");var df;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(df||(df={}));function nd(r){return typeof r?.handleEvent=="function"}function od(r){return(r!==!0&&r!==!1&&r?.once)??!1}var wr=class extends EventTarget{#t=new Map;constructor(){super()}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){let o=od(n);super.addEventListener(t,i=>{if(o){let a=this.#t.get(i.type);a!=null&&(a=a.filter(({callback:c})=>c!==e),this.#t.set(i.type,a))}nd(e)?e.handleEvent(i):e(i)},n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:o})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var po=Symbol.for("@libp2p/service-capabilities");var Ks={};tt(Ks,{base58btc:()=>ut,base58flickr:()=>ld});var Jg=new Uint8Array(0);function yf(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Ft(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return qe(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return qe(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function gf(r){let t=new Uint8Array(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}var mf=4096;function bf(r){let t=r.length;if(t<=mf)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.subarray(n,n+=mf));return e}function sd(r){return r?.buffer instanceof ArrayBuffer}function qe(r){return sd(r)?r:r.slice()}function id(r,t,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,e){var c=i.toLowerCase().charCodeAt(0),f=i.toUpperCase().charCodeAt(0);c!==a&&(n[c]=s),f!==a&&(n[f]=s)}}var u=r.length,h=r.charAt(0),y=Math.log(u)/Math.log(256),d=Math.log(256)/Math.log(u);function g(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var v=0,_=0,R=0,D=m.length;R!==D&&m[R]===0;)R++,v++;for(var N=(D-R)*d+1>>>0,T=new Uint8Array(N);R!==D;){for(var I=m[R],U=0,M=N-1;(I!==0||U<_)&&M!==-1;M--,U++)I+=256*T[M]>>>0,T[M]=I%u>>>0,I=I/u>>>0;if(I!==0)throw new Error("Non-zero carry");_=U,R++}for(var P=N-_;P!==N&&T[P]===0;)P++;for(var p=h.repeat(v);P<N;++P)p+=r.charAt(T[P]);return p}function S(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var v=0;if(m[v]!==" "){for(var _=0,R=0;m[v]===h;)_++,v++;for(var D=(m.length-v)*y+1>>>0,N=new Uint8Array(D);m[v];){var T=n[m.charCodeAt(v)];if(T===255)return;for(var I=0,U=D-1;(T!==0||I<R)&&U!==-1;U--,I++)T+=u*N[U]>>>0,N[U]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");R=I,v++}if(m[v]!==" "){for(var M=D-R;M!==D&&N[M]===0;)M++;for(var P=new Uint8Array(_+(D-M)),p=_;M!==D;)P[p++]=N[M++];return P}}}function l(m){var v=S(m);if(v)return v;throw new Error(`Non-${t} character`)}return{encode:g,decodeUnsafe:S,decode:l}}var ad=id,cd=ad,xf=cd;var Ns=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ms=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.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 Ef(this,t)}},ks=class{decoders;constructor(t){this.decoders=t}or(t){return Ef(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 Ef(r,t){return new ks({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Fs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ns(t,e,n),this.decoder=new Ms(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function xr({name:r,prefix:t,encode:e,decode:n}){return new Fs(r,t,e,n)}function ve({name:r,prefix:t,alphabet:e,caseInsensitive:n=!1}){let{encode:o,decode:s}=xf(e,r,n);return xr({prefix:t,name:r,encode:o,decode:i=>Ft(s(i))})}function fd(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,c=0;for(let f=0;f<o;++f){let u=t[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,i+=e,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function ud(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function hd(r,t){let e={};for(let n=0;n<r.length;++n)if(e[r[n]]=n,t){let o=r[n].toLowerCase(),s=r[n].toUpperCase();o!==r[n]&&(e[o]=n),s!==r[n]&&(e[s]=n)}return e}function ft({name:r,prefix:t,bitsPerChar:e,alphabet:n,caseInsensitive:o=!1}){let s=hd(n,o);return xr({prefix:t,name:r,encode(i){return ud(i,n,e)},decode(i){return fd(i,s,e,r)}})}var ut=ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ld=ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hs={};tt(Hs,{base32:()=>Be,base32hex:()=>yd,base32hexpad:()=>bd,base32hexpadupper:()=>wd,base32hexupper:()=>gd,base32pad:()=>pd,base32padupper:()=>md,base32upper:()=>dd,base32z:()=>xd});var Be=ft({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),dd=ft({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),pd=ft({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),md=ft({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),yd=ft({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),gd=ft({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),bd=ft({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),wd=ft({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),xd=ft({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vs={};tt(Vs,{base36:()=>cn,base36upper:()=>Ed});var cn=ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),Ed=ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var he={};tt(he,{Digest:()=>$e,create:()=>Vt,decode:()=>Ar,equals:()=>qs,hasCode:()=>Kd});var Sd=vf,Sf=128,Ad=127,vd=~Ad,Bd=Math.pow(2,31);function vf(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Bd;)t[e++]=r&255|Sf,r/=128;for(;r&vd;)t[e++]=r&255|Sf,r>>>=7;return t[e]=r|0,vf.bytes=e-n+1,t}var Ld=zs,_d=128,Af=127;function zs(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw zs.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Af)<<o:(i&Af)*Math.pow(2,o),o+=7}while(i>=_d);return zs.bytes=s-n,e}var Id=Math.pow(2,7),Cd=Math.pow(2,14),Td=Math.pow(2,21),Dd=Math.pow(2,28),Rd=Math.pow(2,35),Od=Math.pow(2,42),Ud=Math.pow(2,49),Pd=Math.pow(2,56),Nd=Math.pow(2,63),Md=function(r){return r<Id?1:r<Cd?2:r<Td?3:r<Dd?4:r<Rd?5:r<Od?6:r<Ud?7:r<Pd?8:r<Nd?9:10},kd={encode:Sd,decode:Ld,encodingLength:Md},Fd=kd,fn=Fd;function un(r,t=0){return[fn.decode(r,t),fn.decode.bytes]}function Er(r,t,e=0){return fn.encode(r,t,e),t}function Sr(r){return fn.encodingLength(r)}function Vt(r,t){let e=t.byteLength,n=Sr(r),o=n+Sr(e),s=new Uint8Array(o+e);return Er(r,s,0),Er(e,s,n),s.set(t,o),new $e(r,e,t,s)}function Ar(r){let t=Ft(r),[e,n]=un(t),[o,s]=un(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new $e(e,o,i,t)}function qs(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&yf(r.bytes,e.bytes)}}var $e=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=qe(n),this.bytes=qe(o)}};function Kd(r,t){return r.code===t}function Bf(r,t){let{bytes:e,version:n}=r;return n===0?Vd(e,$s(r),t??ut.encoder):zd(e,$s(r),t??Be.encoder)}var Lf=new WeakMap;function $s(r){let t=Lf.get(r);if(t==null){let e=new Map;return Lf.set(r,e),e}return t}var dt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=qe(o),this["/"]=this.bytes}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:e}=this;if(t!==hn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==qd)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=Vt(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&qs(t.multihash,n.multihash)}toString(t){return Bf(this,t)}toJSON(){return{"/":Bf(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??_f(n,o,s.bytes))}else if(e[$d]===!0){let{version:n,multihash:o,code:s}=e,i=Ar(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="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(e!==hn)throw new Error(`Version 0 CID must use dag-pb (code: ${hn}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=_f(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,hn,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Ft(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new $e(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,y]=un(t.subarray(e));return e+=y,h},o=n(),s=hn;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),f=e+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Hd(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $s(s).set(n,t),s}};function Hd(r,t){switch(r[0]){case"Q":{let e=t??ut;return[ut.prefix,e.decode(`${ut.prefix}${r}`)]}case ut.prefix:{let e=t??ut;return[ut.prefix,e.decode(r)]}case Be.prefix:{let e=t??Be;return[Be.prefix,e.decode(r)]}case cn.prefix:{let e=t??cn;return[cn.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Vd(r,t,e){let{prefix:n}=e;if(n!==ut.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function zd(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var hn=112,qd=18;function _f(r,t,e){let n=Sr(r),o=n+Sr(t),s=new Uint8Array(o+e.byteLength);return Er(r,s,0),Er(t,s,n),s.set(e,o),s}var $d=Symbol.for("@ipld/js-cid/CID");var js={};tt(js,{identity:()=>zt});var If=0,jd="identity",Cf=Ft;function Wd(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return Vt(If,Cf(r))}var zt={code:If,name:jd,encode:Cf,digest:Wd};function pt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Gd(r){return r.buffer instanceof ArrayBuffer}function xt(r){return Gd(r)?r:r.slice()}async function Tf(r,t,e,n){let o=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,xt(t),xt(e.subarray()));return n?.signal?.throwIfAborted(),s}function Qt(r=0){return new Uint8Array(r)}function Bt(r=0){return new Uint8Array(r)}function Zd(r){return r?.buffer instanceof ArrayBuffer}function Ws(r){if(Zd(r))return r;let t=r.slice();return new Uint8Array(t.buffer,0,t.byteLength)}function Jt(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Bt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return Ws(e)}var Rf=Symbol.for("@achingbrain/uint8arraylist");function Df(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function yo(r){return!!r?.[Rf]}var it=class r{bufs;length;[Rf]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(yo(n)){e+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(yo(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Df(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Df(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(yo(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return Jt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Jt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(i);break}let h=t-a;n.push(i.subarray(h,h+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(u){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!yo(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let h=e;h<=c;h+=u){u=0;for(let y=f;y>=0;y--){let d=this.get(h+y);if(n[y]!==d){u=Math.max(1,y-a[d]);break}}if(u===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Qt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Qt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Qt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Qt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Qt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Qt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Qt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Qt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!pt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};var Gs={};tt(Gs,{base10:()=>Yd});var Yd=ve({prefix:"9",name:"base10",alphabet:"0123456789"});var Zs={};tt(Zs,{base16:()=>Xd,base16upper:()=>Qd});var Xd=ft({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),Qd=ft({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var Ys={};tt(Ys,{base2:()=>Jd});var Jd=ft({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xs={};tt(Xs,{base256emoji:()=>op});var Of=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}"),tp=Of.reduce((r,t,e)=>(r[e]=t,r),[]),ep=Of.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function rp(r){return r.reduce((t,e)=>(t+=tp[e],t),"")}function np(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=ep[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var op=xr({prefix:"\u{1F680}",name:"base256emoji",encode:rp,decode:np});var Js={};tt(Js,{base64:()=>sp,base64pad:()=>ip,base64url:()=>Qs,base64urlpad:()=>ap});var sp=ft({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ip=ft({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Qs=ft({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ap=ft({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ti={};tt(ti,{base8:()=>cp});var cp=ft({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ei={};tt(ei,{identity:()=>fp});var fp=xr({prefix:"\0",name:"identity",encode:r=>bf(Ft(r)),decode:r=>Ft(gf(r))});var kb=new TextEncoder,Fb=new TextDecoder;var oi={};tt(oi,{sha256:()=>ln,sha512:()=>dp});var lp=20;function ni({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new ri(r,t,e,n,o)}var ri=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??lp,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.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?Uf(n,this.code,e?.truncate):n.then(o=>Uf(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Uf(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return Vt(t,r)}function Nf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ln=ni({name:"sha2-256",code:18,encode:Nf("SHA-256")}),dp=ni({name:"sha2-512",code:19,encode:Nf("SHA-512")});var je={...ei,...Ys,...ti,...Gs,...Zs,...Hs,...Vs,...Ks,...Js,...Xs},Xb={...oi,...js};function kf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Mf=kf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),si=kf("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),pp={utf8:Mf,"utf-8":Mf,hex:je.base16,latin1:si,ascii:si,binary:si,...je},go=pp;function et(r,t="utf8"){let e=go[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function j(r,t="utf8"){let e=go[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var mp=parseInt("11111",2),ii=parseInt("10000000",2),yp=parseInt("01111111",2),Ff={0:dn,1:dn,2:gp,3:xp,4:Ep,5:wp,6:bp,16:dn,22:dn,48:dn};function le(r,t={offset:0}){let e=r[t.offset]&mp;if(t.offset++,Ff[e]!=null)return Ff[e](r,t);throw new Error("No decoder for tag "+e)}function pn(r,t){let e=0;if((r[t.offset]&ii)===ii){let n=r[t.offset]&yp,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(o,16)}else e=r[t.offset],t.offset++;return e}function dn(r,t){pn(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=le(r,t);if(n===null)break;e.push(n)}return e}function gp(r,t){let e=pn(r,t),n=t.offset,o=t.offset+e,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return t.offset+=e,Uint8Array.from(s)}function bp(r,t){let e=pn(r,t),n=t.offset+e,o=r[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;t.offset<n;){let f=r[t.offset];if(t.offset++,c.push(f&127),f<128){c.reverse();let u=0;for(let h=0;h<c.length;h++)u+=c[h]<<h*7;a+=`.${u}`,c=[]}}return a}function wp(r,t){return t.offset++,null}function xp(r,t){let e=pn(r,t),n=r[t.offset];t.offset++;let o=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Ep(r,t){let e=pn(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function Sp(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new it;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function ai(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=Sp(r.byteLength);return new it(Uint8Array.from([t.byteLength|ii]),t)}function Ut(r){let t=new it,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new it(Uint8Array.from([2]),ai(t),t)}function bo(r){let t=Uint8Array.from([0]),e=new it(t,r);return new it(Uint8Array.from([3]),ai(e),e)}function Le(r,t=48){let e=new it;for(let n of r)e.append(n);return new it(Uint8Array.from([t]),ai(e),e)}var Ap=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),vp=Uint8Array.from([6,5,43,129,4,0,34]),Bp=Uint8Array.from([6,5,43,129,4,0,35]),Lp={ext:!0,kty:"EC",crv:"P-256"},_p={ext:!0,kty:"EC",crv:"P-384"},Ip={ext:!0,kty:"EC",crv:"P-521"},ci=32,fi=48,ui=66;function hi(r){let t=le(r);return Kf(t)}function Kf(r){let t=r[1][1][0],e=1,n,o;if(t.byteLength===ci*2+1)return n=j(t.subarray(e,e+ci),"base64url"),o=j(t.subarray(e+ci),"base64url"),new vr({...Lp,key_ops:["verify"],x:n,y:o});if(t.byteLength===fi*2+1)return n=j(t.subarray(e,e+fi),"base64url"),o=j(t.subarray(e+fi),"base64url"),new vr({..._p,key_ops:["verify"],x:n,y:o});if(t.byteLength===ui*2+1)return n=j(t.subarray(e,e+ui),"base64url"),o=j(t.subarray(e+ui),"base64url"),new vr({...Ip,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Hf(r){return Le([Ut(Uint8Array.from([1])),Le([Cp(r.crv)],160),Le([bo(new it(Uint8Array.from([4]),et(r.x??"","base64url"),et(r.y??"","base64url")))],161)]).subarray()}function Cp(r){if(r==="P-256")return Ap;if(r==="P-384")return vp;if(r==="P-521")return Bp;throw new Q(`Invalid curve ${r}`)}var vr=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Hf(this.jwk)),this._raw}toMultihash(){return zt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}async verify(t,e,n){return Tf(this.jwk,e,t,n)}};function li(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function te(r,t=""){if(typeof r!="number"){let e=t&&`"${t}" `;throw new TypeError(`${e}expected number, got ${typeof r}`)}if(!Number.isSafeInteger(r)||r<0){let e=t&&`"${t}" `;throw new RangeError(`${e}expected integer >= 0, got ${r}`)}}function Lt(r,t,e=""){let n=li(r),o=r?.length,s=t!==void 0;if(!n||s&&o!==t){let i=e&&`"${e}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof r}`,f=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(f):new TypeError(f)}return r}function We(r){if(typeof r!="function"||typeof r.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(te(r.outputLen),te(r.blockLen),r.outputLen<1)throw new Error('"outputLen" must be >= 1');if(r.blockLen<1)throw new Error('"blockLen" must be >= 1')}function Br(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function wo(r,t){Lt(r,void 0,"digestInto() output");let e=t.outputLen;if(r.length<e)throw new RangeError('"digestInto() output" expected to be of length >='+e)}function qt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function xo(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function $t(r,t){return r<<32-t|r>>>t}var zf=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Tp=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Eo(r){if(Lt(r),zf)return r.toHex();let t="";for(let e=0;e<r.length;e++)t+=Tp[r[e]];return t}var de={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vf(r){if(r>=de._0&&r<=de._9)return r-de._0;if(r>=de.A&&r<=de.F)return r-(de.A-10);if(r>=de.a&&r<=de.f)return r-(de.a-10)}function mn(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);if(zf)try{return Uint8Array.fromHex(r)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let t=r.length,e=t/2;if(t%2)throw new RangeError("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=Vf(r.charCodeAt(s)),a=Vf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function di(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Lt(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function pi(r,t={}){let e=(o,s)=>r(s).update(o).digest(),n=r(void 0);return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.canXOF=n.canXOF,e.create=o=>r(o),Object.assign(e,t),Object.freeze(e)}function qf(r=32){te(r,"bytesLength");let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(r>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${r}`);return t.getRandomValues(new Uint8Array(r))}var mi=r=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,r])});function $f(r,t,e){return r&t^~r&e}function jf(r,t,e){return r&t^r&e^t&e}var yn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,e,n,o){this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=xo(this.buffer)}update(t){Br(this),Lt(t);let{view:e,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=xo(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(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Br(this),wo(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,qt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let h=i;h<o;h++)e[h]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=xo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,u[h],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:e,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%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}},pe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Et=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var So=BigInt(4294967295),Wf=BigInt(32);function Dp(r,t=!1){return t?{h:Number(r&So),l:Number(r>>Wf&So)}:{h:Number(r>>Wf&So)|0,l:Number(r&So)|0}}function Gf(r,t=!1){let e=r.length,n=new Uint32Array(e),o=new Uint32Array(e);for(let s=0;s<e;s++){let{h:i,l:a}=Dp(r[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var yi=(r,t,e)=>r>>>e,gi=(r,t,e)=>r<<32-e|t>>>e,Ge=(r,t,e)=>r>>>e|t<<32-e,Ze=(r,t,e)=>r<<32-e|t>>>e,gn=(r,t,e)=>r<<64-e|t>>>e-32,bn=(r,t,e)=>r>>>e-32|t<<64-e;function ee(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var Zf=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Yf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Xf=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Qf=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,Jf=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),tu=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var Op=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]),Ie=new Uint32Array(64),bi=class extends yn{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|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,e){for(let h=0;h<16;h++,e+=4)Ie[h]=t.getUint32(e,!1);for(let h=16;h<64;h++){let y=Ie[h-15],d=Ie[h-2],g=$t(y,7)^$t(y,18)^y>>>3,S=$t(d,17)^$t(d,19)^d>>>10;Ie[h]=S+Ie[h-7]+g+Ie[h-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:f,H:u}=this;for(let h=0;h<64;h++){let y=$t(a,6)^$t(a,11)^$t(a,25),d=u+y+$f(a,c,f)+Op[h]+Ie[h]|0,S=($t(n,2)^$t(n,13)^$t(n,22))+jf(n,o,s)|0;u=f,f=c,c=a,a=i+d|0,i=s,s=o,o=n,n=d+S|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,f=f+this.G|0,u=u+this.H|0,this.set(n,o,s,i,a,c,f,u)}roundClean(){qt(Ie)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),qt(this.buffer)}},wi=class extends bi{A=pe[0]|0;B=pe[1]|0;C=pe[2]|0;D=pe[3]|0;E=pe[4]|0;F=pe[5]|0;G=pe[6]|0;H=pe[7]|0;constructor(){super(32)}};var eu=Gf(["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(r=>BigInt(r))),Up=eu[0],Pp=eu[1],Ce=new Uint32Array(80),Te=new Uint32Array(80),xi=class extends yn{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:f,El:u,Fh:h,Fl:y,Gh:d,Gl:g,Hh:S,Hl:l}=this;return[t,e,n,o,s,i,a,c,f,u,h,y,d,g,S,l]}set(t,e,n,o,s,i,a,c,f,u,h,y,d,g,S,l){this.Ah=t|0,this.Al=e|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=f|0,this.El=u|0,this.Fh=h|0,this.Fl=y|0,this.Gh=d|0,this.Gl=g|0,this.Hh=S|0,this.Hl=l|0}process(t,e){for(let _=0;_<16;_++,e+=4)Ce[_]=t.getUint32(e),Te[_]=t.getUint32(e+=4);for(let _=16;_<80;_++){let R=Ce[_-15]|0,D=Te[_-15]|0,N=Ge(R,D,1)^Ge(R,D,8)^yi(R,D,7),T=Ze(R,D,1)^Ze(R,D,8)^gi(R,D,7),I=Ce[_-2]|0,U=Te[_-2]|0,M=Ge(I,U,19)^gn(I,U,61)^yi(I,U,6),P=Ze(I,U,19)^bn(I,U,61)^gi(I,U,6),p=Xf(T,P,Te[_-7],Te[_-16]),A=Qf(p,N,M,Ce[_-7],Ce[_-16]);Ce[_]=A|0,Te[_]=p|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:f,Dl:u,Eh:h,El:y,Fh:d,Fl:g,Gh:S,Gl:l,Hh:m,Hl:v}=this;for(let _=0;_<80;_++){let R=Ge(h,y,14)^Ge(h,y,18)^gn(h,y,41),D=Ze(h,y,14)^Ze(h,y,18)^bn(h,y,41),N=h&d^~h&S,T=y&g^~y&l,I=Jf(v,D,T,Pp[_],Te[_]),U=tu(I,m,R,N,Up[_],Ce[_]),M=I|0,P=Ge(n,o,28)^gn(n,o,34)^gn(n,o,39),p=Ze(n,o,28)^bn(n,o,34)^bn(n,o,39),A=n&s^n&a^s&a,E=o&i^o&c^i&c;m=S|0,v=l|0,S=d|0,l=g|0,d=h|0,g=y|0,{h,l:y}=ee(f|0,u|0,U|0,M|0),f=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let w=Zf(M,p,E);n=Yf(w,U,P,A),o=w|0}({h:n,l:o}=ee(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ee(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ee(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=ee(this.Dh|0,this.Dl|0,f|0,u|0),{h,l:y}=ee(this.Eh|0,this.El|0,h|0,y|0),{h:d,l:g}=ee(this.Fh|0,this.Fl|0,d|0,g|0),{h:S,l}=ee(this.Gh|0,this.Gl|0,S|0,l|0),{h:m,l:v}=ee(this.Hh|0,this.Hl|0,m|0,v|0),this.set(n,o,s,i,a,c,f,u,h,y,d,g,S,l,m,v)}roundClean(){qt(Ce,Te)}destroy(){this.destroyed=!0,qt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ei=class extends xi{Ah=Et[0]|0;Al=Et[1]|0;Bh=Et[2]|0;Bl=Et[3]|0;Ch=Et[4]|0;Cl=Et[5]|0;Dh=Et[6]|0;Dl=Et[7]|0;Eh=Et[8]|0;El=Et[9]|0;Fh=Et[10]|0;Fl=Et[11]|0;Gh=Et[12]|0;Gl=Et[13]|0;Hh=Et[14]|0;Hl=Et[15]|0;constructor(){super(64)}};var re=pi(()=>new wi,mi(1));var Ao=pi(()=>new Ei,mi(3));var V=(r,t,e)=>Lt(r,t,e),Ai=te,Lr=Eo,mt=(...r)=>di(...r),_r=r=>mn(r),Ye=li,Xe=r=>qf(r),Bo=BigInt(0),Si=BigInt(1);function jt(r,t=""){if(typeof r!="boolean"){let e=t&&`"${t}" `;throw new TypeError(e+"expected boolean, got type="+typeof r)}return r}function Lo(r){if(typeof r=="bigint"){if(!vo(r))throw new RangeError("positive bigint expected, got "+r)}else Ai(r);return r}function Wt(r,t=""){if(typeof r!="number"){let e=t&&`"${t}" `;throw new TypeError(e+"expected number, got type="+typeof r)}if(!Number.isSafeInteger(r)){let e=t&&`"${t}" `;throw new RangeError(e+"expected safe integer, got "+r)}}function wn(r){let t=Lo(r).toString(16);return t.length&1?"0"+t:t}function ru(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);return r===""?Bo:BigInt("0x"+r)}function Qe(r){return ru(Eo(r))}function Pt(r){return ru(Eo(De(Lt(r)).reverse()))}function _o(r,t){if(te(t),t===0)throw new RangeError("zero length");r=Lo(r);let e=r.toString(16);if(e.length>t*2)throw new RangeError("number too large");return mn(e.padStart(t*2,"0"))}function xn(r,t){return _o(r,t).reverse()}function nu(r,t){if(r=V(r),t=V(t),r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function De(r){return Uint8Array.from(V(r))}function Io(r){if(typeof r!="string")throw new TypeError("ascii string expected, got "+typeof r);return Uint8Array.from(r,(t,e)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${r[e]}" with code ${n} at position ${e}`);return n})}var vo=r=>typeof r=="bigint"&&Bo<=r;function Np(r,t,e){return vo(r)&&vo(t)&&vo(e)&&t<=r&&r<e}function me(r,t,e,n){if(!Np(t,e,n))throw new RangeError("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Ir(r){if(r<Bo)throw new Error("expected non-negative bigint, got "+r);let t;for(t=0;r>Bo;r>>=Si,t+=1);return t}var En=r=>(Si<<BigInt(r))-Si;function ou(r,t,e){if(te(r,"hashLen"),te(t,"qByteLen"),typeof e!="function")throw new TypeError("hmacFn must be a function");let n=l=>new Uint8Array(l),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(r),f=n(r),u=0,h=()=>{c.fill(1),f.fill(0),u=0},y=(...l)=>e(f,mt(c,...l)),d=(l=o)=>{f=y(s,l),c=y(),l.length!==0&&(f=y(i,l),c=y())},g=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let l=0,m=[];for(;l<t;){c=y();let v=c.slice();m.push(v),l+=c.length}return mt(...m)};return(l,m)=>{h(),d(l);let v;for(;(v=m(g()))===void 0;)d();return h(),v}}function Nt(r,t={},e={}){if(Object.prototype.toString.call(r)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(r,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let c=r[s];if(a&&c===void 0)return;let f=typeof c;if(f!==i||c===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${f}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(t,!1),o(e,!0)}var vi=()=>{throw new Error("not implemented")};var St=BigInt(0),ht=BigInt(1),Je=BigInt(2),cu=BigInt(3),fu=BigInt(4),uu=BigInt(5),Mp=BigInt(7),hu=BigInt(8),kp=BigInt(9),lu=BigInt(16);function at(r,t){if(t<=St)throw new Error("mod: expected positive modulus, got "+t);let e=r%t;return e>=St?e:t+e}function rt(r,t,e){if(t<St)throw new Error("pow2: expected non-negative exponent, got "+t);let n=r;for(;t-- >St;)n*=n,n%=e;return n}function su(r,t){if(r===St)throw new Error("invert: expected non-zero number");if(t<=St)throw new Error("invert: expected positive modulus, got "+t);let e=at(r,t),n=t,o=St,s=ht,i=ht,a=St;for(;e!==St;){let f=n/e,u=n-e*f,h=o-i*f,y=s-a*f;n=e,e=u,o=i,s=a,i=h,a=y}if(n!==ht)throw new Error("invert: does not exist");return at(o,t)}function Bi(r,t,e){let n=r;if(!n.eql(n.sqr(t),e))throw new Error("Cannot find square root")}function du(r,t){let e=r,n=(e.ORDER+ht)/fu,o=e.pow(t,n);return Bi(e,o,t),o}function Fp(r,t){let e=r,n=(e.ORDER-uu)/hu,o=e.mul(t,Je),s=e.pow(o,n),i=e.mul(t,s),a=e.mul(e.mul(i,Je),s),c=e.mul(i,e.sub(a,e.ONE));return Bi(e,c,t),c}function Kp(r){let t=Cr(r),e=pu(r),n=e(t,t.neg(t.ONE)),o=e(t,n),s=e(t,t.neg(n)),i=(r+Mp)/lu;return((a,c)=>{let f=a,u=f.pow(c,i),h=f.mul(u,n),y=f.mul(u,o),d=f.mul(u,s),g=f.eql(f.sqr(h),c),S=f.eql(f.sqr(y),c);u=f.cmov(u,h,g),h=f.cmov(d,y,S);let l=f.eql(f.sqr(h),c),m=f.cmov(u,h,l);return Bi(f,m,c),m})}function pu(r){if(r<cu)throw new Error("sqrt is not defined for small field");let t=r-ht,e=0;for(;t%Je===St;)t/=Je,e++;let n=Je,o=Cr(r);for(;iu(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(e===1)return du;let s=o.pow(n,t),i=(t+ht)/Je;return function(c,f){let u=c;if(u.is0(f))return f;if(iu(u,f)!==1)throw new Error("Cannot find square root");let h=e,y=u.mul(u.ONE,s),d=u.pow(f,t),g=u.pow(f,i);for(;!u.eql(d,u.ONE);){if(u.is0(d))return u.ZERO;let S=1,l=u.sqr(d);for(;!u.eql(l,u.ONE);)if(S++,l=u.sqr(l),S===h)throw new Error("Cannot find square root");let m=ht<<BigInt(h-S-1),v=u.pow(y,m);h=S,y=u.sqr(v),d=u.mul(d,y),g=u.mul(g,v)}return g}}function Hp(r){return r%fu===cu?du:r%hu===uu?Fp:r%lu===kp?Kp(r):pu(r)}var ye=(r,t)=>(at(r,t)&ht)===ht,Vp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Li(r){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},e=Vp.reduce((n,o)=>(n[o]="function",n),t);if(Nt(r,e),Wt(r.BYTES,"BYTES"),Wt(r.BITS,"BITS"),r.BYTES<1||r.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(r.ORDER<=ht)throw new Error("invalid field: expected ORDER > 1, got "+r.ORDER);return r}function zp(r,t,e){let n=r;if(e<St)throw new Error("invalid exponent, negatives unsupported");if(e===St)return n.ONE;if(e===ht)return t;let o=n.ONE,s=t;for(;e>St;)e&ht&&(o=n.mul(o,s)),s=n.sqr(s),e>>=ht;return o}function Sn(r,t,e=!1){let n=r,o=new Array(t.length).fill(e?n.ZERO:void 0),s=t.reduce((a,c,f)=>n.is0(c)?a:(o[f]=a,n.mul(a,c)),n.ONE),i=n.inv(s);return t.reduceRight((a,c,f)=>n.is0(c)?a:(o[f]=n.mul(a,o[f]),n.mul(a,c)),i),o}function iu(r,t){let e=r,n=(e.ORDER-ht)/Je,o=e.pow(t,n),s=e.eql(o,e.ONE),i=e.eql(o,e.ZERO),a=e.eql(o,e.neg(e.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function qp(r,t){if(t!==void 0&&Ai(t),r<=St)throw new Error("invalid n length: expected positive n, got "+r);if(t!==void 0&&t<1)throw new Error("invalid n length: expected positive bit length, got "+t);let e=Ir(r);if(t!==void 0&&t<e)throw new Error(`invalid n length: expected bit length (${e}) >= n.length (${t})`);let n=t!==void 0?t:e,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var au=new WeakMap,Co=class{ORDER;BITS;BYTES;isLE;ZERO=St;ONE=ht;_lengths;_mod;constructor(t,e={}){if(t<=ht)throw new Error("invalid field: expected ORDER > 1, got "+t);let n;this.isLE=!1,e!=null&&typeof e=="object"&&(typeof e.BITS=="number"&&(n=e.BITS),typeof e.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:e.sqrt,enumerable:!0}),typeof e.isLE=="boolean"&&(this.isLE=e.isLE),e.allowedLengths&&(this._lengths=Object.freeze(e.allowedLengths.slice())),typeof e.modFromBytes=="boolean"&&(this._mod=e.modFromBytes));let{nBitLength:o,nByteLength:s}=qp(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(t){return at(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof t);return St<=t&&t<this.ORDER}is0(t){return t===St}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&ht)===ht}neg(t){return at(-t,this.ORDER)}eql(t,e){return t===e}sqr(t){return at(t*t,this.ORDER)}add(t,e){return at(t+e,this.ORDER)}sub(t,e){return at(t-e,this.ORDER)}mul(t,e){return at(t*e,this.ORDER)}pow(t,e){return zp(this,t,e)}div(t,e){return at(t*su(e,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,e){return t+e}subN(t,e){return t-e}mulN(t,e){return t*e}inv(t){return su(t,this.ORDER)}sqrt(t){let e=au.get(this);return e||au.set(this,e=Hp(this.ORDER)),e(this,t)}toBytes(t){return this.isLE?xn(t,this.BYTES):_o(t,this.BYTES)}fromBytes(t,e=!1){V(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(t.length<1||!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let f=new Uint8Array(o);f.set(t,s?0:f.length-t.length),t=f}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let c=s?Pt(t):Qe(t);if(a&&(c=at(c,i)),!e&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return Sn(this,t)}cmov(t,e,n){return jt(n,"condition"),n?e:t}};Object.freeze(Co.prototype);function Cr(r,t={}){return new Co(r,t)}function mu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");if(r<=ht)throw new Error("field order must be greater than 1");let t=Ir(r-ht);return Math.ceil(t/8)}function _i(r){let t=mu(r);return t+Math.ceil(t/2)}function Ii(r,t,e=!1){V(r);let n=r.length,o=mu(t),s=Math.max(_i(t),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=e?Pt(r):Qe(r),a=at(i,t-ht)+ht;return e?xn(a,o):_o(a,o)}var Tr=BigInt(0),tr=BigInt(1);function An(r,t){let e=t.negate();return r?e:t}function er(r,t){let e=Sn(r.Fp,t.map(n=>n.Z));return t.map((n,o)=>r.fromAffine(n.toAffine(e[o])))}function wu(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function Ci(r,t){wu(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1),o=2**r,s=En(r),i=BigInt(r);return{windows:e,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function yu(r,t,e){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=e,a=Number(r&o),c=r>>i;a>n&&(a-=s,c+=tr);let f=t*n,u=f+Math.abs(a)-1,h=a===0,y=a<0,d=t%2!==0;return{nextN:c,offset:u,isZero:h,isNeg:y,isNegF:d,offsetF:f}}var Ti=new WeakMap,xu=new WeakMap;function Di(r){return xu.get(r)||1}function gu(r){if(r!==Tr)throw new Error("invalid wNAF")}var Dr=class{BASE;ZERO;Fn;bits;constructor(t,e){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=e}_unsafeLadder(t,e,n=this.ZERO){let o=t;for(;e>Tr;)e&tr&&(n=n.add(o)),o=o.double(),e>>=tr;return n}precomputeWindow(t,e){let{windows:n,windowSize:o}=Ci(e,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let f=1;f<o;f++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,e,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Ci(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:f,isZero:u,isNeg:h,isNegF:y,offsetF:d}=yu(n,a,i);n=c,u?s=s.add(An(y,e[d])):o=o.add(An(h,e[f]))}return gu(n),{p:o,f:s}}wNAFUnsafe(t,e,n,o=this.ZERO){let s=Ci(t,this.bits);for(let i=0;i<s.windows&&n!==Tr;i++){let{nextN:a,offset:c,isZero:f,isNeg:u}=yu(n,i,s);if(n=a,!f){let h=e[c];o=o.add(u?h.negate():h)}}return gu(n),o}getPrecomputes(t,e,n){let o=Ti.get(e);return o||(o=this.precomputeWindow(e,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ti.set(e,o))),o}cached(t,e,n){let o=Di(t);return this.wNAF(o,this.getPrecomputes(o,t,n),e)}unsafe(t,e,n,o){let s=Di(t);return s===1?this._unsafeLadder(t,e,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),e,o)}createCache(t,e){wu(e,this.bits),xu.set(t,e),Ti.delete(t)}hasCache(t){return Di(t)!==1}};function Eu(r,t,e,n){let o=t,s=r.ZERO,i=r.ZERO;for(;e>Tr||n>Tr;)e&tr&&(s=s.add(o)),n&tr&&(i=i.add(o)),o=o.double(),e>>=tr,n>>=tr;return{p1:s,p2:i}}function bu(r,t,e){if(t){if(t.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Li(t),t}else return Cr(r,{isLE:e})}function To(r,t,e={},n){if(n===void 0&&(n=r==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${r} CURVE object`);for(let c of["p","n","h"]){let f=t[c];if(!(typeof f=="bigint"&&f>Tr))throw new Error(`CURVE.${c} must be positive bigint`)}let o=bu(t.p,e.Fp,n),s=bu(t.n,e.Fn,n),a=["Gx","Gy","a",r==="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}}function Rr(r,t){return function(n){let o=r(n);return{secretKey:o,publicKey:t(o)}}}var Re=BigInt(0),bt=BigInt(1),Ri=BigInt(2),$p=BigInt(8);function jp(r,t,e,n){let o=r.sqr(e),s=r.sqr(n),i=r.add(r.mul(t.a,o),s),a=r.add(r.ONE,r.mul(t.d,r.mul(o,s)));return r.eql(i,a)}function Su(r,t={}){let e=t,n=To("edwards",r,e,e.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;Nt(e,{},{uvRatio:"function"});let c=Ri<<BigInt(s.BYTES*8)-bt,f=S=>o.create(S),u=e.uvRatio===void 0?(S,l)=>{try{return{isValid:!0,value:o.sqrt(o.div(S,l))}}catch{return{isValid:!1,value:Re}}}:e.uvRatio;if(!jp(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function h(S,l,m=!1){let v=m?bt:Re;return me("coordinate "+S,l,v,c),l}function y(S){if(!(S instanceof d))throw new Error("EdwardsPoint expected")}class d{static BASE=new d(i.Gx,i.Gy,bt,f(i.Gx*i.Gy));static ZERO=new d(Re,bt,bt,Re);static Fp=o;static Fn=s;X;Y;Z;T;constructor(l,m,v,_){this.X=h("x",l),this.Y=h("y",m),this.Z=h("z",v,!0),this.T=h("t",_),Object.freeze(this)}static CURVE(){return i}static fromAffine(l){if(l instanceof d)throw new Error("extended point not allowed");let{x:m,y:v}=l||{};return h("x",m),h("y",v),new d(m,v,bt,f(m*v))}static fromBytes(l,m=!1){let v=o.BYTES,{a:_,d:R}=i;l=De(V(l,v,"point")),jt(m,"zip215");let D=De(l),N=l[v-1];D[v-1]=N&-129;let T=Pt(D),I=m?c:o.ORDER;me("point.y",T,Re,I);let U=f(T*T),M=f(U-bt),P=f(R*U-_),{isValid:p,value:A}=u(M,P);if(!p)throw new Error("bad point: invalid y coordinate");let E=(A&bt)===bt,w=(N&128)!==0;if(!m&&A===Re&&w)throw new Error("bad point: x=0 and x_0=1");return w!==E&&(A=f(-A)),d.fromAffine({x:A,y:T})}static fromHex(l,m=!1){return d.fromBytes(_r(l),m)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(l=8,m=!0){return g.createCache(this,l),m||this.multiply(Ri),this}assertValidity(){let l=this,{a:m,d:v}=i;if(l.is0())throw new Error("bad point: ZERO");let{X:_,Y:R,Z:D,T:N}=l,T=f(_*_),I=f(R*R),U=f(D*D),M=f(U*U),P=f(T*m),p=f(U*f(P+I)),A=f(M+f(v*f(T*I)));if(p!==A)throw new Error("bad point: equation left != right (1)");let E=f(_*R),w=f(D*N);if(E!==w)throw new Error("bad point: equation left != right (2)")}equals(l){y(l);let{X:m,Y:v,Z:_}=this,{X:R,Y:D,Z:N}=l,T=f(m*N),I=f(R*_),U=f(v*N),M=f(D*_);return T===I&&U===M}is0(){return this.equals(d.ZERO)}negate(){return new d(f(-this.X),this.Y,this.Z,f(-this.T))}double(){let{a:l}=i,{X:m,Y:v,Z:_}=this,R=f(m*m),D=f(v*v),N=f(Ri*f(_*_)),T=f(l*R),I=m+v,U=f(f(I*I)-R-D),M=T+D,P=M-N,p=T-D,A=f(U*P),E=f(M*p),w=f(U*p),b=f(P*M);return new d(A,E,b,w)}add(l){y(l);let{a:m,d:v}=i,{X:_,Y:R,Z:D,T:N}=this,{X:T,Y:I,Z:U,T:M}=l,P=f(_*T),p=f(R*I),A=f(N*v*M),E=f(D*U),w=f((_+R)*(T+I)-P-p),b=E-A,B=E+A,L=f(p-m*P),x=f(w*b),C=f(B*L),O=f(w*L),k=f(b*B);return new d(x,C,k,O)}subtract(l){return y(l),this.add(l.negate())}multiply(l){if(!s.isValidNot0(l))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:m,f:v}=g.cached(this,l,_=>er(d,_));return er(d,[m,v])[0]}multiplyUnsafe(l){if(!s.isValid(l))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return l===Re?d.ZERO:this.is0()||l===bt?this:g.unsafe(this,l,m=>er(d,m))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return g.unsafe(this,i.n).is0()}toAffine(l){let m=this,v=l,{X:_,Y:R,Z:D}=m,N=m.is0();v==null&&(v=N?$p:o.inv(D));let T=f(_*v),I=f(R*v),U=o.mul(D,v);if(N)return{x:Re,y:bt};if(U!==bt)throw new Error("invZ was invalid");return{x:T,y:I}}clearCofactor(){return a===bt?this:this.multiplyUnsafe(a)}toBytes(){let{x:l,y:m}=this.toAffine(),v=o.toBytes(m);return v[v.length-1]|=l&bt?128:0,v}toHex(){return Lr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let g=new Dr(d,s.BITS);return s.BITS>=8&&d.BASE.precompute(8),Object.freeze(d.prototype),Object.freeze(d),d}var Do=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(t){this.ep=t}static fromBytes(t){vi()}static fromHex(t){vi()}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 Lr(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,e){return this.ep.precompute(t,e),this}};function Au(r,t,e={}){if(typeof t!="function")throw new Error('"hash" function param is required');let n=t,o=e;Nt(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:c}=r,f=n.outputLen,u=2*a.BYTES;if(f!==void 0&&(Wt(f,"hash.outputLen"),f!==u))throw new Error(`hash.outputLen must be ${u}, got ${f}`);let h=o.randomBytes===void 0?Xe:o.randomBytes,y=o.adjustScalarBytes===void 0?p=>p:o.adjustScalarBytes,d=o.domain===void 0?(p,A,E)=>{if(jt(E,"phflag"),A.length||E)throw new Error("Contexts/pre-hash are not supported");return p}:o.domain;function g(p){return c.create(Pt(p))}function S(p){let A=T.secretKey;V(p,T.secretKey,"secretKey");let E=V(n(p),2*A,"hashedSecretKey"),w=y(E.slice(0,A)),b=E.slice(A,2*A),B=g(w);return{head:w,prefix:b,scalar:B}}function l(p){let{head:A,prefix:E,scalar:w}=S(p),b=i.multiply(w),B=b.toBytes();return{head:A,prefix:E,scalar:w,point:b,pointBytes:B}}function m(p){return l(p).pointBytes}function v(p=Uint8Array.of(),...A){let E=mt(...A);return g(n(d(E,V(p,void 0,"context"),!!s)))}function _(p,A,E={}){p=V(p,void 0,"message"),s&&(p=s(p));let{prefix:w,scalar:b,pointBytes:B}=l(A),L=v(E.context,w,p),x=i.multiply(L).toBytes(),C=v(E.context,x,B,p),O=c.create(L+C*b);if(!c.isValid(O))throw new Error("sign failed: invalid s");let k=mt(x,c.toBytes(O));return V(k,T.signature,"result")}let R={zip215:o.zip215};function D(p,A,E,w=R){let{context:b}=w,B=w.zip215===void 0?!!R.zip215:w.zip215,L=T.signature;p=V(p,L,"signature"),A=V(A,void 0,"message"),E=V(E,T.publicKey,"publicKey"),B!==void 0&&jt(B,"zip215"),s&&(A=s(A));let x=L/2,C=p.subarray(0,x),O=Pt(p.subarray(x,L)),k,H,K;try{k=r.fromBytes(E,B),H=r.fromBytes(C,B),K=i.multiplyUnsafe(O)}catch{return!1}if(!B&&k.isSmallOrder())return!1;let Z=v(b,C,E,A);return H.add(k.multiplyUnsafe(Z)).subtract(K).clearCofactor().is0()}let N=a.BYTES,T={secretKey:N,publicKey:N,signature:2*N,seed:N};function I(p){return p=p===void 0?h(T.seed):p,V(p,T.seed,"seed")}function U(p){return Ye(p)&&p.length===T.secretKey}function M(p,A){try{return!!r.fromBytes(p,A===void 0?R.zip215:A)}catch{return!1}}let P={getExtendedPublicKey:l,randomSecretKey:I,isValidSecretKey:U,isValidPublicKey:M,toMontgomery(p){let{y:A}=r.fromBytes(p),E=T.publicKey,w=E===32;if(!w&&E!==57)throw new Error("only defined for 25519 and 448");let b=w?a.div(bt+A,bt-A):a.div(A-bt,A+bt);return a.toBytes(b)},toMontgomerySecret(p){let A=T.secretKey;V(p,A);let E=n(p.subarray(0,A));return y(E).subarray(0,A)}};return Object.freeze(T),Object.freeze(P),Object.freeze({keygen:Rr(I,m),getPublicKey:m,sign:_,verify:D,utils:P,Point:r,lengths:T})}function vn(r,t){if(Wt(r),Wt(t),t<0||t>4)throw new Error("invalid I2OSP length: "+t);if(r<0||r>2**(8*t)-1)throw new Error("invalid I2OSP input: "+r);let e=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)e[n]=r&255,r>>>=8;return new Uint8Array(e)}function Wp(r,t){let e=new Uint8Array(r.length);for(let n=0;n<r.length;n++)e[n]=r[n]^t[n];return e}function Gp(r){if(!Ye(r)&&typeof r!="string")throw new Error("DST must be Uint8Array or ascii string");let t=typeof r=="string"?Io(r):r;if(t.length===0)throw new Error("DST must be non-empty");return t}function Oi(r,t,e,n){V(r),Wt(e),t=Gp(t),t.length>255&&(t=n(mt(Io("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(e/o);if(e>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=mt(t,vn(t.length,1)),c=new Uint8Array(s),f=vn(e,2),u=new Array(i),h=n(mt(c,r,f,vn(0,1),a));u[0]=n(mt(h,vn(1,1),a));for(let d=1;d<i;d++){let g=[Wp(h,u[d-1]),vn(d+1,1),a];u[d]=n(mt(...g))}return mt(...u).slice(0,e)}var vu="HashToScalar-";var Bn=BigInt(0),Or=BigInt(1),Ro=BigInt(2);function Zp(r){return Nt(r,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...r})}function Bu(r){let t=Zp(r),{P:e,type:n,adjustScalarBytes:o,powPminus2:s,randomBytes:i}=t,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");let c=i===void 0?Xe:i,f=a?255:448,u=a?32:56,h=BigInt(a?9:5),y=BigInt(a?121665:39081),d=a?Ro**BigInt(254):Ro**BigInt(447),g=a?BigInt(8)*Ro**BigInt(251)-Or:BigInt(4)*Ro**BigInt(445)-Or,S=d+g+Or,l=E=>at(E,e),m=v(h);function v(E){return xn(l(E),u)}function _(E){let w=De(V(E,u,"uCoordinate"));return a&&(w[31]&=127),l(Pt(w))}function R(E){return Pt(o(De(V(E,u,"scalar"))))}function D(E,w){let b=M(_(w),R(E));if(b===Bn)throw new Error("invalid private or public key received");return v(b)}function N(E){return D(E,m)}let T=N,I=D;function U(E,w,b){let B=l(E*(w-b));return w=l(w-B),b=l(b+B),{x_2:w,x_3:b}}function M(E,w){me("u",E,Bn,e),me("scalar",w,d,S);let b=w,B=E,L=Or,x=Bn,C=E,O=Or,k=Bn;for(let K=BigInt(f-1);K>=Bn;K--){let Z=b>>K&Or;k^=Z,{x_2:L,x_3:C}=U(k,L,C),{x_2:x,x_3:O}=U(k,x,O),k=Z;let Y=L+x,X=l(Y*Y),$=L-x,st=l($*$),ue=X-st,Ve=C+O,mr=C-O,on=l(mr*Y),sn=l(Ve*$),hf=on+sn,lf=on-sn;C=l(hf*hf),O=l(B*l(lf*lf)),L=l(X*st),x=l(ue*(X+l(y*ue)))}({x_2:L,x_3:C}=U(k,L,C)),{x_2:x,x_3:O}=U(k,x,O);let H=s(x);return l(L*H)}let P={secretKey:u,publicKey:u,seed:u},p=E=>(E=E===void 0?c(u):E,V(E,P.seed,"seed"),E),A={randomSecretKey:p};return Object.freeze(P),Object.freeze(A),Object.freeze({keygen:Rr(p,T),getSharedSecret:I,getPublicKey:T,scalarMult:D,scalarMultBase:N,utils:A,GuBytes:m.slice(),lengths:P})}var Yp=BigInt(0),ge=BigInt(1),Lu=BigInt(2),Xp=BigInt(3),Qp=BigInt(5),Jp=BigInt(8),rr=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Mi={p:rr,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Jp,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Cu(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),s=rr,a=r*r%s*r%s,c=rt(a,Lu,s)*a%s,f=rt(c,ge,s)*r%s,u=rt(f,Qp,s)*f%s,h=rt(u,t,s)*u%s,y=rt(h,e,s)*h%s,d=rt(y,n,s)*y%s,g=rt(d,o,s)*d%s,S=rt(g,o,s)*d%s,l=rt(S,t,s)*u%s;return{pow_p_5_8:rt(l,Lu,s)*r%s,b2:a}}function Tu(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Ui=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ki(r,t){let e=rr,n=at(t*t*t,e),o=at(n*n*t,e),s=Cu(r*o).pow_p_5_8,i=at(r*n*s,e),a=at(t*i*i,e),c=i,f=at(i*Ui,e),u=a===r,h=a===at(-r,e),y=a===at(-r*Ui,e);return u&&(i=c),(h||y)&&(i=f),ye(i,e)&&(i=at(-i,e)),{isValid:u||h,value:i}}var Ue=Su(Mi,{uvRatio:ki}),Oe=Ue.Fp,Du=Ue.Fn;function tm(r){return Au(Ue,Ao,Object.assign({adjustScalarBytes:Tu,zip215:!0},r))}var Ru=tm({});var Ln=(()=>{let r=rr;return Bu({P:r,type:"x25519",powPminus2:t=>{let{pow_p_5_8:e,b2:n}=Cu(t);return at(rt(e,Xp,r)*n,r)},adjustScalarBytes:Tu})})();var Pi=Ui,em=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),rm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),nm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),om=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),_u=r=>ki(ge,r),sm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ni=r=>Oe.create(Pt(r)&sm);function Iu(r){let{d:t}=Mi,e=rr,n=m=>Oe.create(m),o=n(Pi*r*r),s=n((o+ge)*nm),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:f}=ki(s,a),u=n(f*r);ye(u,e)||(u=n(-u)),c||(f=u),c||(i=o);let h=n(i*(o-ge)*om-a),y=f*f,d=n((f+f)*a),g=n(h*em),S=n(ge-y),l=n(ge+y);return new Ue(n(d*l),n(S*g),n(g*l),n(d*S))}var Pe=class r extends Do{static BASE=new r(Ue.BASE);static ZERO=new r(Ue.ZERO);static Fp=Oe;static Fn=Du;constructor(t){super(t)}static fromAffine(t){return new r(Ue.fromAffine(t))}assertSame(t){if(!(t instanceof r))throw new Error("RistrettoPoint expected")}init(t){return new r(t)}static fromBytes(t){Lt(t,32);let{a:e,d:n}=Mi,o=rr,s=R=>Oe.create(R),i=Ni(t);if(!nu(Oe.toBytes(i),t)||ye(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(ge+e*a),f=s(ge-e*a),u=s(c*c),h=s(f*f),y=s(e*n*u-h),{isValid:d,value:g}=_u(s(y*h)),S=s(g*f),l=s(g*S*y),m=s((i+i)*S);ye(m,o)&&(m=s(-m));let v=s(c*l),_=s(m*v);if(!d||ye(_,o)||v===Yp)throw new Error("invalid ristretto255 encoding 2");return new r(new Ue(m,v,ge,_))}static fromHex(t){return r.fromBytes(mn(t))}toBytes(){let{X:t,Y:e,Z:n,T:o}=this.ep,s=rr,i=l=>Oe.create(l),a=i(i(n+e)*i(n-e)),c=i(t*e),f=i(c*c),{value:u}=_u(i(a*f)),h=i(u*a),y=i(u*c),d=i(h*y*o),g;if(ye(o*d,s)){let l=i(e*Pi),m=i(t*Pi);t=l,e=m,g=i(h*rm)}else g=y;ye(t*d,s)&&(e=i(-e));let S=i((n-e)*g);return ye(S,s)&&(S=i(-S)),Oe.toBytes(S)}equals(t){this.assertSame(t);let{X:e,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=f=>Oe.create(f),a=i(e*s)===i(n*o),c=i(n*s)===i(e*o);return a||c}is0(){return this.equals(r.ZERO)}};Object.freeze(Pe.BASE);Object.freeze(Pe.ZERO);Object.freeze(Pe.prototype);Object.freeze(Pe);var im=Object.freeze({Point:Pe,hashToCurve(r,t){let e=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,n=Oi(r,e,64,Ao);return im.deriveToCurve(n)},hashToScalar(r,t={DST:vu}){let e=Oi(r,t.DST,64,Ao);return Du.create(Pt(e))},deriveToCurve(r){Lt(r,64);let t=Ni(r.subarray(0,32)),e=Iu(t),n=Ni(r.subarray(32,64)),o=Iu(n);return new Pe(e.add(o))}});var _n=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Oo=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Kt={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new Oo("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Uo=32;var Fi,am=(async()=>{try{return await Kt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function cm(r,t,e){if(r.buffer instanceof ArrayBuffer){let n=await Kt.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await Kt.get().subtle.verify({name:"Ed25519"},n,xt(t),xt(e instanceof Uint8Array?e:e.subarray()))}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function fm(r,t,e){return Ru.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}async function Ou(r,t,e){return Fi==null&&(Fi=await am),Fi?cm(r,t,e):fm(r,t,e)}function Po(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var No=class{type="Ed25519";raw;constructor(t){this.raw=Ki(t,Uo)}toMultihash(){return zt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){n?.signal?.throwIfAborted();let o=Ou(this.raw,e,t);return Po(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Hi(r){return r=Ki(r,Uo),new No(r)}function Ki(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new Q(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var hm=Math.pow(2,7),lm=Math.pow(2,14),dm=Math.pow(2,21),Vi=Math.pow(2,28),zi=Math.pow(2,35),qi=Math.pow(2,42),$i=Math.pow(2,49),G=128,_t=127;function It(r){if(r<hm)return 1;if(r<lm)return 2;if(r<dm)return 3;if(r<Vi)return 4;if(r<zi)return 5;if(r<qi)return 6;if(r<$i)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ur(r,t,e=0){switch(It(r)){case 8:t[e++]=r&255|G,r/=128;case 7:t[e++]=r&255|G,r/=128;case 6:t[e++]=r&255|G,r/=128;case 5:t[e++]=r&255|G,r/=128;case 4:t[e++]=r&255|G,r>>>=7;case 3:t[e++]=r&255|G,r>>>=7;case 2:t[e++]=r&255|G,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function pm(r,t,e=0){switch(It(r)){case 8:t.set(e++,r&255|G),r/=128;case 7:t.set(e++,r&255|G),r/=128;case 6:t.set(e++,r&255|G),r/=128;case 5:t.set(e++,r&255|G),r/=128;case 4:t.set(e++,r&255|G),r>>>=7;case 3:t.set(e++,r&255|G),r>>>=7;case 2:t.set(e++,r&255|G),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ji(r,t){let e=r[t],n=0;if(n+=e&_t,e<G||(e=r[t+1],n+=(e&_t)<<7,e<G)||(e=r[t+2],n+=(e&_t)<<14,e<G)||(e=r[t+3],n+=(e&_t)<<21,e<G)||(e=r[t+4],n+=(e&_t)*Vi,e<G)||(e=r[t+5],n+=(e&_t)*zi,e<G)||(e=r[t+6],n+=(e&_t)*qi,e<G)||(e=r[t+7],n+=(e&_t)*$i,e<G))return n;throw new RangeError("Could not decode varint")}function mm(r,t){let e=r.get(t),n=0;if(n+=e&_t,e<G||(e=r.get(t+1),n+=(e&_t)<<7,e<G)||(e=r.get(t+2),n+=(e&_t)<<14,e<G)||(e=r.get(t+3),n+=(e&_t)<<21,e<G)||(e=r.get(t+4),n+=(e&_t)*Vi,e<G)||(e=r.get(t+5),n+=(e&_t)*zi,e<G)||(e=r.get(t+6),n+=(e&_t)*qi,e<G)||(e=r.get(t+7),n+=(e&_t)*$i,e<G))return n;throw new RangeError("Could not decode varint")}function Pu(r,t,e=0){return t==null&&(t=Bt(It(r))),t instanceof Uint8Array?Ur(r,t,e):pm(r,t,e)}function nr(r,t=0){return r instanceof Uint8Array?ji(r,t):mm(r,t)}var Gi=new Float32Array([-0]),Ne=new Uint8Array(Gi.buffer);function Nu(r,t,e){Gi[0]=r,t[e]=Ne[0],t[e+1]=Ne[1],t[e+2]=Ne[2],t[e+3]=Ne[3]}function Mu(r,t){return Ne[0]=r[t],Ne[1]=r[t+1],Ne[2]=r[t+2],Ne[3]=r[t+3],Gi[0]}var Zi=new Float64Array([-0]),Ct=new Uint8Array(Zi.buffer);function ku(r,t,e){Zi[0]=r,t[e]=Ct[0],t[e+1]=Ct[1],t[e+2]=Ct[2],t[e+3]=Ct[3],t[e+4]=Ct[4],t[e+5]=Ct[5],t[e+6]=Ct[6],t[e+7]=Ct[7]}function Fu(r,t){return Ct[0]=r[t],Ct[1]=r[t+1],Ct[2]=r[t+2],Ct[3]=r[t+3],Ct[4]=r[t+4],Ct[5]=r[t+5],Ct[6]=r[t+6],Ct[7]=r[t+7],Zi[0]}var ym=BigInt(Number.MAX_SAFE_INTEGER),gm=BigInt(Number.MIN_SAFE_INTEGER),Mt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return or;if(t<ym&&t>gm)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ku&&(o=0n,++n>Ku&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return or;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):or}},or=new Mt(0,0);or.toBigInt=function(){return 0n};or.zzEncode=or.zzDecode=function(){return this};or.length=function(){return 1};var Ku=4294967296n;function Hu(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Vu(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Yi(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Gt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Mo(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Xi=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=xt(t),this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Gt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Gt(this,4);return Mo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Gt(this,4);return Mo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Gt(this,4);let t=Mu(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Gt(this,4);let t=Fu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Gt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Vu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Gt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Gt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Mt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Gt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Gt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Gt(this,8);let t=Mo(this.buf,this.pos+=4),e=Mo(this.buf,this.pos+=4);return new Mt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=ji(this.buf,this.pos);return this.pos+=It(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function In(r){return new Xi(r instanceof Uint8Array?r:r.subarray())}function ko(r,t,e){let n=In(r);return t.decode(n,void 0,e)}function Qi(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Bt(i);o+i>t&&(n=Bt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var sr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ji(){}var ea=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},bm=Qi();function wm(r){return globalThis.Buffer!=null?Bt(r):bm(r)}var Tn=class{len;head;tail;states;constructor(){this.len=0,this.head=new sr(Ji,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new sr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ra((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Fo,10,Mt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Mt.fromBigInt(t);return this._push(Fo,e.length(),e)}uint64Number(t){return this._push(Ur,It(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Mt.fromBigInt(t).zzEncode();return this._push(Fo,e.length(),e)}sint64Number(t){let e=Mt.fromNumber(t).zzEncode();return this._push(Fo,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ta,1,t?1:0)}fixed32(t){return this._push(Cn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Mt.fromBigInt(t);return this._push(Cn,4,e.lo)._push(Cn,4,e.hi)}fixed64Number(t){let e=Mt.fromNumber(t);return this._push(Cn,4,e.lo)._push(Cn,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Nu,4,t)}double(t){return this._push(ku,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(ta,1,0):this.uint32(e)._push(Em,e,t)}string(t){let e=Hu(t);return e!==0?this.uint32(e)._push(Yi,e,t):this._push(ta,1,0)}fork(){return this.states=new ea(this),this.head=this.tail=new sr(Ji,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new sr(Ji,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=wm(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function ta(r,t,e){t[e]=r&255}function xm(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ra=class extends sr{next;constructor(t,e){super(xm,t,e),this.next=void 0}};function Fo(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Cn(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Em(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Tn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Sm,t,r),this},Tn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Am,t,r),this});function Sm(r,t,e){t.set(r,e)}function Am(r,t,e){r.length<40?Yi(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(et(r),e)}function na(){return new Tn}function Ko(r,t){let e=na();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}function*Ho(r,t,e){let n=In(r);yield*t.stream(n,void 0,"$",e)}var Vo={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function zo(r,t,e,n,o){return{name:r,type:t,encode:e,decode:n,stream:o}}function oa(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,a){let c=t(i);a.int32(c)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return zo("enum",Vo.VARINT,e,n,o)}function qo(r,t,e){return zo("message",Vo.LENGTH_DELIMITED,r,t,e)}var ct;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(ct||(ct={}));var sa;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(sa||(sa={}));(function(r){r.codec=()=>oa(sa)})(ct||(ct={}));var ne;(function(r){let t;r.codec=()=>(t==null&&(t=qo((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ct.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ct.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ct.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function e(s){return Ko(s,r.codec())}r.encode=e;function n(s,i){return ko(s,r.codec(),i)}r.decode=n;function o(s,i){return Ho(s,r.codec(),i)}r.stream=o})(ne||(ne={}));var ia;(function(r){let t;r.codec=()=>(t==null&&(t=qo((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ct.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ct.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ct.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function e(s){return Ko(s,r.codec())}r.encode=e;function n(s,i){return ko(s,r.codec(),i)}r.decode=n;function o(s,i){return Ho(s,r.codec(),i)}r.stream=o})(ia||(ia={}));var Rn={};tt(Rn,{MAX_RSA_KEY_SIZE:()=>aa,generateRSAKeyPair:()=>Gu,jwkToJWKKeyPair:()=>Zu,jwkToPkcs1:()=>_m,jwkToPkix:()=>ha,jwkToRSAPrivateKey:()=>ma,pkcs1MessageToJwk:()=>fa,pkcs1MessageToRSAPrivateKey:()=>la,pkcs1ToJwk:()=>Lm,pkcs1ToRSAPrivateKey:()=>Wu,pkixMessageToJwk:()=>ua,pkixMessageToRSAPublicKey:()=>pa,pkixToJwk:()=>Im,pkixToRSAPublicKey:()=>da});var Pr=class{type="RSA";jwk;_raw;_multihash;constructor(t,e){this.jwk=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Rn.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return dt.createV1(114,this._multihash)}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){return ju(this.jwk,e,t,n)}},Dn=class{type="RSA";jwk;_raw;publicKey;constructor(t,e){this.jwk=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Rn.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}sign(t,e){return $u(this.jwk,t,e)}};var aa=8192,ca=18,vm=1062,Bm=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Lm(r){let t=le(r);return fa(t)}function fa(r){return{n:j(r[1],"base64url"),e:j(r[2],"base64url"),d:j(r[3],"base64url"),p:j(r[4],"base64url"),q:j(r[5],"base64url"),dp:j(r[6],"base64url"),dq:j(r[7],"base64url"),qi:j(r[8],"base64url"),kty:"RSA"}}function _m(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new Q("JWK was missing components");return Le([Ut(Uint8Array.from([0])),Ut(et(r.n,"base64url")),Ut(et(r.e,"base64url")),Ut(et(r.d,"base64url")),Ut(et(r.p,"base64url")),Ut(et(r.q,"base64url")),Ut(et(r.dp,"base64url")),Ut(et(r.dq,"base64url")),Ut(et(r.qi,"base64url"))]).subarray()}function Im(r){let t=le(r,{offset:0});return ua(t)}function ua(r){let t=le(r[1],{offset:0});return{kty:"RSA",n:j(t[0],"base64url"),e:j(t[1],"base64url")}}function ha(r){if(r.n==null||r.e==null)throw new Q("JWK was missing components");return Le([Bm,bo(Le([Ut(et(r.n,"base64url")),Ut(et(r.e,"base64url"))]))]).subarray()}function Wu(r){let t=le(r);return la(t)}function la(r){let t=fa(r);return ma(t)}function da(r,t){if(r.byteLength>=vm)throw new gr("Key size is too large");let e=le(r,{offset:0});return pa(e,r,t)}function pa(r,t,e){let n=ua(r);if(e==null){let o=re(ne.encode({Type:ct.RSA,Data:t}));e=Vt(ca,o)}return new Pr(n,e)}function ma(r){if(Xu(r)>aa)throw new Q("Key size is too large");let t=Zu(r),e=re(ne.encode({Type:ct.RSA,Data:ha(t.publicKey)})),n=Vt(ca,e);return new Dn(t.privateKey,new Pr(t.publicKey,n))}async function Gu(r){if(r>aa)throw new Q("Key size is too large");let t=await Yu(r),e=re(ne.encode({Type:ct.RSA,Data:ha(t.publicKey)})),n=Vt(ca,e);return new Dn(t.privateKey,new Pr(t.publicKey,n))}function Zu(r){if(r==null)throw new Q("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function Yu(r,t){let e=await Kt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await Cm(e,t);return{privateKey:n[0],publicKey:n[1]}}async function $u(r,t,e){let n=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);e?.signal?.throwIfAborted();let o=await Kt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,xt(t instanceof Uint8Array?t:t.subarray()));return e?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function ju(r,t,e,n){let o=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await Kt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,xt(t),xt(e instanceof Uint8Array?e:e.subarray()));return n?.signal?.throwIfAborted(),s}async function Cm(r,t){if(r.privateKey==null||r.publicKey==null)throw new Q("Private and public key are required");let e=await Promise.all([Kt.get().subtle.exportKey("jwk",r.privateKey),Kt.get().subtle.exportKey("jwk",r.publicKey)]);return t?.signal?.throwIfAborted(),e}function Xu(r){if(r.kty!=="RSA")throw new Q("invalid key type");if(r.n==null)throw new Q("invalid key modulus");return et(r.n,"base64url").length*8}var $o=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(t,e){if(We(t),Lt(e,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(e.length>n?t.create().update(e).digest():e);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),qt(o)}update(t){return Br(this),this.iHash.update(t),this}digestInto(t){Br(this),wo(t,this),this.finished=!0;let e=t.subarray(0,this.outputLen);this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||=Object.create(Object.getPrototypeOf(this),{});let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},On=(()=>{let r=((t,e,n)=>new $o(t,e).update(n).digest());return r.create=(t,e)=>new $o(t,e),r})();var Qu=(r,t)=>(r+(r>=0?t:-t)/Ju)/t;function Tm(r,t,e){me("scalar",r,oe,e);let[[n,o],[s,i]]=t,a=Qu(i*r,e),c=Qu(-o*r,e),f=r-a*n-c*s,u=-a*o-c*i,h=f<oe,y=u<oe;h&&(f=-f),y&&(u=-u);let d=En(Math.ceil(Ir(e)/2))+Me;if(f<oe||f>=d||u<oe||u>=d)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:h,k1:f,k2neg:y,k2:u}}function ga(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function ya(r,t){Nt(r);let e={};for(let n of Object.keys(t))e[n]=r[n]===void 0?t[n]:r[n];return jt(e.lowS,"lowS"),jt(e.prehash,"prehash"),e.format!==void 0&&ga(e.format),e}var ba=class extends Error{constructor(t=""){super(t)}},Zt={Err:ba,_tlv:{encode:(r,t)=>{let{Err:e}=Zt;if(Wt(r,"tag"),r<0||r>255)throw new e("tlv.encode: wrong tag");if(typeof t!="string")throw new TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=wn(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let s=n>127?wn(o.length/2|128):"";return wn(r)+s+o+t},decode(r,t){let{Err:e}=Zt;t=V(t,void 0,"DER data");let n=0;if(r<0||r>255)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)i=i<<8|u;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=Zt;if(Lo(r),r<oe)throw new t("integer: negative integers are not allowed");let e=wn(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=Zt;if(r.length<1)throw new t("invalid signature integer: empty");if(r[0]&128)throw new t("invalid signature integer: negative");if(r.length>1&&r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Qe(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Zt,o=V(r,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=Zt,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),s=n+o;return t.encode(48,s)}};Object.freeze(Zt._tlv);Object.freeze(Zt._int);Object.freeze(Zt);var oe=BigInt(0),Me=BigInt(1),Ju=BigInt(2),jo=BigInt(3),Dm=BigInt(4);function th(r,t={}){let e=To("weierstrass",r,t),n=e.Fp,o=e.Fn,s=e.CURVE,{h:i,n:a}=s;Nt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:f}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=rh(n,o);function h(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function y(P,p,A){if(f&&p.is0())return Uint8Array.of(0);let{x:E,y:w}=p.toAffine(),b=n.toBytes(E);if(jt(A,"isCompressed"),A){h();let B=!n.isOdd(w);return mt(eh(B),b)}else return mt(Uint8Array.of(4),b,n.toBytes(w))}function d(P){V(P,void 0,"Point");let{publicKey:p,publicKeyUncompressed:A}=u,E=P.length,w=P[0],b=P.subarray(1);if(f&&E===1&&w===0)return{x:n.ZERO,y:n.ZERO};if(E===p&&(w===2||w===3)){let B=n.fromBytes(b);if(!n.isValid(B))throw new Error("bad point: is not on curve, wrong x");let L=l(B),x;try{x=n.sqrt(L)}catch(k){let H=k instanceof Error?": "+k.message:"";throw new Error("bad point: is not on curve, sqrt error"+H)}h();let C=n.isOdd(x);return(w&1)===1!==C&&(x=n.neg(x)),{x:B,y:x}}else if(E===A&&w===4){let B=n.BYTES,L=n.fromBytes(b.subarray(0,B)),x=n.fromBytes(b.subarray(B,B*2));if(!m(L,x))throw new Error("bad point: is not on curve");return{x:L,y:x}}else throw new Error(`bad point: got length ${E}, expected compressed=${p} or uncompressed=${A}`)}let g=t.toBytes===void 0?y:t.toBytes,S=t.fromBytes===void 0?d:t.fromBytes;function l(P){let p=n.sqr(P),A=n.mul(p,P);return n.add(n.add(A,n.mul(P,s.a)),s.b)}function m(P,p){let A=n.sqr(p),E=l(P);return n.eql(A,E)}if(!m(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let v=n.mul(n.pow(s.a,jo),Dm),_=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(v,_)))throw new Error("bad curve params: a or b");function R(P,p,A=!1){if(!n.isValid(p)||A&&n.is0(p))throw new Error(`bad point coordinate ${P}`);return p}function D(P){if(!(P instanceof I))throw new Error("Weierstrass Point expected")}function N(P){if(!c||!c.basises)throw new Error("no endo");return Tm(P,c.basises,o.ORDER)}function T(P,p,A,E,w){return A=new I(n.mul(A.X,P),A.Y,A.Z),p=An(E,p),A=An(w,A),p.add(A)}class I{static BASE=new I(s.Gx,s.Gy,n.ONE);static ZERO=new I(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(p,A,E){this.X=R("x",p),this.Y=R("y",A,!0),this.Z=R("z",E),Object.freeze(this)}static CURVE(){return s}static fromAffine(p){let{x:A,y:E}=p||{};if(!p||!n.isValid(A)||!n.isValid(E))throw new Error("invalid affine point");if(p instanceof I)throw new Error("projective point not allowed");return n.is0(A)&&n.is0(E)?I.ZERO:new I(A,E,n.ONE)}static fromBytes(p){let A=I.fromAffine(S(V(p,void 0,"point")));return A.assertValidity(),A}static fromHex(p){return I.fromBytes(_r(p))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,A=!0){return M.createCache(this,p),A||this.multiply(jo),this}assertValidity(){let p=this;if(p.is0()){if(t.allowInfinityPoint&&n.is0(p.X)&&n.eql(p.Y,n.ONE)&&n.is0(p.Z))return;throw new Error("bad point: ZERO")}let{x:A,y:E}=p.toAffine();if(!n.isValid(A)||!n.isValid(E))throw new Error("bad point: x or y not field elements");if(!m(A,E))throw new Error("bad point: equation left != right");if(!p.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(p)}equals(p){D(p);let{X:A,Y:E,Z:w}=this,{X:b,Y:B,Z:L}=p,x=n.eql(n.mul(A,L),n.mul(b,w)),C=n.eql(n.mul(E,L),n.mul(B,w));return x&&C}negate(){return new I(this.X,n.neg(this.Y),this.Z)}double(){let{a:p,b:A}=s,E=n.mul(A,jo),{X:w,Y:b,Z:B}=this,L=n.ZERO,x=n.ZERO,C=n.ZERO,O=n.mul(w,w),k=n.mul(b,b),H=n.mul(B,B),K=n.mul(w,b);return K=n.add(K,K),C=n.mul(w,B),C=n.add(C,C),L=n.mul(p,C),x=n.mul(E,H),x=n.add(L,x),L=n.sub(k,x),x=n.add(k,x),x=n.mul(L,x),L=n.mul(K,L),C=n.mul(E,C),H=n.mul(p,H),K=n.sub(O,H),K=n.mul(p,K),K=n.add(K,C),C=n.add(O,O),O=n.add(C,O),O=n.add(O,H),O=n.mul(O,K),x=n.add(x,O),H=n.mul(b,B),H=n.add(H,H),O=n.mul(H,K),L=n.sub(L,O),C=n.mul(H,k),C=n.add(C,C),C=n.add(C,C),new I(L,x,C)}add(p){D(p);let{X:A,Y:E,Z:w}=this,{X:b,Y:B,Z:L}=p,x=n.ZERO,C=n.ZERO,O=n.ZERO,k=s.a,H=n.mul(s.b,jo),K=n.mul(A,b),Z=n.mul(E,B),Y=n.mul(w,L),X=n.add(A,E),$=n.add(b,B);X=n.mul(X,$),$=n.add(K,Z),X=n.sub(X,$),$=n.add(A,w);let st=n.add(b,L);return $=n.mul($,st),st=n.add(K,Y),$=n.sub($,st),st=n.add(E,w),x=n.add(B,L),st=n.mul(st,x),x=n.add(Z,Y),st=n.sub(st,x),O=n.mul(k,$),x=n.mul(H,Y),O=n.add(x,O),x=n.sub(Z,O),O=n.add(Z,O),C=n.mul(x,O),Z=n.add(K,K),Z=n.add(Z,K),Y=n.mul(k,Y),$=n.mul(H,$),Z=n.add(Z,Y),Y=n.sub(K,Y),Y=n.mul(k,Y),$=n.add($,Y),K=n.mul(Z,$),C=n.add(C,K),K=n.mul(st,$),x=n.mul(X,x),x=n.sub(x,K),K=n.mul(X,Z),O=n.mul(st,O),O=n.add(O,K),new I(x,C,O)}subtract(p){return D(p),this.add(p.negate())}is0(){return this.equals(I.ZERO)}multiply(p){let{endo:A}=t;if(!o.isValidNot0(p))throw new RangeError("invalid scalar: out of range");let E,w,b=B=>M.cached(this,B,L=>er(I,L));if(A){let{k1neg:B,k1:L,k2neg:x,k2:C}=N(p),{p:O,f:k}=b(L),{p:H,f:K}=b(C);w=k.add(K),E=T(A.beta,O,H,B,x)}else{let{p:B,f:L}=b(p);E=B,w=L}return er(I,[E,w])[0]}multiplyUnsafe(p){let{endo:A}=t,E=this,w=p;if(!o.isValid(w))throw new RangeError("invalid scalar: out of range");if(w===oe||E.is0())return I.ZERO;if(w===Me)return E;if(M.hasCache(this))return this.multiply(w);if(A){let{k1neg:b,k1:B,k2neg:L,k2:x}=N(w),{p1:C,p2:O}=Eu(I,E,B,x);return T(A.beta,C,O,b,L)}else return M.unsafe(E,w)}toAffine(p){let A=this,E=p,{X:w,Y:b,Z:B}=A;if(n.eql(B,n.ONE))return{x:w,y:b};let L=A.is0();E==null&&(E=L?n.ONE:n.inv(B));let x=n.mul(w,E),C=n.mul(b,E),O=n.mul(B,E);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x,y:C}}isTorsionFree(){let{isTorsionFree:p}=t;return i===Me?!0:p?p(I,this):M.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:p}=t;return i===Me?this:p?p(I,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===Me?this.is0():this.clearCofactor().is0()}toBytes(p=!0){return jt(p,"isCompressed"),this.assertValidity(),g(I,this,p)}toHex(p=!0){return Lr(this.toBytes(p))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let U=o.BITS,M=new Dr(I,t.endo?Math.ceil(U/2):U);return U>=8&&I.BASE.precompute(8),Object.freeze(I.prototype),Object.freeze(I),I}function eh(r){return Uint8Array.of(r?2:3)}function rh(r,t){return{secretKey:t.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Rm(r,t={}){let{Fn:e}=r,n=t.randomBytes===void 0?Xe:t.randomBytes,o=Object.assign(rh(r.Fp,e),{seed:Math.max(_i(e.ORDER),16)});function s(d){try{let g=e.fromBytes(d);return e.isValidNot0(g)}catch{return!1}}function i(d,g){let{publicKey:S,publicKeyUncompressed:l}=o;try{let m=d.length;return g===!0&&m!==S||g===!1&&m!==l?!1:!!r.fromBytes(d)}catch{return!1}}function a(d){return d=d===void 0?n(o.seed):d,Ii(V(d,o.seed,"seed"),e.ORDER)}function c(d,g=!0){return r.BASE.multiply(e.fromBytes(d)).toBytes(g)}function f(d){let{secretKey:g,publicKey:S,publicKeyUncompressed:l}=o,m=e._lengths;if(!Ye(d))return;let v=V(d,void 0,"key").length,_=v===S||v===l,R=v===g||!!m?.includes(v);if(!(_&&R))return _}function u(d,g,S=!0){if(f(d)===!0)throw new Error("first arg must be private key");if(f(g)===!1)throw new Error("second arg must be public key");let l=e.fromBytes(d);return r.fromBytes(g).multiply(l).toBytes(S)}let h={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},y=Rr(a,c);return Object.freeze(h),Object.freeze(o),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:y,Point:r,utils:h,lengths:o})}function nh(r,t,e={}){let n=t;We(n),Nt(e,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),e=Object.assign({},e);let o=e.randomBytes===void 0?Xe:e.randomBytes,s=e.hmac===void 0?(w,b)=>On(n,w,b):e.hmac,{Fp:i,Fn:a}=r,{ORDER:c,BITS:f}=a,{keygen:u,getPublicKey:h,getSharedSecret:y,utils:d,lengths:g}=Rm(r,e),S={prehash:!0,lowS:typeof e.lowS=="boolean"?e.lowS:!0,format:"compact",extraEntropy:!1},l=c*Ju+Me<i.ORDER;function m(w){let b=c>>Me;return w>b}function v(w,b){if(!a.isValidNot0(b))throw new Error(`invalid signature ${w}: out of range 1..Point.Fn.ORDER`);return b}function _(){if(l)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function R(w,b){ga(b);let B=g.signature,L=b==="compact"?B:b==="recovered"?B+1:void 0;return V(w,L)}class D{r;s;recovery;constructor(b,B,L){if(this.r=v("r",b),this.s=v("s",B),L!=null){if(_(),![0,1,2,3].includes(L))throw new Error("invalid recovery id");this.recovery=L}Object.freeze(this)}static fromBytes(b,B=S.format){R(b,B);let L;if(B==="der"){let{r:k,s:H}=Zt.toSig(V(b));return new D(k,H)}B==="recovered"&&(L=b[0],B="compact",b=b.subarray(1));let x=g.signature/2,C=b.subarray(0,x),O=b.subarray(x,x*2);return new D(a.fromBytes(C),a.fromBytes(O),L)}static fromHex(b,B){return this.fromBytes(_r(b),B)}assertRecovery(){let{recovery:b}=this;if(b==null)throw new Error("invalid recovery id: must be present");return b}addRecoveryBit(b){return new D(this.r,this.s,b)}recoverPublicKey(b){let{r:B,s:L}=this,x=this.assertRecovery(),C=x===2||x===3?B+c:B;if(!i.isValid(C))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(C),k=r.fromBytes(mt(eh((x&1)===0),O)),H=a.inv(C),K=T(V(b,void 0,"msgHash")),Z=a.create(-K*H),Y=a.create(L*H),X=r.BASE.multiplyUnsafe(Z).add(k.multiplyUnsafe(Y));if(X.is0())throw new Error("invalid recovery: point at infinify");return X.assertValidity(),X}hasHighS(){return m(this.s)}toBytes(b=S.format){if(ga(b),b==="der")return _r(Zt.hexFromSig(this));let{r:B,s:L}=this,x=a.toBytes(B),C=a.toBytes(L);return b==="recovered"?(_(),mt(Uint8Array.of(this.assertRecovery()),x,C)):mt(x,C)}toHex(b){return Lr(this.toBytes(b))}}Object.freeze(D.prototype),Object.freeze(D);let N=e.bits2int===void 0?function(b){if(b.length>8192)throw new Error("input is too large");let B=Qe(b),L=b.length*8-f;return L>0?B>>BigInt(L):B}:e.bits2int,T=e.bits2int_modN===void 0?function(b){return a.create(N(b))}:e.bits2int_modN,I=En(f);function U(w){return me("num < 2^"+f,w,oe,I),a.toBytes(w)}function M(w,b){return V(w,void 0,"message"),b?V(n(w),void 0,"prehashed message"):w}function P(w,b,B){let{lowS:L,prehash:x,extraEntropy:C}=ya(B,S);w=M(w,x);let O=T(w),k=a.fromBytes(b);if(!a.isValidNot0(k))throw new Error("invalid private key");let H=[U(k),U(O)];if(C!=null&&C!==!1){let X=C===!0?o(g.secretKey):C;H.push(V(X,void 0,"extraEntropy"))}let K=mt(...H),Z=O;function Y(X){let $=N(X);if(!a.isValidNot0($))return;let st=a.inv($),ue=r.BASE.multiply($).toAffine(),Ve=a.create(ue.x);if(Ve===oe)return;let mr=a.create(st*a.create(Z+Ve*k));if(mr===oe)return;let on=(ue.x===Ve?0:2)|Number(ue.y&Me),sn=mr;return L&&m(mr)&&(sn=a.neg(mr),on^=1),new D(Ve,sn,l?void 0:on)}return{seed:K,k2sig:Y}}function p(w,b,B={}){let{seed:L,k2sig:x}=P(w,b,B);return ou(n.outputLen,a.BYTES,s)(L,x).toBytes(B.format)}function A(w,b,B,L={}){let{lowS:x,prehash:C,format:O}=ya(L,S);if(B=V(B,void 0,"publicKey"),b=M(b,C),!Ye(w)){let k=w instanceof D?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+k)}R(w,O);try{let k=D.fromBytes(w,O),H=r.fromBytes(B);if(x&&k.hasHighS())return!1;let{r:K,s:Z}=k,Y=T(b),X=a.inv(Z),$=a.create(Y*X),st=a.create(K*X),ue=r.BASE.multiplyUnsafe($).add(H.multiplyUnsafe(st));return ue.is0()?!1:a.create(ue.x)===K}catch{return!1}}function E(w,b,B={}){let{prehash:L}=ya(B,S);return b=M(b,L),D.fromBytes(w,"recovered").recoverPublicKey(b).toBytes()}return Object.freeze({keygen:u,getPublicKey:h,getSharedSecret:y,utils:d,lengths:g,Point:r,sign:p,verify:A,recoverPublicKey:E,Signature:D,hash:n})}var xa={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Om={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var oh=BigInt(2);function Um(r){let t=xa.p,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,h=rt(u,e,t)*u%t,y=rt(h,e,t)*u%t,d=rt(y,oh,t)*f%t,g=rt(d,o,t)*d%t,S=rt(g,s,t)*g%t,l=rt(S,a,t)*S%t,m=rt(l,c,t)*l%t,v=rt(m,a,t)*S%t,_=rt(v,e,t)*u%t,R=rt(_,i,t)*g%t,D=rt(R,n,t)*f%t,N=rt(D,oh,t);if(!wa.eql(wa.sqr(N),r))throw new Error("Cannot find square root");return N}var wa=Cr(xa.p,{sqrt:Um}),Pm=th(xa,{Fp:wa,endo:Om}),Nr=nh(Pm,re);function sh(r,t,e,n){let o=ln.digest(e instanceof Uint8Array?e:e.subarray());if(Po(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Nr.verify(t,s,r,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new _n(String(s))});try{return n?.signal?.throwIfAborted(),Nr.verify(t,o.digest,r,{prehash:!1,format:"der"})}catch(s){throw new _n(String(s))}}var Wo=class{type="secp256k1";raw;_key;constructor(t){this._key=ah(t),this.raw=ih(this._key)}toMultihash(){return zt.digest(_e(this))}toCID(){return dt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}verify(t,e,n){return sh(this._key,e,t,n)}};function Ea(r){return new Wo(r)}function ih(r){return Nr.Point.fromBytes(r).toBytes()}function ah(r){try{return Nr.Point.fromBytes(r),r}catch(t){throw new gr(String(t))}}function Un(r,t){let{Type:e,Data:n}=ne.decode(r),o=n??new Uint8Array;switch(e){case ct.RSA:return da(o,t);case ct.Ed25519:return Hi(o);case ct.secp256k1:return Ea(o);case ct.ECDSA:return hi(o);default:throw new ze}}function ch(r){let{Type:t,Data:e}=ne.decode(r.digest),n=e??new Uint8Array;switch(t){case ct.Ed25519:return Hi(n);case ct.secp256k1:return Ea(n);case ct.ECDSA:return hi(n);default:throw new ze}}function _e(r){return ne.encode({Type:ct[r.type],Data:r.raw})}var fh=Symbol.for("nodejs.util.inspect.custom"),Nm=114,Pn=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ps]=!0;toString(){return this.string==null&&(this.string=ut.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return dt.createV1(Nm,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return pt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return pt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[fh](){return`PeerId(${this.toString()})`}},Nn=class extends Pn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Mn=class extends Pn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},kn=class extends Pn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Mm=2336,Fn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=zt.digest(et(this.url))}[fh](){return`PeerId(${this.url})`}[Ps]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return dt.createV1(Mm,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=j(t)),t.toString()===this.toString())}};var km=114,uh=2336;function hh(r,t){let e;if(r.charAt(0)==="1"||r.charAt(0)==="Q")e=Ar(ut.decode(`z${r}`));else{if(r.startsWith("k51qzi5uqu5")||r.startsWith("kzwfwjn5ji4")||r.startsWith("k2k4r8")||r.startsWith("bafz"))return Fm(dt.parse(r));if(t==null)throw new Q('Please pass a multibase decoder for strings that do not start with "1" or "Q"');e=Ar(t.decode(r))}return lh(e)}function Sa(r){if(r.type==="Ed25519")return new Mn({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new kn({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Nn({multihash:r.toCID().multihash,publicKey:r});throw new ze}function lh(r){if(Hm(r))return new Nn({multihash:r});if(Km(r))try{let t=ch(r);if(t.type==="Ed25519")return new Mn({multihash:r,publicKey:t});if(t.type==="secp256k1")return new kn({multihash:r,publicKey:t})}catch{let e=j(r.digest);return new Fn(new URL(e))}throw new fo("Supplied PeerID Multihash is invalid")}function Fm(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==km&&r.code!==uh)throw new co("Supplied PeerID CID is invalid");if(r.code===uh){let t=j(r.multihash.digest);return new Fn(new URL(t))}return lh(r.multihash)}function Km(r){return r.code===zt.code}function Hm(r){return r.code===ln.code}function Vm(r){let t=r.getComponents(),e={},n=0;return t[n]?.name==="ip6zone"&&(e.zone=`${t[n].value}`,n++),t[n]?.name==="ip4"||t[n]?.name==="ip6"||t[n]?.name==="dns"||t[n]?.name==="dns4"||t[n]?.name==="dns6"?(e.type=t[n].name,e.host=t[n].value,n++):t[n]?.name==="dnsaddr"&&(e.type=t[n].name,e.host=`_dnsaddr.${t[n].value}`,n++),(t[n]?.name==="tcp"||t[n]?.name==="udp")&&(e.protocol=t[n].name==="tcp"?"tcp":"udp",e.port=parseInt(`${t[n].value}`),n++),t[n]?.name==="ipcidr"&&(e.type==="ip4"?e.cidr=parseInt(`${t[n].value}`):e.type==="ip6"&&(e.cidr=`${t[n].value}`),n++),e.type==null||e.host==null?null:(t[n]?.name==="tls"&&t[n+1]?.name==="sni"&&(e.sni=t[n+1].value,n+=2),e)}function dh(r){let t=Vm(r);if(t==null)throw new Q(`Multiaddr ${r} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return t}var Go=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let y=Number.parseInt(h,t);if(!Number.isNaN(y))return y});if(u===void 0)break;if(s*=t,s+=u,s>f||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var zm=45,qm=15,Zo=new Go;function ph(r){if(!(r.length>qm))return Zo.new(r).parseWith(()=>Zo.readIPv4Addr())}function mh(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>zm))return Zo.new(r).parseWith(()=>Zo.readIPv6Addr())}function Yo(r){return!!ph(r)}function yh(r){return!!mh(r)}var At=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},be=class extends Error{static name="ValidationError";name="ValidationError"},Xo=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Qo=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function va(r){return t=>j(t,r)}function Ba(r){return t=>et(t,r)}function Mr(r){return new DataView(r.buffer).getUint16(r.byteOffset).toString()}function ir(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof r=="string"?parseInt(r):r),new Uint8Array(t)}function gh(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=et(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ir(n);return Jt([e,o],e.length+o.length)}function bh(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Be.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ir(n);return Jt([e,o],e.length+o.length)}function La(r){let t=r.subarray(0,r.length-2),e=r.subarray(r.length-2),n=j(t,"base32"),o=Mr(e);return`${n}:${o}`}var _a=function(r){r=r.toString().trim();let t=new Uint8Array(4);return r.split(/\./g).forEach((e,n)=>{let o=parseInt(e,10);if(isNaN(o)||o<0||o>255)throw new At("Invalid byte value in IP address");t[n]=o}),t},wh=function(r){let t=0;r=r.toString().trim();let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Yo(e[n]),i;s&&(i=_a(e[n]),e[n]=j(i.subarray(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,j(i.subarray(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){e[n]===""&&(e[n]="0");let s=parseInt(e[n],16);if(isNaN(s)||s<0||s>65535)throw new At("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},xh=function(r){if(r.byteLength!==4)throw new At("IPv4 address was incorrect length");let t=[];for(let e=0;e<r.byteLength;e++)t.push(r[e]);return t.join(".")},Eh=function(r){if(r.byteLength!==16)throw new At("IPv6 address was incorrect length");let t=[];for(let n=0;n<r.byteLength;n+=2){let o=r[n],s=r[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;t.push(i)}let e=t.join(":");try{let n=new URL(`http://[${e}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new At(`Invalid IPv6 address "${e}"`)}};function Sh(r){try{let t=new URL(`http://[${r}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new At(`Invalid IPv6 address "${r}"`)}}var Aa=Object.values(je).map(r=>r.decoder),$m=(function(){let r=Aa[0].or(Aa[1]);return Aa.slice(2).forEach(t=>r=r.or(t)),r})();function Ah(r){return $m.decode(r)}function vh(r){return t=>r.encoder.encode(t)}function jm(r){if(parseInt(r).toString()!==r)throw new be("Value must be an integer")}function Wm(r){if(r<0)throw new be("Value must be a positive integer, or zero")}function Gm(r){return t=>{if(t>r)throw new be(`Value must be smaller than or equal to ${r}`)}}function Zm(...r){return t=>{for(let e of r)e(t)}}var Kn=Zm(jm,Wm,Gm(65535));var wt=-1,Ia=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let e;if(typeof t=="string"?e=this.protocolsByName.get(t):e=this.protocolsByCode.get(t),e==null)throw new Qo(`Protocol ${t} was unknown`);return e}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(e=>{this.protocolsByName.set(e,t)})}removeProtocol(t){let e=this.protocolsByCode.get(t);e!=null&&(this.protocolsByCode.delete(e.code),this.protocolsByName.delete(e.name),e.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},xe=new Ia,f0=[{code:4,name:"ip4",size:32,valueToBytes:_a,bytesToValue:xh,validate:r=>{if(!Yo(r))throw new be(`Invalid IPv4 address "${r}"`)}},{code:6,name:"tcp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:273,name:"udp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:33,name:"dccp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:41,name:"ip6",size:128,valueToBytes:wh,bytesToValue:Eh,stringToValue:Sh,validate:r=>{if(!yh(r))throw new be(`Invalid IPv6 address "${r}"`)}},{code:42,name:"ip6zone",size:wt},{code:43,name:"ipcidr",size:8,bytesToValue:va("base10"),valueToBytes:Ba("base10")},{code:53,name:"dns",size:wt},{code:54,name:"dns4",size:wt},{code:55,name:"dns6",size:wt},{code:56,name:"dnsaddr",size:wt},{code:132,name:"sctp",size:16,valueToBytes:ir,bytesToValue:Mr,validate:Kn},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:wt,stringToValue:r=>decodeURIComponent(r),valueToString:r=>encodeURIComponent(r)},{code:421,name:"p2p",aliases:["ipfs"],size:wt,bytesToValue:va("base58btc"),valueToBytes:r=>r.startsWith("Q")||r.startsWith("1")?Ba("base58btc")(r):dt.parse(r).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:La,valueToBytes:gh},{code:445,name:"onion3",size:296,bytesToValue:La,valueToBytes:bh},{code:446,name:"garlic64",size:wt},{code:447,name:"garlic32",size:wt},{code:448,name:"tls"},{code:449,name:"sni",size:wt},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:wt,bytesToValue:vh(Qs),valueToBytes:Ah},{code:480,name:"http"},{code:481,name:"http-path",size:wt,stringToValue:r=>`/${decodeURIComponent(r)}`,valueToString:r=>encodeURIComponent(r.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:wt}];f0.forEach(r=>{xe.addProtocol(r)});function Bh(r){let t=[],e=0;for(;e<r.length;){let n=nr(r,e),o=xe.getProtocol(n),s=It(n),i=u0(o,r,e+s),a=0;i>0&&o.size===wt&&(a=It(i));let c=s+a+i,f={code:n,name:o.name,bytes:xt(r.subarray(e,e+c))};if(i>0){let u=e+s+a,h=r.subarray(u,u+i);f.value=o.bytesToValue?.(h)??j(h)}t.push(f),e+=c}return t}function Lh(r){let t=0,e=[];for(let n of r){if(n.bytes==null){let o=xe.getProtocol(n.code),s=It(n.code),i,a=0,c=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??et(n.value),a=i.byteLength,o.size===wt&&(c=It(a)));let f=new Uint8Array(s+c+a),u=0;Ur(n.code,f,u),u+=s,i!=null&&(o.size===wt&&(Ur(a,f,u),u+=c),f.set(i,u)),n.bytes=f}e.push(n.bytes),t+=n.bytes.byteLength}return Jt(e,t)}function _h(r){if(r.charAt(0)!=="/")throw new At('String multiaddr must start with "/"');let t=[],e="protocol",n="",o="";for(let s=1;s<r.length;s++){let i=r.charAt(s);i!=="/"&&(e==="protocol"?o+=r.charAt(s):n+=r.charAt(s));let a=s===r.length-1;if(i==="/"||a){let c=xe.getProtocol(o);if(e==="protocol"){if(c.size==null||c.size===0){t.push({code:c.code,name:c.name}),n="",o="",e="protocol";continue}else if(a)throw new At(`Component ${o} was missing value`);e="value"}else if(e==="value"){let f={code:c.code,name:c.name};if(c.size!=null&&c.size!==0){if(n==="")throw new At(`Component ${o} was missing value`);f.value=c.stringToValue?.(n)??n}t.push(f),n="",o="",e="protocol"}}}if(o!==""&&n!=="")throw new At("Incomplete multiaddr");return t}function Ih(r){return`/${r.flatMap(t=>{if(t.value==null)return t.name;let e=xe.getProtocol(t.code);if(e==null)throw new At(`Unknown protocol code ${t.code}`);return[t.name,e.valueToString?.(t.value)??t.value]}).join("/")}`}function u0(r,t,e){return r.size==null||r.size===0?0:r.size>0?r.size/8:nr(t,e)}var h0=Symbol.for("nodejs.util.inspect.custom"),ja=Symbol.for("@multiformats/multiaddr");function l0(r){if(r==null&&(r="/"),Ch(r))return r.getComponents();if(r instanceof Uint8Array)return Bh(r);if(typeof r=="string")return r=r.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),r===""&&(r="/"),_h(r);if(Array.isArray(r))return r;throw new At("Must be a string, Uint8Array, Component[], or another Multiaddr")}var $a=class r{[ja]=!0;#t;#e;#r;constructor(t="/",e={}){this.#t=l0(t),e.validate!==!1&&d0(this)}get bytes(){return this.#r==null&&(this.#r=Lh(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=Ih(this.#t)),this.#e}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let e=new r(t);return new r([...this.#t,...e.getComponents()],{validate:!1})}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Xo(`Address ${this.toString()} does not contain subaddress: ${e}`);return new r(n.slice(0,o),{validate:!1})}decapsulateCode(t){let e;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){e=n;break}return new r(this.#t.slice(0,e),{validate:!1})}equals(t){return pt(this.bytes,t.bytes)}[h0](){return`Multiaddr(${this.toString()})`}};function d0(r){r.getComponents().forEach(t=>{let e=xe.getProtocol(t.code);t.value!=null&&e.validate?.(t.value)})}function Ch(r){return!!r?.[ja]}var nt=r=>({match:t=>{let e=t[0];return e==null||e.code!==r||e.value!=null?!1:t.slice(1)}}),F=(r,t)=>({match:e=>{let n=e[0];return n?.code!==r||n.value==null||t!=null&&n.value!==t?!1:e.slice(1)}}),Th=r=>({match:t=>r.match(t)===!1?t:!1}),z=r=>({match:t=>{let e=r.match(t);return e===!1?t:e}}),Tt=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1}}),W=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t}});function ot(...r){function t(o){if(o==null)return!1;let s=o.getComponents();for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matchers:r,matches:e,exactMatch:n}}var p0=F(421),sS=ot(p0),ss=F(54),is=F(55),as=F(56),Ga=F(53),iS=ot(ss,z(F(421))),aS=ot(is,z(F(421))),cS=ot(as,z(F(421))),fS=ot(Tt(Ga,as,ss,is),z(F(421))),Dh=W(F(4),z(F(43))),Rh=W(z(F(42)),F(41),z(F(43))),Za=Tt(Dh,Rh),Hr=Tt(Za,Ga,ss,is,as),uS=ot(Tt(Za,W(Tt(Ga,as,ss,is),z(F(421))))),hS=ot(Dh),lS=ot(Rh),dS=ot(Za),Ya=W(Hr,F(6)),Hn=W(Hr,F(273)),pS=ot(W(Ya,z(F(421)))),mS=ot(Hn),Xa=W(Hn,nt(460),z(F(421))),cs=W(Hn,nt(461),z(F(421))),m0=Tt(Xa,cs),yS=ot(Xa),gS=ot(cs),Wa=Tt(Hr,Ya,Hn,Xa,cs),Oh=Tt(W(Wa,nt(477),z(F(421)))),bS=ot(Oh),Uh=Tt(W(Wa,nt(478),z(F(421))),W(Wa,nt(448),z(F(449)),nt(477),z(F(421)))),wS=ot(Uh),Ph=W(Hn,nt(280),z(F(466)),z(F(466)),z(F(421))),xS=ot(Ph),Nh=W(cs,nt(465),z(F(466)),z(F(466)),z(F(421))),fs=ot(Nh),os=Tt(Oh,Uh,W(Ya,z(F(421))),W(m0,z(F(421))),W(Hr,z(F(421))),Ph,Nh,F(421)),ES=ot(os),y0=W(z(os),nt(290),Th(nt(281)),z(F(421))),SS=ot(y0),g0=Tt(W(os,nt(290),nt(281),z(F(421))),W(os,nt(281),z(F(421))),W(nt(281),z(F(421)))),AS=ot(g0),b0=W(Hr,Tt(W(F(6,"80")),W(F(6),nt(480)),nt(480)),z(F(481)),z(F(421))),vS=ot(b0),w0=W(Hr,Tt(W(F(6,"443")),W(F(6,"443"),nt(480)),W(F(6),nt(443)),W(F(6),nt(448),nt(480)),W(nt(448),nt(480)),nt(448),nt(443)),z(F(481)),z(F(421))),BS=ot(w0),x0=Tt(W(F(777),z(F(421)))),LS=ot(x0),E0=Tt(W(F(400),z(F(421)))),_S=ot(E0);function us(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var hs=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||(t-1&t)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Vr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new hs(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new hs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Qa=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ls(r={}){return S0(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function S0(r,t){t=t??{};let e=t.onEnd,n=new Vr,o,s,i,a=us(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((l,m)=>{s=v=>{s=null,n.push(v);try{l(r(n))}catch(_){m(_)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=us()})}},f=l=>s!=null?s(l):(n.push(l),o),u=l=>(n=new Vr,s!=null?s({error:l}):(n.push({error:l}),o)),h=l=>{if(i)return o;if(t?.objectMode!==!0&&l?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:l})},y=l=>i?o:(i=!0,l!=null?u(l):f({done:!0})),d=()=>(n=new Vr,y(),{done:!0}),g=l=>(y(l),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:d,throw:g,push:h,end:y,get readableLength(){return n.size},onEmpty:async l=>{let m=l?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let v,_;m!=null&&(v=new Promise((R,D)=>{_=()=>{D(new Qa)},m.addEventListener("abort",_)}));try{await Promise.race([a.promise,v])}finally{_!=null&&m!=null&&m?.removeEventListener("abort",_)}}},e==null)return o;let S=o;return o={[Symbol.asyncIterator](){return this},next(){return S.next()},throw(l){return S.throw(l),e!=null&&(e(l),e=void 0),{done:!0}},return(){return S.return(),e!=null&&(e(),e=void 0),{done:!0}},push:h,end(l){return S.end(l),e!=null&&(e(l),e=void 0),o},get readableLength(){return S.readableLength},onEmpty:l=>S.onEmpty(l)},o}var Ja=class r extends Error{name="TimeoutError";constructor(t,e){super(t,e),Error.captureStackTrace?.(this,r)}},Mh=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function tc(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=t,a,c,u=new Promise((h,y)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(i?.aborted){y(Mh(i));return}if(i&&(c=()=>{y(Mh(i))},i.addEventListener("abort",c,{once:!0})),r.then(h,y),e===Number.POSITIVE_INFINITY)return;let d=new Ja;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(g){y(g)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?h():o instanceof Error?y(o):(d.message=o??`Promise timed out after ${e} milliseconds`,y(d))},e)}).finally(()=>{u.clear(),c&&i&&i.removeEventListener("abort",c)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var A0=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function v0(r,t,e){let n,o=new Promise((s,i)=>{if(e={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:f,removeListener:u}=A0(r),h=async(...d)=>{let g=e.multiArgs?d:d[0];if(e.filter)try{if(!await e.filter(g))return}catch(S){n(),i(S);return}c.push(g),e.count===c.length&&(n(),s(c))},y=(...d)=>{n(),i(e.rejectionMultiArgs?d:d[0])};n=()=>{for(let d of a)u(d,h);for(let d of e.rejectionEvents)a.includes(d)||u(d,y)};for(let d of a)f(d,h);for(let d of e.rejectionEvents)a.includes(d)||f(d,y);e.signal&&e.signal.addEventListener("abort",()=>{y(e.signal.reason)},{once:!0}),e.resolveImmediately&&s(c)});if(o.cancel=n,typeof e.timeout=="number"){let s=tc(o,{milliseconds:e.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function ke(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=v0(r,t,e),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var cr=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},ds=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},ps=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function B0(r){return r.reason}async function Ht(r,t,e){if(t==null)return r;let n=e?.translateError??B0;if(t.aborted)return r.catch(()=>{}),Promise.reject(n(t));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(t))},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var L0=Math.pow(2,20)*4,se=class extends wr{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(t){super(),this.status="open",this.log=t.log,this.direction=t.direction??"outbound",this.inactivityTimeout=t.inactivityTimeout??12e4,this.maxReadBufferLength=t.maxReadBufferLength??L0,this.maxWriteBufferLength=t.maxWriteBufferLength,this.maxMessageSize=t.maxMessageSize,this.readBuffer=new it,this.writeBuffer=new it,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let e=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,queueMicrotask(()=>{try{this.processSendQueue()}catch(o){this.log.error("processSendQueue threw - %e",o)}})),this.onDrainPromise?.resolve()};this.addEventListener("drain",e);let n=o=>{this.onDrainPromise?.reject(o.error??new ps)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(t){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),Ht(this.onDrainPromise.promise,t?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let t=ls(),e=s=>{t.push(s.data)};this.addEventListener("message",e);let n=s=>{t.end(s.error)};this.addEventListener("close",n);let o=()=>{t.end()};this.addEventListener("remoteCloseWrite",o);try{yield*t}finally{this.removeEventListener("message",e),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(t){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new Ae(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",t.byteLength),this.writeBuffer.append(t),this.processSendQueue()}abort(t){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",t),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(t)}catch(e){this.log("failed to send reset to remote - %e",e)}this.dispatchEvent(new ho(t))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(t){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae(`Cannot push data onto a stream that is ${this.readStatus}`);if(t.byteLength!==0){if(this.readBuffer.append(t),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(t){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ae(`Cannot push data onto a stream that is ${this.readStatus}`);if(t.byteLength!==0){if(this.readBuffer.prepend(t),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(t){if(t.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(t),this.dispatchReadBuffer()}}addEventListener(...t){super.addEventListener.apply(this,t),t[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let t=new io;this.dispatchEvent(new lo(t))}onTransportClosed(t){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),t!=null?this.abort(t):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new br))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;if(this.writeStatus!=="writable"&&this.writeStatus!=="closing")return this.log.trace("not processing send queue as stream is %s",this.writeStatus),!1;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let t=!0,e=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){t=!1;break}let s=this.writeBuffer.sublist(0,o),i=new it(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(c){throw this.writeBuffer.prepend(i),this.abort(c),c}if(t=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!t)break}return t||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,e,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),t}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let t=this.readBuffer.sublist();this.readBuffer.consume(t.byteLength),this.dispatchEvent(new uo(t))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new an(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new an(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var ms=class extends se{remoteAddr;metricPrefix;metrics;constructor(t){super(t),this.metricPrefix=t.metricPrefix??"",this.metrics=t.metrics,this.remoteAddr=t.remoteAddr,this.addEventListener("close",e=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),e.error!=null?e.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):e.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(t){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"idle",{...t,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"drain",{...t,rejectionEvents:["close"]})),await this.sendClose(t),this.onTransportClosed())}};function kh(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var ys=class extends wr{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(t,e){super(),this.maConn=t,this.protocol=e.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=t.log.newScope(e.name),this.streamOptions=e.streamOptions,this.maxEarlyStreams=e.maxEarlyStreams??10,this.metrics=e.metrics;let n=i=>{try{this.onData(i.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(i=>{i.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let s=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",s)}send(t){let e=this.maConn.send(t);return e===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),e}async close(t){this.status==="closed"||this.status==="closing"||(this.status="closing",await Ht(Promise.all([...this.streams].map(async e=>{await e.close(t)})),t?.signal),this.status="closed")}abort(t){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(e=>{e.abort(t)}),this.status="closed")}onTransportClosed(t){this.status="closing";try{[...this.streams].forEach(e=>{e.onTransportClosed(t)})}catch(e){this.abort(e)}this.status="closed"}async createStream(t){if(this.status!=="open")throw new so;let e=this.onCreateStream({...this.streamOptions,...t});return kh(e)&&(e=await e),this.streams.push(e),this.cleanUpStream(e),e}onRemoteStream(t){if(this.streams.push(t),this.cleanUpStream(t),this.listenerCount("stream")===0){this.earlyStreams.push(t),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new ds(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:t})}cleanUpStream(t){let e=n=>{let o=this.streams.findIndex(s=>s===t);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${t.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${t.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${t.direction}_stream_end`]:!0})};t.addEventListener("close",e),this.metrics?.increment({[`${t.direction}_stream`]:!0})}addEventListener(...t){super.addEventListener.apply(this,t),t[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(e=>{this.safeDispatchEvent("stream",{detail:e})}),this.earlyStreams=[]})}};var gs=class extends se{id;protocol;constructor(t){super(t),this.id=t.id,this.protocol=t.protocol??""}async close(t){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await ke(this,"idle",{...t,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await ke(this,"drain",{...t,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(t),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(t){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(t),this.readStatus="closed",this.log("closed readable end gracefully"))}};var _0=4194304,bs=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Vn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},rc=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},nc=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function I0(r){return typeof r?.closeRead=="function"}function C0(r){return typeof r?.close=="function"}function ec(r){return I0(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:C0(r)?r.status!=="open":!1}function T0(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function D0(r,t){let e=t?.maxBufferSize??_0,n=new it,o,s=!1;if(!T0(r))throw new Q("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>e){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${e}`))}o?.resolve()};r.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let f={readBuffer:n,async read(u){if(s===!0)throw new bs("Stream was unwrapped");if(ec(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new cr(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let h=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await Ht(o.promise,u?.signal),ec(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let y=u?.bytes??n.byteLength;if(n.byteLength<y){if(ec(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,y),new cr(`Unexpected EOF - stream closed while reading ${n.byteLength}/${y} bytes`);return f.read(u)}let d=n.sublist(0,y);return n.consume(y),d},async write(u,h){if(s===!0)throw new bs("Stream was unwrapped");r.send(u)||await ke(r,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return f}function oc(r,t={}){let e=D0(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=It(t.maxDataLength));let n=t?.lengthDecoder??nr,o=t?.lengthEncoder??Pu;return{async read(i){let a=-1,c=new it;for(;;){let u=await e.read({...i,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new Vn("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new nc(`Message length length too long - ${c.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new rc(`Message length too long - ${a} > ${t.maxDataLength}`);let f=await e.read({...i,bytes:a});if(f==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new cr(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(f.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",f.byteLength,a),new cr(`Unexpected EOF - read ${f.byteLength}/${a} bytes before the stream closed`);return f},async write(i,a){await e.write(new it(o(i.byteLength),i),a)},async writeV(i,a){let c=new it(...i.flatMap(f=>[o(f.byteLength),f]));await e.write(c,a)},unwrap(){return e.unwrap()}}}var R0=1024*1024*4,O0=1024*1024*4,ws=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(t={}){this.buffer=new it,this.maxBufferSize=t.maxBufferSize??R0,this.maxDataLength=t.maxDataLength??O0,this.lengthDecoder=t.lengthDecoder??nr,this.encodingLength=t.encodingLength??It}*decode(t){if(this.buffer.append(t),this.buffer.byteLength>this.maxBufferSize)throw new Q(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let e;try{e=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(e<0||e>this.maxDataLength)throw new Vn("Invalid message length");let n=this.encodingLength(e),o=n+e;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function yt(r=0){return new Uint8Array(r)}function Dt(r=0){return new Uint8Array(r)}var zr=!!globalThis.process?.env?.DUMP_SESSION_KEYS,sc=16;function U0(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function xs(r){if(typeof r!="boolean")throw new TypeError(`boolean expected, not ${r}`)}function qr(r){if(typeof r!="number")throw new TypeError("number expected, got "+typeof r);if(!Number.isSafeInteger(r)||r<0)throw new RangeError("positive integer expected, got "+r)}function gt(r,t,e=""){let n=U0(r),o=r?.length,s=t!==void 0;if(!n||s&&o!==t){let i=e&&`"${e}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof r}`,f=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(f):new TypeError(f)}return r}function ic(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function Fh(r,t,e=!1){gt(r,void 0,"output");let n=t.outputLen;if(r.length<n)throw new RangeError("digestInto() expects output buffer of length at least "+n);if(e&&!$r(r))throw new Error("invalid output, must be aligned")}function ie(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function Yt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function P0(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}var fr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,N0=r=>r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255;var M0=r=>{for(let t=0;t<r.length;t++)r[t]=N0(r[t]);return r},Ee=fr?r=>r:M0;function Kh(r,t){if(t==null||typeof t!="object")throw new Error("options must be defined");return Object.assign(r,t)}function Hh(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Vh(r,t,e){let n=t,o=e||(()=>[]),s=(a,c)=>n(c,...o(a)).update(a).digest(),i=n(new Uint8Array(r),...o(new Uint8Array(0)));return s.outputLen=i.outputLen,s.blockLen=i.blockLen,s.create=(a,...c)=>n(a,...c),s}var zh=(r,t)=>{function e(n,...o){if(gt(n,void 0,"key"),r.nonceLength!==void 0){let u=o[0];gt(u,r.varSizeNonce?void 0:r.nonceLength,"nonce")}let s=r.tagLength;s&&o[1]!==void 0&&gt(o[1],void 0,"AAD");let i=t(n,...o),a=(u,h)=>{if(h!==void 0){if(u!==2)throw new Error("cipher output not supported");gt(h,void 0,"output")}},c=!1;return{encrypt(u,h){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,gt(u),a(i.encrypt.length,h),i.encrypt(u,h)},decrypt(u,h){if(gt(u),s&&u.length<s)throw new Error('"ciphertext" expected length bigger than tagLength='+s);return a(i.decrypt.length,h),i.decrypt(u,h)}}}return Object.assign(e,r),e};function zn(r,t,e=!0){if(t===void 0)return new Uint8Array(r);if(gt(t,void 0,"output"),t.length!==r)throw new Error('"output" expected Uint8Array of length '+r+", got: "+t.length);if(e&&!$r(t))throw new Error("invalid output, must be aligned");return t}function qh(r,t,e){qr(r),qr(t),xs(e);let n=new Uint8Array(16),o=P0(n);return o.setBigUint64(0,BigInt(t),e),o.setBigUint64(8,BigInt(r),e),n}function $r(r){return r.byteOffset%4===0}function jr(r){return Uint8Array.from(gt(r))}var jh=r=>Uint8Array.from(r.split(""),t=>t.charCodeAt(0)),k0=Ee(ie(jh("expand 16-byte k"))),F0=Ee(ie(jh("expand 32-byte k")));function q(r,t){return r<<t|r>>>32-t}var qn=64,K0=16,ac=2**32-1,$h=Uint32Array.of();function H0(r,t,e,n,o,s,i,a){let c=o.length,f=new Uint8Array(qn),u=ie(f),h=fr&&$r(o)&&$r(s),y=h?ie(o):$h,d=h?ie(s):$h;if(!fr){for(let g=0;g<c;i++){if(r(t,e,n,u,i,a),Ee(u),i>=ac)throw new Error("arx: counter overflow");let S=Math.min(qn,c-g);for(let l=0,m;l<S;l++)m=g+l,s[m]=o[m]^f[l];g+=S}return}for(let g=0;g<c;i++){if(r(t,e,n,u,i,a),i>=ac)throw new Error("arx: counter overflow");let S=Math.min(qn,c-g);if(h&&S===qn){let l=g/4;if(g%4!==0)throw new Error("arx: invalid block position");for(let m=0,v;m<K0;m++)v=l+m,d[v]=y[v]^u[m];g+=qn;continue}for(let l=0,m;l<S;l++)m=g+l,s[m]=o[m]^f[l];g+=S}}function Wh(r,t){let{allowShortKeys:e,extendNonceFn:n,counterLength:o,counterRight:s,rounds:i}=Kh({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof r!="function")throw new Error("core must be a function");return qr(o),qr(i),xs(s),xs(e),(a,c,f,u,h=0)=>{gt(a,void 0,"key"),gt(c,void 0,"nonce"),gt(f,void 0,"data");let y=f.length;if(u=zn(y,u,!1),qr(h),h<0||h>=ac)throw new Error("arx: counter overflow");let d=[],g=a.length,S,l;if(g===32)d.push(S=jr(a)),l=F0;else if(g===16&&e)S=new Uint8Array(32),S.set(a),S.set(a,16),l=k0,d.push(S);else throw gt(a,32,"arx key"),new Error("invalid key size");(!fr||!$r(c))&&d.push(c=jr(c));let m=ie(S);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");let R=c.subarray(0,16);if(fr)n(l,m,ie(R),m);else{let D=Ee(Uint32Array.from(l));n(D,m,ie(R),m),Yt(D),Ee(m)}c=c.subarray(16)}else fr||Ee(m);let v=16-o;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let R=new Uint8Array(12);R.set(c,s?0:12-c.length),c=R,d.push(c)}let _=Ee(ie(c));try{return H0(r,l,m,_,f,u,h,i),u}finally{Yt(...d)}}}function vt(r,t){return r[t++]&255|(r[t++]&255)<<8}var cc=class{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(t){t=jr(gt(t,32,"key"));let e=vt(t,0),n=vt(t,2),o=vt(t,4),s=vt(t,6),i=vt(t,8),a=vt(t,10),c=vt(t,12),f=vt(t,14);this.r[0]=e&8191,this.r[1]=(e>>>13|n<<3)&8191,this.r[2]=(n>>>10|o<<6)&7939,this.r[3]=(o>>>7|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=vt(t,16+2*u)}process(t,e,n=!1){let o=n?0:2048,{h:s,r:i}=this,a=i[0],c=i[1],f=i[2],u=i[3],h=i[4],y=i[5],d=i[6],g=i[7],S=i[8],l=i[9],m=vt(t,e+0),v=vt(t,e+2),_=vt(t,e+4),R=vt(t,e+6),D=vt(t,e+8),N=vt(t,e+10),T=vt(t,e+12),I=vt(t,e+14),U=s[0]+(m&8191),M=s[1]+((m>>>13|v<<3)&8191),P=s[2]+((v>>>10|_<<6)&8191),p=s[3]+((_>>>7|R<<9)&8191),A=s[4]+((R>>>4|D<<12)&8191),E=s[5]+(D>>>1&8191),w=s[6]+((D>>>14|N<<2)&8191),b=s[7]+((N>>>11|T<<5)&8191),B=s[8]+((T>>>8|I<<8)&8191),L=s[9]+(I>>>5|o),x=0,C=x+U*a+M*(5*l)+P*(5*S)+p*(5*g)+A*(5*d);x=C>>>13,C&=8191,C+=E*(5*y)+w*(5*h)+b*(5*u)+B*(5*f)+L*(5*c),x+=C>>>13,C&=8191;let O=x+U*c+M*a+P*(5*l)+p*(5*S)+A*(5*g);x=O>>>13,O&=8191,O+=E*(5*d)+w*(5*y)+b*(5*h)+B*(5*u)+L*(5*f),x+=O>>>13,O&=8191;let k=x+U*f+M*c+P*a+p*(5*l)+A*(5*S);x=k>>>13,k&=8191,k+=E*(5*g)+w*(5*d)+b*(5*y)+B*(5*h)+L*(5*u),x+=k>>>13,k&=8191;let H=x+U*u+M*f+P*c+p*a+A*(5*l);x=H>>>13,H&=8191,H+=E*(5*S)+w*(5*g)+b*(5*d)+B*(5*y)+L*(5*h),x+=H>>>13,H&=8191;let K=x+U*h+M*u+P*f+p*c+A*a;x=K>>>13,K&=8191,K+=E*(5*l)+w*(5*S)+b*(5*g)+B*(5*d)+L*(5*y),x+=K>>>13,K&=8191;let Z=x+U*y+M*h+P*u+p*f+A*c;x=Z>>>13,Z&=8191,Z+=E*a+w*(5*l)+b*(5*S)+B*(5*g)+L*(5*d),x+=Z>>>13,Z&=8191;let Y=x+U*d+M*y+P*h+p*u+A*f;x=Y>>>13,Y&=8191,Y+=E*c+w*a+b*(5*l)+B*(5*S)+L*(5*g),x+=Y>>>13,Y&=8191;let X=x+U*g+M*d+P*y+p*h+A*u;x=X>>>13,X&=8191,X+=E*f+w*c+b*a+B*(5*l)+L*(5*S),x+=X>>>13,X&=8191;let $=x+U*S+M*g+P*d+p*y+A*h;x=$>>>13,$&=8191,$+=E*u+w*f+b*c+B*a+L*(5*l),x+=$>>>13,$&=8191;let st=x+U*l+M*S+P*g+p*d+A*y;x=st>>>13,st&=8191,st+=E*h+w*u+b*f+B*c+L*a,x+=st>>>13,st&=8191,x=(x<<2)+x|0,x=x+C|0,C=x&8191,x=x>>>13,O+=x,s[0]=C,s[1]=O,s[2]=k,s[3]=H,s[4]=K,s[5]=Z,s[6]=Y,s[7]=X,s[8]=$,s[9]=st}finalize(){let{h:t,pad:e}=this,n=new Uint16Array(10),o=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=o,o=t[a]>>>13,t[a]&=8191;t[0]+=o*5,o=t[0]>>>13,t[0]&=8191,t[1]+=o,o=t[1]>>>13,t[1]&=8191,t[2]+=o,n[0]=t[0]+5,o=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+o,o=n[a]>>>13,n[a]&=8191;n[9]-=8192;let s=(o^1)-1;for(let a=0;a<10;a++)n[a]&=s;s=~s;for(let a=0;a<10;a++)t[a]=t[a]&s|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let i=t[0]+e[0];t[0]=i&65535;for(let a=1;a<8;a++)i=(t[a]+e[a]|0)+(i>>>16)|0,t[a]=i&65535;Yt(n)}update(t){ic(this),gt(t),t=jr(t);let{buffer:e,blockLen:n}=this,o=t.length;for(let s=0;s<o;){let i=Math.min(n-this.pos,o-s);if(i===n){for(;n<=o-s;s+=n)this.process(t,s);continue}e.set(t.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===n&&(this.process(e,0,!1),this.pos=0)}return this}destroy(){this.destroyed=!0,Yt(this.h,this.r,this.buffer,this.pad)}digestInto(t){ic(this),Fh(t,this),this.finished=!0;let{buffer:e,h:n}=this,{pos:o}=this;if(o){for(e[o++]=1;o<16;o++)e[o]=0;this.process(e,0,!0)}this.finalize();let s=0;for(let i=0;i<8;i++)t[s++]=n[i]>>>0,t[s++]=n[i]>>>8}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}},Gh=Vh(32,r=>new cc(r));function V0(r,t,e,n,o,s=20){let i=r[0],a=r[1],c=r[2],f=r[3],u=t[0],h=t[1],y=t[2],d=t[3],g=t[4],S=t[5],l=t[6],m=t[7],v=o,_=e[0],R=e[1],D=e[2],N=i,T=a,I=c,U=f,M=u,P=h,p=y,A=d,E=g,w=S,b=l,B=m,L=v,x=_,C=R,O=D;for(let H=0;H<s;H+=2)N=N+M|0,L=q(L^N,16),E=E+L|0,M=q(M^E,12),N=N+M|0,L=q(L^N,8),E=E+L|0,M=q(M^E,7),T=T+P|0,x=q(x^T,16),w=w+x|0,P=q(P^w,12),T=T+P|0,x=q(x^T,8),w=w+x|0,P=q(P^w,7),I=I+p|0,C=q(C^I,16),b=b+C|0,p=q(p^b,12),I=I+p|0,C=q(C^I,8),b=b+C|0,p=q(p^b,7),U=U+A|0,O=q(O^U,16),B=B+O|0,A=q(A^B,12),U=U+A|0,O=q(O^U,8),B=B+O|0,A=q(A^B,7),N=N+P|0,O=q(O^N,16),b=b+O|0,P=q(P^b,12),N=N+P|0,O=q(O^N,8),b=b+O|0,P=q(P^b,7),T=T+p|0,L=q(L^T,16),B=B+L|0,p=q(p^B,12),T=T+p|0,L=q(L^T,8),B=B+L|0,p=q(p^B,7),I=I+A|0,x=q(x^I,16),E=E+x|0,A=q(A^E,12),I=I+A|0,x=q(x^I,8),E=E+x|0,A=q(A^E,7),U=U+M|0,C=q(C^U,16),w=w+C|0,M=q(M^w,12),U=U+M|0,C=q(C^U,8),w=w+C|0,M=q(M^w,7);let k=0;n[k++]=i+N|0,n[k++]=a+T|0,n[k++]=c+I|0,n[k++]=f+U|0,n[k++]=u+M|0,n[k++]=h+P|0,n[k++]=y+p|0,n[k++]=d+A|0,n[k++]=g+E|0,n[k++]=S+w|0,n[k++]=l+b|0,n[k++]=m+B|0,n[k++]=v+L|0,n[k++]=_+x|0,n[k++]=R+C|0,n[k++]=D+O|0}var z0=Wh(V0,{counterRight:!1,counterLength:4,allowShortKeys:!1});var q0=new Uint8Array(16),Zh=(r,t)=>{r.update(t);let e=t.length%16;e&&r.update(q0.subarray(e))},$0=new Uint8Array(32);function Yh(r,t,e,n,o){o!==void 0&&gt(o,void 0,"AAD");let s=r(t,e,$0),i=qh(n.length,o?o.length:0,!0),a=Gh.create(s);o&&Zh(a,o),Zh(a,n),a.update(i);let c=a.digest();return Yt(s,i),c}var j0=r=>(t,e,n)=>({encrypt(s,i){let a=s.length;i=zn(a+16,i,!1),i.set(s);let c=i.subarray(0,-16);r(t,e,c,c,1);let f=Yh(r,t,e,c,n);return i.set(f,a),Yt(f),i},decrypt(s,i){i=zn(s.length-16,i,!1);let a=s.subarray(0,-16),c=s.subarray(-16),f=Yh(r,t,e,a,n);if(!Hh(c,f))throw Yt(f),new Error("invalid tag");return i.set(s.subarray(0,-16)),r(t,e,i,i,1),Yt(f),i}}),fc=zh({blockSize:64,nonceLength:12,tagLength:16},j0(z0));function Qh(r,t,e){return We(r),e===void 0&&(e=new Uint8Array(r.outputLen)),On(r,e,t)}var uc=Uint8Array.of(0),Xh=Uint8Array.of();function Jh(r,t,e,n=32){We(r),te(n,"length"),Lt(t,void 0,"prk");let o=r.outputLen;if(t.length<o)throw new Error('"prk" must be at least HashLen octets');if(n>255*o)throw new Error("Length must be <= 255*HashLen");let s=Math.ceil(n/o);e===void 0?e=Xh:Lt(e,void 0,"info");let i=new Uint8Array(s*o),a=On.create(r,t),c=a._cloneInto(),f=new Uint8Array(a.outputLen);for(let u=0;u<s;u++)uc[0]=u+1,c.update(u===0?Xh:f).update(e).update(uc).digestInto(f),i.set(f,o*u),a._cloneInto(c);return a.destroy(),c.destroy(),qt(f,uc),i.slice(0,n)}var hc={hashSHA256(r){return re(r.subarray())},getHKDF(r,t){let e=Qh(re,t,r),o=Jh(re,e,void 0,96),s=o.subarray(0,32),i=o.subarray(32,64),a=o.subarray(64,96);return[s,i,a]},generateX25519KeyPair(){let r=Ln.utils.randomSecretKey();return{publicKey:Ln.getPublicKey(r),privateKey:r}},generateX25519KeyPairFromSeed(r){return{publicKey:Ln.getPublicKey(r),privateKey:r}},generateX25519SharedKey(r,t){return Ln.getSharedSecret(r.subarray(),t.subarray())},chaCha20Poly1305Encrypt(r,t,e,n){return fc(n,t,e).encrypt(r.subarray())},chaCha20Poly1305Decrypt(r,t,e,n,o){return fc(n,t,e).decrypt(r.subarray(),o)}};var tl=hc;function el(r){return{generateKeypair:r.generateX25519KeyPair,dh:(t,e)=>r.generateX25519SharedKey(t.privateKey,e).subarray(0,32),encrypt:r.chaCha20Poly1305Encrypt,decrypt:r.chaCha20Poly1305Decrypt,hash:r.hashSHA256,hkdf:r.getHKDF}}var Wr=r=>{let t=Dt(2);return t[0]=r>>8,t[1]=r,t};Wr.bytes=2;var Gr=r=>{if(r.length<2)throw RangeError("Could not decode int16BE");if(r instanceof Uint8Array){let t=0;return t+=r[0]<<8,t+=r[1],t}return r.getUint16(0)};Gr.bytes=2;function rl(r){return{xxHandshakeSuccesses:r.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:r.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:r.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:r.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:r.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var yc={};tt(yc,{base10:()=>J0});var s8=new Uint8Array(0);function nl(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Se(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ol(r){return new TextEncoder().encode(r)}function sl(r){return new TextDecoder().decode(r)}function W0(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var S=0,l=0,m=0,v=g.length;m!==v&&g[m]===0;)m++,S++;for(var _=(v-m)*u+1>>>0,R=new Uint8Array(_);m!==v;){for(var D=g[m],N=0,T=_-1;(D!==0||N<l)&&T!==-1;T--,N++)D+=256*R[T]>>>0,R[T]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");l=N,m++}for(var I=_-l;I!==_&&R[I]===0;)I++;for(var U=c.repeat(S);I<_;++I)U+=r.charAt(R[I]);return U}function y(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var S=0;if(g[S]!==" "){for(var l=0,m=0;g[S]===c;)l++,S++;for(var v=(g.length-S)*f+1>>>0,_=new Uint8Array(v);g[S];){var R=e[g.charCodeAt(S)];if(R===255)return;for(var D=0,N=v-1;(R!==0||D<m)&&N!==-1;N--,D++)R+=a*_[N]>>>0,_[N]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");m=D,S++}if(g[S]!==" "){for(var T=v-m;T!==v&&_[T]===0;)T++;for(var I=new Uint8Array(l+(v-T)),U=l;T!==v;)I[U++]=_[T++];return I}}}function d(g){var S=y(g);if(S)return S;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:y,decode:d}}var G0=W0,Z0=G0,al=Z0;var lc=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},dc=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.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 cl(this,t)}},pc=class{decoders;constructor(t){this.decoders=t}or(t){return cl(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 cl(r,t){return new pc({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var mc=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new lc(t,e,n),this.decoder=new dc(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Zr({name:r,prefix:t,encode:e,decode:n}){return new mc(r,t,e,n)}function Fe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=al(e,r);return Zr({prefix:t,name:r,encode:n,decode:s=>Se(o(s))})}function Y0(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,c=0;for(let f=0;f<o;++f){let u=t[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,i+=e,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function X0(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function Q0(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function lt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let o=Q0(n);return Zr({prefix:t,name:r,encode(s){return X0(s,n,e)},decode(s){return Y0(s,o,e,r)}})}var J0=Fe({prefix:"9",name:"base10",alphabet:"0123456789"});var gc={};tt(gc,{base16:()=>ty,base16upper:()=>ey});var ty=lt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ey=lt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var bc={};tt(bc,{base2:()=>ry});var ry=lt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var wc={};tt(wc,{base256emoji:()=>ay});var fl=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}"),ny=fl.reduce((r,t,e)=>(r[e]=t,r),[]),oy=fl.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function sy(r){return r.reduce((t,e)=>(t+=ny[e],t),"")}function iy(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=oy[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var ay=Zr({prefix:"\u{1F680}",name:"base256emoji",encode:sy,decode:iy});var xc={};tt(xc,{base32:()=>Yr,base32hex:()=>hy,base32hexpad:()=>dy,base32hexpadupper:()=>py,base32hexupper:()=>ly,base32pad:()=>fy,base32padupper:()=>uy,base32upper:()=>cy,base32z:()=>my});var Yr=lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),cy=lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),fy=lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),uy=lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),hy=lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ly=lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),dy=lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),py=lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),my=lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ec={};tt(Ec,{base36:()=>$n,base36upper:()=>yy});var $n=Fe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),yy=Fe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sc={};tt(Sc,{base58btc:()=>ae,base58flickr:()=>gy});var ae=Fe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),gy=Fe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ac={};tt(Ac,{base64:()=>by,base64pad:()=>wy,base64url:()=>xy,base64urlpad:()=>Ey});var by=lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wy=lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xy=lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ey=lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var vc={};tt(vc,{base8:()=>Sy});var Sy=lt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Bc={};tt(Bc,{identity:()=>Ay});var Ay=Zr({prefix:"\0",name:"identity",encode:r=>sl(r),decode:r=>ol(r)});var E8=new TextEncoder,S8=new TextDecoder;var _c={};tt(_c,{identity:()=>jy});var Ly=ll,ul=128,_y=127,Iy=~_y,Cy=Math.pow(2,31);function ll(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Cy;)t[e++]=r&255|ul,r/=128;for(;r&Iy;)t[e++]=r&255|ul,r>>>=7;return t[e]=r|0,ll.bytes=e-n+1,t}var Ty=Lc,Dy=128,hl=127;function Lc(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Lc.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&hl)<<o:(i&hl)*Math.pow(2,o),o+=7}while(i>=Dy);return Lc.bytes=s-n,e}var Ry=Math.pow(2,7),Oy=Math.pow(2,14),Uy=Math.pow(2,21),Py=Math.pow(2,28),Ny=Math.pow(2,35),My=Math.pow(2,42),ky=Math.pow(2,49),Fy=Math.pow(2,56),Ky=Math.pow(2,63),Hy=function(r){return r<Ry?1:r<Oy?2:r<Uy?3:r<Py?4:r<Ny?5:r<My?6:r<ky?7:r<Fy?8:r<Ky?9:10},Vy={encode:Ly,decode:Ty,encodingLength:Hy},zy=Vy,jn=zy;function Wn(r,t=0){return[jn.decode(r,t),jn.decode.bytes]}function Xr(r,t,e=0){return jn.encode(r,t,e),t}function Qr(r){return jn.encodingLength(r)}function tn(r,t){let e=t.byteLength,n=Qr(r),o=n+Qr(e),s=new Uint8Array(o+e);return Xr(r,s,0),Xr(e,s,n),s.set(t,o),new Jr(r,e,t,s)}function dl(r){let t=Se(r),[e,n]=Wn(t),[o,s]=Wn(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Jr(e,o,i,t)}function pl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&nl(r.bytes,e.bytes)}}var Jr=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var ml=0,qy="identity",yl=Se;function $y(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return tn(ml,yl(r))}var jy={code:ml,name:qy,encode:yl,digest:$y};var Tc={};tt(Tc,{sha256:()=>Gy,sha512:()=>Zy});var Wy=20;function Cc({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new Ic(r,t,e,n,o)}var Ic=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??Wy,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.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?gl(n,this.code,e?.truncate):n.then(o=>gl(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function gl(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return tn(t,r)}function wl(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Gy=Cc({name:"sha2-256",code:18,encode:wl("SHA-256")}),Zy=Cc({name:"sha2-512",code:19,encode:wl("SHA-512")});function xl(r,t){let{bytes:e,version:n}=r;return n===0?Xy(e,Dc(r),t??ae.encoder):Qy(e,Dc(r),t??Yr.encoder)}var El=new WeakMap;function Dc(r){let t=El.get(r);if(t==null){let e=new Map;return El.set(r,e),e}return t}var Ss=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,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:e}=this;if(t!==Zn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Jy)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=tn(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&pl(t.multihash,n.multihash)}toString(t){return xl(this,t)}toJSON(){return{"/":xl(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??Sl(n,o,s.bytes))}else if(e[tg]===!0){let{version:n,multihash:o,code:s}=e,i=dl(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="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(e!==Zn)throw new Error(`Version 0 CID must use dag-pb (code: ${Zn}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Sl(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Zn,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Se(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new Jr(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,y]=Wn(t.subarray(e));return e+=y,h},o=n(),s=Zn;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),f=e+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Yy(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Dc(s).set(n,t),s}};function Yy(r,t){switch(r[0]){case"Q":{let e=t??ae;return[ae.prefix,e.decode(`${ae.prefix}${r}`)]}case ae.prefix:{let e=t??ae;return[ae.prefix,e.decode(r)]}case Yr.prefix:{let e=t??Yr;return[Yr.prefix,e.decode(r)]}case $n.prefix:{let e=t??$n;return[$n.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Xy(r,t,e){let{prefix:n}=e;if(n!==ae.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Qy(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var Zn=112,Jy=18;function Sl(r,t,e){let n=Qr(r),o=n+Qr(t),s=new Uint8Array(o+e.byteLength);return Xr(r,s,0),Xr(t,s,n),s.set(e,o),s}var tg=Symbol.for("@ipld/js-cid/CID");var Rc={...Bc,...bc,...vc,...yc,...gc,...xc,...Ec,...Sc,...Ac,...wc},q8={...Tc,..._c};function vl(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Al=vl("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Oc=vl("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Dt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),eg={utf8:Al,"utf-8":Al,hex:Rc.base16,latin1:Oc,ascii:Oc,binary:Oc,...Rc},As=eg;function ce(r,t="utf8"){let e=As[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function Uc(r,t){!t.enabled||!zr||(r?(t(`LOCAL_STATIC_PUBLIC_KEY ${ce(r.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ce(r.privateKey,"hex")}`)):t("Missing local static keys."))}function Pc(r,t){!t.enabled||!zr||(r?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ce(r.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ce(r.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Bl(r,t){!t.enabled||!zr||t(r?`REMOTE_STATIC_PUBLIC_KEY ${ce(r.subarray(),"hex")}`:"Missing remote static public key.")}function Nc(r,t){!t.enabled||!zr||t(r?`REMOTE_EPHEMERAL_PUBLIC_KEY ${ce(r.subarray(),"hex")}`:"Missing remote ephemeral keys.")}function Mc(r,t,e){!e.enabled||!zr||(e(`CIPHER_STATE_1 ${r.n.getUint64()} ${r.k&&ce(r.k,"hex")}`),e(`CIPHER_STATE_2 ${t.n.getUint64()} ${t.k&&ce(t.k,"hex")}`))}function en(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Dt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function kc(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var _l=Symbol.for("@achingbrain/uint8arraylist");function Ll(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function vs(r){return!!r?.[_l]}var fe=class r{bufs;length;[_l]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(vs(n)){e+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(vs(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Ll(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ll(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(vs(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return en(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:en(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(i);break}let h=t-a;n.push(i.subarray(h,h+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(u){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!vs(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let h=e;h<=c;h+=u){u=0;for(let y=f;y>=0;y--){let d=this.get(h+y);if(n[y]!==d){u=Math.max(1,y-a[d]);break}}if(u===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=yt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=yt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=yt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=yt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!kc(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function ur(r,t="utf8"){let e=As[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}var rn=class r extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=r.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var ng=0,og=4294967295,sg="Cipherstate has reached maximum n, a new handshake must be performed",Bs=class{n;bytes;view;constructor(t=ng){this.n=t,this.bytes=yt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>og)throw new Error(sg)}};var hr=yt(0),nn=class{k;n;crypto;constructor(t,e=void 0,n=0){this.crypto=t,this.k=e,this.n=new Bs(n)}hasKey(){return!!this.k}encryptWithAd(t,e){if(!this.hasKey())return e;this.n.assertValue();let n=this.crypto.encrypt(e,this.n.getBytes(),t,this.k);return this.n.increment(),n}decryptWithAd(t,e,n){if(!this.hasKey())return e;this.n.assertValue();let o=this.crypto.decrypt(e,this.n.getBytes(),t,this.k,n);return this.n.increment(),o}},Fc=class{cs;ck;h;crypto;constructor(t,e){this.crypto=t;let n=ur(e,"utf-8");this.h=ig(t,n),this.ck=this.h,this.cs=new nn(t)}mixKey(t){let[e,n]=this.crypto.hkdf(this.ck,t);this.ck=e,this.cs=new nn(this.crypto,n)}mixHash(t){this.h=this.crypto.hash(new fe(this.h,t))}encryptAndHash(t){let e=this.cs.encryptWithAd(this.h,t);return this.mixHash(e),e}decryptAndHash(t){let e=this.cs.decryptWithAd(this.h,t);return this.mixHash(t),e}split(){let[t,e]=this.crypto.hkdf(this.ck,hr);return[new nn(this.crypto,t),new nn(this.crypto,e)]}},Kc=class{ss;s;e;rs;re;initiator;crypto;constructor(t){let{crypto:e,protocolName:n,prologue:o,initiator:s,s:i,e:a,rs:c,re:f}=t;this.crypto=e,this.ss=new Fc(e,n),this.ss.mixHash(o),this.initiator=s,this.s=i,this.e=a,this.rs=c,this.re=f}writeE(){if(this.e)throw new Error("ephemeral keypair is already set");let t=this.crypto.generateKeypair();return this.ss.mixHash(t.publicKey),this.e=t,t.publicKey}writeS(){if(!this.s)throw new Error("static keypair is not set");return this.ss.encryptAndHash(this.s.publicKey)}writeEE(){if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.re))}writeES(){if(this.initiator){if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.rs)throw new Error("remote static public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.rs))}else{if(!this.s)throw new Error("static keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.s,this.re))}}writeSE(){if(this.initiator){if(!this.s)throw new Error("static keypair is not set");if(!this.re)throw new Error("remote ephemeral public key is not set");this.ss.mixKey(this.crypto.dh(this.s,this.re))}else{if(!this.e)throw new Error("ephemeral keypair is not set");if(!this.rs)throw new Error("remote static public key is not set");this.ss.mixKey(this.crypto.dh(this.e,this.rs))}}readE(t,e=0){if(this.re)throw new Error("remote ephemeral public key is already set");if(t.byteLength<e+32)throw new Error("message is not long enough");this.re=t.sublist(e,e+32),this.ss.mixHash(this.re)}readS(t,e=0){if(this.rs)throw new Error("remote static public key is already set");let n=32+(this.ss.cs.hasKey()?16:0);if(t.byteLength<e+n)throw new Error("message is not long enough");let o=t.sublist(e,e+n);return this.rs=this.ss.decryptAndHash(o),n}readEE(){this.writeEE()}readES(){this.writeES()}readSE(){this.writeSE()}},Yn=class extends Kc{writeMessageA(t){return new fe(this.writeE(),this.ss.encryptAndHash(t))}writeMessageB(t){let e=this.writeE();this.writeEE();let n=this.writeS();return this.writeES(),new fe(e,n,this.ss.encryptAndHash(t))}writeMessageC(t){let e=this.writeS();return this.writeSE(),new fe(e,this.ss.encryptAndHash(t))}readMessageA(t){try{return this.readE(t),this.ss.decryptAndHash(t.sublist(32))}catch(e){throw new rn(`handshake stage 0 validation fail: ${e.message}`)}}readMessageB(t){try{this.readE(t),this.readEE();let e=this.readS(t,32);return this.readES(),this.ss.decryptAndHash(t.sublist(32+e))}catch(e){throw new rn(`handshake stage 1 validation fail: ${e.message}`)}}readMessageC(t){try{let e=this.readS(t);return this.readSE(),this.ss.decryptAndHash(t.sublist(e))}catch(e){throw new rn(`handshake stage 2 validation fail: ${e.message}`)}}};function ig(r,t){if(t.length<=32){let e=yt(32);return e.set(t),e}else return r.hash(t)}var ag=Math.pow(2,7),cg=Math.pow(2,14),fg=Math.pow(2,21),Il=Math.pow(2,28),Cl=Math.pow(2,35),Tl=Math.pow(2,42),Dl=Math.pow(2,49),Ot=128,Ke=127;function Xn(r){if(r<ag)return 1;if(r<cg)return 2;if(r<fg)return 3;if(r<Il)return 4;if(r<Cl)return 5;if(r<Tl)return 6;if(r<Dl)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Rl(r,t,e=0){switch(Xn(r)){case 8:t[e++]=r&255|Ot,r/=128;case 7:t[e++]=r&255|Ot,r/=128;case 6:t[e++]=r&255|Ot,r/=128;case 5:t[e++]=r&255|Ot,r/=128;case 4:t[e++]=r&255|Ot,r>>>=7;case 3:t[e++]=r&255|Ot,r>>>=7;case 2:t[e++]=r&255|Ot,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Ol(r,t){let e=r[t],n=0;if(n+=e&Ke,e<Ot||(e=r[t+1],n+=(e&Ke)<<7,e<Ot)||(e=r[t+2],n+=(e&Ke)<<14,e<Ot)||(e=r[t+3],n+=(e&Ke)<<21,e<Ot)||(e=r[t+4],n+=(e&Ke)*Il,e<Ot)||(e=r[t+5],n+=(e&Ke)*Cl,e<Ot)||(e=r[t+6],n+=(e&Ke)*Tl,e<Ot)||(e=r[t+7],n+=(e&Ke)*Dl,e<Ot))return n;throw new RangeError("Could not decode varint")}var Hc=new Float32Array([-0]),He=new Uint8Array(Hc.buffer);function Ul(r,t,e){Hc[0]=r,t[e]=He[0],t[e+1]=He[1],t[e+2]=He[2],t[e+3]=He[3]}function Pl(r,t){return He[0]=r[t],He[1]=r[t+1],He[2]=r[t+2],He[3]=r[t+3],Hc[0]}var Vc=new Float64Array([-0]),Rt=new Uint8Array(Vc.buffer);function Nl(r,t,e){Vc[0]=r,t[e]=Rt[0],t[e+1]=Rt[1],t[e+2]=Rt[2],t[e+3]=Rt[3],t[e+4]=Rt[4],t[e+5]=Rt[5],t[e+6]=Rt[6],t[e+7]=Rt[7]}function Ml(r,t){return Rt[0]=r[t],Rt[1]=r[t+1],Rt[2]=r[t+2],Rt[3]=r[t+3],Rt[4]=r[t+4],Rt[5]=r[t+5],Rt[6]=r[t+6],Rt[7]=r[t+7],Vc[0]}var ug=BigInt(Number.MAX_SAFE_INTEGER),hg=BigInt(Number.MIN_SAFE_INTEGER),kt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return lr;if(t<ug&&t>hg)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>kl&&(o=0n,++n>kl&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return lr;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):lr}},lr=new kt(0,0);lr.toBigInt=function(){return 0n};lr.zzEncode=lr.zzDecode=function(){return this};lr.length=function(){return 1};var kl=4294967296n;function Fl(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Kl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function zc(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Xt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Ls(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var qc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Xt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Xt(this,4);return Ls(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Xt(this,4);return Ls(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Xt(this,4);let t=Pl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Xt(this,4);let t=Ml(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Xt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Kl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Xt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Xt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new kt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Xt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Xt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Xt(this,8);let t=Ls(this.buf,this.pos+=4),e=Ls(this.buf,this.pos+=4);return new kt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Ol(this.buf,this.pos);return this.pos+=Xn(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function $c(r){return new qc(r instanceof Uint8Array?r:r.subarray())}function _s(r,t,e){let n=$c(r);return t.decode(n,void 0,e)}function jc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Dt(i);o+i>t&&(n=Dt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var dr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Wc(){}var Zc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},lg=jc();function dg(r){return globalThis.Buffer!=null?Dt(r):lg(r)}var Jn=class{len;head;tail;states;constructor(){this.len=0,this.head=new dr(Wc,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new dr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Yc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Is,10,kt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=kt.fromBigInt(t);return this._push(Is,e.length(),e)}uint64Number(t){return this._push(Rl,Xn(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=kt.fromBigInt(t).zzEncode();return this._push(Is,e.length(),e)}sint64Number(t){let e=kt.fromNumber(t).zzEncode();return this._push(Is,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Gc,1,t?1:0)}fixed32(t){return this._push(Qn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=kt.fromBigInt(t);return this._push(Qn,4,e.lo)._push(Qn,4,e.hi)}fixed64Number(t){let e=kt.fromNumber(t);return this._push(Qn,4,e.lo)._push(Qn,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ul,4,t)}double(t){return this._push(Nl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Gc,1,0):this.uint32(e)._push(mg,e,t)}string(t){let e=Fl(t);return e!==0?this.uint32(e)._push(zc,e,t):this._push(Gc,1,0)}fork(){return this.states=new Zc(this),this.head=this.tail=new dr(Wc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new dr(Wc,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=dg(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Gc(r,t,e){t[e]=r&255}function pg(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Yc=class extends dr{next;constructor(t,e){super(pg,t,e),this.next=void 0}};function Is(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Qn(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function mg(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Jn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(yg,t,r),this},Jn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(gg,t,r),this});function yg(r,t,e){t.set(r,e)}function gg(r,t,e){r.length<40?zc(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(ur(r),e)}function Xc(){return new Jn}function Cs(r,t){let e=Xc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var to;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(to||(to={}));function Qc(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ts(r,t){return Qc("message",to.LENGTH_DELIMITED,r,t)}var eo=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var Ds;(function(r){let t;r.codec=()=>(t==null&&(t=Ts((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.webtransportCerthashes!=null)for(let s of e.webtransportCerthashes)n.uint32(10),n.bytes(s);if(e.streamMuxers!=null)for(let s of e.streamMuxers)n.uint32(18),n.string(s);o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={webtransportCerthashes:[],streamMuxers:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{if(o.limits?.webtransportCerthashes!=null&&s.webtransportCerthashes.length===o.limits.webtransportCerthashes)throw new eo('Decode error - map field "webtransportCerthashes" had too many elements');s.webtransportCerthashes.push(e.bytes());break}case 2:{if(o.limits?.streamMuxers!=null&&s.streamMuxers.length===o.limits.streamMuxers)throw new eo('Decode error - map field "streamMuxers" had too many elements');s.streamMuxers.push(e.string());break}default:{e.skipType(a&7);break}}}return s})),t),r.encode=e=>Cs(e,r.codec()),r.decode=(e,n)=>_s(e,r.codec(),n)})(Ds||(Ds={}));var ro;(function(r){let t;r.codec=()=>(t==null&&(t=Ts((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.identityKey!=null&&e.identityKey.byteLength>0&&(n.uint32(10),n.bytes(e.identityKey)),e.identitySig!=null&&e.identitySig.byteLength>0&&(n.uint32(18),n.bytes(e.identitySig)),e.extensions!=null&&(n.uint32(34),Ds.codec().encode(e.extensions,n)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={identityKey:yt(0),identitySig:yt(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{s.identityKey=e.bytes();break}case 2:{s.identitySig=e.bytes();break}case 4:{s.extensions=Ds.codec().decode(e,e.uint32(),{limits:o.limits?.extensions});break}default:{e.skipType(a&7);break}}}return s})),t),r.encode=e=>Cs(e,r.codec()),r.decode=(e,n)=>_s(e,r.codec(),n)})(ro||(ro={}));async function tf(r,t,e){let n=await r.sign(zl(t));return ro.encode({identityKey:_e(r.publicKey),identitySig:n,extensions:e})}async function ef(r,t,e){try{let n=ro.decode(r),o=Un(n.identityKey);if(e?.equals(o)===!1)throw new Error(`Payload identity key ${o} does not match expected remote identity key ${e}`);if(!t)throw new Error("Remote static does not exist");let s=zl(t);if(!await o.verify(s,n.identitySig))throw new Error("Invalid payload signature");return n}catch(n){throw new oo(n.message)}}function zl(r){let t=ur("noise-libp2p-static-key:");return r instanceof Uint8Array?en([t,r],t.length+r.length):(r.prepend(t),r)}var Jc=class extends se{stream;handshake;metrics;decoder;constructor(t,e,n){super({log:t.log,inactivityTimeout:t.inactivityTimeout,maxReadBufferLength:t.maxReadBufferLength,direction:t.direction}),this.stream=t,this.handshake=e,this.metrics=n,this.decoder=new ws({lengthDecoder:Gr,maxBufferSize:16*1024*1024,encodingLength:()=>2});let o=c=>{try{for(let f of this.decoder.decode(c.data))this.onData(this.decrypt(f))}catch(f){this.abort(f)}};this.stream.addEventListener("message",o);let s=c=>{c.error!=null?c.local===!0?this.abort(c.error):this.onRemoteReset():this.onTransportClosed()};this.stream.addEventListener("close",s);let i=()=>{this.safeDispatchEvent("drain")};this.stream.addEventListener("drain",i);let a=()=>{this.onRemoteCloseWrite()};this.stream.addEventListener("remoteCloseWrite",a)}encrypt(t){let e=new fe;for(let n=0;n<t.byteLength;n+=65519){let o=n+65519;o>t.byteLength&&(o=t.byteLength);let s;t instanceof Uint8Array?s=this.handshake.encrypt(t.subarray(n,o)):s=this.handshake.encrypt(t.sublist(n,o)),this.metrics?.encryptedPackets.increment(),e.append(Wr(s.byteLength)),e.append(s)}return e}decrypt(t){let e=new fe;for(let n=0;n<t.byteLength;n+=65535){let o=n+65535;if(o>t.byteLength&&(o=t.byteLength),o-sc<n)throw new Error("Invalid chunk");let s;t instanceof Uint8Array?s=t.subarray(n,o):s=t.sublist(n,o);let i=t.subarray(n,o-sc);try{let a=this.handshake.decrypt(s,i);this.metrics?.decryptedPackets.increment(),e.append(a)}catch(a){throw this.metrics?.decryptErrors.increment(),a}}return e}close(t){return this.stream.close(t)}sendPause(){this.stream.pause()}sendResume(){this.stream.resume()}sendReset(t){this.stream.abort(t)}sendData(t){return{sentBytes:t.byteLength,canSendMore:this.stream.send(this.encrypt(t))}}};function rf(r,t,e){return new Jc(r,t,e)}async function ql(r,t){let{log:e,connection:n,crypto:o,privateKey:s,prologue:i,s:a,remoteIdentityKey:c,extensions:f}=r,u=await tf(s,a.publicKey,f),h=new Yn({crypto:o,protocolName:"Noise_XX_25519_ChaChaPoly_SHA256",initiator:!0,prologue:i,s:a});Uc(h.s,e),e.trace("Stage 0 - Initiator starting to send first message."),await n.write(h.writeMessageA(hr),t),e.trace("Stage 0 - Initiator finished sending first message."),Pc(h.e,e),e.trace("Stage 1 - Initiator waiting to receive first message from responder...");let y=h.readMessageB(await n.read(t));e.trace("Stage 1 - Initiator received the message."),Nc(h.re,e),Bl(h.rs,e),e.trace("Initiator going to check remote's signature...");let d=await ef(y,h.rs,c);e.trace("All good with the signature!"),e.trace("Stage 2 - Initiator sending third handshake message."),await n.write(h.writeMessageC(u),t),e.trace("Stage 2 - Initiator sent message with signed payload.");let[g,S]=h.ss.split();return Mc(g,S,e),{payload:d,encrypt:l=>g.encryptWithAd(hr,l),decrypt:(l,m)=>S.decryptWithAd(hr,l,m)}}async function $l(r,t){let{log:e,connection:n,crypto:o,privateKey:s,prologue:i,s:a,remoteIdentityKey:c,extensions:f}=r,u=await tf(s,a.publicKey,f),h=new Yn({crypto:o,protocolName:"Noise_XX_25519_ChaChaPoly_SHA256",initiator:!1,prologue:i,s:a});Uc(h.s,e),e.trace("Stage 0 - Responder waiting to receive first message."),h.readMessageA(await n.read(t)),e.trace("Stage 0 - Responder received first message."),Nc(h.re,e),e.trace("Stage 1 - Responder sending out first message with signed payload and static key."),await n.write(h.writeMessageB(u),t),e.trace("Stage 1 - Responder sent the second handshake message with signed payload."),Pc(h.e,e),e.trace("Stage 2 - Responder waiting for third handshake message...");let y=h.readMessageC(await n.read(t));e.trace("Stage 2 - Responder received the message, finished handshake.");let d=await ef(y,h.rs,c),[g,S]=h.ss.split();return Mc(g,S,e),{payload:d,encrypt:l=>S.encryptWithAd(hr,l),decrypt:(l,m)=>g.decryptWithAd(hr,l,m)}}var Rs=class{protocol="/noise";crypto;prologue;staticKey;extensions;metrics;components;log;constructor(t,e={}){let{staticNoiseKey:n,extensions:o,crypto:s,prologueBytes:i}=e,{metrics:a}=t;this.components=t,this.log=t.logger.forComponent("libp2p:noise");let c=s??tl;this.crypto=el(c),this.extensions={webtransportCerthashes:[],...o},this.metrics=a?rl(a):void 0,n?this.staticKey=c.generateX25519KeyPairFromSeed(n):this.staticKey=c.generateX25519KeyPair(),this.prologue=i??yt(0)}[Symbol.toStringTag]="@chainsafe/libp2p-noise";[po]=["@libp2p/connection-encryption","@chainsafe/libp2p-noise"];async secureOutbound(t,e){let n=t.log?.newScope("noise")??this.log,o=oc(t,{lengthEncoder:Wr,lengthDecoder:Gr,maxDataLength:65535}),s=await this.performHandshakeInitiator(o,this.components.privateKey,n,e?.remotePeer?.publicKey,e),i=Un(s.payload.identityKey);return{connection:rf(o.unwrap(),s,this.metrics),remoteExtensions:s.payload.extensions,remotePeer:Sa(i),streamMuxer:e?.skipStreamMuxerNegotiation===!0?void 0:this.getStreamMuxer(s.payload.extensions?.streamMuxers)}}getStreamMuxer(t){if(t==null||t.length===0)return;let e=this.components.upgrader.getStreamMuxers();if(e!=null)for(let n of t){let o=e.get(n);if(o!=null)return o}if(t.length)throw new yr("Early muxer negotiation was requested but the initiator and responder had no common muxers")}async secureInbound(t,e){let n=t.log?.newScope("noise")??this.log,o=oc(t,{lengthEncoder:Wr,lengthDecoder:Gr,maxDataLength:65535}),s=await this.performHandshakeResponder(o,this.components.privateKey,n,e?.remotePeer?.publicKey,e),i=Un(s.payload.identityKey);return{connection:rf(o.unwrap(),s,this.metrics),remoteExtensions:s.payload.extensions,remotePeer:Sa(i),streamMuxer:e?.skipStreamMuxerNegotiation===!0?void 0:this.getStreamMuxer(s.payload.extensions?.streamMuxers)}}async performHandshakeInitiator(t,e,n,o,s){let i,a=s?.skipStreamMuxerNegotiation===!0?[]:[...this.components.upgrader.getStreamMuxers().keys()];try{i=await ql({connection:t,privateKey:e,remoteIdentityKey:o,log:n.newScope("xxhandshake"),crypto:this.crypto,prologue:this.prologue,s:this.staticKey,extensions:{streamMuxers:a,webtransportCerthashes:[],...this.extensions}},s),this.metrics?.xxHandshakeSuccesses.increment()}catch(c){throw this.metrics?.xxHandshakeErrors.increment(),c}return i}async performHandshakeResponder(t,e,n,o,s){let i,a=s?.skipStreamMuxerNegotiation===!0?[]:[...this.components.upgrader.getStreamMuxers().keys()];try{i=await $l({connection:t,privateKey:e,remoteIdentityKey:o,log:n.newScope("xxhandshake"),crypto:this.crypto,prologue:this.prologue,s:this.staticKey,extensions:{streamMuxers:a,webtransportCerthashes:[],...this.extensions}},s),this.metrics?.xxHandshakeSuccesses.increment()}catch(c){throw this.metrics?.xxHandshakeErrors.increment(),c}return i}};function jl(r={}){return t=>new Rs(t,r)}var pr=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};function nf(r){throw new Error("Not implemented")}var of=class extends gs{writer;reader;constructor(t){super(t),this.writer=t.stream.writable.getWriter(),this.reader=t.stream.readable.getReader(),this.writer.closed.then(()=>{this.log("writer closed gracefully")}).catch(e=>{e.message.includes("STOP_SENDING")||e.message.includes("StopSending")?this.onRemoteCloseRead():e.message.includes("RESET_STREAM")||e.message.includes("Reset")?this.onRemoteReset():this.log("writer close promise rejected - %e",e)}),this.readData()}readData(){Promise.resolve().then(async()=>{for(;;){let t=await this.reader.read();if(t.value!=null&&this.onData(t.value),t.done){this.log("remote closed write"),this.onRemoteCloseWrite();return}if(this.readStatus==="paused")break}}).catch(t=>{this.abort(t)}).finally(()=>{this.reader.releaseLock()})}sendData(t){for(let n of t)this.writer.write(n).catch(o=>{this.abort(o)});if(this.log.trace("desired size after sending %d bytes is %d bytes",t.byteLength,this.writer.desiredSize),this.writer.desiredSize==null)return{sentBytes:t.byteLength,canSendMore:!1};let e=this.writer.desiredSize>0;return e||this.writer.ready.then(()=>{this.safeDispatchEvent("drain")},n=>{this.abort(n)}),{sentBytes:t.byteLength,canSendMore:e}}sendReset(t){this.writer.abort(t).catch(e=>{this.log.error("error aborting writer - %e",e)})}async sendCloseWrite(t){this.log("sendCloseWrite closing writer"),await Ht(this.writer.close().catch(()=>{}),t?.signal),this.log("sendCloseWrite closed writer")}async sendCloseRead(t){this.log("sendCloseRead cancelling reader"),await Ht(this.reader.cancel(),t?.signal),this.log("sendCloseRead cancelled reader")}sendPause(){}sendResume(){this.readData()}};function sf(r,t,e,n,o){return new of({...o,stream:r,id:t,direction:e,log:n.newScope(`${e}:${t}`),protocol:""})}var Wl="/webtransport",af=class extends ys{webTransport;streamIDCounter;reader;constructor(t,e){super(e,{protocol:Wl,name:"muxer"}),this.webTransport=t,this.streamIDCounter=0,this.reader=this.webTransport.incomingBidirectionalStreams.getReader(),Promise.resolve().then(async()=>{for(;;){let{done:n,value:o}=await this.reader.read();if(n||o==null)break;this.onRemoteStream(sf(o,String(this.streamIDCounter++),"inbound",this.log,this.streamOptions))}}).catch(n=>{this.log.error("could not create a new stream - %e",n)})}async onCreateStream(t){let e=await this.webTransport.createBidirectionalStream();return t?.signal?.throwIfAborted(),sf(e,String(this.streamIDCounter++),"outbound",this.log,t)}onData(){}sendReset(){this.webTransport.close()}};function Gl(r){return{protocol:Wl,createStreamMuxer(t){return new af(r,t)}}}var cf=class extends ms{cleanUpWTSession;constructor(t){super(t),this.cleanUpWTSession=t.cleanUpWTSession}sendData(t){return{sentBytes:t.byteLength,canSendMore:!0}}sendReset(){this.cleanUpWTSession("abort")}async sendClose(t){this.cleanUpWTSession("close"),t?.signal?.throwIfAborted()}sendPause(){}sendResume(){}},Zl=r=>new cf(r);function Yl(r,t){return t.filter(n=>!!r.find(o=>pt(n,o))).length===t.length}var bg=Object.values(je).map(r=>r.decoder).reduce((r,t)=>r.or(t));function wg(r){return he.decode(bg.decode(r))}function ff(r){if(!fs.matches(r))throw new ao("Invalid multiaddr, was not a WebTransport address");let t=[],e;for(let s of r.getComponents())s.name==="certhash"&&t.push(wg(s.value??"")),s.name==="p2p"&&e==null&&(e=hh(s.value??""));let n=dh(r),o=n.host;return n.type==="ip6"&&o.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${n.port}`,certhashes:t,remotePeer:e}}var Os=class extends se{writer;reader;constructor(t){super(t),this.writer=t.stream.writable.getWriter(),this.reader=t.stream.readable.getReader(),Promise.resolve().then(async()=>{for(;;){let{done:e,value:n}=await this.reader.read();if(n!=null&&this.onData(n),e)break}}).catch(e=>{this.abort(e)})}async close(t){await Ht(this.writer.close(),t?.signal)}sendData(t){return this.writer.write(t.subarray()).catch(e=>{this.abort(e)}),{sentBytes:t.byteLength,canSendMore:!0}}sendReset(t){this.writer.abort(t).catch(e=>{this.log.error("could not send reset - %e",e)})}sendPause(){}sendResume(){}};var Xl=globalThis.WebTransport;var uf=class{log;components;config;metrics;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={...e,certificates:e.certificates??[]},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[pf]=!0;[po]=["@libp2p/transport"];async dial(t,e){e.signal.throwIfAborted(),this.log("dialing %s",t),e=e??{};let{url:n,certhashes:o,remotePeer:s}=ff(t),i,a,c=()=>{},f=!1,u=!1,h=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let y=new Xl(`${n}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(g=>({algorithm:"sha-256",value:xt(g.digest)}))});c=g=>{if(!f)try{this.metrics?.dialerEvents.increment({[g]:!0}),y.close()}catch(S){this.log.error("error closing wt session - %e",S)}finally{a!=null&&(a.timeline.close=Date.now()),f=!0}},i=()=>{c(u?"noise_timeout":"ready_timeout")},e.signal.addEventListener("abort",i,{once:!0}),this.log("wait for session to be ready"),e.onProgress?.(new pr("webtransport:wait-for-session")),await Promise.race([y.closed,y.ready]),this.log("session became ready"),u=!0,this.metrics?.dialerEvents.increment({ready:!0}),y.closed.catch(g=>{this.log.error("error on remote wt session close - %e",g)}).finally(()=>{c("remote_close")}),this.metrics?.dialerEvents.increment({open:!0}),a=Zl({remoteAddr:t,cleanUpWTSession:c,direction:"outbound",log:this.components.logger.forComponent("libp2p:webtransport:connection")});let d=await this.authenticateWebTransport({wt:y,maConn:a,remotePeer:s,certhashes:o,...e});if(h=!0,s!=null&&(h=s.equals(d)),!h)throw new yr("Failed to authenticate webtransport");return await e.upgrader.upgradeOutbound(a,{...e,skipEncryption:!0,remotePeer:d,muxerFactory:Gl(y),skipProtection:!0})}catch(y){throw this.log.error("caught wt session err - %e",y),c(h?"upgrade_error":u?"noise_error":"ready_error"),y}finally{i!=null&&e.signal?.removeEventListener("abort",i)}}async authenticateWebTransport({wt:t,maConn:e,remotePeer:n,certhashes:o,onProgress:s,signal:i}){s?.(new pr("webtransport:open-authentication-stream"));let a=await t.createBidirectionalStream();i?.throwIfAborted();let c=new Os({stream:a,log:e.log.newScope("muxer")}),f=jl()(this.components);s?.(new pr("webtransport:secure-outbound-connection"));let{remoteExtensions:u,remotePeer:h}=await f.secureOutbound(c,{signal:i,remotePeer:n,skipStreamMuxerNegotiation:!0});if(s?.(new pr("webtransport:close-authentication-stream")),await c.close({signal:i}),!Yl(u?.webtransportCerthashes??[],o.map(y=>y.bytes)))throw new Q("Our certhashes are not a subset of the remote's reported certhashes");return h}createListener(t){return nf(this.components,{...t,certificates:this.config.certificates})}listenFilter(){return[]}dialFilter(t){return globalThis.WebTransport==null?[]:t.filter(e=>{if(!fs.exactMatch(e))return!1;let{url:n,certhashes:o}=ff(e);return n!=null&&o.length>0})}};function xg(r={}){return t=>new uf(t,r)}return rd(Eg);})();
3
3
  //! TODO unclear how to add backpressure here?
4
4
  /*! Bundled license information:
5
5